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>
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 | |
IntervalType | gamma |
The exponent of the map. | |
IntervalType | log2gamma |
The cached value of log (2 gamma). |
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 57 of file mapunimi.h.
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 106 of file mapunimi.h.
int unifexp::mapUnimodalIntv< numType >::countCritical | ( | ) | const [inline, virtual] |
Returns the number of critical points.
Implements unifexp::mapType< numType >.
Definition at line 124 of file mapunimi.h.
numType unifexp::mapUnimodalIntv< numType >::criticalPoint | ( | int | n ) | const [inline, virtual] |
Returns the subsequent critical points.
Implements unifexp::mapType< numType >.
Definition at line 130 of file mapunimi.h.
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 148 of file mapunimi.h.
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 175 of file mapunimi.h.
References unifexp::resetRounding().
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 136 of file mapunimi.h.
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 201 of file mapunimi.h.
References unifexp::resetRounding().
std::string unifexp::mapUnimodalIntv< numType >::name | ( | ) | const [inline, virtual] |
Returns the name of the object.
Implements unifexp::mapType< numType >.
Definition at line 116 of file mapunimi.h.
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 142 of file mapunimi.h.
IntervalType unifexp::mapUnimodalIntv< numType >::gamma [private] |
The exponent of the map.
Definition at line 91 of file mapunimi.h.
IntervalType unifexp::mapUnimodalIntv< numType >::log2gamma [private] |
The cached value of log (2 gamma).
Definition at line 94 of file mapunimi.h.