#include <ShiftOpMatrix.hpp>
Public Member Functions | |
| ShiftOpMatrix () | |
| ShiftOpMatrix (const AMesh *amesh, const CovAniso *cova, const Db *dbout=nullptr, bool verbose=false) | |
| ShiftOpMatrix (const MatrixSparse *S, const 1 &TildeC, const 1 &Lambda, const CovAniso *cova, bool verbose=false) | |
| ShiftOpMatrix (const ShiftOpMatrix &shift) | |
| ShiftOpMatrix & | operator= (const ShiftOpMatrix &shift) |
| virtual | ~ShiftOpMatrix () |
| void | normalizeLambdaBySills (const AMesh *mesh) override |
| ICloneable interface. | |
| Id | _addToDest (const constvect inv, vect outv) const override |
| Id | initFromMesh (const AMesh *amesh, const CovAniso *cova, const Db *dbout=nullptr, bool flagAdvection=false, bool verbose=false) |
| Id | initGradFromMesh (const AMesh *amesh, const CovAniso *cova, bool verbose=false, double tol=EPSILON10) |
| Id | initFromCS (const MatrixSparse *S, const 1 &TildeC, const 1 &Lambda, const CovAniso *cova, bool verbose=false) |
| Id | getNDim () const |
| Id | getNCovAnisoGradParam () const |
| void | prodTildeC (const 1 &x, 1 &y, const EPowerPT &power) const |
| void | prodLambdaOnSqrtTildeC (const 1 &inv, 1 &outv, double puis=2) const |
| MatrixSparse * | getS () const |
| MatrixSparse * | getTildeCGrad (Id iapex, Id igparam) const |
| MatrixSparse * | getSGrad (Id iapex, Id igparam) const |
| const & | getTildeC () const |
| const & | getLambdaGrads (Id idim) const |
| double | getLambdaGrad (Id idim, Id iapex) const |
| Id | getSGradAddress (Id iapex, Id igparam) const |
| Id | getLambdaGradSize () const |
Public Member Functions inherited from gstlrn::AShiftOp | |
| AShiftOp (CovAniso *cova=nullptr, Id napices=0) | |
| AShiftOp (const AShiftOp &shift) | |
| AShiftOp & | operator= (const AShiftOp &shift) |
| virtual void | prodLambda (const 1 &x, 1 &y, const EPowerPT &power) const |
| virtual | ~AShiftOp () |
| virtual double | getMaxEigenValue () const |
| const & | getLambdas () const |
| virtual double | getLambda (Id iapex) const |
| virtual double | logDetLambda () const |
| Id | getSize () const override |
| virtual void | addProdLambda (const constvect x, vect y, const EPowerPT &power) const |
| void | prodLambda (const constvect x, vect y, const EPowerPT &power) const |
| void | prodLambda (const 1 &x, vect y, const EPowerPT &power) const |
| void | prodLambda (const constvect x, 1 &y, const EPowerPT &power) const |
Public Member Functions inherited from gstlrn::ICloneable | |
| ICloneable () | |
| virtual | ~ICloneable () |
| virtual ICloneable * | clone () const =0 |
| std::shared_ptr< ICloneable > | cloneShared () const |
| std::unique_ptr< ICloneable > | cloneUnique () const |
Public Member Functions inherited from gstlrn::ALinearOpEigenCG< AShiftOp > | |
| virtual | ~ALinearOpEigenCG () |
| Eigen::Index | rows () const |
| Eigen::Index | cols () const |
| Eigen::Product< AShiftOp, Rhs, Eigen::AliasFreeProduct > | operator* (const Eigen::MatrixBase< Rhs > &x) const |
Public Member Functions inherited from gstlrn::ALinearOp | |
| 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 |
Static Public Member Functions | |
| static ShiftOpMatrix * | create (const AMesh *amesh, const CovAniso *cova, const Db *dbout=nullptr, bool verbose=false) |
| static ShiftOpMatrix * | createFromSparse (const MatrixSparse *S, const 1 &TildeC, const 1 &Lambda, const CovAniso *cova, bool verbose=false) |
Static Public Member Functions inherited from gstlrn::AShiftOp | |
| static std::shared_ptr< CovAniso > | cloneAndCast (const CovAniso *cova) |
| static std::shared_ptr< CovAniso > | cloneAndCast (const std::shared_ptr< CovAniso > &cova) |
Additional Inherited Members | |
Public Types inherited from gstlrn::ALinearOpEigenCG< AShiftOp > | |
| enum | |
| typedef double | Scalar |
| typedef double | RealScalar |
| typedef Id | StorageIndex |
| gstlrn::ShiftOpMatrix::ShiftOpMatrix | ( | ) |
| gstlrn::ShiftOpMatrix::ShiftOpMatrix | ( | const AMesh * | amesh, |
| const CovAniso * | cova, | ||
| const Db * | dbout = nullptr, |
||
| bool | verbose = false |
||
| ) |
| gstlrn::ShiftOpMatrix::ShiftOpMatrix | ( | const MatrixSparse * | S, |
| const 1 & | TildeC, | ||
| const 1 & | Lambda, | ||
| const CovAniso * | cova, | ||
| bool | verbose = false |
||
| ) |
| gstlrn::ShiftOpMatrix::ShiftOpMatrix | ( | const ShiftOpMatrix & | shift | ) |
|
virtual |
Perform the operation: y = S * x
| [in] | inv | Input vector |
| [in] | outv | Output vector |
Implements gstlrn::AShiftOp.
|
static |
|
static |
|
inline |
| Id gstlrn::ShiftOpMatrix::getLambdaGradSize | ( | ) | const |
|
inline |
|
inline |
|
inline |
| MatrixSparse * gstlrn::ShiftOpMatrix::getSGrad | ( | Id | iapex, |
| Id | igparam | ||
| ) | const |
Returns the internal address for a given vertex and a given parameter It returns -1 if the address is ivalid
| iapex | Rank of the target apex |
| igparam | Rank of the target parameter |
|
inline |
| MatrixSparse * gstlrn::ShiftOpMatrix::getTildeCGrad | ( | Id | iapex, |
| Id | igparam | ||
| ) | const |
| Id gstlrn::ShiftOpMatrix::initFromCS | ( | const MatrixSparse * | S, |
| const 1 & | TildeC, | ||
| const 1 & | Lambda, | ||
| const CovAniso * | cova, | ||
| bool | verbose = false |
||
| ) |
| S | Sparse matrix describing the S information |
| TildeC | Diagonal array containing TildeC |
| Lambda | Normalization vector |
| cova | Pointer to the CovAniso structure |
| verbose | Verbose flag |
| Id gstlrn::ShiftOpMatrix::initGradFromMesh | ( | const AMesh * | amesh, |
| const CovAniso * | cova, | ||
| bool | verbose = false, |
||
| double | tol = EPSILON10 |
||
| ) |
Initialize the environment for calculation of derivatives of S
| amesh | Meshing description (New format) |
| cova | Pointer to the CovAniso structure |
| verbose | Verbose flag |
| tol | Smallest value below which the value is not stored in sparse matrix |
|
overridevirtual |
ICloneable interface.
Implements gstlrn::AShiftOp.
| ShiftOpMatrix & gstlrn::ShiftOpMatrix::operator= | ( | const ShiftOpMatrix & | shift | ) |
| void gstlrn::ShiftOpMatrix::prodLambdaOnSqrtTildeC | ( | const 1 & | inv, |
| 1 & | outv, | ||
| double | puis = 2 |
||
| ) | const |
| void gstlrn::ShiftOpMatrix::prodTildeC | ( | const 1 & | x, |
| 1 & | y, | ||
| const EPowerPT & | power | ||
| ) | const |
Perform the operation: y = x * C^power
| [in] | x | Input vector |
| [in] | y | Output vector |
| [in] | power | Value of the exponent |