1.1.0
CCC
 
OptimCostColored Class Reference

#include <OptimCostColored.hpp>

Inheritance diagram for OptimCostColored:
OptimCostBinary IOptimCost

Public Member Functions

 OptimCostColored (const CGParam params=CGParam())
 
 OptimCostColored (int nprop, PrecisionOp *pmat, const ProjMatrix *projdata, const ProjMatrix *projseis=nullptr, const VectorDouble &propseis=VectorDouble(), const VectorDouble &varseis=VectorDouble())
 
 OptimCostColored (const OptimCostColored &m)
 
OptimCostColoredoperator= (const OptimCostColored &m)
 
virtual ~OptimCostColored ()
 
void reset (int nprop, PrecisionOp *pmat, const ProjMatrix *projdata, const ProjMatrix *projseis=nullptr, const VectorDouble &propseis=VectorDouble(), const VectorDouble &varseis=VectorDouble())
 
VectorVectorDouble minimize (const VectorDouble &facies, const VectorVectorInt &splits=VectorVectorInt(), const VectorDouble &meanprops=VectorDouble(), bool verbose=false, int maxiter=100, double eps=5.e-4)
 
VectorVectorInt initSplit (int nfacies, bool verbose=false) const
 
void printSplits (const VectorVectorInt &splits=VectorVectorInt()) const
 
void setMeanProps (const VectorDouble &meanProps)
 
void setSplits (const VectorVectorInt &splits)
 
- Public Member Functions inherited from OptimCostBinary
 OptimCostBinary (const CGParam params=CGParam())
 
 OptimCostBinary (const OptimCostBinary &m)
 
OptimCostBinaryoperator= (const OptimCostBinary &m)
 
virtual ~OptimCostBinary ()
 
void reset (PrecisionOp *pmat, const ProjMatrix *projdata, const ProjMatrix *projseis=nullptr, const VectorDouble &propseis=VectorDouble(), const VectorDouble &varseis=VectorDouble())
 
VectorDouble minimize (VectorDouble &indic, bool verbose=false, int maxiter=100, double eps=5.e-4)
 
void calculateGradient (const VectorDouble &indic, const VectorDouble &lambda, double *out)
 
int setMeanProportion (double meanprop)
 
void setParams (const CGParam &params)
 
void setPreCondParams (int chebncmax=10001, double chebtol=5.e-3)
 
int isInitialized ()
 
int getNPoint () const
 
int getNVertex () const
 
void toggleSeismic (bool status)
 
- Public Member Functions inherited from IOptimCost
 IOptimCost ()
 
virtual ~IOptimCost ()
 

Constructor & Destructor Documentation

OptimCostColored::OptimCostColored ( const CGParam  params = CGParam())
OptimCostColored::OptimCostColored ( int  nprop,
PrecisionOp pmat,
const ProjMatrix projdata,
const ProjMatrix projseis = nullptr,
const VectorDouble propseis = VectorDouble(),
const VectorDouble varseis = VectorDouble() 
)
OptimCostColored::OptimCostColored ( const OptimCostColored m)
OptimCostColored::~OptimCostColored ( )
virtual

Member Function Documentation

VectorVectorInt OptimCostColored::initSplit ( int  nfacies,
bool  verbose = false 
) const

Provides the list of regrouped facies during Optimizaition

Parameters
nfaciesNumber of facies
verboseVerbose flag
Returns
For each level, Vector of regrouped facies
VectorVectorDouble OptimCostColored::minimize ( const VectorDouble facies,
const VectorVectorInt splits = VectorVectorInt(),
const VectorDouble meanprops = VectorDouble(),
bool  verbose = false,
int  maxiter = 100,
double  eps = 5.e-4 
)

Perform the minimization

Returns
Array of facies proportions (Dimension: [nprop][nvertex]
Parameters
[in]faciesArray containing the Facies values (see remarks) (Dimension: npoint)
[in]splitsArray giving the facies split (Dimension: [nfacies-1][nfacies])
[in]meanpropsArray of mean of proportions (Dimension: nfacies)
[in]verboseVerbose flag
[in]maxiterMaximum number of iterations for Optimization algorithm
[in]epsTolerance for Optimization algorithm
Remarks
Argument 'facies' should contain values ranging from 1 to _nprop
OptimCostColored & OptimCostColored::operator= ( const OptimCostColored m)
void OptimCostColored::printSplits ( const VectorVectorInt splits = VectorVectorInt()) const

Internal function to print the Splits

void OptimCostColored::reset ( int  nprop,
PrecisionOp pmat,
const ProjMatrix projdata,
const ProjMatrix projseis = nullptr,
const VectorDouble propseis = VectorDouble(),
const VectorDouble varseis = VectorDouble() 
)

Initialize the Hessian Operator

Parameters
[in]npropNumber of different proportions (or facies)
[in]pmatThe precision matrix to be optimized
[in]projdataThe Projection operator between Data and Meshing
[in]projseisThe Projection operator between Seismic and Meshing
[in]propseisArray of facies proportions
[in]varseisArray of variance attached to the seismic
void OptimCostColored::setMeanProps ( const VectorDouble meanProps)
inline
void OptimCostColored::setSplits ( const VectorVectorInt splits)
inline

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