This class is just a specialization of PrecisionOp when the shift Operator is built with sparse matrices and therefore algebra can be performed with Cholesky. It allows to return the precision matrix as a Sparse Matrix.
|
| PrecisionOpCs (ShiftOpCs *shiftop=nullptr, const CovAniso *cova=nullptr, bool verbose=false) |
|
| PrecisionOpCs (const AMesh *mesh, CovAniso *cova, bool verbose=false) |
|
virtual | ~PrecisionOpCs () |
|
void | evalInverse (const Eigen::VectorXd &vecin, Eigen::VectorXd &vecout) override |
|
int | _addSimulateToDest (const Eigen::VectorXd &whitenoise, Eigen::VectorXd &outv) const override |
|
int | _addToDest (const Eigen::VectorXd &inv, Eigen::VectorXd &outv) const override |
|
double | getLogDeterminant (int nbsimu=1) override |
|
void | evalDeriv (const Eigen::VectorXd &inv, Eigen::VectorXd &outv, int iapex, int igparam, const EPowerPT &power) override |
|
void | evalDerivOptim (Eigen::VectorXd &outv, int iapex, int igparam, const EPowerPT &power) override |
|
void | gradYQX (const Eigen::VectorXd &X, const Eigen::VectorXd &Y, Eigen::VectorXd &result, const EPowerPT &power) override |
|
void | gradYQXOptim (const Eigen::VectorXd &X, const Eigen::VectorXd &Y, Eigen::VectorXd &result, const EPowerPT &power) override |
|
const MatrixSparse * | getQ () const |
|
| PrecisionOp () |
|
| PrecisionOp (ShiftOpCs *shiftop, const CovAniso *cova, bool verbose=false) |
|
| PrecisionOp (const AMesh *mesh, CovAniso *cova, bool verbose=false) |
|
| PrecisionOp (const PrecisionOp &pmat) |
|
PrecisionOp & | operator= (const PrecisionOp &pmat) |
|
virtual | ~PrecisionOp () |
|
virtual std::pair< double, double > | getRangeEigenVal (int ndiscr=100) |
|
int | reset (const ShiftOpCs *shiftop, const CovAniso *cova=nullptr, bool verbose=false) |
|
std::vector< Eigen::VectorXd > | simulate (int nbsimu=1) |
|
void | evalPower (const Eigen::VectorXd &inm, Eigen::VectorXd &outm, const EPowerPT &power=EPowerPT::fromKey("ONE")) |
|
VectorDouble | evalCov (int imesh) |
|
VectorDouble | simulateOne () |
|
int | getSize () const override |
|
bool | getTraining () const |
|
void | setTraining (bool tr) |
|
ShiftOpCs * | getShiftOp () const |
|
VectorDouble | getPolyCoeffs (const EPowerPT &power) |
|
void | setPolynomialFromPoly (APolynomial *polynomial) |
|
bool | isCovaDefined () const |
|
VectorDouble | getCoeffs () |
|
void | evalPower (const VectorDouble &inv, VectorDouble &outv, const EPowerPT &power=EPowerPT::fromKey("ONE")) |
|
| ASimulable () |
|
virtual | ~ASimulable () |
|
int | evalSimulate (const VectorDouble &whitenoise, VectorDouble &outv) const |
|
VectorDouble | evalSimulate (const VectorDouble &whitenoise) const |
|
int | evalSimulate (const VectorEigen &whitenoise, VectorEigen &outv) const |
|
int | addSimulateToDest (const VectorDouble &whitenoise, VectorDouble &outv) const |
|
int | addSimulateToDest (const VectorEigen &whitenoise, VectorEigen &outv) const |
|
int | evalSimulate (const Eigen::VectorXd &whitenoise, Eigen::VectorXd &outv) const |
|
int | addSimulateToDest (const Eigen::VectorXd &whitenoise, Eigen::VectorXd &outv) const |
|
virtual | ~ALinearOp () |
|
int | evalDirect (const VectorDouble &inv, VectorDouble &outv) const |
|
VectorDouble | evalDirect (const VectorDouble &in) const |
|
int | evalDirect (const VectorEigen &inv, VectorEigen &outv) const |
|
int | addToDest (const VectorDouble &inv, VectorDouble &outv) const |
|
int | addToDest (const VectorEigen &inv, VectorEigen &outv) const |
|
int | evalDirect (const Eigen::VectorXd &inv, Eigen::VectorXd &outv) const |
|
int | addToDest (const Eigen::VectorXd &inv, Eigen::VectorXd &outv) const |
|