Geophysical Inversion and Modelling Library  v1.3.1-2-g7599abf9
GIMLI::HarmonicModelling Class Reference
+ Inheritance diagram for GIMLI::HarmonicModelling:
+ Collaboration diagram for GIMLI::HarmonicModelling:

Public Member Functions

 HarmonicModelling (size_t nh, const RVector &tvec, bool verbose=false)
virtual RVector response (const RVector &par)
virtual RVector response (const RVector &par, const RVector tvec)
virtual void createJacobian (const RVector &model)
virtual RVector startModel ()
- 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)
DataContainerdata () const
virtual RVector createDefaultStartModel ()
virtual void setStartModel (const RVector &startModel)
void setMesh (const Mesh &mesh, bool ignoreRegionManager=false)
Meshmesh ()
void createRefinedForwardMesh (bool refine=true, bool pRefine=false)
void deleteMesh ()
virtual void setJacobian (MatrixBase *J)
virtual void createJacobian (const RVector &model, const RVector &resp)
virtual void createJacobian_mt (const RVector &model, const RVector &resp)
virtual void initJacobian ()
MatrixBasejacobian ()
MatrixBasejacobian () const
virtual RMatrixjacobianRef () const
virtual RMatrixjacobianRef ()
virtual void clearJacobian ()
RVector createMappedModel (const RVector &model, double background=-9e99) const
void setRegionManager (RegionManager *reg)
const RegionManagerregionManager () const
RegionManagerregionManager ()
RegionManagerregionManagerRef ()
bool verbose ()
Regionregion (int marker)
RVector createStartModel ()
RVector createStartVector ()
void initRegionManager ()
void setThreadCount (Index nThreads)
Index threadCount ()
void setMultiThreadJacobian (Index nThreads)
Index multiThreadJacobian () const

Protected Attributes

RVector t_
RMatrix A_
 abscissa vector x
double tMin_
 function matrix
double tMax_
size_t nh_
size_t nt_
size_t np_
- Protected Attributes inherited from GIMLI::ModellingBase
bool ownJacobian_
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)

Constructor & Destructor Documentation

◆ HarmonicModelling()

GIMLI::HarmonicModelling::HarmonicModelling ( size_t  nh,
const RVector tvec,
bool  verbose = false 

constructor, nh: number of coefficients, xvec: abscissa,

constant vector of 1 – offset


vector linearly ascending from 0 (tmin) to 1 (tmax) – drift

harmonic functions cos/sin(n pi t)

Member Function Documentation

◆ createJacobian()

void GIMLI::HarmonicModelling::createJacobian ( const RVector model)

optional: generation of Jacobian matrix, uncomment for default behavior (brute force)

! jacobian = transpose(A);

Reimplemented from GIMLI::ModellingBase.

References GIMLI::RegionManager::setParameterCount(), and startModel().

◆ response() [1/2]

RVector GIMLI::HarmonicModelling::response ( const RVector par)

the main thing - the forward operator: return f(x)

Reimplemented from GIMLI::ModellingBase.

◆ response() [2/2]

RVector GIMLI::HarmonicModelling::response ( const RVector par,
const RVector  tvec 

an additional forward operator for another time basis

References A_, GIMLI::ModellingBase::jacobian(), and GIMLI::MatrixBase::resize().

◆ startModel()

virtual RVector GIMLI::HarmonicModelling::startModel ( )

Define the start model

Reimplemented from GIMLI::ModellingBase.

Referenced by createJacobian().