gstlearn  1.0.0
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 &vecin, VectorDouble &vecout) const override
 
bool isDefined () const
 
bool isCholeskyDecomposed () const
 
int reset (const cs *mat=nullptr, bool flagDecompose=true)
 
void decompose (bool verbose=false) const
 
void simulate (VectorDouble &vecin, VectorDouble &vecout)
 
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 (const CGParam params=CGParam())
 
 ALinearOp (const ALinearOp &m)
 
ALinearOpoperator= (const ALinearOp &m)
 
virtual ~ALinearOp ()
 
void evalDirect (const VectorDouble &inv, VectorDouble &outv) const
 
void setX0 (const VectorDouble &x0)
 
void mustShowStats (bool status)
 
const LogStatsgetLogStats () const
 

Protected Member Functions

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

Private Member Functions

void _clean ()
 

Private Attributes

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

Additional Inherited Members

- Protected Attributes inherited from ALinearOp
LogStats _logStats
 

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

◆ _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.

◆ computeLogDet()

double Cholesky::computeLogDet ( ) const

◆ decompose()

void Cholesky::decompose ( bool  verbose = false) const

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

◆ evalInverse()

void Cholesky::evalInverse ( const VectorDouble vecin,
VectorDouble vecout 
) const
overridevirtual

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

Parameters
[in]vecinArray of input values
[out]vecoutArray of output values

Reimplemented from ALinearOp.

◆ getSize()

int Cholesky::getSize ( ) const
overridevirtual

Implements ALinearOp.

◆ isCholeskyDecomposed()

bool Cholesky::isCholeskyDecomposed ( ) const
inline

◆ isDefined()

bool Cholesky::isDefined ( ) const
inline

◆ 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 vecin,
VectorDouble vecout 
)

Simulate using Cholesky

Parameters
[out]vecininput Vector
[out]vecoutSimulated 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: