Specifying a System of LMIs
The LMI Lab can handle any system of LMIs of the form
NT L(X1, . . . , XK) N < MT R(X1, . . . , XK) M
where
X1, . . . , XK are matrix variables with some prescribed structure
The left and right outer factors N and M are given matrices with identical dimensions
The left and right inner factors L(.) and R(.) are symmetric block matrices with identical block structures, each block being an affine combination of X1, . . . , XK and their transposes.
Note
Throughout this chapter, “left side” refers to what is on the “smaller” side of the inequality, and “right side” to what is on the “larger” side. Accordingly, X is called the right-hand side and 0 the left side of the LMI
0 < X
even when this LMI is written as X > 0.
The specification of an LMI system involves two steps:
Declare the dimensions and structure of each matrix variable X1, . . . , XK.
Describe the term content of each LMI.
This process creates the so-called internal representation of the
LMI system. This computer description of the problem is used by the LMI solvers and in
all subsequent manipulations of the LMI system. It is stored as a single vector called
LMISYS
.
There are two ways of generating the internal description of a given LMI system: (1)
by a sequence of lmivar
/lmiterm
commands that build it incrementally, or (2) via the LMI Editor
lmiedit
where LMIs can be specified
directly as symbolic matrix expressions. Though somewhat less flexible and powerful than
the command-based description, the LMI Editor is more straightforward to use, hence
particularly well-suited for beginners. Thanks to its coding and decoding capabilities,
it also constitutes a good tutorial introduction to lmivar
and lmiterm
. Accordingly, beginners may
elect to skip the subsections on lmivar
and lmiterm
and to concentrate on the
GUI-based specification of LMIs with lmiedit
.