Validated integrator for ODEs based on Taylor models with ellipsoidal remainder term. More...
#include <ellipsoidal_integrator.hpp>

Public Member Functions | |
| Tmatrix< Interval > | boundQ () const |
| EllipsoidalIntegrator () | |
| EllipsoidalIntegrator (const DifferentialEquation &rhs_, const int &N_=3) | |
| EllipsoidalIntegrator (const EllipsoidalIntegrator &arg) | |
| template<typename T > | |
| Tmatrix< Interval > | getStateBound (const Tmatrix< T > &x) const |
| returnValue | init (const DifferentialEquation &rhs_, const int &N_=3) |
| Tmatrix< Interval > | integrate (double t0, double tf, int M, const Tmatrix< Interval > &x) |
| Tmatrix< Interval > | integrate (double t0, double tf, int M, const Tmatrix< Interval > &x, const Tmatrix< Interval > &p) |
| Tmatrix< Interval > | integrate (double t0, double tf, int M, const Tmatrix< Interval > &x, const Tmatrix< Interval > &p, const Tmatrix< Interval > &w) |
| template<typename T > | |
| returnValue | integrate (double t0, double tf, Tmatrix< T > *x, Tmatrix< T > *p=0, Tmatrix< T > *w=0) |
| virtual EllipsoidalIntegrator & | operator= (const EllipsoidalIntegrator &arg) |
| template<typename T > | |
| double | step (const double &t, const double &tf, Tmatrix< T > *x, Tmatrix< T > *p=0, Tmatrix< T > *w=0) |
| virtual | ~EllipsoidalIntegrator () |
Private Member Functions | |
| template<typename T > | |
| Tmatrix< Interval > | bound (const Tmatrix< T > &x) const |
| template<typename T > | |
| void | center (Tmatrix< T > &x) const |
| void | copy (const EllipsoidalIntegrator &arg) |
| Tmatrix< Interval > | evalC (const Tmatrix< double > &C, double h) const |
| Tmatrix< double > | evalC2 (const Tmatrix< double > &C, double h) const |
| template<typename T > | |
| Tmatrix< T > | evaluate (Function &f, double t, Tmatrix< T > *x, Tmatrix< T > *p, Tmatrix< T > *w) const |
| template<typename T > | |
| Tmatrix< T > | evaluate (Function &f, Interval t, Tmatrix< T > *x, Tmatrix< T > *p, Tmatrix< T > *w) const |
| template<typename T > | |
| Tmatrix< T > | getPolynomial (const Tmatrix< T > &x) const |
| template<typename T > | |
| Tmatrix< Interval > | getRemainder (const Tmatrix< T > &x) const |
| template<typename T > | |
| Tmatrix< double > | hat (const Tmatrix< T > &x) const |
| BooleanType | isIncluded (const Tmatrix< Interval > &A, const Tmatrix< Interval > &B) const |
| double | norm (const Tmatrix< Interval > &E, Tmatrix< Interval > &X) const |
| template<typename T > | |
| void | phase0 (double t, Tmatrix< T > *x, Tmatrix< T > *p, Tmatrix< T > *w, Tmatrix< T > &coeff, Tmatrix< double > &C) |
| template<typename T > | |
| double | phase1 (double t, double tf, Tmatrix< T > *x, Tmatrix< T > *p, Tmatrix< T > *w, Tmatrix< T > &coeff, Tmatrix< double > &C) |
| template<typename T > | |
| void | phase2 (double t, double h, Tmatrix< T > *x, Tmatrix< T > *p, Tmatrix< T > *w, Tmatrix< T > &coeff, Tmatrix< double > &C) |
| template<typename T > | |
| Tmatrix< T > | phi (const Tmatrix< T > &coeff, const double &h) const |
| double | scale (const Interval &E, const Interval &X) const |
| void | setInfinity () |
| virtual returnValue | setupOptions () |
| void | updateQ (Tmatrix< double > C, Tmatrix< Interval > R) |
Private Attributes | |
| Function | ddg |
| Function | dg |
| Function | g |
| Function | gr |
| int | N |
| int | nx |
| RealClock | Phase0Time |
| RealClock | Phase1Time |
| Tmatrix< double > | Q |
| RealClock | totalTime |
Validated integrator for ODEs based on Taylor models with ellipsoidal remainder term.
Definition at line 60 of file ellipsoidal_integrator.hpp.
Default constructor.
Definition at line 44 of file ellipsoidal_integrator.cpp.
| EllipsoidalIntegrator::EllipsoidalIntegrator | ( | const DifferentialEquation & | rhs_, |
| const int & | N_ = 3 |
||
| ) |
Constructor that takes the differential equation and the order (default 3) as an argument.
| rhs_ | The differential equation. |
| N_ | The order of the intergrator (default = 3). |
Definition at line 46 of file ellipsoidal_integrator.cpp.
Copy constructor (deep copy).
Definition at line 53 of file ellipsoidal_integrator.cpp.
| EllipsoidalIntegrator::~EllipsoidalIntegrator | ( | ) | [virtual] |
Destructor.
Definition at line 55 of file ellipsoidal_integrator.cpp.
| Tmatrix<Interval> EllipsoidalIntegrator::bound | ( | const Tmatrix< T > & | x | ) | const [private] |
| Tmatrix< Interval > EllipsoidalIntegrator::boundQ | ( | ) | const |
Definition at line 258 of file ellipsoidal_integrator.cpp.
| void EllipsoidalIntegrator::center | ( | Tmatrix< T > & | x | ) | const [private] |
| void EllipsoidalIntegrator::copy | ( | const EllipsoidalIntegrator & | arg | ) | [private] |
Definition at line 166 of file ellipsoidal_integrator.cpp.
| Tmatrix< Interval > EllipsoidalIntegrator::evalC | ( | const Tmatrix< double > & | C, |
| double | h | ||
| ) | const [private] |
Definition at line 178 of file ellipsoidal_integrator.cpp.
| Tmatrix< double > EllipsoidalIntegrator::evalC2 | ( | const Tmatrix< double > & | C, |
| double | h | ||
| ) | const [private] |
Definition at line 193 of file ellipsoidal_integrator.cpp.
| Tmatrix<T> EllipsoidalIntegrator::evaluate | ( | Function & | f, |
| double | t, | ||
| Tmatrix< T > * | x, | ||
| Tmatrix< T > * | p, | ||
| Tmatrix< T > * | w | ||
| ) | const [private] |
| Tmatrix<T> EllipsoidalIntegrator::evaluate | ( | Function & | f, |
| Interval | t, | ||
| Tmatrix< T > * | x, | ||
| Tmatrix< T > * | p, | ||
| Tmatrix< T > * | w | ||
| ) | const [private] |
| Tmatrix<T> EllipsoidalIntegrator::getPolynomial | ( | const Tmatrix< T > & | x | ) | const [private] |
| Tmatrix<Interval> EllipsoidalIntegrator::getRemainder | ( | const Tmatrix< T > & | x | ) | const [private] |
| Tmatrix<Interval> EllipsoidalIntegrator::getStateBound | ( | const Tmatrix< T > & | x | ) | const |
| Tmatrix<double> EllipsoidalIntegrator::hat | ( | const Tmatrix< T > & | x | ) | const [private] |
| returnValue EllipsoidalIntegrator::init | ( | const DifferentialEquation & | rhs_, |
| const int & | N_ = 3 |
||
| ) |
Definition at line 68 of file ellipsoidal_integrator.cpp.
| Tmatrix< Interval > EllipsoidalIntegrator::integrate | ( | double | t0, |
| double | tf, | ||
| int | M, | ||
| const Tmatrix< Interval > & | x | ||
| ) |
Definition at line 102 of file ellipsoidal_integrator.cpp.
| Tmatrix< Interval > EllipsoidalIntegrator::integrate | ( | double | t0, |
| double | tf, | ||
| int | M, | ||
| const Tmatrix< Interval > & | x, | ||
| const Tmatrix< Interval > & | p | ||
| ) |
Definition at line 110 of file ellipsoidal_integrator.cpp.
| Tmatrix< Interval > EllipsoidalIntegrator::integrate | ( | double | t0, |
| double | tf, | ||
| int | M, | ||
| const Tmatrix< Interval > & | x, | ||
| const Tmatrix< Interval > & | p, | ||
| const Tmatrix< Interval > & | w | ||
| ) |
Definition at line 118 of file ellipsoidal_integrator.cpp.
| returnValue EllipsoidalIntegrator::integrate | ( | double | t0, |
| double | tf, | ||
| Tmatrix< T > * | x, | ||
| Tmatrix< T > * | p = 0, |
||
| Tmatrix< T > * | w = 0 |
||
| ) |
| BooleanType EllipsoidalIntegrator::isIncluded | ( | const Tmatrix< Interval > & | A, |
| const Tmatrix< Interval > & | B | ||
| ) | const [private] |
Definition at line 265 of file ellipsoidal_integrator.cpp.
| double EllipsoidalIntegrator::norm | ( | const Tmatrix< Interval > & | E, |
| Tmatrix< Interval > & | X | ||
| ) | const [private] |
Definition at line 218 of file ellipsoidal_integrator.cpp.
| EllipsoidalIntegrator & EllipsoidalIntegrator::operator= | ( | const EllipsoidalIntegrator & | arg | ) | [virtual] |
Assignment operator (deep copy).
Definition at line 57 of file ellipsoidal_integrator.cpp.
| void EllipsoidalIntegrator::phase0 | ( | double | t, |
| Tmatrix< T > * | x, | ||
| Tmatrix< T > * | p, | ||
| Tmatrix< T > * | w, | ||
| Tmatrix< T > & | coeff, | ||
| Tmatrix< double > & | C | ||
| ) | [private] |
| double EllipsoidalIntegrator::phase1 | ( | double | t, |
| double | tf, | ||
| Tmatrix< T > * | x, | ||
| Tmatrix< T > * | p, | ||
| Tmatrix< T > * | w, | ||
| Tmatrix< T > & | coeff, | ||
| Tmatrix< double > & | C | ||
| ) | [private] |
| void EllipsoidalIntegrator::phase2 | ( | double | t, |
| double | h, | ||
| Tmatrix< T > * | x, | ||
| Tmatrix< T > * | p, | ||
| Tmatrix< T > * | w, | ||
| Tmatrix< T > & | coeff, | ||
| Tmatrix< double > & | C | ||
| ) | [private] |
| Tmatrix<T> EllipsoidalIntegrator::phi | ( | const Tmatrix< T > & | coeff, |
| const double & | h | ||
| ) | const [private] |
| double EllipsoidalIntegrator::scale | ( | const Interval & | E, |
| const Interval & | X | ||
| ) | const [private] |
Definition at line 207 of file ellipsoidal_integrator.cpp.
| void EllipsoidalIntegrator::setInfinity | ( | ) | [private] |
Definition at line 279 of file ellipsoidal_integrator.cpp.
| returnValue EllipsoidalIntegrator::setupOptions | ( | ) | [private, virtual] |
Definition at line 282 of file ellipsoidal_integrator.cpp.
| double EllipsoidalIntegrator::step | ( | const double & | t, |
| const double & | tf, | ||
| Tmatrix< T > * | x, | ||
| Tmatrix< T > * | p = 0, |
||
| Tmatrix< T > * | w = 0 |
||
| ) |
| void EllipsoidalIntegrator::updateQ | ( | Tmatrix< double > | C, |
| Tmatrix< Interval > | R | ||
| ) | [private] |
Definition at line 230 of file ellipsoidal_integrator.cpp.
Function EllipsoidalIntegrator::ddg [private] |
Definition at line 183 of file ellipsoidal_integrator.hpp.
Function EllipsoidalIntegrator::dg [private] |
Definition at line 182 of file ellipsoidal_integrator.hpp.
Function EllipsoidalIntegrator::g [private] |
Definition at line 180 of file ellipsoidal_integrator.hpp.
Function EllipsoidalIntegrator::gr [private] |
Definition at line 181 of file ellipsoidal_integrator.hpp.
int EllipsoidalIntegrator::N [private] |
Definition at line 178 of file ellipsoidal_integrator.hpp.
int EllipsoidalIntegrator::nx [private] |
Definition at line 177 of file ellipsoidal_integrator.hpp.
RealClock EllipsoidalIntegrator::Phase0Time [private] |
Definition at line 188 of file ellipsoidal_integrator.hpp.
RealClock EllipsoidalIntegrator::Phase1Time [private] |
Definition at line 189 of file ellipsoidal_integrator.hpp.
Tmatrix<double> EllipsoidalIntegrator::Q [private] |
Definition at line 185 of file ellipsoidal_integrator.hpp.
RealClock EllipsoidalIntegrator::totalTime [private] |
Definition at line 187 of file ellipsoidal_integrator.hpp.