Lmi0Oracle class
Oracle for Linear Matrix Inequality (LMI) feasibility problems.
| Template parameters | |
|---|---|
| Mat | Matrix type (defaults to Arr036) |
This oracle solves the following feasibility problem:
find x s.t. F₀ + F₁x₁ + F₂x₂ + ... + Fₙxₙ ⪯ 0
where Fᵢ are symmetric matrices and ⪯ denotes negative semidefinite. This is a fundamental problem in semidefinite programming and control theory.
Constructors, destructors, conversion operators
-
Lmi0Oracle(size_
t ndim, const std::vector<Mat>& F) - Construct a new LMI Oracle object.
Public functions
- auto assess_feas(const Arr036& x) -> Cut * -> auto
- Assess the feasibility of a given point.
- auto operator()(const Arr036& x) -> Cut * -> auto
Public variables
Function documentation
auto Lmi0Oracle<_1, Mat>:: assess_feas(const Arr036& x) -> Cut *
Assess the feasibility of a given point.
| Parameters | |
|---|---|
| x in | The point to assess feasibility |
| Returns | Pointer to cut information, or nullptr if feasible |
This method checks if the given point x satisfies the LMI constraint. If not feasible, it returns a cutting plane that separates x from the feasible region.