42 #ifndef MATRIX_SYM_POS_DEF_INV_CHOL_FACTOR_H
43 #define MATRIX_SYM_POS_DEF_INV_CHOL_FACTOR_H
45 #include "SymInvCholMatrixClass.hpp"
46 #include "AbstractLinAlgPack_MatrixSymSecant.hpp"
47 #include "AbstractLinAlgPack_MatrixExtractInvCholFactor.hpp"
48 #include "AbstractLinAlgPack_MatrixWithOpConcreteEncap.hpp"
49 #include "AbstractLinAlgPack/src/MatrixSymWithOpFactorized.hpp"
50 #include "SerializationPack_Serializable.hpp"
52 namespace ConstrainedOptPack {
57 :
public virtual MatrixWithOpConcreteEncap<SymInvCholMatrix>
58 ,
public virtual MatrixSymWithOpFactorized
59 ,
public MatrixSymSecant
60 ,
public MatrixExtractInvCholFactor
71 : MatrixWithOpConcreteEncap<SymInvCholMatrix>(m)
88 std::ostream&
output(std::ostream& out)
const;
91 ,
const DVectorSlice& vs_rhs2, value_type beta)
const;
94 ,
const SpVectorSlice& sv_rhs2, value_type beta)
const;
97 ,
const DVectorSlice& vs_rhs3)
const;
100 ,
const SpVectorSlice& sv_rhs3)
const;
109 ,
const DVectorSlice& vs_rhs2)
const;
112 ,
const DVectorSlice& vs_rhs2)
const;
115 ,
const SpVectorSlice& sv_rhs2)
const;
118 ,
const SpVectorSlice& sv_rhs2)
const;
132 void M_StMtInvMtM( DMatrixSliceSym* sym_gms_lhs, value_type alpha
146 void secant_update(DVectorSlice* s, DVectorSlice* y, DVectorSlice* Bs);
162 void serialize( std::ostream &out )
const;
172 #endif // MATRIX_SYM_POS_DEF_INV_CHOL_FACTOR_H
Implementation of MatrixOp abstract interface for SymInvCholMatrix.
void M_StMtInvMtM(DMatrixSliceSym *sym_gms_lhs, value_type alpha, const MatrixOp &mwo, BLAS_Cpp::Transp mwo_trans, EMatrixDummyArg) const
void init_diagonal(const DVectorSlice &diag)
MatrixOp & operator=(const MatrixOp &m)
void serialize(std::ostream &out) const
void secant_update(DVectorSlice *s, DVectorSlice *y, DVectorSlice *Bs)
void Vp_StMtV(DVectorSlice *vs_lhs, value_type alpha, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2, value_type beta) const
value_type transVtMtV(const DVectorSlice &vs_rhs1, BLAS_Cpp::Transp trans_rhs2, const DVectorSlice &vs_rhs3) const
std::ostream & output(std::ostream &out) const
value_type transVtInvMtV(const DVectorSlice &vs_rhs1, BLAS_Cpp::Transp trans_rhs2, const DVectorSlice &vs_rhs3) const
MatrixSymPosDefInvCholFactor(const SymInvCholMatrix &m)
void extract_inv_chol(DMatrixSliceTriEle *InvChol) const
void init_identity(size_type n, value_type alpha)
void V_InvMtV(DVector *v_lhs, BLAS_Cpp::Transp trans_rhs1, const DVectorSlice &vs_rhs2) const
MatrixSymPosDefInvCholFactor()
void unserialize(std::istream &in)