42 #ifndef MATRIX_WITH_OP_NONSINGULAR_AGGR_H
43 #define MATRIX_WITH_OP_NONSINGULAR_AGGR_H
45 #include "AbstractLinAlgPack_MatrixOpNonsing.hpp"
47 namespace AbstractLinAlgPack {
121 size_type
rows()
const;
123 size_type
cols()
const;
125 size_type
nz()
const;
141 std::ostream&
output(std::ostream& out)
const;
171 ,
const Vector& v_rhs2, value_type beta)
const;
181 ,
const Vector& v_rhs3, value_type beta)
const;
191 ,
const Vector& v_rhs3)
const;
225 ,
const Vector& v_rhs2)
const;
255 #ifdef DOXYGEN_COMPILE
298 #endif // MATRIX_WITH_OP_NONSINGULAR_AGGR_H
bool Mp_StPtMtP(MatrixOp *mwo_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, BLAS_Cpp::Transp M_trans, const GenPermMatrixSlice &P_rhs2, BLAS_Cpp::Transp P_rhs2_trans) const
Abstract interface for immutable, finite dimensional, coordinate vectors {abstract}.
MatrixOpNonsingAggr()
Construct to uninitialized.
bool Mp_StPtM(MatrixOp *mwo_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans, BLAS_Cpp::Transp M_trans) const
void V_InvMtV(VectorMutable *v_lhs, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2) const
void Vp_StPtMtV(VectorMutable *vs_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, BLAS_Cpp::Transp M_rhs2_trans, const Vector &v_rhs3, value_type beta) const
void set_uninitialized()
Set uninitialized.
const mns_ptr_t & mns() const
void initialize(const mwo_ptr_t &mwo, BLAS_Cpp::Transp mwo_trans, const mns_ptr_t &mns, BLAS_Cpp::Transp mns_trans)
Initialize.
MatrixOp::mat_ptr_t sub_view(const Range1D &row_rng, const Range1D &col_rng) const
bool syrk(BLAS_Cpp::Transp M_trans, value_type alpha, value_type beta, MatrixSymOp *sym_lhs) const
void Vp_StMtV(VectorMutable *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const Vector &v_rhs2, value_type beta) const
Interface adding operations specific for a symmetric matrix {abstract}.
value_type transVtMtV(const Vector &v_rhs1, BLAS_Cpp::Transp trans_rhs2, const Vector &v_rhs3) const
Teuchos::RCP< const MatrixOp > mwo_ptr_t
value_type transVtInvMtV(const Vector &v_rhs1, BLAS_Cpp::Transp trans_rhs2, const Vector &v_rhs3) const
bool Mp_StMtP(MatrixOp *mwo_lhs, value_type alpha, BLAS_Cpp::Transp M_trans, const GenPermMatrixSlice &P_rhs, BLAS_Cpp::Transp P_rhs_trans) const
Abstract interface for objects that represent a space for mutable coordinate vectors.
void syr2k(BLAS_Cpp::Transp M_trans, value_type alpha, const GenPermMatrixSlice &P1, BLAS_Cpp::Transp P1_trans, const GenPermMatrixSlice &P2, BLAS_Cpp::Transp P2_trans, value_type beta, MatrixSymOp *symwo_lhs) const
const VectorSpace & space_cols() const
bool Mp_StM(MatrixOp *mwo_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs) const
MatrixOp & operator=(const MatrixOp &M)
const VectorSpace & space_rows() const
BLAS_Cpp::Transp mwo_trans() const
Teuchos::RCP< const MatrixNonsing > mns_ptr_t
void M_StMtInvM(MatrixOp *m_lhs, value_type alpha, const MatrixOp &mwo_rhs1, BLAS_Cpp::Transp trans_rhs1, BLAS_Cpp::Transp trans_rhs2) const
Base class for all matrices that support basic matrix operations.
BLAS_Cpp::Transp mns_trans() const
void M_StInvMtM(MatrixOp *m_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2) const
const mwo_ptr_t & mwo() const
Abstract interface for mutable coordinate vectors {abstract}.
Abstract base class for all nonsingular polymorphic matrices that can be used to compute matrix-vecto...
Abstract base class for all nonsingular polymorphic matrices that can solve for linear system with bu...
std::ostream & output(std::ostream &out) const
Aggregate matrix class pulling together a MatrixOp object and a MatrixNonsing object into a unified m...
bool Mp_StMtM(MatrixOp *mwo_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const MatrixOp &mwo_rhs2, BLAS_Cpp::Transp trans_rhs2, value_type beta) const
Concrete matrix type to represent general permutation (mapping) matrices.