template<typename Arr036>
QmiOracle class

Oracle for Quadratic Matrix Inequality.

This oracle solves the following feasibility problem:

find  x
s.t.  t * I - F(x)' F(x) >= 0

where

F(x) = F0 - (F1 * x1 + F2 * x2 + ...)

Constructors, destructors, conversion operators

QmiOracle(const std::vector<Arr036>& F, Arr036 F0)
Construct a new quadratic matrix inequality oracle object.

Public functions

auto update(double t) -> void -> auto
Update t.
auto assess_feas(const Arr036& x) -> std::optional< Cut > -> auto

Public variables

const size_t _m
LDLTMgr _mq

Function documentation

template<typename Arr036>
QmiOracle<Arr036>::QmiOracle(const std::vector<Arr036>& F, Arr036 F0)

Construct a new quadratic matrix inequality oracle object.

Parameters
in
F0 in

template<typename Arr036>
auto QmiOracle<Arr036>::update(double t) -> void

Update t.

Parameters
in the best-so-far optimal value

template<typename Arr036>
auto QmiOracle<Arr036>::assess_feas(const Arr036& x) -> std::optional< Cut >

Parameters
in
Returns std::optional<Cut>