EllCore class
#include <ellalgo/ell_core.hpp>
Ellipsoid Search Space Core.
Without the knowledge of the type of xc
\mathcal{E} {x | (x - xc)' mq^-1 (x - xc) \le \kappa}
Constructors, destructors, conversion operators
Public functions
- auto copy() const -> EllCore -> auto
- explicitly copy
- auto tsq() const -> double -> auto
- void set_use_parallel_cut(bool value)
-
template<typename T>auto update_bias_cut(Vec& grad, const T& beta) -> CutStatus -> auto
- Update ellipsoid core function using the deep cut(s)
-
template<typename T>auto update_central_cut(Vec& grad, const T& beta) -> CutStatus -> auto
- Update ellipsoid core function using the central cut(s)
-
template<typename T>auto update_q(Vec& grad, const T& beta) -> CutStatus -> auto
- Update ellipsoid core function using the cut(s)
-
template<typename T>auto update_stable_bias_cut(Vec& grad, const T& beta) -> CutStatus -> auto
- Update ellipsoid core function using the deep cut(s)
-
template<typename T>auto update_stable_central_cut(Vec& grad, const T& beta) -> CutStatus -> auto
- Update ellipsoid core function using the central cut(s)
-
template<typename T>auto update_stable_q(Vec& grad, const T& beta) -> CutStatus -> auto
- Update ellipsoid core function using the cut(s)
Public variables
- bool no_defer_trick
Function documentation
EllCore:: EllCore(const Vec& val,
size_t ndim)
Parameters | |
---|---|
val in | The parameter val is a reference to a Vec object, which represents a vector of values. It is used to initialize the diagonal elements of the _mq matrix in the EllCore object. |
ndim in | The parameter ndim represents the number of dimensions for the EllCore object. |
The function constructs a new EllCore object with a given value and dimension.
EllCore:: EllCore(double alpha,
size_t ndim)
Construct a new EllCore object.
Parameters | |
---|---|
alpha in | The alpha parameter is a double value that represents the scaling factor for the EllCore object. It is used to adjust the size of the ellipsoid. |
ndim in | The parameter ndim represents the number of dimensions for the EllCore object. It specifies the size of the matrix used in the construction of the object. |
The function constructs a new EllCore object with a given alpha and ndim, and initializes the matrix _mq to an identity matrix.
auto EllCore:: tsq() const -> double
Returns | double |
---|
void EllCore:: set_use_parallel_cut(bool value)
Parameters | |
---|---|
value in | The value parameter is a boolean value that determines whether or not to use parallel cut. |
The function sets the value of the use_parallel_cut property in the _mgr object.
template<typename T>
auto EllCore:: update_bias_cut(Vec& grad,
const T& beta) -> CutStatus
Update ellipsoid core function using the deep cut(s)
Template parameters | |
---|---|
T | |
Parameters | |
grad in | gradient |
beta in | |
Returns | CutStatus |
The update_bias_cut
function is a member function of the EllCore
class. It is used to update the ellipsoid core function using a cutting plane.
template<typename T>
auto EllCore:: update_central_cut(Vec& grad,
const T& beta) -> CutStatus
Update ellipsoid core function using the central cut(s)
Template parameters | |
---|---|
T | |
Parameters | |
grad in | gradient |
beta in | |
Returns | CutStatus |
The update_central_cut
function is a member function of the EllCore
class. It is used to update the ellipsoid core function using a cutting plane.
template<typename T>
auto EllCore:: update_q(Vec& grad,
const T& beta) -> CutStatus
Update ellipsoid core function using the cut(s)
Template parameters | |
---|---|
T | |
Parameters | |
grad in | gradient |
beta in | |
Returns | CutStatus |
The update_q
function is a member function of the EllCore
class. It is used to update the ellipsoid core function using a cutting plane.
template<typename T>
auto EllCore:: update_stable_bias_cut(Vec& grad,
const T& beta) -> CutStatus
Update ellipsoid core function using the deep cut(s)
Template parameters | |
---|---|
T | |
Parameters | |
grad in | gradient |
beta in | |
Returns | CutStatus |
The update_stable_bias_cut
function is a member function of the EllCore
class. It is used to update the ellipsoid core function using a cutting plane.
template<typename T>
auto EllCore:: update_stable_central_cut(Vec& grad,
const T& beta) -> CutStatus
Update ellipsoid core function using the central cut(s)
Template parameters | |
---|---|
T | |
Parameters | |
grad in | gradient |
beta in | |
Returns | CutStatus |
The update_stable_central_cut
function is a member function of the EllCore
class. It is used to update the ellipsoid core function using a cutting plane.
template<typename T>
auto EllCore:: update_stable_q(Vec& grad,
const T& beta) -> CutStatus
Update ellipsoid core function using the cut(s)
Template parameters | |
---|---|
T | |
Parameters | |
grad in | gradient |
beta in | |
Returns | CutStatus |
The update_stable_q
function is a member function of the EllCore
class. It is used to update the ellipsoid core function using a cutting plane.