1.8.0
CCC
 
Loading...
Searching...
No Matches
gstlrn::CholeskyDense Class Reference

#include <CholeskyDense.hpp>

Inheritance diagram for gstlrn::CholeskyDense:
gstlrn::ACholesky gstlrn::ASimulable gstlrn::ALinearOp

Public Member Functions

 CholeskyDense (const MatrixSymmetric &mat=MatrixSymmetric())
 
 CholeskyDense (const CholeskyDense &m)
 
CholeskyDenseoperator= (const CholeskyDense &m)
 
virtual ~CholeskyDense ()
 
Id setMatrix (const MatrixSymmetric &mat)
 
double computeLogDeterminant () const override
 
 getLowerTriangle () const
 
double getLowerTriangle (Id i, Id j) const
 
 getUpperTriangleInverse () const
 
double getUpperTriangleInverse (Id i, Id j) const
 
void solveMatInPlace (const MatrixDense &mat, MatrixDense &res) const
 
Id addSolveX (const constvect vecin, vect vecout) const override
 
Id addInvLtX (const constvect vecin, vect vecout) const override
 
Id addLtX (const constvect vecin, vect vecout) const override
 
Id addLX (const constvect vecin, vect vecout) const override
 
Id addInvLX (const constvect vecin, vect vecout) const override
 
void matProductInPlace (Id mode, const MatrixDense &a, MatrixDense &x)
 
void normMatInPlace (Id mode, Id neq, const MatrixSymmetric &a, MatrixSymmetric &b)
 
MatrixDense inverse () const
 
void clear ()
 
bool empty () const
 
- Public Member Functions inherited from gstlrn::ACholesky
 ACholesky (const AMatrix &mat)
 
 ACholesky (const ACholesky &m)
 
ACholeskyoperator= (const ACholesky &m)
 
virtual ~ACholesky ()
 
Id getSize () const override
 
Id solve (const constvect vecin, vect vecout) const
 
Id InvLtX (const constvect whitenoise, vect vecout) const
 
Id LtX (const constvect whitenoise, vect vecout) const
 
Id LX (const constvect whitenoise, vect vecout) const
 
Id InvLX (const constvect whitenoise, vect vecout) const
 
Id solveMatrix (const MatrixDense &b, MatrixDense &x) const
 
bool isReady () const
 
 invLtX (const 1 &vecin) const
 
 LtX (const 1 &vecin) const
 
 LX (const 1 &vecin) const
 
 invLX (const 1 &vecin) const
 
 solveX (const 1 &vecin) const
 
- Public Member Functions inherited from gstlrn::ASimulable
 ASimulable ()
 
virtual ~ASimulable ()
 
Id evalSimulate (const 1 &whitenoise, 1 &outv) const
 
 evalSimulate (const 1 &whitenoise) const
 
 simulate () const
 
Id evalSimulate (const constvect whitenoise, vect result) const
 
Id addSimulateToDest (const constvect whitenoise, vect outv) const
 
- Public Member Functions inherited from gstlrn::ALinearOp
 ALinearOp ()
 
 ALinearOp (const ALinearOp &m)=delete
 
ALinearOpoperator= (const ALinearOp &m)=delete
 
virtual ~ALinearOp ()
 
Id evalDirect (const 1 &inv, 1 &outv) const
 
 evalDirect (const 1 &in) const
 
virtual void multiplyByValueAndAddDiagonal (double v1=1., double v2=0.) const
 
virtual void resetModif () const
 
void setUseFactor (bool usefactor)
 
Id evalDirect (constvect inv, vect outv) const
 
Id addToDest (const constvect inv, vect outv) const
 
Id addToDest (const ::Eigen::VectorXd &inv, ::Eigen::VectorXd &outv) const
 

Constructor & Destructor Documentation

◆ CholeskyDense() [1/2]

gstlrn::CholeskyDense::CholeskyDense ( const MatrixSymmetric mat = MatrixSymmetric())

