Geophysical Inversion and Modelling Library  v1.5.0
GIMLI::Trans< Vec > Class Template Reference

Inherited by GIMLI::TransCotLU< Vec >, GIMLI::TransCumulative< Vec >, GIMLI::TransExp< Vec >, GIMLI::TransInv< Vec >, GIMLI::TransLin< Vec >, GIMLI::TransLinear< Vec >, GIMLI::TransLog< Vec >, GIMLI::TransNest< Vec >, GIMLI::TransNewton< Vec >, GIMLI::TransPower< Vec >, and GIMLI::TransTanLU< Vec >.

Public Member Functions

 Trans ()
 
virtual ~Trans ()
 
virtual Vec operator() (const Vec &a) const
 
virtual double operator() (double x) const
 
Vec fwd (const Vec &f) const
 
double fwd (double f) const
 
Vec inv (const Vec &f) const
 
double inv (double f) const
 
virtual double trans (double x) const
 
virtual Vec trans (const Vec &x) const
 
virtual Vec invTrans (const Vec &f) const
 
virtual double invTrans (double f) const
 
virtual Vec deriv (const Vec &x) const
 
Vec update (const Vec &a, const Vec &b) const
 
Vec error (const Vec &a, const Vec &daBya) const
 
Vec error_brute (const Vec &a, const Vec &daBya) const
 

Detailed Description

template<class Vec>
class GIMLI::Trans< Vec >

Basis Transform vector (unity), Identity transformation, that means it do nothing. Just for prototyping f(a).

Constructor & Destructor Documentation

◆ Trans()

template<class Vec >
GIMLI::Trans< Vec >::Trans ( )
inline

Default constructur.

◆ ~Trans()

template<class Vec >
virtual GIMLI::Trans< Vec >::~Trans ( )
inlinevirtual

Default destructor.

Member Function Documentation

◆ deriv()

◆ error()

template<class Vec >
Vec GIMLI::Trans< Vec >::error ( const Vec a,
const Vec daBya 
) const
inline

Error of f(a) calculated by a and relative error $ da/a: df = | da * df/da | $
intrinsic function that could be overloaded

References GIMLI::Trans< Vec >::deriv().

◆ error_brute()

template<class Vec >
Vec GIMLI::Trans< Vec >::error_brute ( const Vec a,
const Vec daBya 
) const
inline

Alternative Version - brute force: df = | f(a + da) - f(a) |
intrinsic functions that have never to be overloaded

References GIMLI::Trans< Vec >::trans().

◆ fwd() [1/2]

template<class Vec >
Vec GIMLI::Trans< Vec >::fwd ( const Vec f) const
inline

Return forward transformation. Alias for trans .

References GIMLI::Trans< Vec >::trans().

◆ fwd() [2/2]

template<class Vec >
double GIMLI::Trans< Vec >::fwd ( double  f) const
inline

Return forward transformation. Alias for trans .

References GIMLI::Trans< Vec >::trans().

◆ inv() [1/2]

template<class Vec >
Vec GIMLI::Trans< Vec >::inv ( const Vec f) const
inline

Return inverse transformation. Shortcut for invTrans .

References GIMLI::Trans< Vec >::invTrans().

◆ inv() [2/2]

template<class Vec >
double GIMLI::Trans< Vec >::inv ( double  f) const
inline

For compatibility if inv is called with a single value.

References GIMLI::Trans< Vec >::inv().

Referenced by GIMLI::Trans< Vec >::inv().

◆ invTrans() [1/2]

◆ invTrans() [2/2]

template<class Vec >
virtual double GIMLI::Trans< Vec >::invTrans ( double  f) const
inlinevirtual

For compatibility if invTrans is called with a single value.

References GIMLI::Trans< Vec >::invTrans().

Referenced by GIMLI::Trans< Vec >::invTrans().

◆ operator()() [1/2]

template<class Vec >
virtual Vec GIMLI::Trans< Vec >::operator() ( const Vec a) const
inlinevirtual

Default call operator. trans()

References GIMLI::Trans< Vec >::trans().

◆ operator()() [2/2]

template<class Vec >
virtual double GIMLI::Trans< Vec >::operator() ( double  x) const
inlinevirtual

Default call operator. trans()

References GIMLI::Trans< Vec >::trans(), and GIMLI::x().

◆ trans() [1/2]

◆ trans() [2/2]

template<class Vec >
virtual double GIMLI::Trans< Vec >::trans ( double  x) const
inlinevirtual

◆ update()

template<class Vec >
Vec GIMLI::Trans< Vec >::update ( const Vec a,
const Vec b 
) const
inline

Update parameter by df: invTrans(f(a) + df).
intrinsic function that have never to be overloaded.

References GIMLI::Trans< Vec >::invTrans(), and GIMLI::Trans< Vec >::trans().