42 #ifndef MATRIX_SYM_WITH_OP_H
43 #define MATRIX_SYM_WITH_OP_H
47 namespace AbstractLinAlgPack {
75 #ifndef DOXYGEN_COMPILE
177 mat_mut_ptr_t
clone();
179 mat_ptr_t
clone()
const;
184 {
static_cast<MatrixOp*
>(
this)->
operator=(M);
return *
this; }
204 M.
Mp_StPtMtP(sym_lhs,alpha,dummy_place_holder,gpms_rhs,gpms_rhs_trans,beta);
217 M.
Mp_StMtMtM(sym_lhs,alpha,dummy_place_holder,mwo_rhs,mwo_rhs_trans,beta);
224 #endif // MATRIX_SYM_WITH_OP_H
virtual MatrixSymOp & operator=(const MatrixSymOp &M)
Calls operator=(MatrixOp&)
RTOp_value_type value_type
friend void Mp_StPtMtP(MatrixSymOp *sym_lhs, value_type alpha, EMatRhsPlaceHolder dummy_place_holder, const MatrixSymOp &M, const GenPermMatrixSlice &gpms_rhs, BLAS_Cpp::Transp gpms_rhs_trans, value_type beta)
virtual mat_mswo_mut_ptr_t clone_mswo()
Clone the non-const matrix object (if supported).
friend void Mp_StPtMtP(MatrixOp *mwo_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs, const GenPermMatrixSlice &P_rhs2, BLAS_Cpp::Transp P_rhs2_trans)
Interface adding operations specific for a symmetric matrix {abstract}.
mat_mut_ptr_t clone()
Returns this->clone_mswo().
const VectorSpace & space_rows() const
Vector space for vectors that are compatible with the rows of the matrix.
void Mp_StPtMtP(MatrixOp *mwo_lhs, value_type alpha, const GenPermMatrixSlice &P_rhs1, BLAS_Cpp::Transp P_rhs1_trans, const MatrixOp &M_rhs, BLAS_Cpp::Transp trans_rhs, const GenPermMatrixSlice &P_rhs2, BLAS_Cpp::Transp P_rhs2_trans)
mwo_lhs += alpha * op(P_rhs1) * op(M_rhs) * op(P_rhs2).
RTOp_index_type size_type
Abstract interface for objects that represent a space for mutable coordinate vectors.
void Mp_StMtMtM(MatrixSymOp *sym_lhs, value_type alpha, MatrixSymOp::EMatRhsPlaceHolder dummy_place_holder, const MatrixSymOp &M, const MatrixOp &mwo_rhs, BLAS_Cpp::Transp mwo_rhs_trans, value_type beta=1.0)
sym_lhs = alpha * op(mwo_rhs') * M * op(mwo_rhs) + beta * sym_lhs
const LAPACK_C_Decl::f_int & M
Base class for all matrices that support basic matrix operations.
size_type cols() const
Returns this->rows()
friend void Mp_StMtMtM(MatrixSymOp *sym_lhs, value_type alpha, EMatRhsPlaceHolder dummy_place_holder, const MatrixSymOp &M, const MatrixOp &mwo_rhs, BLAS_Cpp::Transp mwo_rhs_trans, value_type beta)
Concrete matrix type to represent general permutation (mapping) matrices.