ACADO Toolkit  1.2.0beta
Toolkit for Automatic Control and Dynamic Optimization
Public Member Functions | Protected Attributes
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]

List of all members.

Public Member Functions

 EllipsoidalIntegrator ()
 Default constructor.
 EllipsoidalIntegrator (const DifferentialEquation &rhs_, const int &N_=3)
 Constructor that takes the differential equation and the order (default 3) as an argument.
 EllipsoidalIntegrator (const EllipsoidalIntegrator &arg)
 Copy constructor (deep copy).
virtual ~EllipsoidalIntegrator ()
 Destructor.
virtual EllipsoidalIntegratoroperator= (const EllipsoidalIntegrator &arg)
 Assignment operator (deep copy).
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)
template<typename T >
double step (const double &t, const double &tf, Tmatrix< T > *x, Tmatrix< T > *p=0, Tmatrix< T > *w=0)
returnValue init (const DifferentialEquation &rhs_, const int &N_=3)
Tmatrix< IntervalboundQ () const
template<typename T >
Tmatrix< IntervalgetStateBound (const Tmatrix< T > &x) const
returnValue addOptionsList ()
 Adds an additional OptionsList to internal array.
returnValue set (OptionsName name, int value)
 Sets value of an existing option item of integer type to a given value.
returnValue set (OptionsName name, double value)
 Sets value of an existing option item of double type to a given value.
returnValue set (uint idx, OptionsName name, int value)
 Sets value of an existing option item of integer type within the option list of given index to a given value.
returnValue set (uint idx, OptionsName name, double value)
 Sets value of an existing option item of double type within the option list of given index to a given value.
returnValue setOptions (const Options &arg)
 Assigns a given Options object to this object.
returnValue setOptions (uint idx, const Options &arg)
 Assigns the option list with given index of a given Options object to option list with given index of this object.
Options getOptions (uint idx) const
 Returns an Options object containing exactly the option list with given index.
returnValue getAll (LogName _name, MatrixVariablesGrid &values) const
 Gets all numerical values at all time instants of the item with given name.
returnValue getFirst (LogName _name, Matrix &firstValue) const
 Gets numerical value at first time instant of the item with given name.
returnValue getFirst (LogName _name, VariablesGrid &firstValue) const
 Gets numerical value at first time instant of the item with given name (converts internally used Matrix into VariablesGrid).
returnValue getLast (LogName _name, Matrix &lastValue) const
 Gets numerical value at last time instant of the item with given name.
returnValue getLast (LogName _name, VariablesGrid &lastValue) const
 Gets numerical value at last time instant of the item with given name (converts internally used Matrix into VariablesGrid).
returnValue get (OptionsName name, int &value) const
 Returns value of an existing option item of integer type.
returnValue get (OptionsName name, double &value) const
 Returns value of an existing option item of double type.
returnValue get (uint idx, OptionsName name, int &value) const
 Returns value of an existing option item of integer type within the option list of given index.
returnValue get (uint idx, OptionsName name, double &value) const
 Returns value of an existing option item of double type within the option list of given index.
returnValue addOption (OptionsName name, int value)
 Add an option item with a given integer default value to the all option lists.
returnValue addOption (OptionsName name, double value)
 Add an option item with a given double default value to the all option lists.
returnValue addOption (uint idx, OptionsName name, int value)
 Add an option item with a given integer default value to option list with given index.
returnValue addOption (uint idx, OptionsName name, double value)
 Add an option item with a given double default value to option list with given index.
BooleanType haveOptionsChanged () const
 Determines whether options of at least one option list have been modified.
BooleanType haveOptionsChanged (uint idx) const
 Determines whether options of option list with given index have been modified.
returnValue setAll (LogName _name, const MatrixVariablesGrid &values)
 Sets all numerical values at all time instants of all items with given name within all records.
returnValue setLast (LogName _name, int lastValue, double time=-INFTY)
 Sets numerical value at last time instant of all items with given name within all records.
returnValue setLast (LogName _name, double lastValue, double time=-INFTY)
 Sets numerical value at last time instant of all items with given name within all records.
returnValue setLast (LogName _name, const Vector &lastValue, double time=-INFTY)
 Sets numerical value at last time instant of all items with given name within all records.
