Geophysical Inversion and Modelling Library  v1.5.2-5-g042d7f36
GIMLI::TransNewton< Vec > Class Template Reference

Inherits GIMLI::Trans< Vec >.

Inherited by GIMLI::TransAdd< Vec >, GIMLI::TransMult< Vec >, and GIMLI::TransQuadrat< Vec >.

+ Collaboration diagram for GIMLI::TransNewton< Vec >:

Public Member Functions

 TransNewton (const int maxiter=10)
 
virtual Vec trans (const Vec &a) const
 
virtual Vec deriv (const Vec &a) const
 
virtual Vec invTrans (const Vec &a) const
 
- 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

int maxiter_
 

Detailed Description

template<class Vec>
class GIMLI::TransNewton< Vec >

Base class for non-invertible transformations, e.g. transMult and transPlus
making inverse transform using Newton's method

Member Function Documentation

◆ deriv()

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

◆ invTrans()

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

Return inverse transformation $ x(f) $

Reimplemented from GIMLI::Trans< Vec >.

References GIMLI::TransNewton< Vec >::deriv(), and GIMLI::TransNewton< Vec >::trans().

◆ trans()

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

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

Reimplemented from GIMLI::Trans< Vec >.

Reimplemented in GIMLI::TransQuadrat< Vec >, GIMLI::TransMult< Vec >, and GIMLI::TransAdd< Vec >.

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