Loading [MathJax]/extensions/tex2jax.js
1.7.4
Geostatistics & Machine Learning toolbox | https://gstlearn.org
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
CholeskyDense Class Reference

#include <CholeskyDense.hpp>

Inheritance diagram for CholeskyDense:
ACholesky ASimulable ALinearOp

Public Member Functions

 CholeskyDense (const MatrixSymmetric *mat=nullptr)
 
 CholeskyDense (const CholeskyDense &m)
 
CholeskyDenseoperator= (const CholeskyDense &m)
 
virtual ~CholeskyDense ()
 
int setMatrix (const MatrixSymmetric *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
 
void solveMatInPlace (const MatrixDense &mat, MatrixDense &res) 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 MatrixDense &a, MatrixDense &x)
 
void normMatInPlace (int mode, int neq, const MatrixSymmetric &a, MatrixSymmetric &b)
 
void clear ()
 
bool empty () const
 
- 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 MatrixDense &b, MatrixDense &x) const
 
bool isReady () const
 
VectorDouble invLtX (const VectorDouble &vecin) const
 
VectorDouble LtX (const VectorDouble &vecin) const
 
VectorDouble LX (const VectorDouble &vecin) const
 
VectorDouble invLX (const VectorDouble &vecin) const
 
VectorDouble solveX (const VectorDouble &vecin) const
 
- Public Member Functions inherited from ASimulable
 ASimulable ()
 
virtual ~ASimulable ()
 
int evalSimulate (const VectorDouble &whitenoise, VectorDouble &outv) const
 
VectorDouble evalSimulate (const VectorDouble &whitenoise) const
 
VectorDouble simulate () const
 
int evalSimulate (const constvect whitenoise, vect result) const
 
int addSimulateToDest (const constvect whitenoise, vect outv) const
 
- Public Member Functions inherited from ALinearOp
 ALinearOp ()
 
 ALinearOp (const ALinearOp &op)=delete
 
virtual ~ALinearOp ()
 
int evalDirect (const VectorDouble &inv, VectorDouble &outv) const
 
VectorDouble evalDirect (const VectorDouble &in) const
 
virtual void multiplyByValueAndAddDiagonal (double v1=1., double v2=0.)
 
virtual void resetModif ()
 
void setUseFactor (bool usefactor)
 
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 MatrixSymmetric 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.

◆ clear()

void CholeskyDense::clear ( )

◆ computeLogDeterminant()

double CholeskyDense::computeLogDeterminant ( ) const
overridevirtual

Implements ACholesky.

◆ empty()

bool CholeskyDense::empty ( ) const

◆ 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 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 CholeskyDense::normMatInPlace ( int  mode,
int  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 & CholeskyDense::operator= ( const CholeskyDense m)

◆ setMatrix()

int CholeskyDense::setMatrix ( const MatrixSymmetric mat)

◆ solveMatInPlace()

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

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