Geophysical Inversion and Modelling Library v1.5.4
Loading...
Searching...
No Matches
GIMLI::Trans< Vec > Class Template Reference

#include <trans.h>

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()

template<class Vec>
virtual Vec GIMLI::Trans< Vec >::deriv ( const Vec & x) const
inlinevirtual

Return derivative $ \frac{\partial f}{\partial x}(x) $

Reimplemented in GIMLI::TransAdd< Vec >, GIMLI::TransCotLU< Vec >, GIMLI::TransCotLU< RVector >, GIMLI::TransCotLU< RVector >, GIMLI::TransCumulative< Vec >, GIMLI::TransCumulative< Vec >, GIMLI::TransCumulative< Vec >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransExp< Vec >, GIMLI::TransInv< Vec >, GIMLI::TransLin< Vec >, GIMLI::TransLin< RVector >, GIMLI::TransLin< RVector >, GIMLI::TransLinear< Vec >, GIMLI::TransLinear< RVector >, GIMLI::TransLinear< RVector >, GIMLI::TransLog< Vec >, GIMLI::TransLog< RVector >, GIMLI::TransLog< RVector >, GIMLI::TransLogLU< Vec >, GIMLI::TransLogLU< Vec >, GIMLI::TransLogLU< Vec >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLUMult< Vec >, GIMLI::TransLogMult< Vec >, GIMLI::TransMult< Vec >, GIMLI::TransNest< Vec >, GIMLI::TransNewton< Vec >, GIMLI::TransPower< Vec >, GIMLI::TransPower< RVector >, GIMLI::TransPower< RVector >, GIMLI::TransQuadrat< Vec >, and GIMLI::TransTanLU< Vec >.

Referenced by GIMLI::Trans< RVector >::error().

◆ 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

◆ 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

◆ fwd() [1/2]

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

Return forward transformation. Alias for trans .

◆ fwd() [2/2]

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

Return forward transformation. Alias for trans .

◆ inv() [1/2]

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

Return inverse transformation. Shortcut for 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.

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

◆ invTrans() [1/2]

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

Return inverse transformation $ x(f) $

Reimplemented in GIMLI::TransCotLU< Vec >, GIMLI::TransCotLU< RVector >, GIMLI::TransCotLU< RVector >, GIMLI::TransCumulative< Vec >, GIMLI::TransCumulative< Vec >, GIMLI::TransCumulative< Vec >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransExp< Vec >, GIMLI::TransInv< Vec >, GIMLI::TransLin< Vec >, GIMLI::TransLin< RVector >, GIMLI::TransLin< RVector >, GIMLI::TransLinear< Vec >, GIMLI::TransLinear< RVector >, GIMLI::TransLinear< RVector >, GIMLI::TransLog< Vec >, GIMLI::TransLog< RVector >, GIMLI::TransLog< RVector >, GIMLI::TransLogLU< Vec >, GIMLI::TransLogLU< Vec >, GIMLI::TransLogLU< Vec >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLUMult< Vec >, GIMLI::TransLogMult< Vec >, GIMLI::TransNest< Vec >, GIMLI::TransNewton< Vec >, GIMLI::TransPower< Vec >, GIMLI::TransPower< RVector >, GIMLI::TransPower< RVector >, and GIMLI::TransTanLU< Vec >.

Referenced by GIMLI::Trans< RVector >::inv(), and GIMLI::Trans< RVector >::update().

◆ 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.

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

◆ operator()() [1/2]

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

Default call operator. trans()

◆ operator()() [2/2]

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

Default call operator. trans()

◆ trans() [1/2]

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

Apply and return the transformation. Return $ f(x) $

Reimplemented in GIMLI::TransAdd< Vec >, GIMLI::TransCotLU< Vec >, GIMLI::TransCotLU< RVector >, GIMLI::TransCotLU< RVector >, GIMLI::TransCumulative< Vec >, GIMLI::TransCumulative< Vec >, GIMLI::TransCumulative< Vec >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< GIMLI::Vector< double > >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransCumulative< RVector >, GIMLI::TransExp< Vec >, GIMLI::TransInv< Vec >, GIMLI::TransLin< Vec >, GIMLI::TransLin< RVector >, GIMLI::TransLin< RVector >, GIMLI::TransLinear< Vec >, GIMLI::TransLinear< RVector >, GIMLI::TransLinear< RVector >, GIMLI::TransLog< Vec >, GIMLI::TransLog< RVector >, GIMLI::TransLog< RVector >, GIMLI::TransLogLU< Vec >, GIMLI::TransLogLU< Vec >, GIMLI::TransLogLU< Vec >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLU< RVector >, GIMLI::TransLogLUMult< Vec >, GIMLI::TransLogMult< Vec >, GIMLI::TransMult< Vec >, GIMLI::TransNest< Vec >, GIMLI::TransNewton< Vec >, GIMLI::TransPower< Vec >, GIMLI::TransPower< RVector >, GIMLI::TransPower< RVector >, GIMLI::TransQuadrat< Vec >, and GIMLI::TransTanLU< Vec >.

◆ trans() [2/2]

◆ 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.