Public Member Functions | Private Attributes | List of all members
fcl::TaylorModel< S > Class Template Reference

TaylorModel implements a third order Taylor model, i.e., a cubic approximation of a function over a time interval, with an interval remainder. All the operations on two Taylor models assume their time intervals are the same. More...

#include <taylor_model.h>

Public Member Functions

S & coeff (std::size_t i)
 
coeff (std::size_t i) const
 
Interval< S > getBound () const
 
Interval< S > getBound (S l, S r) const
 
Interval< S > getBound (S t) const
 
Interval< S > getTightBound () const
 
Interval< S > getTightBound (S l, S r) const
 
const std::shared_ptr< TimeInterval< S > > & getTimeInterval () const
 
TaylorModel operator* (const TaylorModel &other) const
 Taylor model multiplication: f(t) = c0+c1*t+c2*t^2+c3*t^3+[a,b] g(t) = c0'+c1'*t+c2'*t^2+c3'*t^2+[c,d] f(t)g(t)= c0c0'+ (c0c1'+c1c0')t+ (c0c2'+c1c1'+c2c0')t^2+ (c0c3'+c1c2'+c2c1'+c3c0')t^3+ [a,b][c,d]+ (c1c3'+c2c2'+c3c1')t^4+ (c2c3'+c3c2')t^5+ (c3c3')t^6+ (c0+c1*t+c2*t^2+c3*t^3)[c,d]+ (c0'+c1'*t+c2'*t^2+c3'*c^3)[a,b]. More...
 
TaylorModel operator* (S d) const
 
TaylorModeloperator*= (const TaylorModel &other)
 
TaylorModeloperator*= (S d)
 
TaylorModel operator+ (const TaylorModel &other) const
 
TaylorModel operator+ (S d) const
 
TaylorModeloperator+= (const TaylorModel &other)
 
TaylorModeloperator+= (S d)
 
TaylorModel operator- () const
 
TaylorModel operator- (const TaylorModel &other) const
 
TaylorModel operator- (S d) const
 
TaylorModeloperator-= (const TaylorModel &other)
 
TaylorModeloperator-= (S d)
 
void print () const
 
Interval< S > & remainder ()
 
const Interval< S > & remainder () const
 
void setTimeInterval (const std::shared_ptr< TimeInterval< S >> &time_interval)
 
void setTimeInterval (S l, S r)
 
void setZero ()
 
 TaylorModel ()
 
 TaylorModel (const std::shared_ptr< TimeInterval< S >> &time_interval)
 
 TaylorModel (S c0, S c1, S c2, S c3, const Interval< S > &r, const std::shared_ptr< TimeInterval< S >> &time_interval)
 
 TaylorModel (S coeff, const std::shared_ptr< TimeInterval< S >> &time_interval)
 
 TaylorModel (S coeffs[3], const Interval< S > &r, const std::shared_ptr< TimeInterval< S >> &time_interval)
 

Private Attributes

coeffs_ [4]
 Coefficients of the cubic polynomial approximation. More...
 
Interval< S > r_
 interval remainder More...
 
std::shared_ptr< TimeInterval< S > > time_interval_
 time interval More...
 

Detailed Description

template<typename S>
class fcl::TaylorModel< S >

TaylorModel implements a third order Taylor model, i.e., a cubic approximation of a function over a time interval, with an interval remainder. All the operations on two Taylor models assume their time intervals are the same.

Definition at line 58 of file taylor_model.h.

Constructor & Destructor Documentation

◆ TaylorModel() [1/5]

template<typename S >
fcl::TaylorModel< S >::TaylorModel

Definition at line 128 of file taylor_model-inl.h.

◆ TaylorModel() [2/5]

template<typename S >
fcl::TaylorModel< S >::TaylorModel ( const std::shared_ptr< TimeInterval< S >> &  time_interval)

Definition at line 135 of file taylor_model-inl.h.

◆ TaylorModel() [3/5]

template<typename S >
fcl::TaylorModel< S >::TaylorModel ( coeff,
const std::shared_ptr< TimeInterval< S >> &  time_interval 
)

Definition at line 142 of file taylor_model-inl.h.

◆ TaylorModel() [4/5]

template<typename S >
fcl::TaylorModel< S >::TaylorModel ( coeffs[3],
const Interval< S > &  r,
const std::shared_ptr< TimeInterval< S >> &  time_interval 
)

Definition at line 150 of file taylor_model-inl.h.

◆ TaylorModel() [5/5]

template<typename S >
fcl::TaylorModel< S >::TaylorModel ( c0,
c1,
c2,
c3,
const Interval< S > &  r,
const std::shared_ptr< TimeInterval< S >> &  time_interval 
)

Definition at line 162 of file taylor_model-inl.h.

Member Function Documentation

◆ coeff() [1/2]

template<typename S >
S & fcl::TaylorModel< S >::coeff ( std::size_t  i)

Definition at line 107 of file taylor_model-inl.h.

◆ coeff() [2/2]

template<typename S >
S fcl::TaylorModel< S >::coeff ( std::size_t  i) const

Definition at line 100 of file taylor_model-inl.h.

◆ getBound() [1/3]

template<typename S >
Interval< S > fcl::TaylorModel< S >::getBound

Definition at line 357 of file taylor_model-inl.h.

◆ getBound() [2/3]

template<typename S >
Interval< S > fcl::TaylorModel< S >::getBound ( l,
r 
) const

Definition at line 346 of file taylor_model-inl.h.

◆ getBound() [3/3]

template<typename S >
Interval< S > fcl::TaylorModel< S >::getBound ( t) const

