1 #ifndef HOPS_MAXIMUMVOLUMEELLIPSOID_HPP
2 #define HOPS_MAXIMUMVOLUMEELLIPSOID_HPP
9 template<
typename RealType>
36 [[nodiscard]] Eigen::Matrix<RealType, Eigen::Dynamic, 1>
43 [[nodiscard]]
const Eigen::Matrix<RealType, Eigen::Dynamic, 1> &
getCenter()
const;
45 [[nodiscard]] Eigen::Matrix<RealType, Eigen::Dynamic, Eigen::Dynamic>
getEllipsoid()
const;
56 construct(
const Eigen::Matrix<RealType, Eigen::Dynamic, Eigen::Dynamic> &A,
57 const Eigen::Matrix<RealType, Eigen::Dynamic, 1> &b,
58 size_t maximumNumberOfIterationsToRun,
59 const Eigen::Matrix<RealType, Eigen::Dynamic, 1> &startingPoint,
60 RealType tolerance = 1e-6);
63 construct(
const Eigen::Matrix<RealType, Eigen::Dynamic, Eigen::Dynamic> &A,
64 const Eigen::Matrix<RealType, Eigen::Dynamic, 1> &b,
65 size_t maximumNumberOfIterationsToRun,
66 RealType tolerance = 1e-6);
68 template<
typename Derived>
73 template<
typename Derived>
78 Eigen::Matrix<RealType, Eigen::Dynamic, Eigen::Dynamic> roundingTransformation;
79 Eigen::Matrix<RealType, Eigen::Dynamic, Eigen::Dynamic> maximumVolumeEllipsoid;
80 Eigen::Matrix<RealType, Eigen::Dynamic, 1> center;
82 size_t iterations = 0;
83 RealType currentError = 0;
84 RealType tolerance = 0;
85 bool converged =
false;
89 #endif //HOPS_MAXIMUMVOLUMEELLIPSOID_HPP