1.8.0
CCC
 
Loading...
Searching...
No Matches
gstlrn::OptimCostBinary Class Reference

#include <OptimCostBinary.hpp>

Inheritance diagram for gstlrn::OptimCostBinary:
gstlrn::IOptimCost gstlrn::OptimCostColored

Public Member Functions

 OptimCostBinary ()
 
 OptimCostBinary (const OptimCostBinary &m)
 
OptimCostBinaryoperator= (const OptimCostBinary &m)
 
virtual ~OptimCostBinary ()
 
void reset (PrecisionOp *pmat, const ProjMatrix *projdata, const ProjMatrix *projseis=nullptr, const 1 &propseis=1(), const 1 &varseis=1())
 
 minimize (1 &indic, bool verbose=false, Id maxiter=100, double eps=5.e-4)
 
void calculateGradient (const 1 &indic, const 1 &lambda, double *out)
 
Id setMeanProportion (double meanprop)
 
Id isInitialized () const
 
Id getNPoint () const
 
Id getNVertex () const
 
void toggleSeismic (bool status)
 
- Public Member Functions inherited from gstlrn::IOptimCost
 IOptimCost ()
 
virtual ~IOptimCost ()
 

Static Public Member Functions

static void setPreCondParams (Id chebncmax=10001, double chebtol=5.e-3)
 

Constructor & Destructor Documentation

◆ OptimCostBinary() [1/2]

gstlrn::OptimCostBinary::OptimCostBinary ( )

◆ OptimCostBinary() [2/2]

gstlrn::OptimCostBinary::OptimCostBinary ( const OptimCostBinary m)

◆ ~OptimCostBinary()

gstlrn::OptimCostBinary::~OptimCostBinary ( )
virtual

Member Function Documentation

◆ calculateGradient()

void gstlrn::OptimCostBinary::calculateGradient ( const 1 &  indic,
const 1 &  lambda,
double *  out 
)
virtual

Calculate the Gradient

Parameters
[in]indicArray containing the Facies indicators (see remarks) (Dimension: npoint)
[in]lambdaArray of input values
[out]outArray of output gradients

Implements gstlrn::IOptimCost.

◆ getNPoint()

Id gstlrn::OptimCostBinary::getNPoint ( ) const

Returns the Number of Data Points

◆ getNVertex()

Id gstlrn::OptimCostBinary::getNVertex ( ) const

Returns the Number of Meshing Vertices

◆ isInitialized()

Id gstlrn::OptimCostBinary::isInitialized ( ) const
inline

◆ minimize()

gstlrn::OptimCostBinary::minimize ( 1 &  indic,
bool  verbose = false,
Id  maxiter = 100,
double  eps = 5.e-4 
)

Perform the minimization

Returns
The array of facies proportions (Dimension: nvertex)
Parameters
[in]indicArray containing the Facies indicators (see remarks) (Dimension: npoint)
[in]verboseVerbose flag
[in]maxiterMaximum number of iterations for Optimization algo.
[in]epsTolerance for Optimization algorithm
Remarks
The argument 'indic' should contain 0 or 1 for active constraints
The inactive constraints should be set to TEST.

◆ operator=()

OptimCostBinary & gstlrn::OptimCostBinary::operator= ( const OptimCostBinary m)

◆ reset()

void gstlrn::OptimCostBinary::reset ( PrecisionOp pmat,
const ProjMatrix projdata,
const ProjMatrix projseis = nullptr,
const 1 &  propseis = 1(),
const 1 &  varseis = 1() 
)

Initialize the Binary Cost 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]propseisArray of facies proportions
[in]varseisArray of variance attached to the seismic

◆ setMeanProportion()

Id gstlrn::OptimCostBinary::setMeanProportion ( double  meanprop)

Set the Mean proportion for the indicator

Parameters
[in]meanpropValue of the mean proportion (raw scale)

◆ setPreCondParams()

static void gstlrn::OptimCostBinary::setPreCondParams ( Id  chebncmax = 10001,
double  chebtol = 5.e-3 
)
inlinestatic

Set the constant parameters for internal Pre-Conditioner

◆ toggleSeismic()

void gstlrn::OptimCostBinary::toggleSeismic ( bool  status)

Toggle the use of the Seismic constraint

Parameters
[in]statusStatus assigned to the Seismic Constraints
Remarks
When the Seismic is not defined (i.e. 'projSeis not defined)
this function is useless

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