Class ell_stable¶
Defined in File ell_stable.hpp
Page Contents
Inheritance Relationships¶
Base Type¶
public ell
(Class ell)
Class Documentation¶
-
class ell_stable : public ell¶
Ellipsoid Search Space.
ell_stable = {x | (x - xc)’ M^-1 (x - xc) } = {x | (x - xc)’ L D^-1 L’ (x - xc) }
Store $M$ in the form of Lg \ D^-1 \ L’ in an n x n array
Q
, and hence keep $M$ symmetric positive definite. More stable but slightly more computation.Public Types
-
using Arr = xt::xarray<double, xt::layout_type::row_major>¶
Public Functions
-
inline ell_stable(const Arr &val, Arr x) noexcept¶
Construct a new ell_stable object.
- Parameters
val – [in]
x – [in]
-
inline ell_stable(const double &alpha, Arr x) noexcept¶
Construct a new ell_stable object.
- Parameters
alpha – [in]
x – [in]
-
ell_stable(ell_stable &&E) = default¶
Construct a new ell_stable object.
- Parameters
E – [in] (move)
-
explicit ell_stable(const ell_stable &E) = default¶
Construct a new ell_stable object.
To avoid accidentally copying, only explicit copy is allowed
- Parameters
E –
-
inline ~ell_stable()¶
Destroy the ell stable object.
-
inline auto copy() const -> ell_stable¶
explicitly copy
- Returns
-
template<typename T>
auto update(const std::tuple<Arr, T> &cut) -> std::tuple<CUTStatus, double>¶ Update ellipsoid core function using the cut(s)
Overwrite the base class. Store Q^-1 in the form of LDLT decomposition, and hence guarantee Q is symmetric positive definite.
- Template Parameters
T –
- Parameters
cut – [in] cutting-plane
- Returns
std::tuple<int, double>
-
using Arr = xt::xarray<double, xt::layout_type::row_major>¶