1.5.1
CCC
 
CholeskyDense Class Reference

#include <CholeskyDense.hpp>

Inheritance diagram for CholeskyDense:
ACholesky ASimulable ALinearOp

Public Member Functions

 CholeskyDense (const MatrixSquareSymmetric *mat=nullptr)
 
 CholeskyDense (const CholeskyDense &m)
 
CholeskyDenseoperator= (const CholeskyDense &m)
 
virtual ~CholeskyDense ()
 
int setMatrix (const MatrixSquareSymmetric *mat)
 
double computeLogDeterminant () const override
 
VectorDouble getLowerTriangle () const
 
double getLowerTriangle (int i, int j) const
 
VectorDouble getUpperTriangleInverse () const
 
double getUpperTriangleInverse (int i, int j) const
 
int addSolveX (const constvect vecin, vect vecout) const override
 
int addInvLtX (const constvect vecin, vect vecout) const override
 
int addLtX (const constvect vecin, vect vecout) const override
 
int addLX (const constvect vecin, vect vecout) const override
 
int addInvLX (const constvect vecin, vect vecout) const override
 
void matProductInPlace (int mode, const MatrixRectangular &a, MatrixRectangular &x)
 
void normMatInPlace (int mode, int neq, const MatrixSquareSymmetric &a, MatrixSquareSymmetric &b)
 
- Public Member Functions inherited from ACholesky
 ACholesky (const AMatrix *mat)
 
 ACholesky (const ACholesky &m)
 
ACholeskyoperator= (const ACholesky &m)
 
virtual ~ACholesky ()
 
int getSize () const override
 
const AMatrixgetMatrix () const
 
int solve (const constvect vecin, vect vecout) const
 
int InvLtX (const constvect whitenoise, vect vecout) const
 
int LtX (const constvect whitenoise, vect vecout) const
 
int LX (const constvect whitenoise, vect vecout) const
 
int InvLX (const constvect whitenoise, vect vecout) const
 
int solveMatrix (const MatrixRectangular &b, MatrixRectangular &x) const
 
bool isReady () const
 
- Public Member Functions inherited from ASimulable
 ASimulable ()
 
virtual ~ASimulable ()
 
int evalSimulate (const VectorDouble &whitenoise, VectorDouble &outv) const
 
VectorDouble evalSimulate (const VectorDouble &whitenoise) const
 
int evalSimulate (const constvect whitenoise, vect result) const
 
int addSimulateToDest (const constvect whitenoise, vect outv) const
 
- Public Member Functions inherited from ALinearOp
virtual ~ALinearOp ()
 
int evalDirect (const VectorDouble &inv, VectorDouble &outv) const
 
VectorDouble evalDirect (const VectorDouble &in) const
 
int evalDirect (constvect inv, vect outv) const
 
int addToDest (const constvect inv, vect outv) const
 
int addToDest (const Eigen::VectorXd &inv, Eigen::VectorXd &outv) const
 

Constructor & Destructor Documentation

◆ CholeskyDense() [1/2]

CholeskyDense::CholeskyDense ( const MatrixSquareSymmetric mat = nullptr)

◆ CholeskyDense() [2/2]

CholeskyDense::CholeskyDense ( const CholeskyDense m)

◆ ~CholeskyDense()

CholeskyDense::~CholeskyDense ( )
virtual

Member Function Documentation

◆ addInvLtX()

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

Implements ACholesky.

◆ addInvLX()

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

Implements ACholesky.

◆ addLtX()

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

Implements ACholesky.

◆ addLX()

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

Implements ACholesky.

◆ addSolveX()

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

Implements ACholesky.

◆ computeLogDeterminant()

double CholeskyDense::computeLogDeterminant ( ) const
overridevirtual

Implements ACholesky.

◆ getLowerTriangle() [1/2]

VectorDouble CholeskyDense::getLowerTriangle ( ) const

◆ getLowerTriangle() [2/2]

double CholeskyDense::getLowerTriangle ( int  i,
int  j 
) const

◆ getUpperTriangleInverse() [1/2]

VectorDouble CholeskyDense::getUpperTriangleInverse ( ) const

◆ getUpperTriangleInverse() [2/2]

double CholeskyDense::getUpperTriangleInverse ( int  i,
int  j 
) const

◆ matProductInPlace()

void CholeskyDense::matProductInPlace ( int  mode,
const MatrixRectangular a,
MatrixRectangular 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 CholeskyDense::normMatInPlace ( int  mode,
int  neq,
const MatrixSquareSymmetric a,
MatrixSquareSymmetric 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 & CholeskyDense::operator= ( const CholeskyDense m)

◆ setMatrix()

int CholeskyDense::setMatrix ( const MatrixSquareSymmetric mat)

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