1.4.0
CCC
 
HessianOp Class Reference

#include <HessianOp.hpp>

Inheritance diagram for HessianOp:
ALinearOpEigenCG< HessianOp > ALinearOp

Public Member Functions

 HessianOp ()
 
virtual ~HessianOp ()
 
int init (PrecisionOp *pmat, const ProjMatrix *projdata, const ProjMatrix *projseis, const VectorDouble &indic, const VectorDouble &propseis, const VectorDouble &varseis)
 
int getSize () const override
 Return the size of the operator. More...
 
void setLambda (const Eigen::VectorXd &lambda)
 
void setLambda (const VectorDouble &lambda)
 
- Public Member Functions inherited from ALinearOpEigenCG< HessianOp >
virtual ~ALinearOpEigenCG ()
 
Eigen::Index rows () const
 
Eigen::Index cols () const
 
Eigen::Product< HessianOp, Rhs, Eigen::AliasFreeProduct > operator* (const Eigen::MatrixBase< Rhs > &x) const
 
- Public Member Functions inherited from ALinearOp
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
 

Additional Inherited Members

- Public Types inherited from ALinearOpEigenCG< HessianOp >
enum  
 
typedef double Scalar
 
typedef double RealScalar
 
typedef int StorageIndex
 

Constructor & Destructor Documentation

◆ HessianOp()

HessianOp::HessianOp ( )

◆ ~HessianOp()

HessianOp::~HessianOp ( )
virtual

Member Function Documentation

◆ getSize()

int HessianOp::getSize ( ) const
overridevirtual

Return the size of the operator.

Returns the dimension of the matrix

Returns
int

Implements ALinearOp.

◆ init()

int HessianOp::init ( PrecisionOp pmat,
const ProjMatrix projdata,
const ProjMatrix projseis,
const VectorDouble indic,
const VectorDouble propseis,
const VectorDouble varseis 
)

Initialize the Hessian Operator

Parameters
[in]pmatThe precision matrix to be optimized
[in]projdataThe Projection operator between Data and Meshing
[in]projseisThe Projection operator between Seismic and Meshing
[in]indicArray of facies values
[in]propseisArray of facies proportions
[in]varseisArray of variance attached to the seismic

◆ setLambda() [1/2]

void HessianOp::setLambda ( const Eigen::VectorXd &  lambda)
inline

Set the initial vector

◆ setLambda() [2/2]

void HessianOp::setLambda ( const VectorDouble lambda)
inline

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