|
EllAlgo 1.6.13
|
Ellipsoid Search Space. More...
#include <ell_calc_core.hpp>
Ellipsoid Search Space.
EllCalcCore = {x | (x - xc)' mq^-1 (x - xc) ≤ κ}
Keep $Q$ symmetric but no promise of positive definite
Constructor for EllCalcCore class. Initializes member variables based on input ndim.
Example: EllCalcCore E(2);
| [in] | ndim | Number of dimensions for EllCalcCore object. |
|
defaultnoexcept |
|
defaultnoexcept |
Move constructor for EllCalcCore.
This is a move constructor that allows EllCalcCore objects to be efficiently moved instead of copied. It takes an rvalue reference to another EllCalcCore object and steals its resources.
| [in] | E | An rvalue reference to the EllCalcCore object being moved. |
|
defaultnoexcept |
Copy constructor for EllCalcCore.
Allows copying an existing EllCalcCore object into a new EllCalcCore object. The new object will be an exact copy of the original.
| [in] | E | The EllCalcCore object to copy. |
|
inlinenoexcept |
Compute new ellipsoid parameters for bias (deep) cut.
Single constraint with bias:
\[ g^T (x - x_c) + \beta \le 0, \qquad \beta \ge 0 \]
With \(\eta = \tau + n\beta\), the update is:
\[ \rho = \frac{2\beta}{n+1}, \quad \sigma = \frac{n^2}{n^2-1}\Bigl(1 - \frac{\eta^2}{n\tau^2}\Bigr), \quad \delta = \frac{n^2}{n^2-1}\Bigl(1 - \frac{\eta^2}{\tau^2}\Bigr) \]
Delegates to calc_bias_cut_fast().
| [in] | beta | Bias parameter (≥ 0) |
| [in] | tau | Square root of τ² (i.e. the ellipsoid radius) |
|
noexcept |
Fast bias cut computation with pre-computed eta.
Uses pre-computed \(\eta = \tau + n\beta\) to directly compute:
\[ \rho = \frac{2\beta}{n+1}, \qquad \sigma = \frac{n^2}{n^2-1}\Bigl(1 - \frac{\eta^2}{n\tau^2}\Bigr), \qquad \delta = \frac{n^2}{n^2-1}\Bigl(1 - \frac{\eta^2}{\tau^2}\Bigr) \]
| [in] | beta | Bias parameter |
| [in] | tau | Ellipsoid radius |
| [in] | eta | Intermediate value (tau + n × beta) |
|
noexcept |
Compute new ellipsoid parameters for central cut.
A central cut through the ellipsoid center:
\[ g^T (x - x_c) \le 0 \]
The update formulas are:
\[ \rho = \frac{1}{n+1}, \qquad \sigma = \frac{n^2}{n^2-1}, \qquad \delta = \frac{n^2}{n^2-1} \]
where \(n\) is the dimension and \(\tau\) is the ellipsoid radius. The cut passes through the ellipsoid center, making \(\beta = 0\).
| [in] | tau | Ellipsoid radius (τ) |
|
noexcept |
Compute new ellipsoid parameters for parallel central cut.
One central cut through the center plus one parallel constraint:
\[ g^T (x - x_c) \le 0 \quad\text{and}\quad g^T (x - x_c) + \beta_1 \ge 0 \]
| [in] | beta1 | Upper bound of the parallel constraint |
| [in] | tsq | Squared ellipsoid radius τ² |
|
inlinenoexcept |
Compute new ellipsoid parameters for parallel bias cut.
Two parallel constraints:
\[ \beta_0 \le g^T (x - x_c) \le \beta_1 \]
Computes intermediate values \(b_0 b_1\) and \(\eta = \tau^2 + n b_0 b_1\), then delegates to calc_parallel_cut_fast().
| [in] | beta0 | Lower bound of the parallel cut |
| [in] | beta1 | Upper bound of the parallel cut |
| [in] | tsq | Squared ellipsoid radius τ² |
|
noexcept |
Fast parallel cut computation with pre-computed values.
Uses pre-computed b0b1 and eta to compute rho, sigma, delta for parallel bias cuts without re-computing intermediates.
| [in] | beta0 | First parallel cut parameter |
| [in] | beta1 | Second parallel cut parameter |
| [in] | tsq | Squared tau (τ²) |
| [in] | b0b1 | Product beta0 × beta1 |
| [in] | eta | Intermediate value (tsq + n × b0b1) |
|
noexcept |
|
defaultnoexcept |
|
defaultnoexcept |