◆ CholeskyDense() [2/2]

gstlrn::CholeskyDense::CholeskyDense ( const CholeskyDense m)

◆ ~CholeskyDense()

gstlrn::CholeskyDense::~CholeskyDense ( )
virtual

Member Function Documentation

◆ addInvLtX()

Id gstlrn::CholeskyDense::addInvLtX ( const constvect  vecin,
vect  vecout 
) const
overridevirtual

Implements gstlrn::ACholesky.

◆ addInvLX()

Id gstlrn::CholeskyDense::addInvLX ( const constvect  vecin,
vect  vecout 
) const
overridevirtual

Implements gstlrn::ACholesky.

◆ addLtX()

Id gstlrn::CholeskyDense::addLtX ( const constvect  vecin,
vect  vecout 
) const
overridevirtual

Implements gstlrn::ACholesky.

◆ addLX()

Id gstlrn::CholeskyDense::addLX ( const constvect  vecin,
vect  vecout 
) const
overridevirtual

Implements gstlrn::ACholesky.

◆ addSolveX()

Id gstlrn::CholeskyDense::addSolveX ( const constvect  vecin,
vect  vecout 
) const
overridevirtual

Implements gstlrn::ACholesky.

◆ clear()

void gstlrn::CholeskyDense::clear ( )

◆ computeLogDeterminant()

double gstlrn::CholeskyDense::computeLogDeterminant ( ) const
overridevirtual

Implements gstlrn::ACholesky.

◆ empty()

bool gstlrn::CholeskyDense::empty ( ) const

◆ getLowerTriangle() [1/2]

gstlrn::CholeskyDense::getLowerTriangle ( ) const

◆ getLowerTriangle() [2/2]

double gstlrn::CholeskyDense::getLowerTriangle ( Id  i,
Id  j 
) const

◆ getUpperTriangleInverse() [1/2]

gstlrn::CholeskyDense::getUpperTriangleInverse ( ) const

◆ getUpperTriangleInverse() [2/2]

double gstlrn::CholeskyDense::getUpperTriangleInverse ( Id  i,
Id  j 
) const

◆ inverse()

MatrixDense gstlrn::CholeskyDense::inverse ( ) const

◆ matProductInPlace()

void gstlrn::CholeskyDense::matProductInPlace ( Id  mode,
const MatrixDense a,
MatrixDense x 
)

Performs the product between a triangular and a square matrix TL is the lower triangular matrix and X is a square matrix

Parameters
[in]modeType of calculations: 0 : X=TU%*A 1 : X=TL%*A 2 : X=A%*TU 3 : X=A%*TL 4 : X=t(A)%*TU 5 : X=t(A)%*TL
[in]aInput matrix
[out]xResulting matrix (resized if necessary)
Remarks
The dimensions of 'a' and 'x' must match
Anyhow 'x' is resized to the same dimension as 'a'

◆ normMatInPlace()

void gstlrn::CholeskyDense::normMatInPlace ( Id  mode,
Id  neq,
const MatrixSymmetric a,
MatrixSymmetric b 
)

Performs the product B = TL * A * TU or TU * A * TL where TL,TU is a triangular matrix and A a square symmetric matrix

Parameters
[in]mode0: TL * A * TU; 1: TU * A * TL
[in]neqnumber of equations in the system
[in]aSquare symmetric matrix (optional)
[out]bSquare output matrix (resized if needed)
Remarks
The value of 'neq' could be derived from the input matrix 'a'
but this matrix is optional, hence the presence of argument 'neq'

◆ operator=()

CholeskyDense & gstlrn::CholeskyDense::operator= ( const CholeskyDense m)

◆ setMatrix()

Id gstlrn::CholeskyDense::setMatrix ( const MatrixSymmetric mat)

◆ solveMatInPlace()

void gstlrn::CholeskyDense::solveMatInPlace ( const MatrixDense mat,
MatrixDense res 
) const

The documentation for this class was generated from the following files: