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

Very Slow. Refactor it!! More...

+ Inheritance diagram for GIMLI::TransCumulative< Vec >:
+ Collaboration diagram for GIMLI::TransCumulative< Vec >:

Public Member Functions

virtual Vec trans (const Vec &a) const
 
virtual Vec invTrans (const Vec &a) const
 
virtual Vec deriv (const Vec &a) const
 
Index size () const
 
void clear ()
 
void add (Trans< Vec > &trans, Index size)
 
void add (Trans< Vec > &trans, Index start, Index end)
 
void add (Trans< Vec > &trans, const IVector &indices)
 
Trans< Vec > & at (Index i)
 
const std::pair< Index, Index > & slice (Index i) const
 
const IVectorindices (Index i) const
 
Vec trans (const Vec &a) const
 
Vec invTrans (const Vec &a) const
 
Vec deriv (const Vec &a) const
 
void add (Trans< Vec > &trans, Index size)
 
void add (Trans< Vec > &trans, Index start, Index end)
 
void add (Trans< Vec > &trans, const IVector &indices)
 
DLLEXPORT RVector trans (const RVector &a) const
 
DLLEXPORT RVector invTrans (const RVector &a) const
 
DLLEXPORT RVector deriv (const RVector &a) const
 
DLLEXPORT void add (Trans< RVector > &trans, Index size)
 
DLLEXPORT void add (Trans< RVector > &trans, Index start, Index end)
 
DLLEXPORT void add (Trans< RVector > &trans, const IVector &indices)
 
- Public Member Functions inherited from GIMLI::Trans< Vec >
 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 double invTrans (double f) 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
 

Protected Attributes

std::vector< Trans< Vec > * > transVec_
 
std::vector< std::pair< Index, Index > > slice_
 
std::vector< IVectorindices_
 

Detailed Description

template<class Vec>
class GIMLI::TransCumulative< Vec >

Very Slow. Refactor it!!

Auxillary cumulative transformation function using a vector of transformations

Member Function Documentation

◆ at()

template<class Vec >
Trans< Vec >& GIMLI::TransCumulative< Vec >::at ( Index  i)
inline

Return the containing transformationb object.

◆ deriv() [1/3]

DLLEXPORT RVector GIMLI::TransCumulative< RVector >::deriv ( const RVector x) const
virtual

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

Reimplemented from GIMLI::Trans< Vec >.

◆ deriv() [2/3]

Vec GIMLI::TransCumulative< Vec >::deriv ( const Vec x) const
virtual

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

Reimplemented from GIMLI::Trans< Vec >.

References GIMLI::Vector< ValueType >::setVal().

◆ deriv() [3/3]

template<class Vec >
virtual Vec GIMLI::TransCumulative< Vec >::deriv ( const Vec x) const
virtual

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

Reimplemented from GIMLI::Trans< Vec >.

◆ invTrans() [1/3]

DLLEXPORT RVector GIMLI::TransCumulative< RVector >::invTrans ( const RVector f) const
virtual

Return inverse transformation $ x(f) $

Reimplemented from GIMLI::Trans< Vec >.

◆ invTrans() [2/3]

Vec GIMLI::TransCumulative< Vec >::invTrans ( const Vec f) const
virtual

Return inverse transformation $ x(f) $

Reimplemented from GIMLI::Trans< Vec >.

References GIMLI::Vector< ValueType >::setVal().

◆ invTrans() [3/3]

template<class Vec >
virtual Vec GIMLI::TransCumulative< Vec >::invTrans ( const Vec f) const
virtual

Return inverse transformation $ x(f) $

Reimplemented from GIMLI::Trans< Vec >.

◆ trans() [1/3]

DLLEXPORT RVector GIMLI::TransCumulative< RVector >::trans ( const RVector x) const
virtual

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

Reimplemented from GIMLI::Trans< Vec >.

◆ trans() [2/3]

Vec GIMLI::TransCumulative< Vec >::trans ( const Vec x) const
virtual

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

Reimplemented from GIMLI::Trans< Vec >.

References GIMLI::Vector< ValueType >::setVal().

◆ trans() [3/3]

template<class Vec >
virtual Vec GIMLI::TransCumulative< Vec >::trans ( const Vec x) const
virtual

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

Reimplemented from GIMLI::Trans< Vec >.