returnValue setLast (LogName _name, const Matrix &lastValue, double time=-INFTY)
 Sets numerical value at last time instant of all items with given name within all records.
returnValue setLast (LogName _name, const VariablesGrid &lastValue, double time=-INFTY)
 Sets numerical value at last time instant of all items with given name within all records.
int addLogRecord (LogRecord &_record)
 Adds a record to the log collection.
returnValue printLogRecord (int idx, LogPrintMode _mode=PRINT_ITEM_BY_ITEM) const
 Prints whole record with specified index into internally specified file; all items are printed according to the output format settings.
returnValue plot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 Plots all windows of the plot collection, each one into a new figure.
returnValue replot (PlotFrequency _frequency=PLOT_IN_ANY_CASE)
 Plots all windows of the plot collection, each one into the corresponding existing figure, if possible.

Protected Attributes

UserInteractionuserInteraction
 Pointer to top-level user interface.
BooleanType useModuleStandalone
 Flag indicating whether algorithmic module is used stand-alone.
int outputLoggingIdx
 Index of log record for algorithmic standard output to be optionally used within derived classes.

Detailed Description

Author:
Mario Villanueva, Boris Houska

Constructor & Destructor Documentation

EllipsoidalIntegrator::EllipsoidalIntegrator ( const DifferentialEquation rhs_,
const int &  N_ = 3 
)
Parameters:
rhs_The differential equation.
N_The order of the intergrator (default = 3).

References ASSERT, BT_TRUE, init(), and DifferentialEquation::isODE().


Member Function Documentation

int AlgorithmicBase::addLogRecord ( LogRecord _record) [inline, inherited]
Parameters:
[in]recordRecord to be added.
Returns:
>= 0: index of added record,
-RET_LOG_COLLECTION_CORRUPTED

References Logging::addLogRecord(), and AlgorithmicBase::userInteraction.

Referenced by SCPmethod::setupLogging(), DenseQPsolver::setupLogging(), DynamicDiscretization::setupLogging(), and Integrator::setupLogging().

returnValue AlgorithmicBase::addOption ( OptionsName  name,
int  value 
) [inline, inherited]
Parameters:
[in]nameName of new option item.
[in]valueDefault value of new option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_ALREADY_EXISTS,
RET_OPTIONS_LIST_CORRUPTED

References Options::addOption(), and AlgorithmicBase::userInteraction.

Referenced by BandedCPsolver::setupOptions(), NLPsolver::setupOptions(), DynamicDiscretization::setupOptions(), and Integrator::setupOptions().

returnValue AlgorithmicBase::addOption ( OptionsName  name,
double  value 
) [inline, inherited]
Parameters:
[in]nameName of new option item.
[in]valueDefault value of new option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_ALREADY_EXISTS,
RET_OPTIONS_LIST_CORRUPTED

