19 #ifndef GEOS_LINEARALGEBRA_TRANSPOSEMATRIXOPERATOR_HPP_
20 #define GEOS_LINEARALGEBRA_TRANSPOSEMATRIXOPERATOR_HPP_
31 template<
typename LAI >
68 m_matrix.applyTranspose( src, dst );
77 return m_matrix.numGlobalCols();
86 return m_matrix.numGlobalRows();
95 return m_matrix.numLocalCols();
104 return m_matrix.numLocalRows();
111 virtual MPI_Comm
comm()
const override
113 return m_matrix.comm();
Abstract base class for linear operators.
VECTOR Vector
Alias for template parameter.
Simple class that wraps a matrix and represents its transpose as a linear operator.
virtual void apply(Vector const &src, Vector &dst) const override
Apply operator to a vector.
virtual globalIndex numGlobalCols() const override
Get the number of global columns.
virtual localIndex numLocalCols() const override
Get the number of local columns.
virtual localIndex numLocalRows() const override
Get the number of local rows.
virtual ~TransposeOperator() override=default
Destructor.
typename LAI::ParallelMatrix Matrix
Alias for matrix type.
virtual globalIndex numGlobalRows() const override
Get the number of global rows.
virtual MPI_Comm comm() const override
Get the MPI communicator the matrix was created with.
TransposeOperator(Matrix const &mat)
Constructor.
typename Base::Vector Vector
Alias for vector type.
GEOSX_GLOBALINDEX_TYPE globalIndex
Global index type (for indexing objects across MPI partitions).
LAInterface::ParallelMatrix ParallelMatrix
Alias for ParallelMatrix.
GEOSX_LOCALINDEX_TYPE localIndex
Local index type (for indexing objects within an MPI partition).