|
EllAlgo 1.6.13
|
LMI feasibility problem facade. More...
#include <lmi_problem.hpp>
Public Member Functions | |
| LMIProblem (size_t ndim, std::vector< Mat > F, Mat B) | |
| Construct a new LMIProblem object. | |
| auto | solve_feas (const Vec &radii, Arr036 xc, const Options &options=Options()) -> std::tuple< Arr036, size_t > |
| Solve the LMI feasibility problem. | |
| auto | solve_feas (double alpha, Arr036 xc, const Options &options=Options()) -> std::tuple< Arr036, size_t > |
| Solve the LMI feasibility problem (alpha-scaled initial space). | |
LMI feasibility problem facade.
Owns the LMI data (F matrices and constant term B) and the lazily-created LmiOracle, then drives the cutting-plane method through the standard cutting_plane_feas driver. Hides the 3-step recipe (build oracle -> build search space -> call driver) behind a single call.
The LMI feasibility problem is:
find x s.t. (B - F * x) >= 0 (i.e. B - Σ F_k x_k is positive semidefinite)
| Arr036 | Array type for the decision variables |
| Mat | Matrix type (defaults to Arr036) |
|
inline |
Construct a new LMIProblem object.
| [in] | ndim | Dimension of the decision space |
| [in] | F | Vector of matrices F_i (moved in) |
| [in] | B | Constant term (moved in) |
|
inline |
Solve the LMI feasibility problem.
Builds an EllStable search space with the given per-axis radii and initial center, then runs the cutting-plane feasibility method.
| [in] | radii | Per-axis radii of the initial ellipsoid |
| [in] | xc | Initial center point (moved in) |
| [in] | options | Maximum iteration and error tolerance etc. |
|
inline |
Solve the LMI feasibility problem (alpha-scaled initial space).
| [in] | alpha | Scaling factor for the initial ellipsoid |
| [in] | xc | Initial center point (moved in) |
| [in] | options | Maximum iteration and error tolerance etc. |