MC++
Ellipsoidal Calculus and Ellipsoidal Arithmetic for Factorable Functions

Classes

class  mc::EllImg< T >::Exceptions
 Exceptions of mc::EllImg. More...
 
struct  mc::Ellipsoid::Options
 Ellipsoid options. More...
 

Functions

Ellipsoid & mc::Ellipsoid::operator+= (const CPPL::dcovector &d)
 Given vector \(d\in\mathbb R^n\) and ellipsoid \(\mathcal E\in \mathbb R^n\), returns \((\mathcal E + d)\).
 
Ellipsoid & mc::Ellipsoid::operator-= (const CPPL::dcovector &d)
 Given vector \(d\in\mathbb R^n\) and ellipsoid \(\mathcal E\in \mathbb R^n\), returns \((\mathcal E - d)\).
 
Ellipsoid & mc::Ellipsoid::operator= (const Ellipsoid &E)
 Assignment operator.
 
 mc::Ellipsoid::Ellipsoid ()
 Default constructor (needed to declare arrays of Ellipsoid class)
 
 mc::Ellipsoid::Ellipsoid (const CPPL::dsymatrix &Q, const CPPL::dcovector &c=CPPL::dcovector())
 Constructor for ellipsoid of dimension \(n\) with center \(c\) and shape matrix \(Q\).
 
 mc::Ellipsoid::Ellipsoid (const unsigned int n, const double *Q, const double *c=0)
 Constructor for ellipsoid of dimension \(n\) with center \(c\) and shape matrix \(Q\) (lower triangular part stored contiguously and columnwise)
 
 mc::Ellipsoid::Ellipsoid (const CPPL::dcovector &r, const CPPL::dcovector &c=CPPL::dcovector())
 Constructor for ellipsoid of dimension \(n\) enclosing interval vector of radius \(r\) centered at \(c\).
 
 mc::Ellipsoid::Ellipsoid (const Ellipsoid &E)
 Copy constructor.
 
virtual mc::Ellipsoid::~Ellipsoid ()
 Destructor.
 
Ellipsoid & mc::Ellipsoid::set (const CPPL::dsymatrix &Q=CPPL::dsymatrix(), const CPPL::dcovector &c=CPPL::dcovector())
 Define ellipsoid of dimension \(n\) with center \(c\) and shape matrix \(Q\).
 
Ellipsoid & mc::Ellipsoid::set (const unsigned int n, const double *Q, const double *c=0)
 Define ellipsoid of dimension \(n\) with center \(c\) and shape matrix \(Q\) (lower triangular part stored contiguously and columnwise)
 
Ellipsoid & mc::Ellipsoid::set (const CPPL::dcovector &r, const CPPL::dcovector &c=CPPL::dcovector())
 Define ellipsoid of dimension \(n\) enclosing interval vector of radius \(r\) centered at \(c\).
 
template<typename T >
Ellipsoid & mc::Ellipsoid::set (const unsigned n, const T *B)
 Define ellipsoid of dimension \(n\) enclosing interval vector of radius \(r\) centered at \(c\).
 
Ellipsoid & mc::Ellipsoid::reset ()
 Reset ellipsoid.
 
Ellipsoid & mc::Ellipsoid::extend (const CPPL::drovector &Qi, const double &ci=0.)
 Extend dimension by one, by appending row Qi to shape matrix and entry ci to center.
 
Ellipsoid mc::Ellipsoid::O () const
 Recenter ellipsoid at the origin by canceling out the centre.
 
unsigned int mc::Ellipsoid::n () const
 Return dimension of ellipsoid.
 
const CPPL::dcovector & mc::Ellipsoid::c () const
 Return center of ellipsoid.
 
CPPL::dcovector & mc::Ellipsoid::c ()
 Return center of ellipsoid.
 
double mc::Ellipsoid::c (unsigned int i) const
 Return center coefficient.
 
const CPPL::dsymatrix & mc::Ellipsoid::Q () const
 Return shape matrix of ellipsoid.
 
double mc::Ellipsoid::Q (unsigned int i, unsigned int j) const
 Return shape matrix coefficient.
 
double & mc::Ellipsoid::Q (unsigned int i, unsigned int j)
 Return/set shape matrix coefficient.
 
double mc::Ellipsoid::trQ () const
 Return trace of shape matrix.
 
const std::pair
< CPPL::dcovector,
CPPL::dgematrix > & 
mc::Ellipsoid::eigQ ()
 Return eigenvalues and eigenvectors of shape matrix.
 
bool mc::Ellipsoid::psdQ ()
 Return square root of shape matrix.
 
const CPPL::dsymatrix & mc::Ellipsoid::sqrtQ (const bool complete=false)
 Return square root of shape matrix.
 
unsigned int mc::Ellipsoid::rankQ ()
 Return rank of shape matrix.
 
const std::pair
< CPPL::dcovector, std::pair
< CPPL::dgematrix,
CPPL::dgematrix > > & 
mc::Ellipsoid::svdQ ()
 Return singular value decomposition of shape matrix.
 
const CPPL::dsymatrix & mc::Ellipsoid::regQ ()
 Return pointer to regularized shape matrix.
 
