hops
Public Member Functions | Static Public Member Functions | Friends | List of all members
hops::MaximumVolumeEllipsoid< RealType > Class Template Reference

[Deprectated] Use PolyRound (https://gitlab.com/csb.ethz/PolyRound) for effective and efficient rounding. More...

#include <MaximumVolumeEllipsoid.hpp>

Collaboration diagram for hops::MaximumVolumeEllipsoid< RealType >:
Collaboration graph

Public Member Functions

 MaximumVolumeEllipsoid (const MaximumVolumeEllipsoid &)=default
 
 MaximumVolumeEllipsoid (MaximumVolumeEllipsoid &&) noexcept=default
 
MaximumVolumeEllipsoidoperator= (const MaximumVolumeEllipsoid &)=default
 
Eigen::Matrix< RealType, Eigen::Dynamic, 1 > applyRoundingTransformation (Eigen::Matrix< RealType, Eigen::Dynamic, 1 > &x)
 Transforms vector x to the rounded space. More...
 
RealType computeVolume () const
 
const Eigen::Matrix< RealType, Eigen::Dynamic, Eigen::Dynamic > & getRoundingTransformation () const
 
const Eigen::Matrix< RealType, Eigen::Dynamic, 1 > & getCenter () const
 
Eigen::Matrix< RealType, Eigen::Dynamic, Eigen::Dynamic > getEllipsoid () const
 
bool hasConverged () const
 
size_t getNumberOfIterations () const
 
RealType getCurrentError () const
 
RealType getTolerance () const
 

Static Public Member Functions

static MaximumVolumeEllipsoid construct (const Eigen::Matrix< RealType, Eigen::Dynamic, Eigen::Dynamic > &A, const Eigen::Matrix< RealType, Eigen::Dynamic, 1 > &b, size_t maximumNumberOfIterationsToRun, const Eigen::Matrix< RealType, Eigen::Dynamic, 1 > &startingPoint, RealType tolerance=1e-6)
 
static MaximumVolumeEllipsoid construct (const Eigen::Matrix< RealType, Eigen::Dynamic, Eigen::Dynamic > &A, const Eigen::Matrix< RealType, Eigen::Dynamic, 1 > &b, size_t maximumNumberOfIterationsToRun, RealType tolerance=1e-6)
 

Friends

template<typename Derived >
std::ostream & operator<< (std::ostream &out, const MaximumVolumeEllipsoid< Derived > &maximumVolumeEllipsoid)
 
template<typename Derived >
void swap (MaximumVolumeEllipsoid< Derived > &first, MaximumVolumeEllipsoid< Derived > &second)
 

Detailed Description

template<typename RealType>
class hops::MaximumVolumeEllipsoid< RealType >

[Deprectated] Use PolyRound (https://gitlab.com/csb.ethz/PolyRound) for effective and efficient rounding.

Deprecated:
This class is known to be ineffective for a wide class of models.

Reference: Zhang, Y., & Gao, L. (2003): On Numerical Solution of the Maximum Volume Ellipsoid Problem. SIAM Journal on Optimization, 14(1), 53–76. doi:10.1137/S1052623401397230

Implementation initially ported from Matlab to C++ by Samuel Leweke (2013).

Constructor & Destructor Documentation

◆ MaximumVolumeEllipsoid() [1/2]

template<typename RealType >
hops::MaximumVolumeEllipsoid< RealType >::MaximumVolumeEllipsoid ( const MaximumVolumeEllipsoid< RealType > &  )
default

◆ MaximumVolumeEllipsoid() [2/2]

template<typename RealType >
hops::MaximumVolumeEllipsoid< RealType >::MaximumVolumeEllipsoid ( MaximumVolumeEllipsoid< RealType > &&  )
defaultnoexcept

Member Function Documentation

◆ applyRoundingTransformation()

template<typename RealType >
Eigen::Matrix< RealType, Eigen::Dynamic, 1 > hops::MaximumVolumeEllipsoid< RealType >::applyRoundingTransformation ( Eigen::Matrix< RealType, Eigen::Dynamic, 1 > &  x)

Transforms vector x to the rounded space.

Parameters
x
Returns

◆ computeVolume()

template<typename RealType >
RealType hops::MaximumVolumeEllipsoid< RealType >::computeVolume

◆ construct() [1/2]

template<typename RealType >
hops::MaximumVolumeEllipsoid< RealType > hops::MaximumVolumeEllipsoid< RealType >::construct ( const Eigen::Matrix< RealType, Eigen::Dynamic, Eigen::Dynamic > &  A,
const Eigen::Matrix< RealType, Eigen::Dynamic, 1 > &  b,
size_t  maximumNumberOfIterationsToRun,
const Eigen::Matrix< RealType, Eigen::Dynamic, 1 > &  startingPoint,
RealType  tolerance = 1e-6 
)
static

◆ construct() [2/2]

template<typename RealType >
hops::MaximumVolumeEllipsoid< RealType > hops::MaximumVolumeEllipsoid< RealType >::construct ( const Eigen::Matrix< RealType, Eigen::Dynamic, Eigen::Dynamic > &  A,
const Eigen::Matrix< RealType, Eigen::Dynamic, 1 > &  b,
size_t  maximumNumberOfIterationsToRun,
RealType  tolerance = 1e-6 
)
static

◆ getCenter()

template<typename RealType >
const Eigen::Matrix< RealType, Eigen::Dynamic, 1 > & hops::MaximumVolumeEllipsoid< RealType >::getCenter

◆ getCurrentError()

template<typename RealType >
RealType hops::MaximumVolumeEllipsoid< RealType >::getCurrentError

◆ getEllipsoid()

template<typename RealType >
Eigen::Matrix< RealType, Eigen::Dynamic, Eigen::Dynamic > hops::MaximumVolumeEllipsoid< RealType >::getEllipsoid

◆ getNumberOfIterations()

template<typename RealType >
size_t hops::MaximumVolumeEllipsoid< RealType >::getNumberOfIterations

◆ getRoundingTransformation()

template<typename RealType >
const Eigen::Matrix< RealType, Eigen::Dynamic, Eigen::Dynamic > & hops::MaximumVolumeEllipsoid< RealType >::getRoundingTransformation

◆ getTolerance()

template<typename RealType >
RealType hops::MaximumVolumeEllipsoid< RealType >::getTolerance

◆ hasConverged()

template<typename RealType >
bool hops::MaximumVolumeEllipsoid< RealType >::hasConverged

◆ operator=()

template<typename RealType >
MaximumVolumeEllipsoid& hops::MaximumVolumeEllipsoid< RealType >::operator= ( const MaximumVolumeEllipsoid< RealType > &  )
default

Friends And Related Function Documentation

◆ operator<<

template<typename RealType >
template<typename Derived >
std::ostream& operator<< ( std::ostream &  out,
const MaximumVolumeEllipsoid< Derived > &  maximumVolumeEllipsoid 
)
friend

◆ swap

template<typename RealType >
template<typename Derived >
void swap ( hops::MaximumVolumeEllipsoid< Derived > &  first,
hops::MaximumVolumeEllipsoid< Derived > &  second 
)
friend

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