| 
    Geophysical Inversion and Modelling Library v1.5.4
    
   | 
 
Multidimensional polynomial modelling class. More...
#include <curvefitting.h>
 Inheritance diagram for GIMLI::PolynomialModelling:
 Collaboration diagram for GIMLI::PolynomialModelling:Public Member Functions | |
| PolynomialModelling (uint dim, uint nCoeffizient, const std::vector< RVector3 > &referencePoints, const RVector &startModel) | |
| virtual RVector | response (const RVector &par) | 
| virtual RVector | startModel () | 
| const PolynomialFunction< double > & | polynomialFunction () const | 
| void | setPascalsStyle (bool is) | 
| void | setSerendipityStyle (bool is) | 
| void | setPowCombinationTmp (int i) | 
  Public Member Functions inherited from GIMLI::ModellingBase | |
| ModellingBase (bool verbose=false) | |
| ModellingBase (DataContainer &dataContainer, bool verbose=false) | |
| ModellingBase (const Mesh &mesh, bool verbose=false) | |
| ModellingBase (const Mesh &mesh, DataContainer &dataContainer, bool verbose=false) | |
| void | setVerbose (bool verbose) | 
| bool | verbose () const | 
| virtual RVector | response_mt (const RVector &model, Index i=0) const | 
| RVector | operator() (const RVector &model) | 
| void | setData (DataContainer &data) | 
| DataContainer & | data () const | 
| virtual RVector | createDefaultStartModel () | 
| virtual void | setStartModel (const RVector &startModel) | 
| void | setMesh (const Mesh &mesh, bool ignoreRegionManager=false) | 
| Mesh * | mesh () | 
| void | createRefinedForwardMesh (bool refine=true, bool pRefine=false) | 
| void | deleteMesh () | 
| virtual void | setJacobian (MatrixBase *J) | 
| virtual void | createJacobian (const RVector &model) | 
| virtual void | createJacobian (const RVector &model, const RVector &resp) | 
| virtual void | createJacobian_mt (const RVector &model, const RVector &resp) | 
| virtual void | initJacobian () | 
| MatrixBase * | jacobian () | 
| MatrixBase * | jacobian () const | 
| virtual RMatrix & | jacobianRef () const | 
| virtual RMatrix & | jacobianRef () | 
| virtual void | clearJacobian () | 
| virtual void | setConstraints (MatrixBase *C) | 
| virtual void | clearConstraints () | 
| virtual void | initConstraints () | 
| virtual void | createConstraints () | 
| virtual MatrixBase * | constraints () | 
| virtual MatrixBase * | constraints () const | 
| virtual RSparseMapMatrix & | constraintsRef () const | 
| virtual RSparseMapMatrix & | constraintsRef () | 
| const RMatrix & | solution () const | 
| void | mapModel (const RVector &model, double background=0) | 
| RVector | createMappedModel (const RVector &model, double background=-9e99) const | 
| void | setRegionManager (RegionManager *reg) | 
| const RegionManager & | regionManager () const | 
| RegionManager & | regionManager () | 
| RegionManager & | regionManagerRef () | 
| bool | verbose () | 
| Region * | region (int marker) | 
| RVector | createStartModel () | 
| RVector | createStartVector () | 
| void | initRegionManager () | 
| void | setThreadCount (Index nThreads) | 
| Index | threadCount () | 
| void | setMultiThreadJacobian (Index nThreads) | 
| Index | multiThreadJacobian () const | 
Protected Attributes | |
| uint | dim_ | 
| std::vector< RVector3 > | referencePoints_ | 
| PolynomialFunction< double > | f_ | 
| bool | pascalTriangle_ | 
| bool | serendipityStyle_ | 
| uint | powCombination_ | 
  Protected Attributes inherited from GIMLI::ModellingBase | |
| Mesh * | mesh_ | 
| DataContainer * | dataContainer_ | 
| MatrixBase * | jacobian_ | 
| bool | ownJacobian_ | 
| MatrixBase * | constraints_ | 
| bool | ownConstraints_ | 
| RMatrix | solutions_ | 
| RVector | startModel_ | 
| bool | verbose_ | 
| bool | regionManagerInUse_ | 
| bool | ownRegionManager_ | 
| Index | nThreads_ | 
| Index | nThreadsJacobian_ | 
Additional Inherited Members | |
  Protected Member Functions inherited from GIMLI::ModellingBase | |
| virtual void | init_ () | 
| virtual void | deleteMeshDependency_ () | 
| virtual void | updateMeshDependency_ () | 
| virtual void | updateDataDependency_ () | 
| void | setMesh_ (const Mesh &mesh, bool update=true) | 
Multidimensional polynomial modelling class.
Multidimensional polynomial modelling class. 1, 2 or 3 dimensional polynomial modelling operator based on PolynomialFunction
      
  | 
  inline | 
Return read only reference to the Polynomial Functor.
Reimplemented from GIMLI::ModellingBase.
      
  | 
  inline | 
Constrain to polynomial function based on Pascal's triangle, i.e., forbid x^iy^jz^k with (i +j +k) > size
      
  | 
  inline | 
Constrain the polynomial function serendipity style Pascal's triangle, i.e., forbid x^iy^jz^k with (i +j +k) > size+1. Just work if setPascalsStyle is set.
      
  | 
  virtual | 
Create starting model. The dimension is recognized here 
 one-dimensional: p[0][0][*] = 1 
 two-dimensional: p[0][*][*] = 1 
 three-dimensional: p[*][*][*] = 1 
Reimplemented from GIMLI::ModellingBase.
References GIMLI::Vector< ValueType >::setVal().