gstlearn  0.3.3
CCC
Cholesky Class Reference

#include <Cholesky.hpp>

Inheritance diagram for Cholesky:
ALinearOp

Public Member Functions

 Cholesky (const cs *mat=nullptr, bool flagDecompose=true)
 
 Cholesky (const Cholesky &m)
 
Choleskyoperator= (const Cholesky &m)
 
virtual ~Cholesky ()
 
int getSize () const override
 
void evalInverse (const VectorDouble &inv, VectorDouble &outv) const override
 
int reset (const cs *mat=nullptr, bool flagDecompose=true)
 
void simulate (VectorDouble &inv, VectorDouble &outv)
 
void stdev (VectorDouble &vcur, bool flagStDev=false)
 
void printout (const char *title, bool verbose=false) const
 
double computeLogDet () const
 
- Public Member Functions inherited from ALinearOp
 ALinearOp (int nitermax=1000, double eps=EPSILON8)
 
 ALinearOp (const ALinearOp &m)
 
ALinearOpoperator= (const ALinearOp &m)
 
virtual ~ALinearOp ()
 
void evalDirect (const VectorDouble &inv, VectorDouble &outv) const
 
void setNIterMax (int nitermax)
 
void setEps (double eps)
 
void setX0 (VectorDouble &x0)
 
void setPrecond (const ALinearOp *precond, int status)
 

Protected Member Functions

void _evalDirect (const VectorDouble &inv, VectorDouble &outv) const override
 

Private Member Functions

bool _isDefined () const
 
bool _isDecomposed () const
 
void _clean ()
 
void _decompose (bool verbose=false) const
 

Private Attributes

const cs * _mat
 
css * _matS
 
csn * _matN
 
VectorDouble _work
 

Constructor & Destructor Documentation

◆ Cholesky() [1/2]

Cholesky::Cholesky ( const cs *  mat = nullptr,
bool  flagDecompose = true 
)

◆ Cholesky() [2/2]

Cholesky::Cholesky ( const Cholesky m)

◆ ~Cholesky()

Cholesky::~Cholesky ( )
virtual

Member Function Documentation

◆ _clean()

void Cholesky::_clean ( )
private

◆ _decompose()

void Cholesky::_decompose ( bool  verbose = false) const
private

Finalize the construction of the QChol structure. Perform the Cholesky decomposition

Parameters
[in]verboseVerbose flag
Remarks
In case of problem the message is issued in this function
If the decomposition is already performed, nothing is done

◆ _evalDirect()

void Cholesky::_evalDirect ( const VectorDouble inv,
VectorDouble outv 
) const
overrideprotectedvirtual

Operate the operation: 'outv' = MAT * 'inv'

Parameters
[in]invArray of input values
[out]outvArray of output values

Implements ALinearOp.

◆ _isDecomposed()

bool Cholesky::_isDecomposed ( ) const
inlineprivate

◆ _isDefined()

bool Cholesky::_isDefined ( ) const
inlineprivate

◆ computeLogDet()

double Cholesky::computeLogDet ( ) const

◆ evalInverse()

void Cholesky::evalInverse ( const VectorDouble inv,
VectorDouble outv 
) const
overridevirtual

Evaluate the product: 'outv' = MAT^{-1} * 'inv'

Parameters
[in]invArray of input values
[out]outvArray of output values

Reimplemented from ALinearOp.

◆ getSize()

int Cholesky::getSize ( ) const
overridevirtual

Implements ALinearOp.

◆ operator=()

Cholesky & Cholesky::operator= ( const Cholesky m)

◆ printout()

void Cholesky::printout ( const char *  title,
bool  verbose = false 
) const

◆ reset()

int Cholesky::reset ( const cs *  mat = nullptr,
bool  flagDecompose = true 
)

◆ simulate()

void Cholesky::simulate ( VectorDouble inv,
VectorDouble outv 
)

Simulate using Cholesky

Parameters
[out]invinput Vector
[out]outvSimulated output vector

◆ stdev()

void Cholesky::stdev ( VectorDouble vcur,
bool  flagStDev = false 
)

Perform the calculation of the Standard Deviation of Estimation Error

Parameters
[out]vcurOutput array
[in]flagStDevFALSE for a variance calculation, True for StDev.

Member Data Documentation

◆ _mat

const cs* Cholesky::_mat
private

◆ _matN

csn* Cholesky::_matN
mutableprivate

◆ _matS

css* Cholesky::_matS
mutableprivate

◆ _work

VectorDouble Cholesky::_work
mutableprivate

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