Geophysical Inversion and Modelling Library  v1.3.1-2-g7599abf9
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

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

Reimplemented from GIMLI::Trans< Vec >.

## ◆ deriv() [2/3]

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

Return derivative

Reimplemented from GIMLI::Trans< Vec >.

## ◆ deriv() [3/3]

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

Return derivative

Reimplemented from GIMLI::Trans< Vec >.

## ◆ invTrans() [1/3]

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

Return inverse transformation

Reimplemented from GIMLI::Trans< Vec >.

## ◆ invTrans() [2/3]

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

Return inverse transformation

Reimplemented from GIMLI::Trans< Vec >.

## ◆ invTrans() [3/3]

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

Return inverse transformation

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

Reimplemented from GIMLI::Trans< Vec >.

## ◆ trans() [2/3]

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

Apply and return the transformation. Return

Reimplemented from GIMLI::Trans< Vec >.

## ◆ trans() [3/3]

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

Apply and return the transformation. Return

Reimplemented from GIMLI::Trans< Vec >.