Definition at line 339 of file taylor_model-inl.h.

◆ getTightBound() [1/2]

template<typename S >
Interval< S > fcl::TaylorModel< S >::getTightBound

Definition at line 449 of file taylor_model-inl.h.

◆ getTightBound() [2/2]

template<typename S >
Interval< S > fcl::TaylorModel< S >::getTightBound ( l,
r 
) const

Definition at line 364 of file taylor_model-inl.h.

◆ getTimeInterval()

template<typename S >
const std::shared_ptr< TimeInterval< S > > & fcl::TaylorModel< S >::getTimeInterval

Definition at line 93 of file taylor_model-inl.h.

◆ operator*() [1/2]

template<typename S >
TaylorModel< S > fcl::TaylorModel< S >::operator* ( const TaylorModel< S > &  other) const

Taylor model multiplication: f(t) = c0+c1*t+c2*t^2+c3*t^3+[a,b] g(t) = c0'+c1'*t+c2'*t^2+c3'*t^2+[c,d] f(t)g(t)= c0c0'+ (c0c1'+c1c0')t+ (c0c2'+c1c1'+c2c0')t^2+ (c0c3'+c1c2'+c2c1'+c3c0')t^3+ [a,b][c,d]+ (c1c3'+c2c2'+c3c1')t^4+ (c2c3'+c3c2')t^5+ (c3c3')t^6+ (c0+c1*t+c2*t^2+c3*t^3)[c,d]+ (c0'+c1'*t+c2'*t^2+c3'*c^3)[a,b].

Definition at line 259 of file taylor_model-inl.h.

◆ operator*() [2/2]

template<typename S >
TaylorModel< S > fcl::TaylorModel< S >::operator* ( d) const

Definition at line 268 of file taylor_model-inl.h.

◆ operator*=() [1/2]

template<typename S >
TaylorModel< S > & fcl::TaylorModel< S >::operator*= ( const TaylorModel< S > &  other)

Definition at line 275 of file taylor_model-inl.h.

◆ operator*=() [2/2]

template<typename S >
TaylorModel< S > & fcl::TaylorModel< S >::operator*= ( d)

Definition at line 313 of file taylor_model-inl.h.

◆ operator+() [1/2]

template<typename S >
TaylorModel< S > fcl::TaylorModel< S >::operator+ ( const TaylorModel< S > &  other) const

Definition at line 204 of file taylor_model-inl.h.

◆ operator+() [2/2]

template<typename S >
TaylorModel< S > fcl::TaylorModel< S >::operator+ ( d) const

Definition at line 174 of file taylor_model-inl.h.

◆ operator+=() [1/2]

template<typename S >
TaylorModel< S > & fcl::TaylorModel< S >::operator+= ( const TaylorModel< S > &  other)

Definition at line 220 of file taylor_model-inl.h.

◆ operator+=() [2/2]

template<typename S >
TaylorModel< S > & fcl::TaylorModel< S >::operator+= ( d)

Definition at line 181 of file taylor_model-inl.h.

◆ operator-() [1/3]

template<typename S >
TaylorModel< S > fcl::TaylorModel< S >::operator-

Definition at line 325 of file taylor_model-inl.h.

◆ operator-() [2/3]

template<typename S >
TaylorModel< S > fcl::TaylorModel< S >::operator- ( const TaylorModel< S > &  other) const

Definition at line 212 of file taylor_model-inl.h.

◆ operator-() [3/3]

template<typename S >
TaylorModel< S > fcl::TaylorModel< S >::operator- ( d) const

Definition at line 189 of file taylor_model-inl.h.

◆ operator-=() [1/2]

template<typename S >
TaylorModel< S > & fcl::TaylorModel< S >::operator-= ( const TaylorModel< S > &  other)

Definition at line 233 of file taylor_model-inl.h.

◆ operator-=() [2/2]

template<typename S >
TaylorModel< S > & fcl::TaylorModel< S >::operator-= ( d)

Definition at line 196 of file taylor_model-inl.h.

◆ print()

template<typename S >
void fcl::TaylorModel< S >::print

Definition at line 332 of file taylor_model-inl.h.

◆ remainder() [1/2]

template<typename S >
Interval<S>& fcl::TaylorModel< S >::remainder ( )

◆ remainder() [2/2]

template<typename S >
Interval< S > & fcl::TaylorModel< S >::remainder

Definition at line 114 of file taylor_model-inl.h.

◆ setTimeInterval() [1/2]

template<typename S >
void fcl::TaylorModel< S >::setTimeInterval ( const std::shared_ptr< TimeInterval< S >> &  time_interval)

◆ setTimeInterval() [2/2]

template<typename S >
void fcl::TaylorModel< S >::setTimeInterval ( l,
r 
)

Definition at line 79 of file taylor_model-inl.h.

◆ setZero()

template<typename S >
void fcl::TaylorModel< S >::setZero

Definition at line 456 of file taylor_model-inl.h.

Member Data Documentation

◆ coeffs_

template<typename S >
S fcl::TaylorModel< S >::coeffs_[4]
private

Coefficients of the cubic polynomial approximation.

Definition at line 64 of file taylor_model.h.

◆ r_

template<typename S >
Interval<S> fcl::TaylorModel< S >::r_
private

interval remainder

Definition at line 67 of file taylor_model.h.

◆ time_interval_

template<typename S >
std::shared_ptr<TimeInterval<S> > fcl::TaylorModel< S >::time_interval_
private

time interval

Definition at line 61 of file taylor_model.h.


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


fcl
Author(s):
autogenerated on Tue Dec 5 2023 03:40:50