Hex  1.0 Hydrogen-electron collision solver
CompactificationR< Functor, FType > Class Template Reference

Compactification of a function from [a,+∞) to [-1,1). More...

#include <compact.h>

Inheritance diagram for CompactificationR< Functor, FType >:
[legend]
Collaboration diagram for CompactificationR< Functor, FType >:
[legend]

## Public Member Functions

CompactificationR (Functor f, double a=0., bool limit=true, double L=1.0)

double scale (double x) const
Scale value from the original interval [a,b] into compactified interval [-1,1]. More...

double unscale (double t) const
Unscale value from the compactified interval [-1,1] into the original interval [a,b]. More...

double Jacobian (double t) const
Evaluate Jacobian of the transformation. More...

FType operator() (double t) const

Public Member Functions inherited from ICompactification< FType >
virtual ~ICompactification ()

## Detailed Description

### template<class Functor, typename FType> class CompactificationR< Functor, FType >

Transform arbitrary function so that its definition range will be $$t \in [-1,1]$$, for original interval $$x \in [a,b]$$. The following formulas are used:

$x = a + L \frac{1+t}{1-t} \Leftrightarrow t = \frac{x - a - L}{x - a - L} \ .$

• Compactification of a double-unbounded interval is not implemented yet.

## Constructor & Destructor Documentation

template<class Functor , typename FType >
 CompactificationR< Functor, FType >::CompactificationR ( Functor f, double a = 0., bool limit = true, double L = 1.0 )
inline

Constructor of the class The parameter "a" specifies original definition interval $$[a,+\infty)$$.

## Member Function Documentation

template<class Functor , typename FType >
 double CompactificationR< Functor, FType >::Jacobian ( double t ) const
inlinevirtual
template<class Functor , typename FType >
 FType CompactificationR< Functor, FType >::operator() ( double t ) const
inlinevirtual

Evaluate the compactified function.

Parameters
 t Value from the compactified interval [-1,1].

Implements ICompactification< FType >.

template<class Functor , typename FType >
 double CompactificationR< Functor, FType >::scale ( double x ) const
inlinevirtual
template<class Functor , typename FType >
 double CompactificationR< Functor, FType >::unscale ( double t ) const
inlinevirtual

The documentation for this class was generated from the following file: