Geophysical Inversion and Modeling Library  v1.0.12-3-g179296b4
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 ()
 
virtual void setConstraints (MatrixBase *C)
 
virtual void clearConstraints ()
 
virtual void initConstraints ()
 
virtual void createConstraints ()
 
virtual MatrixBaseconstraints ()
 
virtual MatrixBaseconstraints () const
 
virtual RSparseMapMatrixconstraintsRef () const
 
virtual RSparseMapMatrixconstraintsRef ()
 
const RMatrixsolution () const
 
void mapModel (const RVector &model, double background=0)
 
RVector createMappedModel (const RVector &model, double background=-1) 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 () const
 
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
Meshmesh_
 
DataContainerdataContainer_
 
MatrixBasejacobian_
 
bool ownJacobian_
 
MatrixBaseconstraints_
 
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

const

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

harmonic functions cos/sin(n pi t)

References A_, GIMLI::Matrix< ValueType >::clear(), GIMLI::Matrix< ValueType >::push_back(), and GIMLI::RegionManager::setParameterCount().

Member Function Documentation

◆ createJacobian()

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

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

! jacobian = transpose(A);

Reimplemented from GIMLI::ModellingBase.

References A_, GIMLI::Matrix< ValueType >::cols(), GIMLI::Vector< ValueType >::fill(), GIMLI::ModellingBase::jacobian(), GIMLI::Matrix< ValueType >::resize(), GIMLI::Matrix< ValueType >::rows(), GIMLI::RegionManager::setParameterCount(), and startModel().

◆ response() [1/2]

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

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

Reimplemented from GIMLI::ModellingBase.

References A_.

◆ response() [2/2]

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

an additional forward operator for another time basis

References tMin_.

◆ startModel()

virtual RVector GIMLI::HarmonicModelling::startModel ( )
inlinevirtual

Define the start model

Reimplemented from GIMLI::ModellingBase.

Referenced by createJacobian().