codac 2.0.0
|
Base class for projection-related operations. More...
#include <codac2_ProjBase.h>
Protected Member Functions | |
ProjBase (const std::vector< Index > &proj_indices, const IntervalVector &y, double default_eps=0.01) | |
Constructs a ProjBase object. | |
IntervalVector | extract_x (const IntervalVector &w) const |
Extracts the projected subvector \(\mathbf{x}\) from a full vector \(\mathbf{w}\in\mathbb{R}^n\). | |
IntervalVector | extract_y (const IntervalVector &w) const |
Extracts the complementary subvector \(\mathbf{y}\) from a full vector \(\mathbf{w}\in\mathbb{R}^n\). | |
IntervalVector | cart_prod_xy (const IntervalVector &x, const IntervalVector &y) const |
Returns a full vector of dimension \(n\) by merging the two input sub-vectors x and y , according to the projection index sets _xi and _y . The values from x are placed at the positions specified by _xi , and the values from y fill the remaining positions. | |
Index | y_max_diam_index (const IntervalVector &y) const |
Returns the component in \(\{0, \dots, n-1\}\) with the largest diameter, among the components of the complementary projection. | |
Base class for projection-related operations.
ProjBase
provides common utilities for projection operators such as CtcProj
and SepProj
. It handles the decomposition and reconstruction of boxes based on a projection index set \(x_i\in\{0, \dots, n-1\}\).
Used internally by projection contractors and separators to manage subspaces efficiently.
|
protected |
Constructs a ProjBase
object.
Initializes the projection index set \(x_i\) and the complementary vector \(\mathbf{y}\) in a space of dimension \(n\).
proj_indices | Indices \(x_i\) of the projected components (kept in \(\mathbf{x}\)). |
y | Interval vector for the non-projected components. |
default_eps | Default epsilon used to explore along the y-column to be projected. |
|
protected |
Extracts the projected subvector \(\mathbf{x}\) from a full vector \(\mathbf{w}\in\mathbb{R}^n\).
Given a full vector \(\mathbf{w}\in\mathbb{R}^n\) and a set of projection indices \(x_i\in\subset\{0, \dots, n-1\}\), this function extracts the components of \(\mathbf{w}\) whose indices belong to \(x_i\).
w | The full input vector \(\mathbf{w}\in\mathbb{R}^n\). |
extract_y()
.
|
protected |
Extracts the complementary subvector \(\mathbf{y}\) from a full vector \(\mathbf{w}\in\mathbb{R}^n\).
Given a full vector \(\mathbf{w}\in\mathbb{R}^n\) and a set of projection indices \(x_i\in\{0, \dots, n-1\}\), this function extracts the components of \(\mathbf{w}\) that are not in the projection (i.e., whose indices are in the complement of \(x_i\)).
w | The full input vector \(\mathbf{w}\in\mathbb{R}^n\). |
extract_x()
.
|
protected |
Returns a full vector of dimension \(n\) by merging the two input sub-vectors x
and y
, according to the projection index sets _xi
and _y
. The values from x
are placed at the positions specified by _xi
, and the values from y
fill the remaining positions.
x.size() == _xi.size()
y.size() == _y.size()
x | IntervalVector containing the components corresponding to _xi . |
y | IntervalVector containing the remaining components. |
IntervalVector
the full reconstructed vector of dimension \(n\), combining x
and y
.
|
protected |
Returns the component in \(\{0, \dots, n-1\}\) with the largest diameter, among the components of the complementary projection.
y | The subvector \(\mathbf{y}\) (complement of the projection). |