|
EllAlgo 1.6.13
|
Ellipsoid Search Space (stable strategy) More...
#include <ell_stable.hpp>
Public Types | |
| using | Vec = std::valarray< double > |
| using | ArrayType = Arr |
Public Types inherited from EllBase< Arr, true > | |
| using | Vec = std::valarray< double > |
| using | ArrayType = Arr |
Public Member Functions | |
| EllStable (const Vec &val, Arr x) | |
| Construct from a diagonal vector and a center point (moved in). | |
| EllStable (const double alpha, Arr x) | |
| Construct from a scaling factor and a center point (moved in). | |
| EllStable (EllStable &&E) noexcept=default | |
| Move constructor. | |
| auto | operator= (EllStable &&) noexcept -> EllStable &=default |
| Move assignment operator. | |
| ~EllStable ()=default | |
| Destructor. | |
| EllStable (const EllStable &E)=default | |
| Explicit copy constructor. | |
| auto | operator= (const EllStable &E) -> EllStable &=delete |
| Deleted copy assignment operator (non-copyable). | |
| auto | copy () const -> EllStable |
| Explicitly copy the EllStable object. | |
Public Member Functions inherited from EllBase< Arr, true > | |
| auto | operator= (EllBase &&E) noexcept -> EllBase &=default |
| Move assignment operator. | |
| EllBase (const Vec &val, Arr x) | |
| Construct a new EllBase object from a vector and an array. | |
| EllBase (const double alpha, Arr x) | |
| Construct a new EllBase object from an alpha value and an array. | |
| EllBase (EllBase &&E) noexcept=default | |
| Construct a new EllBase object (move constructor) | |
| EllBase (const EllBase &E)=default | |
| Construct a new EllBase object (explicit copy) | |
| ~EllBase ()=default | |
| Destroy the EllBase object. | |
| auto | xc () const -> Arr |
| Get the center of the ellipsoid. | |
| void | set_xc (const Arr &xc) |
| Set the center of the ellipsoid. | |
| constexpr auto | tsq () const -> double |
| Get the squared radius of the ellipsoid. | |
| void | set_use_parallel_cut (bool value) |
| Set whether to use parallel cut. | |
| auto | update_bias_cut (const std::pair< Arr, T > &cut) -> CutStatus |
| Update ellipsoid using a deep cut. | |
| auto | update_central_cut (const std::pair< Arr, T > &cut) -> CutStatus |
| Update ellipsoid using a central cut. | |
| auto | update_q (const std::pair< Arr, T > &cut) -> CutStatus |
| Update ellipsoid using a cut with a specific Q matrix. | |
Static Public Member Functions | |
| static auto | from_radii (const Vec &val, Arr x) -> EllStable |
| Named constructor: initial ellipsoid from per-axis radii. | |
| static auto | from_alpha (const double alpha, Arr x) -> EllStable |
| Named constructor: initial ellipsoid from a scaling factor. | |
Additional Inherited Members | |
Protected Member Functions inherited from EllBase< Arr, true > | |
| auto | operator= (const EllBase &E) -> EllBase &=delete |
| Deleted copy assignment operator (non-copyable). | |
| auto | _update_core (const std::pair< Arr, T > &cut, Fn &&cut_strategy) -> CutStatus |
| Update ellipsoid core function using the cut(s). | |
Protected Attributes inherited from EllBase< Arr, true > | |
| size_t | _n |
| Arr | _xc |
| EllCore | _mgr |
Ellipsoid Search Space (stable strategy)
Concrete strategy of EllBase with the numerically-stable LDL^T update: EllCore::update_stable_* is used for cutting-plane updates.
\[ \mathcal{E} = \{x \mid (x - x_c)^T Q^{-1} (x - x_c) \le \kappa\} \]
| Arr | Array type of the center point |
Construct from a diagonal vector and a center point (moved in).
Construct from a scaling factor and a center point (moved in).
Move constructor.
Explicit copy constructor.
Deleted copy assignment operator (non-copyable).
Move assignment operator.