19 #ifndef GEOS_LINEARALGEBRA_UTILITIES_NORMALOPERATOR_HPP_
20 #define GEOS_LINEARALGEBRA_UTILITIES_NORMALOPERATOR_HPP_
31 template<
typename MATRIX >
62 m_matrix.gemv( 1.0, src, 0.0, dst,
false );
63 m_matrix.gemv( 1.0, dst, 0.0, dst,
true );
71 return m_matrix.numGlobalCols();
79 return m_matrix.numGlobalCols();
87 return m_matrix.numLocalCols();
95 return m_matrix.numLocalCols();
103 return m_matrix.comm();
Abstract base class for linear operators.
VECTOR Vector
Alias for template parameter.
Wraps a matrix A and represents A^T * A as a linear operator.
NormalOperator(Matrix const &mat)
Constructor.
MATRIX Matrix
Alias for matrix type.
typename Base::Vector Vector
Alias for vector type.
void apply(Vector const &src, Vector &dst) const override
Apply operator to a vector.
globalIndex numGlobalRows() const override
localIndex numLocalCols() const override
localIndex numLocalRows() const override
globalIndex numGlobalCols() const override
MPI_Comm comm() const override
GEOS_GLOBALINDEX_TYPE globalIndex
Global index type (for indexing objects across MPI partitions).
GEOS_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).