codac 2.0.0
Loading...
Searching...
No Matches
codac2::LohnerAlgorithm Class Reference

Simple first order Lohner algorithm to perform guaranteed integration of a system \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x})\). More...

#include <codac2_CtcLohner.h>

Public Member Functions

 LohnerAlgorithm (const AnalyticFunction< VectorType > *f, double h, bool forward, const IntervalVector &u0, int contractions=1, double eps=0.1)
 Creates a Lohner algorithm object.
const IntervalVectorintegrate (unsigned int steps, double H=-1)
 integrate the system over a given number of steps
void contractStep (const IntervalVector &x)
 contract the global & local enclosure of the previous integration step
const IntervalVectorgetLocalEnclosure () const
 Returns the current global enclosure, i.e. the box enclosing the trajectories between times \(k-1\) and \(k\).
const IntervalVectorgetGlobalEnclosure () const
 Returns the current local enclosure, i.e. the box enclosing the trajectories at time \(k\).

Detailed Description

Simple first order Lohner algorithm to perform guaranteed integration of a system \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x})\).

Constructor & Destructor Documentation

◆ LohnerAlgorithm()

codac2::LohnerAlgorithm::LohnerAlgorithm ( const AnalyticFunction< VectorType > * f,
double h,
bool forward,
const IntervalVector & u0,
int contractions = 1,
double eps = 0.1 )

Creates a Lohner algorithm object.

Parameters
ffunction defining the system \(\dot{\mathbf{x}}=\mathbf{f}(\mathbf{x})\)
htime step of the integration method
forwardforward integration if true, backaward otherwise
u0initial condition of the system
contractionsnumber of contractions of the global enclosure by the estimated local enclosure
epsinflation parameter for the global enclosure

Member Function Documentation

◆ integrate()

const IntervalVector & codac2::LohnerAlgorithm::integrate ( unsigned int steps,
double H = -1 )

integrate the system over a given number of steps

Parameters
stepsnumber of steps to integrate
Hparameter to overwrite the integration time step
Returns
enclosure of the system's state

◆ contractStep()

void codac2::LohnerAlgorithm::contractStep ( const IntervalVector & x)

contract the global & local enclosure of the previous integration step

Parameters
xestimation of the global enclosure

◆ getLocalEnclosure()

const IntervalVector & codac2::LohnerAlgorithm::getLocalEnclosure ( ) const

Returns the current global enclosure, i.e. the box enclosing the trajectories between times \(k-1\) and \(k\).

Returns
global enclosure

◆ getGlobalEnclosure()

const IntervalVector & codac2::LohnerAlgorithm::getGlobalEnclosure ( ) const

Returns the current local enclosure, i.e. the box enclosing the trajectories at time \(k\).

Returns
local enclosure \([\mathbf{x}_{k}]\)

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