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

#include <InvNuggetOp.hpp>

Inheritance diagram for gstlrn::InvNuggetOp:
gstlrn::ASimulable gstlrn::MatrixSparse gstlrn::ALinearOp gstlrn::AMatrix gstlrn::ALinearOp gstlrn::AStringable gstlrn::ICloneable

Detailed Description

invNuggetOp

This class is used to represent the inverse covariance matrix operator of a nugget effect. It can be multivariate with anisotropy. It stores the inverse submatrices for each location, allowing efficient computation of the logdeterminant. It inherits from ASimulable, allowing it to be used in simulations.

Public Member Functions

 InvNuggetOp (const Db *dbin=nullptr, Model *model=nullptr, const SPDEParam &params=SPDEParam(), bool flagEigVals=false)
 
 InvNuggetOp (const InvNuggetOp &m)=delete
 
InvNuggetOpoperator= (const InvNuggetOp &m)=delete
 
virtual ~InvNuggetOp ()
 
Id getSize () const override
 
const MatrixSparsegetInvNuggetMatrix () const
 
const MatrixSparsecloneInvNuggetMatrix () const
 
const MatrixSparsecloneCholNuggetMatrix () const
 
double computeLogDet (Id nMC=1) const override
 
double getMinEigenValue () const
 
double getMaxEigenValue () const
 
std::pair< double, double > getRangeEigenValue () 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
 
- Public Member Functions inherited from gstlrn::MatrixSparse
 MatrixSparse (Id nrow=0, Id ncol=0, Id ncolmax=-1)
 
 MatrixSparse (const MatrixSparse &m)
 
MatrixSparseoperator= (const MatrixSparse &m)
 
virtual ~MatrixSparse ()
 
String toString (const AStringFormat *strfmt=nullptr) const override
 Cloneable interface.
 
Id getSize () const override
 Interface for ALinearOp.
 
bool isSparse () const override
 Interface for AMatrix.
 
bool isDense () const override
 
double getValue (Id row, Id col) const override
 
void setValue (Id irow, Id icol, double value) override
 
void updValue (Id irow, Id icol, const EOperator &oper, double value) override
 
void setColumn (Id icol, const 1 &tab) override
 
void setColumnToConstant (Id icol, double value) override
 
void setRow (Id irow, const 1 &tab) override
 
void setRowToConstant (Id irow, double value) override
 
void setDiagonal (const 1 &tab) override
 
void setDiagonalToConstant (double value=1.) override
 
void addScalar (double v) override
 
void addScalarDiag (double v) override
 
void prodScalar (double v) override
 
void fill (double value) override
 
void multiplyRow (const 1 &vec) override
 
void multiplyColumn (const 1 &vec) override
 
void divideRow (const 1 &vec) override
 
void divideColumn (const 1 &vec) override
 
void resetFromValue (Id nrows, Id ncols, double value) override
 Reset the matrix to new dimensions and fill with a new value.
 
void resetFromArray (Id nrows, Id ncols, const double *tab, bool byCol=true) override
 Reset the matrix from an array of double values.
 
void resetFromVD (Id nrows, Id ncols, const 1 &tab, bool byCol=true) override
 Reset the matrix from a vector of double values.
 
void resetFromVVD (const 1 &tab, bool byCol=true) override
 Reset the matrix from an array of double values.
 
MatrixSparsetranspose () const override
 
void prodMatMatInPlace (const AMatrix *x, const AMatrix *y, bool transposeX=false, bool transposeY=false) override
 
void prodNormMatMatInPlace (const AMatrix *a, const AMatrix *m, bool transpose=false) override
 
void prodNormMatVecInPlace (const AMatrix *a, const 1 &vec, bool transpose=false) override
 
void prodNormMatInPlace (const AMatrix *a, bool transpose=false) override
 
void linearCombination (double val1, const AMatrix *mat1, double val2=1., const AMatrix *mat2=nullptr, double val3=1., const AMatrix *mat3=nullptr) override
 
void addMat (const AMatrix &y, double cx=1., double cy=1.) override
 
NF_Triplet getMatrixToTriplet (Id shiftRow=0, Id shiftCol=0) const override
 
MatrixSparsegetRowAsMatrixSparse (Id irow, double coeff=1.) const
 
MatrixSparsegetColumnAsMatrixSparse (Id icol, double coeff=1.) const
 
Id addVecInPlaceEigen (const Eigen::Map< const Eigen::VectorXd > &xm, Eigen::Map< Eigen::VectorXd > &ym) const
 
void resetFromTriplet (const NF_Triplet &NF_T)
 
void fillRandom (Id seed=432432, double zeroPercent=0)
 
Id addVecInPlace (const constvect x, vect y) const
 
void addValue (Id row, Id col, double value)
 
double L1Norm () const
 
void getStats (Id *nrows, Id *ncols, Id *count, double *percent) const
 
Id scaleByDiag ()
 
Id addVecInPlaceVD (const 1 &x, 1 &y) const
 
void setConstant (double value)
 
 extractDiag (Id oper_choice=1) const
 
void prodNormDiagVecInPlace (const 1 &vec, Id oper=1)
 
MatrixSparseextractSubmatrixByRanks (const 1 &rank_rows, const 1 &rank_cols) const
 
MatrixSparseextractSubmatrixByColor (const 1 &colors, Id ref_color, bool row_ok, bool col_ok)
 
 colorCoding () const
 
Id getNonZeros () const
 
void gibbs (Id iech, const 1 &zcur, double *yk, double *sk)
 
Id forwardLU (const 1 &b, 1 &x, bool flagLower=true) const
 
void forceDimension (Id maxRows, Id maxCols)
 
void setDiagonal (const Eigen::Map< const Eigen::VectorXd > &tab)
 
void setDiagonal (const constvect tab)
 
const Eigen::SparseMatrix< double > & eigenMat () const
 
Eigen::SparseMatrix< double > & eigenMat ()
 
- Public Member Functions inherited from gstlrn::AMatrix
 AMatrix (Id nrow=0, Id ncol=0)
 
 AMatrix (const AMatrix &m)
 
AMatrixoperator= (const AMatrix &m)
 
virtual ~AMatrix ()
 
virtual bool isSquare (bool printWhyNot=false) const
 
virtual bool isSymmetric (double eps=EPSILON10, bool printWhyNot=false) const
 
virtual bool mustBeSymmetric () const
 
virtual void reset (Id nrows, Id ncols)
 
virtual void transposeInPlace ()
 
virtual getRow (Id irow) const
 
virtual getColumn (Id icol) const
 
void clear ()
 
void resize (Id nrows, Id ncols)
 Resize the matrix to new dimensions (this method doesn't change the storage type)
 
bool isValid (Id irow, Id icol, bool printWhyNot=false) const
 
bool isIdentity (bool printWhyNot=false) const
 
void addValue (Id irow, Id icol, double value)
 
bool isSame (const AMatrix &m, double eps=EPSILON4, bool printWhyNot=false)
 
bool isSameSize (const AMatrix &m) const
 
bool empty () const
 
double compare (const AMatrix &mat) const
 
Id getNRows () const
 
Id getNCols () const
 
Id size () const
 
 getValues (bool byCol=true) const
 
const & getDiagonal (Id shift=0) const
 
bool isColumnDefined (Id icol) const
 
bool isRowDefined (Id irow) const
 
Id getNColDefined () const
 
Id getNRowDefined () const
 
 getColumnByRowRange (Id icol, Id rowFrom, Id rowTo) const
 
bool isNonNegative (bool verbose=false) const
 
 prodMatVec (const 1 &x, bool transpose=false) const
 
void prodMatVecInPlace (const 1 &x, 1 &y, bool transpose=false) const
 
void prodMatVecInPlaceC (const constvect x, vect y, bool transpose=false) const
 
void addProdMatVecInPlaceC (const constvect x, vect y, bool transpose=false) const
 
 prodVecMat (const 1 &x, bool transpose=false) const
 
void prodVecMatInPlace (const 1 &x, 1 &y, bool transpose=false) const
 
void prodVecMatInPlaceC (const constvect x, vect y, bool transpose=false) const
 
void addProdVecMatInPlaceC (const constvect x, vect y, bool transpose=false) const
 
double prodVecMatVec (const 1 &x, const 1 &y) const
 
void prodMat (const AMatrix *matY, bool transposeY=false)
 
Id invert ()
 
Id solve (const 1 &b, 1 &x) const
 
void dumpElements (const String &title, Id ifrom, Id ito) const
 
void dumpStatistics (const String &title) const
 
void setIdentity (double value=1.)
 
void fillRandom (Id seed=432432, double zeroPercent=0)
 
void setValues (const 1 &values, bool byCol=true)
 
double getMeanByColumn (Id icol) const
 
double getMinimum () const
 
double getMaximum () const
 
double getNormInf () const
 
void copyReduce (const AMatrix *x, const 1 &validRows, const 1 &validCols)
 
void copyElements (const AMatrix &m, double factor=1.)
 
void makePositiveColumn ()
 
void dumpRange (const char *title)
 
double operator() (Id row, Id col) const
 
double & operator() (Id row, Id col)
 
- Public Member Functions inherited from gstlrn::AStringable
 AStringable ()
 
 AStringable (const AStringable &r)
 
AStringableoperator= (const AStringable &r)
 
virtual ~AStringable ()
 
virtual void display (const AStringFormat *strfmt=nullptr) const final
 
virtual void display (Id level) const final
 
- Public Member Functions inherited from gstlrn::ICloneable
 ICloneable ()
 
virtual ~ICloneable ()
 
virtual ICloneableclone () const =0
 
std::shared_ptr< ICloneablecloneShared () const
 
std::unique_ptr< ICloneablecloneUnique () const
 

Additional Inherited Members

- Static Public Member Functions inherited from gstlrn::MatrixSparse
static MatrixSparsecreate (const MatrixSparse *mat)
 
static MatrixSparsecreate (Id nrow, Id ncol)
 
static MatrixSparsecreateFromTriplet (const NF_Triplet &NF_T, Id nrow=0, Id ncol=0, Id nrowmax=-1)
 
static MatrixSparseIdentity (Id nrow, double value=1.)
 
static MatrixSparseaddMatMat (const MatrixSparse *x, const MatrixSparse *y, double cx=1., double cy=1.)
 
static MatrixSparsediagVec (const 1 &vec)
 
static MatrixSparsediagConstant (Id number, double value=1.)
 
static MatrixSparsediagMat (MatrixSparse *A, Id oper_choice)
 
static MatrixSparseglue (const MatrixSparse *A1, const MatrixSparse *A2, bool flagShiftRow, bool flagShiftCol)
 
static void glueInPlace (MatrixSparse *A1, const MatrixSparse *A2, bool flagShiftRow, bool flagShiftCol)
 
static void dumpElements (const String &title, Id ifrom, Id ito)
 
- Public Attributes inherited from gstlrn::MatrixSparse
 DECLARE_TOTL
 Has a specific implementation in the Target language.
 

Constructor & Destructor Documentation

◆ InvNuggetOp() [1/2]

gstlrn::InvNuggetOp::InvNuggetOp ( const Db dbin = nullptr,
Model model = nullptr,
const SPDEParam params = SPDEParam(),
bool  flagEigVals = false 
)

◆ InvNuggetOp() [2/2]

gstlrn::InvNuggetOp::InvNuggetOp ( const InvNuggetOp m)
delete

◆ ~InvNuggetOp()

gstlrn::InvNuggetOp::~InvNuggetOp ( )
virtual

Member Function Documentation

◆ cloneCholNuggetMatrix()

const MatrixSparse * gstlrn::InvNuggetOp::cloneCholNuggetMatrix ( ) const

◆ cloneInvNuggetMatrix()

const MatrixSparse * gstlrn::InvNuggetOp::cloneInvNuggetMatrix ( ) const

◆ computeLogDet()

double gstlrn::InvNuggetOp::computeLogDet ( Id  nMC = 1) const
overridevirtual

Reimplemented from gstlrn::ASimulable.

◆ getInvNuggetMatrix()

const MatrixSparse * gstlrn::InvNuggetOp::getInvNuggetMatrix ( ) const
inline

◆ getMaxEigenValue()

double gstlrn::InvNuggetOp::getMaxEigenValue ( ) const
inline

◆ getMinEigenValue()

double gstlrn::InvNuggetOp::getMinEigenValue ( ) const
inline

◆ getRangeEigenValue()

std::pair< double, double > gstlrn::InvNuggetOp::getRangeEigenValue ( ) const
inline

◆ getSize()

Id gstlrn::InvNuggetOp::getSize ( ) const
overridevirtual

Implements gstlrn::ALinearOp.

◆ operator=()

InvNuggetOp & gstlrn::InvNuggetOp::operator= ( const InvNuggetOp m)
delete

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