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.
|
| InvNuggetOp (const Db *dbin=nullptr, Model *model=nullptr, const SPDEParam ¶ms=SPDEParam(), bool flagEigVals=false) |
|
| InvNuggetOp (const InvNuggetOp &m)=delete |
|
InvNuggetOp & | operator= (const InvNuggetOp &m)=delete |
|
virtual | ~InvNuggetOp () |
|
Id | getSize () const override |
|
const MatrixSparse * | getInvNuggetMatrix () const |
|
const MatrixSparse * | cloneInvNuggetMatrix () const |
|
const MatrixSparse * | cloneCholNuggetMatrix () const |
|
double | computeLogDet (Id nMC=1) const override |
|
double | getMinEigenValue () const |
|
double | getMaxEigenValue () const |
|
std::pair< double, double > | getRangeEigenValue () const |
|
| 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 |
|
| ALinearOp () |
|
| ALinearOp (const ALinearOp &m)=delete |
|
ALinearOp & | operator= (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 |
|
| MatrixSparse (Id nrow=0, Id ncol=0, Id ncolmax=-1) |
|
| MatrixSparse (const MatrixSparse &m) |
|
MatrixSparse & | operator= (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.
|
|
MatrixSparse * | transpose () 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 |
|
MatrixSparse * | getRowAsMatrixSparse (Id irow, double coeff=1.) const |
|
MatrixSparse * | getColumnAsMatrixSparse (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) |
|
MatrixSparse * | extractSubmatrixByRanks (const 1 &rank_rows, const 1 &rank_cols) const |
|
MatrixSparse * | extractSubmatrixByColor (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 () |
|
| AMatrix (Id nrow=0, Id ncol=0) |
|
| AMatrix (const AMatrix &m) |
|
AMatrix & | operator= (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) |
|
| AStringable () |
|
| AStringable (const AStringable &r) |
|
AStringable & | operator= (const AStringable &r) |
|
virtual | ~AStringable () |
|
virtual void | display (const AStringFormat *strfmt=nullptr) const final |
|
virtual void | display (Id level) const final |
|
| ICloneable () |
|
virtual | ~ICloneable () |
|
virtual ICloneable * | clone () const =0 |
|
std::shared_ptr< ICloneable > | cloneShared () const |
|
std::unique_ptr< ICloneable > | cloneUnique () const |
|