References Options::addOption(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::addOption ( uint  idx,
OptionsName  name,
int  value 
) [inline, inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of new option item.
[in]valueDefault value of new option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_ALREADY_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References Options::addOption(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::addOption ( uint  idx,
OptionsName  name,
double  value 
) [inline, inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of new option item.
[in]valueDefault value of new option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_ALREADY_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References Options::addOption(), and AlgorithmicBase::userInteraction.

Returns:
SUCCESSFUL_RETURN

References Options::addOptionsList(), and AlgorithmicBase::userInteraction.

Referenced by ShootingMethod::addStage().

References EPS, and sqrt().

Referenced by getStateBound(), and integrate().

returnValue AlgorithmicBase::get ( OptionsName  name,
int &  value 
) const [inline, inherited]
Parameters:
[in]nameName of option item.
[out]valueValue of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS

References Options::get(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::get ( OptionsName  name,
double &  value 
) const [inline, inherited]
Parameters:
[in]nameName of option item.
[out]valueValue of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS

References Options::get(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::get ( uint  idx,
OptionsName  name,
int &  value 
) const [inline, inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[out]valueValue of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_INDEX_OUT_OF_BOUNDS

References Options::get(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::get ( uint  idx,
OptionsName  name,
double &  value 
) const [inline, inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[out]valueValue of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_INDEX_OUT_OF_BOUNDS

References Options::get(), and AlgorithmicBase::userInteraction.

BEGIN_NAMESPACE_ACADO returnValue AlgorithmicBase::getAll ( LogName  _name,
MatrixVariablesGrid values 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]valuesAll numerical values at all time instants of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References Logging::getAll(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::getFirst ( LogName  _name,
Matrix firstValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]firstValueNumerical value at first time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References Logging::getFirst(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::getFirst ( LogName  _name,
VariablesGrid firstValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]firstValueNumerical value at first time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References Logging::getFirst(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::getLast ( LogName  _name,
Matrix lastValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]lastValueNumerical value at last time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References Logging::getLast(), and AlgorithmicBase::userInteraction.

Referenced by Process::simulate().

returnValue AlgorithmicBase::getLast ( LogName  _name,
VariablesGrid lastValue 
) const [inline, inherited]

If this item exists in more than one record, the first one is choosen as they are expected to have identical values anyhow.

Parameters:
[in]_nameInternal name of item.
[out]lastValueNumerical value at last time instant of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References Logging::getLast(), and AlgorithmicBase::userInteraction.

Options AlgorithmicBase::getOptions ( uint  idx) const [inherited]
Parameters:
[in]idxIndex of option list.
Returns:
Options object containing exactly the option list with given index

References Options::getOptions(), and AlgorithmicBase::userInteraction.

Referenced by ShootingMethod::evaluate().

template<typename T >
Tmatrix< Interval > EllipsoidalIntegrator::getStateBound ( const Tmatrix< T > &  x) const

References boundQ().

Referenced by integrate().

BooleanType AlgorithmicBase::haveOptionsChanged ( ) const [inline, inherited]
Returns:
BT_TRUE iff options have been modified,
BT_FALSE otherwise

References Options::haveOptionsChanged(), and AlgorithmicBase::userInteraction.

BooleanType AlgorithmicBase::haveOptionsChanged ( uint  idx) const [inline, inherited]
Parameters:
[in]idxIndex of option list.
Returns:
BT_TRUE iff options have been modified,
BT_FALSE otherwise

References Options::haveOptionsChanged(), and AlgorithmicBase::userInteraction.

returnValue EllipsoidalIntegrator::init ( const DifferentialEquation rhs_,
const int &  N_ = 3 
)
Tmatrix< Interval > EllipsoidalIntegrator::integrate ( double  t0,
double  tf,
int  M,
const Tmatrix< Interval > &  x 
)

Referenced by integrate().

Tmatrix< Interval > EllipsoidalIntegrator::integrate ( double  t0,
double  tf,
int  M,
const Tmatrix< Interval > &  x,
const Tmatrix< Interval > &  p 
)

References integrate().

Tmatrix< Interval > EllipsoidalIntegrator::integrate ( double  t0,
double  tf,
int  M,
const Tmatrix< Interval > &  x,
const Tmatrix< Interval > &  p,
const Tmatrix< Interval > &  w 
)
template<typename T >
BEGIN_NAMESPACE_ACADO returnValue EllipsoidalIntegrator::integrate ( double  t0,
double  tf,
Tmatrix< T > *  x,
Tmatrix< T > *  p = 0,
Tmatrix< T > *  w = 0 
)
EllipsoidalIntegrator & EllipsoidalIntegrator::operator= ( const EllipsoidalIntegrator arg) [virtual]
returnValue AlgorithmicBase::plot ( PlotFrequency  _frequency = PLOT_IN_ANY_CASE) [inline, inherited]
Parameters:
[in]_frequencyFrequency determining at which time instants the window is to be plotted.
Returns:
SUCCESSFUL_RETURN

References Plotting::plot(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::printLogRecord ( int  idx,
LogPrintMode  _mode = PRINT_ITEM_BY_ITEM 
) const [inline, inherited]
Parameters:
[in]idxIndex of record to be printed.
[in]_modePrint mode: see documentation of LogPrintMode of details.
Returns:
SUCCESSFUL_RETURN,
RET_INDEX_OUT_OF_BOUNDS,
RET_INVALID_ARGUMENTS,
RET_UNKNOWN_BUG

References ACADOERROR, LogCollection::getNumLogRecords(), Logging::logCollection, LogCollection::print(), RET_INDEX_OUT_OF_BOUNDS, and AlgorithmicBase::userInteraction.

Referenced by SCPmethod::printIteration(), SCPmethod::printRuntimeProfile(), and Integrator::printRunTimeProfile().

returnValue AlgorithmicBase::replot ( PlotFrequency  _frequency = PLOT_IN_ANY_CASE) [inline, inherited]
Parameters:
[in]_frequencyFrequency determining at which time instants the window is to be plotted.
Returns:
SUCCESSFUL_RETURN

References Plotting::replot(), and AlgorithmicBase::userInteraction.

Referenced by SCPmethod::printIteration(), SCPmethod::solve(), and SCPmethod::step().

returnValue AlgorithmicBase::set ( OptionsName  name,
int  value 
) [inherited]
Parameters:
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED

References Options::set(), and AlgorithmicBase::userInteraction.

Referenced by SCPmethod::initializeHessianProjection().

returnValue AlgorithmicBase::set ( OptionsName  name,
double  value 
) [inherited]
Parameters:
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED

References Options::set(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::set ( uint  idx,
OptionsName  name,
int  value 
) [inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References Options::set(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::set ( uint  idx,
OptionsName  name,
double  value 
) [inherited]
Parameters:
[in]idxIndex of option list.
[in]nameName of option item.
[in]valueNew value of option.
Returns:
SUCCESSFUL_RETURN,
RET_OPTION_DOESNT_EXISTS,
RET_OPTIONS_LIST_CORRUPTED,
RET_INDEX_OUT_OF_BOUNDS

References Options::set(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::setAll ( LogName  _name,
const MatrixVariablesGrid values 
) [inline, inherited]
Parameters:
[in]_nameInternal name of item.
[in]valuesAll numerical values at all time instants of given item.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_COLLECTION_CORRUPTED

References Logging::logCollection, LogCollection::setAll(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::setLast ( LogName  _name,
int  lastValue,
double  time = -INFTY 
) [inline, inherited]
returnValue AlgorithmicBase::setLast ( LogName  _name,
double  lastValue,
double  time = -INFTY 
) [inline, inherited]
Parameters:
[in]_nameInternal name of item.
[in]lastValueNumerical value at last time instant of given item.
[in]timeTime label of the instant.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References Logging::logCollection, LogCollection::setLast(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::setLast ( LogName  _name,
const Vector lastValue,
double  time = -INFTY 
) [inline, inherited]
Parameters:
[in]_nameInternal name of item.
[in]lastValueNumerical value at last time instant of given item.
[in]timeTime label of the instant.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References Logging::logCollection, LogCollection::setLast(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::setLast ( LogName  _name,
const Matrix lastValue,
double  time = -INFTY 
) [inline, inherited]
Parameters:
[in]_nameInternal name of item.
[in]lastValueNumerical value at last time instant of given item.
[in]timeTime label of the instant.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References Logging::logCollection, LogCollection::setLast(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::setLast ( LogName  _name,
const VariablesGrid lastValue,
double  time = -INFTY 
) [inline, inherited]
Parameters:
[in]_nameInternal name of item.
[in]lastValueNumerical value at last time instant of given item.
[in]timeTime label of the instant.
Returns:
SUCCESSFUL_RETURN,
RET_LOG_ENTRY_DOESNT_EXIST

References Logging::logCollection, LogCollection::setLast(), and AlgorithmicBase::userInteraction.

returnValue AlgorithmicBase::setOptions ( const Options arg) [inherited]
Parameters:
[in]argNew Options object to be assigned.
Note:
This routine is introduced only for convenience and is equivalent to the assignment operator.
Returns:
SUCCESSFUL_RETURN

References Options::setOptions(), and AlgorithmicBase::userInteraction.

Referenced by ShootingMethod::evaluate().

returnValue AlgorithmicBase::setOptions ( uint  idx,
const Options arg 
) [inherited]
Parameters:
[in]idxIndex of option list.
[in]argOptions object containing the option list to be assigned.
Returns:
SUCCESSFUL_RETURN

References Options::setOptions(), and AlgorithmicBase::userInteraction.

template<typename T >
double EllipsoidalIntegrator::step ( const double &  t,
const double &  tf,
Tmatrix< T > *  x,
Tmatrix< T > *  p = 0,
Tmatrix< T > *  w = 0 
)

Member Data Documentation

int AlgorithmicBase::outputLoggingIdx [protected, inherited]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines