## LMI Solvers

LMI solvers are provided for the following three generic optimization problems (here
*x* denotes the vector of decision variables, i.e., of the free
entries of the matrix variables *X*_{1}, . . . ,
*X _{K}*):

Feasibility problem

Find

*x*∊*R*(or equivalently matrices^{N}*X*_{1}, . . . ,*X*with prescribed structure) that satisfies the LMI system_{K}*A*(*x*) <*B*(*x*)The corresponding solver is called

`feasp`

.Minimization of a linear objective under LMI constraints

Minimize

*c*^{T}*x*over*x*∊*R*subject to^{N}*A*(*x*) <*B*(*x*)The corresponding solver is called

`mincx`

.Generalized eigenvalue minimization problem

Minimize λ over

*x*∊*R*subject to^{N}*C*(*x*) <*D*(*x*)0 <

*B*(*x*)*A*(*x*) < λ*B*(*x*).The corresponding solver is called

`gevp`

.

Note that *A*(*x*) <
B(*x*) above is a shorthand notation for general structured LMI
systems with decision variables *x* =
(*x*_{1}, . . . ,
*x** _{N}*).

The three LMI solvers `feasp`

, `mincx`

, and `gevp`

take as input the internal
representation `LMISYS`

of an LMI system and return a feasible or
optimizing value *x** of the decision variables. The corresponding
values of the matrix variables *X*_{1}, . . . ,
*X** _{K}* are derived from

*x** with the function

`dec2mat`

. These solvers are C-MEX implementations of the polynomial-time
Projective Algorithm Projective Algorithm of Nesterov and Nemirovski [3], [2]. For generalized eigenvalue minimization problems, it is necessary to distinguish
between the standard LMI constraints C(*x*) <
D(*x*) and the linear-fractional LMIs

A(x) < λB(x)

attached to the minimization of the generalized eigenvalue λ. When using `gevp`

, you should follow these three rules to ensure proper specification
of the problem:

Specify the LMIs involving λ as

*A*(*x*) <*B*(*x*) (*without*the λ)Specify them

*last*in the LMI system.`gevp`

systematically assumes that the last*L*LMIs are linear-fractional if*L*is the number of LMIs involving λAdd the constraint 0 <

*B*(*x*) or any other constraint that enforces it. This positivity constraint is required for well-posedness of the problem and is not automatically added by`gevp`

.

An initial guess `xinit`

for *x* can be supplied
to `mincx`

or `gevp`

. Use `mat2dec`

to derive
`xinit`

from given values of the matrix variables
*X*_{1}, . . . ,
*X** _{K}*.

The example Minimize Linear Objectives under LMI Constraints
illustrates the use of the `mincx`

solver.