Class Ellipsoid

template<class Point>
class Ellipsoid

This class represents an ellipsoid parameterized by a point type

Template Parameters:

Point – Point type

Public Types

typedef Point PointType
typedef Point::FT NT
typedef std::vector<NT>::iterator viterator
typedef Eigen::Matrix<NT, Eigen::Dynamic, 1> VT
typedef Eigen::Matrix<NT, Eigen::Dynamic, Eigen::Dynamic> MT

Public Functions

inline Ellipsoid()
inline Ellipsoid(MT &Ain)
inline Ellipsoid(std::vector<std::vector<NT>> &Ain)
inline NT radius() const
inline VT eigenvalues() const
inline VT eigenvalues_inv() const
inline VT eigenvalues_inv_sqrt() const
inline MT eigenvectors() const
inline unsigned int dimensions() const
inline MT Lcov() const
inline VT mult_Lcov(VT const &x) const
inline void print() const
inline NT mat_mult(Point const &p) const
inline VT vec_mult(VT const &b) const
inline NT log_volume() const
inline void scale(NT scale_factor)
inline int is_in(Point const &p) const
inline std::pair<NT, NT> line_intersect(Point const &r, Point const &v) const
inline std::pair<NT, NT> line_intersect(Point const &r, Point const &v, const VT &Ar, const VT &Av) const
inline std::pair<NT, NT> line_intersect(Point const &r, Point const &v, VT &Ar, VT &Av, NT &lambda_prev) const
inline std::pair<NT, int> line_positive_intersect(Point const &r, Point const &v) const
inline std::pair<NT, int> line_positive_intersect(Point const &r, Point const &v, VT &Ar, VT &Av) const
inline std::pair<NT, int> line_positive_intersect(Point const &r, Point const &v, VT &Ar, VT &Av, NT const &lambda_prev) const
inline std::pair<NT, NT> line_intersect_coord(Point const &r, const unsigned int rand_coord) const
inline std::pair<NT, NT> line_intersect_coord(Point const &r, unsigned int const &rand_coord, VT &lamdas) const
inline std::pair<NT, NT> line_intersect_coord(Point const &r, Point const &r_prev, unsigned int const &rand_coord, unsigned int const &rand_coord_prev, VT &lamdas) const
inline void compute_reflection(Point &v, Point const &p) const
template<typename update_parameters>
inline void compute_reflection(Point &v, Point const &p, update_parameters &params) const