const CPPL::dsymatrix & mc::Ellipsoid::invQ ()
 Return pointer to inverse shape matrix.
 
CPPL::dgematrix mc::Ellipsoid::align (const CPPL::dcovector &v, const CPPL::dcovector &x) const
 Computes an orthogonal matrix rotating the vector x so that it is parallel to the vector v
 
double mc::Ellipsoid::l (const unsigned int i) const
 Return lower bound for \(x_i\) for index \(i\in\{0,...,n-1\}\).
 
double mc::Ellipsoid::u (const unsigned int i) const
 Return upper bound for \(x_i\) for index \(i\in\{0,...,n-1\}\).
 
double mc::Ellipsoid::r (const unsigned int i) const
 Return maximum radius for \(x_i\) for index \(i\in\{0,...,n-1\}\).
 
CPPL::dssmatrix mc::EllImg< T >::Q_lift ()
 Returns the shape matrix of the lifted Ellipsoid.
 
CPPL::dcovector mc::EllImg< T >::c_lift ()
 Returns the centre of the lifted Ellipsoid.
 
 mc::EllImg< T >::EllImg ()
 Default constructor.
 
 mc::EllImg< T >::EllImg (const CPPL::dsymatrix &Q, const CPPL::dcovector &c=CPPL::dcovector(), const CPPL::dssmatrix &depmap=CPPL::dssmatrix())
 Constructor for ellipsoid with shape matrix \(Q\) and center \(c\).
 
 mc::EllImg< T >::EllImg (const unsigned int n, const double *Q, const double *c=0, const CPPL::dssmatrix &depmap=CPPL::dssmatrix())
 Constructor for ellipsoid of dimension \(n\) with shape matrix \(Q\) (lower triangular part stored contiguously and columnwise) and center \(c\).
 
 mc::EllImg< T >::EllImg (const CPPL::dcovector &r, const CPPL::dcovector &c=CPPL::dcovector(), const CPPL::dssmatrix &depmap=CPPL::dssmatrix())
 Constructor for ellipsoid enclosing interval vector of radius \(r\) centered at \(c\).
 
 mc::EllImg< T >::EllImg (const EllImg< T > &E)
 Copy constructor.
 
virtual mc::EllImg< T >::~EllImg ()
 Destructor.
 
EllImg< T > & mc::EllImg< T >::set (const EllImg< T > &E)
 Set an ellipsoid identical to E
 
EllImg< T > & mc::EllImg< T >::set (const CPPL::dsymatrix &Q, const CPPL::dcovector &c=CPPL::dcovector(), const CPPL::dssmatrix &depmap=CPPL::dssmatrix())
 Set an ellipsoid with shape matrix \(Q\) and center \(c\).
 
EllImg< T > & mc::EllImg< T >::set (const unsigned int n, const double *Q, const double *c=0, const CPPL::dssmatrix &depmap=CPPL::dssmatrix())
 Set an ellipsoid of dimension \(n\) with shape matrix \(Q\) (lower triangular part stored contiguously and columnwise) and center \(c\).
 
EllImg< T > & mc::EllImg< T >::set (const CPPL::dcovector &r, const CPPL::dcovector &c=CPPL::dcovector(), const CPPL::dssmatrix &depmap=CPPL::dssmatrix())
 Set an ellipsoidal enclosing interval vector of radius \(r\) centered at \(c\).
 
EllImg< T > & mc::EllImg< T >::reset ()
 Reset ellipsoidal image to underlying defining ellipsoid.
 
EllImg< T > mc::EllImg< T >::get (unsigned nvar, EllVar< T > *var)
 Get projection of lifted ellipsoid on variables var
 
std::ostream & mc::EllImg< T >::output (std::ostream &os=std::cout)
 Output lifted ellipsoid to os
 
 mc::EllVar< T >::EllVar ()
 Default constructor.
 
 mc::EllVar< T >::EllVar (const EllVar< T > &)
 Copy constructor.
 
 mc::EllVar< T >::EllVar (const double d)
 Constructor for constants.
 
 mc::EllVar< T >::EllVar (const T &)
 Constructor for intervals.
 
 mc::EllVar< T >::EllVar (const double l, const double u)
 Constructor for intervals.
 
 mc::EllVar< T >::EllVar (EllImg< T > &, const unsigned)
 Constructor for variable in ellipsoidal image.
 
 mc::EllVar< T >::EllVar (EllImg< T > &, const unsigned, const T &)
 Constructor for variable in ellipsoidal image with tailored range.
 
virtual mc::EllVar< T >::~EllVar ()
 Destructor.
 
EllVar< T > & mc::EllVar< T >::set (EllImg< T > &EI, const unsigned i)
 set variable the ellipsoidal image environment
 
EllVar< T > & mc::EllVar< T >::set (EllImg< T > &EI, const unsigned i, const T &Irange)
 set variable in ellipsoidal image environment and tailored range
 
mc::EllVar< T >::range () const
 get variable range
 
EllImg< T > * mc::EllVar< T >::image () const
 get pointer to ellipsoidal image
 
long mc::EllVar< T >::index () const
 get pointer to row index
 

Detailed Description