unifexp::mapUnimodalIntv< numType > Class Template Reference

This class defines the unimodal map "2 |x|^gamma - a" on [-1,1] with the usage of interval arithmetic. More...

#include </cur/unifexp/mapunimi.h>

Inheritance diagram for unifexp::mapUnimodalIntv< numType >:

unifexp::mapType< numType >

List of all members.

Public Member Functions

 mapUnimodalIntv (const numType &_gamma1, const numType &_gamma2=1)
 The constructor.
std::string name () const
 Returns the name of the object.
int countCritical () const
 Returns the number of critical points.
numType criticalPoint (int n) const
 Returns the subsequent critical points.
numType leftBound () const
 Returns the left bound of the domain of the map.
numType rightBound () const
 Returns the right bound of the domain of the map.
void image (const numType &x1, const numType &x2, numType &y1, numType &y2) const
 Computes an enclosure of the image of the given interval.
numType minLogDerivative (const numType &x1, const numType &x2, const numType &y1, const numType &y2) const
 Computes the minimal log of the derivative over those points in the interval [x1,x2] whose images may fall into [y1,y2].

Private Member Functions

numType gammaRoot (numType x, bool upperBound) const
 An auxiliary function for the computation of the root of degree gamma of the absolute value of a number.

Private Attributes

interval gamma
 The exponent of the map.
interval log2gamma
 The cached value of log (2 gamma).


Detailed Description

template<class numType>
class unifexp::mapUnimodalIntv< numType >

This class defines the unimodal map "2 |x|^gamma - a" on [-1,1] with the usage of interval arithmetic.

It is suitable for rigorous computations. Recommended values of gamma are between 1 and 3. Valid values of the parameter are between 0.5+ and 1 (optimal value: 1).

Definition at line 59 of file mapunimi.h.


Constructor & Destructor Documentation

template<class numType>
unifexp::mapUnimodalIntv< numType >::mapUnimodalIntv ( const numType &  _gamma1,
const numType &  _gamma2 = 1 
) [inline]

The constructor.

Provide the numerator and the denominator for the exponent gamma to make sure its value is computed in a rigorous way as an interval.

Definition at line 108 of file mapunimi.h.


Member Function Documentation

template<class numType>
std::string unifexp::mapUnimodalIntv< numType >::name (  )  const [inline, virtual]

Returns the name of the object.

Implements unifexp::mapType< numType >.

Definition at line 117 of file mapunimi.h.

References unifexp::mapUnimodalIntv< numType >::gamma, and unifexp::mapUnimodalIntv< numType >::leftBound().

template<class numType>
int unifexp::mapUnimodalIntv< numType >::countCritical (  )  const [inline, virtual]

Returns the number of critical points.

Implements unifexp::mapType< numType >.

Definition at line 125 of file mapunimi.h.

template<class numType>
numType unifexp::mapUnimodalIntv< numType >::criticalPoint ( int  n  )  const [inline, virtual]

Returns the subsequent critical points.

Implements unifexp::mapType< numType >.

Definition at line 131 of file mapunimi.h.

template<class numType>
numType unifexp::mapUnimodalIntv< numType >::leftBound (  )  const [inline, virtual]

Returns the left bound of the domain of the map.

Implements unifexp::mapType< numType >.

Definition at line 137 of file mapunimi.h.

Referenced by unifexp::mapUnimodalIntv< numType >::gammaRoot(), unifexp::mapUnimodalIntv< numType >::image(), unifexp::mapUnimodalIntv< numType >::minLogDerivative(), and unifexp::mapUnimodalIntv< numType >::name().

template<class numType>
numType unifexp::mapUnimodalIntv< numType >::rightBound (  )  const [inline, virtual]

Returns the right bound of the domain of the map.

Implements unifexp::mapType< numType >.

Definition at line 143 of file mapunimi.h.

Referenced by unifexp::mapUnimodalIntv< numType >::gammaRoot(), unifexp::mapUnimodalIntv< numType >::image(), and unifexp::mapUnimodalIntv< numType >::minLogDerivative().

template<class numType>
void unifexp::mapUnimodalIntv< numType >::image ( const numType &  x1,
const numType &  x2,
numType &  y1,
numType &  y2 
) const [inline, virtual]

Computes an enclosure of the image of the given interval.

Implements unifexp::mapType< numType >.

Definition at line 170 of file mapunimi.h.

References unifexp::mapUnimodalIntv< numType >::gamma, unifexp::mapUnimodalIntv< numType >::leftBound(), unifexp::mapType< numType >::paramMax, unifexp::mapType< numType >::paramMin, and unifexp::mapUnimodalIntv< numType >::rightBound().

template<class numType>
numType unifexp::mapUnimodalIntv< numType >::minLogDerivative ( const numType &  x1,
const numType &  x2,
const numType &  y1,
const numType &  y2 
) const [inline, virtual]

Computes the minimal log of the derivative over those points in the interval [x1,x2] whose images may fall into [y1,y2].

Implements unifexp::mapType< numType >.

Definition at line 195 of file mapunimi.h.

References unifexp::mapUnimodalIntv< numType >::gamma, unifexp::mapUnimodalIntv< numType >::gammaRoot(), unifexp::mapUnimodalIntv< numType >::leftBound(), unifexp::mapUnimodalIntv< numType >::log2gamma, unifexp::mapType< numType >::paramMax, unifexp::mapType< numType >::paramMin, and unifexp::mapUnimodalIntv< numType >::rightBound().

template<class numType>
numType unifexp::mapUnimodalIntv< numType >::gammaRoot ( numType  x,
bool  upperBound 
) const [inline, private]

An auxiliary function for the computation of the root of degree gamma of the absolute value of a number.

Returns the upper or lower bound for the result.

Definition at line 149 of file mapunimi.h.

References unifexp::mapUnimodalIntv< numType >::gamma, unifexp::mapUnimodalIntv< numType >::leftBound(), and unifexp::mapUnimodalIntv< numType >::rightBound().

Referenced by unifexp::mapUnimodalIntv< numType >::minLogDerivative().


Member Data Documentation

template<class numType>
interval unifexp::mapUnimodalIntv< numType >::gamma [private]

The exponent of the map.

Definition at line 93 of file mapunimi.h.

Referenced by unifexp::mapUnimodalIntv< numType >::gammaRoot(), unifexp::mapUnimodalIntv< numType >::image(), unifexp::mapUnimodalIntv< numType >::minLogDerivative(), and unifexp::mapUnimodalIntv< numType >::name().

template<class numType>
interval unifexp::mapUnimodalIntv< numType >::log2gamma [private]

The cached value of log (2 gamma).

Definition at line 96 of file mapunimi.h.

Referenced by unifexp::mapUnimodalIntv< numType >::minLogDerivative().


The documentation for this class was generated from the following file:
Generated on Wed Nov 21 11:08:42 2007 for The Uniform Expansion Software by  doxygen 1.5.3