Public Member Functions | Private Member Functions | Private Attributes | List of all members
EllipsoidalIntegrator Class Reference

Validated integrator for ODEs based on Taylor models with ellipsoidal remainder term. More...

#include <ellipsoidal_integrator.hpp>

Inheritance diagram for EllipsoidalIntegrator:
Inheritance graph
[legend]

Public Member Functions

Tmatrix< IntervalboundQ () const
 
 EllipsoidalIntegrator ()
 
 EllipsoidalIntegrator (const DifferentialEquation &rhs_, const int &N_=3)
 
 EllipsoidalIntegrator (const EllipsoidalIntegrator &arg)
 
template<typename T >
Tmatrix< IntervalgetStateBound (const Tmatrix< T > &x) const
 
returnValue init (const DifferentialEquation &rhs_, const int &N_=3)
 
Tmatrix< Intervalintegrate (double t0, double tf, int M, const Tmatrix< Interval > &x)
 
Tmatrix< Intervalintegrate (double t0, double tf, int M, const Tmatrix< Interval > &x, const Tmatrix< Interval > &p)
 
Tmatrix< Intervalintegrate (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 EllipsoidalIntegratoroperator= (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 ()
 
- Public Member Functions inherited from AlgorithmicBase
int addLogRecord (LogRecord &_record)
 
returnValue addOption (OptionsName name, int value)
 
returnValue addOption (OptionsName name, double value)
 
returnValue addOption (uint idx, OptionsName name, int value)
 
returnValue addOption (uint idx, OptionsName name, double value)
 
returnValue addOptionsList ()
 
 AlgorithmicBase ()
 
 AlgorithmicBase (UserInteraction *_userInteraction)
 
 AlgorithmicBase (const AlgorithmicBase &rhs)
 
returnValue get (OptionsName name, int &value) const
 
returnValue get (OptionsName name, double &value) const
 
returnValue get (OptionsName name, std::string &value) const
 
returnValue get (uint idx, OptionsName name, int &value) const
 
returnValue get (uint idx, OptionsName name, double &value) const
 
returnValue getAll (LogName _name, MatrixVariablesGrid &values) const
 
returnValue getFirst (LogName _name, DMatrix &firstValue) const
 
returnValue getFirst (LogName _name, VariablesGrid &firstValue) const
 
returnValue getLast (LogName _name, DMatrix &lastValue) const
 
returnValue getLast (LogName _name, VariablesGrid &lastValue) const
 
Options getOptions (uint idx) const
 
BooleanType haveOptionsChanged () const
 
BooleanType haveOptionsChanged (uint idx) const
 
AlgorithmicBaseoperator= (const AlgorithmicBase &rhs)
 
returnValue plot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 
returnValue printLogRecord (std::ostream &_stream, int idx, LogPrintMode _mode=PRINT_ITEM_BY_ITEM) const
 
returnValue replot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 
returnValue set (OptionsName name, int value)
 
returnValue set (OptionsName name, double value)
 
returnValue set (OptionsName name, const std::string &value)
 
returnValue set (uint idx, OptionsName name, int value)
 
returnValue set (uint idx, OptionsName name, double value)
 
returnValue setAll (LogName _name, const MatrixVariablesGrid &values)
 
returnValue setLast (LogName _name, int lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, double lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, const DVector &lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, const DMatrix &lastValue, double time=-INFTY)
 
returnValue setLast (LogName _name, const VariablesGrid &lastValue, double time=-INFTY)
 
returnValue setOptions (const Options &arg)
 
returnValue setOptions (uint idx, const Options &arg)
 
virtual ~AlgorithmicBase ()
 

Private Member Functions

template<typename T >
Tmatrix< Intervalbound (const Tmatrix< T > &x) const
 
template<typename T >
void center (Tmatrix< T > &x) const
 
void copy (const EllipsoidalIntegrator &arg)
 
Tmatrix< IntervalevalC (const Tmatrix< double > &C, double h) const
 
Tmatrix< double > evalC2 (const Tmatrix< double > &C, double h) const
 
template<typename T >
Tmatrix< Tevaluate (Function &f, double t, Tmatrix< T > *x, Tmatrix< T > *p, Tmatrix< T > *w) const
 
template<typename T >
Tmatrix< Tevaluate (Function &f, Interval t, Tmatrix< T > *x, Tmatrix< T > *p, Tmatrix< T > *w) const
 
template<typename T >
Tmatrix< TgetPolynomial (const Tmatrix< T > &x) const
 
template<typename T >
Tmatrix< IntervalgetRemainder (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< Tphi (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
 

Additional Inherited Members

- Protected Attributes inherited from AlgorithmicBase
int outputLoggingIdx
 
BooleanType useModuleStandalone
 
UserInteractionuserInteraction
 

Detailed Description

Validated integrator for ODEs based on Taylor models with ellipsoidal remainder term.

Author
Mario Villanueva, Boris Houska

Definition at line 60 of file ellipsoidal_integrator.hpp.

Constructor & Destructor Documentation

BEGIN_NAMESPACE_ACADO EllipsoidalIntegrator::EllipsoidalIntegrator ( )

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.

\param rhs_  The differential equation.
\param N_    The order of the intergrator (default = 3).

Definition at line 46 of file ellipsoidal_integrator.cpp.

EllipsoidalIntegrator::EllipsoidalIntegrator ( const EllipsoidalIntegrator arg)

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.

Member Function Documentation

template<typename T >
Tmatrix<Interval> EllipsoidalIntegrator::bound ( const Tmatrix< T > &  x) const
private
Tmatrix< Interval > EllipsoidalIntegrator::boundQ ( ) const

Definition at line 258 of file ellipsoidal_integrator.cpp.

template<typename T >
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.

template<typename T >
Tmatrix<T> EllipsoidalIntegrator::evaluate ( Function f,
double  t,
Tmatrix< T > *  x,
Tmatrix< T > *  p,
Tmatrix< T > *  w 
) const
private
template<typename T >
Tmatrix<T> EllipsoidalIntegrator::evaluate ( Function f,
Interval  t,
Tmatrix< T > *  x,
Tmatrix< T > *  p,
Tmatrix< T > *  w 
) const
private
template<typename T >
Tmatrix<T> EllipsoidalIntegrator::getPolynomial ( const Tmatrix< T > &  x) const
private
template<typename T >
Tmatrix<Interval> EllipsoidalIntegrator::getRemainder ( const Tmatrix< T > &  x) const
private
template<typename T >
Tmatrix<Interval> EllipsoidalIntegrator::getStateBound ( const Tmatrix< T > &  x) const
template<typename T >
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.

template<typename T >
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.

template<typename T >
void EllipsoidalIntegrator::phase0 ( double  t,
Tmatrix< T > *  x,
Tmatrix< T > *  p,
Tmatrix< T > *  w,
Tmatrix< T > &  coeff,
Tmatrix< double > &  C 
)
private
template<typename T >
double EllipsoidalIntegrator::phase1 ( double  t,
double  tf,
Tmatrix< T > *  x,
Tmatrix< T > *  p,
Tmatrix< T > *  w,
Tmatrix< T > &  coeff,
Tmatrix< double > &  C 
)
private
template<typename T >
void EllipsoidalIntegrator::phase2 ( double  t,
double  h,
Tmatrix< T > *  x,
Tmatrix< T > *  p,
Tmatrix< T > *  w,
Tmatrix< T > &  coeff,
Tmatrix< double > &  C 
)
private
template<typename T >
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 ( )
privatevirtual

Definition at line 282 of file ellipsoidal_integrator.cpp.

template<typename T >
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.

Member Data Documentation

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.


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


acado
Author(s): Milan Vukov, Rien Quirynen
autogenerated on Mon Jun 10 2019 12:35:23