EllCalc class
#include <ellalgo/ell_calc.hpp>
Ellipsoid Search Space.
EllCalc= {x | (x - xc)' mq^-1 (x - xc) \le \kappa}
Keep $Q$ symmetric but no promise of positive definite
Constructors, destructors, conversion operators
Public functions
- auto calc_parallel_bias_cut(const double& beta0, const double& beta1, const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >> -> auto
- Calculate a new ellipsoid under a parallel cut.
- auto calc_parallel_central_cut(const double& beta1, const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >> -> auto
- Calculate new ellipsoid under Parallel Cut, one of them is central.
- auto calc_bias_cut(const double& beta, const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >> -> auto
- Calculate new ellipsoid under Deep Cut.
- auto calc_central_cut(const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >> -> auto
- Calculate new ellipsoid under Central Cut.
- auto calc_parallel_bias_cut_q(const double& beta0, const double& beta1, const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >> -> auto
- Calculate new ellipsoid under Parallel Cut.
- auto calc_bias_cut_q(const double& beta, const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >> -> auto
- Calculate new ellipsoid under Deep Cut.
Public variables
- bool use_parallel_cut
Protected variables
- const double _n_f
- const EllCalcCore _helper
Function documentation
auto EllCalc:: calc_parallel_bias_cut(const double& beta0,
const double& beta1,
const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >>
Calculate a new ellipsoid under a parallel cut.
Parameters | |
---|---|
beta0 in | |
beta1 in | |
tsq in | |
Returns | std::tuple<CutStatus, std::tuple<double, double, double>> |
g' (x - xc) + beta0 \le 0 g' (x - xc) + beta1 \ge 0
auto EllCalc:: calc_parallel_central_cut(const double& beta1,
const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >>
Calculate new ellipsoid under Parallel Cut, one of them is central.
Parameters | |
---|---|
beta1 in | |
tsq in | |
Returns | std::tuple<CutStatus, std::tuple<double, double, double>> |
g' (x - xc) \le 0 g' (x - xc) + beta1 \ge 0
auto EllCalc:: calc_bias_cut(const double& beta,
const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >>
Calculate new ellipsoid under Deep Cut.
Parameters | |
---|---|
beta in | |
tsq in | |
Returns | std::tuple<CutStatus, std::tuple<double, double, double>> |
g' (x - xc) + beta \le 0
auto EllCalc:: calc_central_cut(const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >>
Calculate new ellipsoid under Central Cut.
Parameters | |
---|---|
tsq in | |
Returns | std::tuple<CutStatus, std::tuple<double, double, double>> |
g' (x - xc) \le 0
auto EllCalc:: calc_parallel_bias_cut_q(const double& beta0,
const double& beta1,
const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >>
Calculate new ellipsoid under Parallel Cut.
Parameters | |
---|---|
beta0 in | |
beta1 in | |
tsq in | |
Returns | std::tuple<CutStatus, std::tuple<double, double, double>> |
g' (x - xc) + beta0 \le 0 g' (x - xc) + beta1 \ge 0
auto EllCalc:: calc_bias_cut_q(const double& beta,
const double& tsq) const -> std::tuple< CutStatus, std::tuple< double, double, double >>
Calculate new ellipsoid under Deep Cut.
Parameters | |
---|---|
beta in | |
tsq in | |
Returns | std::tuple<CutStatus, std::tuple<double, double, double>> |
g' (x - xc) + beta \le 0