Describe how entries of matrix variable *X* relate
to decision variables

decinfo(lmisys) decX = decinfo(lmisys,X)

```
The function decinfo
expresses the entries of a matrix variable
```

*X* in
terms of the decision variables *x*_{1},
. . ., *x _{N}*. Recall that the
decision variables are the free scalar variables of the problem, or
equivalently, the free entries of all matrix variables described in

`lmisys`

.
Each entry of If `X`

is the identifier of *X* supplied
by `lmivar`

, the command

decX = decinfo(lmisys,X)

returns an integer matrix `decX`

of the same
dimensions as *X* whose (*i, j*)
entry is

0 if

*X*(*i, j*) is a hard zero*n*if*X*(*i, j*) =*x*(the_{n}*n*-th decision variable)–

*n*if*X*(*i, j*) = –*x*_{n}

`decX`

clarifies the structure
of *X* as well as its entry-wise dependence on *x*_{1},
. . ., *x _{N}*. This is useful
to specify matrix variables with atypical structures (see

`lmivar`

).`decinfo`

can also be used
in interactive mode by invoking it with a single argument. It then
prompts the user for a matrix variable and displays in return the
decision variable content of this variable.

Consider an LMI with two matrix variables *X* and *Y* with
structure:

*X*=*x I*_{3}with*x*scalar*Y*rectangular of size 2-by-1

If these variables are defined by

setlmis([]) X = lmivar(1,[3 0]) Y = lmivar(2,[2 1]) : : lmis = getlmis

the decision variables in *X* and *Y* are
given by

dX = decinfo(lmis,X) dX = 1 0 0 0 1 0 0 0 1 dY = decinfo(lmis,Y) dY = 2 3

This indicates a total of three decision variables *x*_{1}, *x*_{2}, *x*_{3} that
are related to the entries of *X* and *Y* by

$$X=\left(\begin{array}{ccc}{x}_{1}& 0& 0\\ 0& {x}_{1}& 0\\ 0& 0& {x}_{1}\end{array}\right),Y=\left(\begin{array}{c}{x}_{2}\\ x3\end{array}\right)$$

Note that the number of decision variables corresponds to the
number of free entries in *X* and *Y* when
taking structure into account.

Suppose that the matrix variable *X* is symmetric
block diagonal with one 2-by-2 full block and one 2-by-2 scalar block,
and is declared by

setlmis([]) X = lmivar(1,[2 1;2 0]) : lmis = getlmis

The decision variable distribution in *X* can
be visualized interactively as follows:

decinfo(lmis) There are 4 decision variables labeled x1 to x4 in this problem. Matrix variable Xk of interest (enter k between 1 and 1, or 0 to quit): ?> 1 The decision variables involved in X1 are among {-x1,...,x4}. Their entry-wise distribution in X1 is as follows (0,j>0,-j<0 stand for 0,xj,-xj, respectively): X1 : 1 2 0 0 2 3 0 0 0 0 4 0 0 0 0 4 ********* Matrix variable Xk of interest (enter k between 1 and 1, or 0 to quit): ?> 0

Was this topic helpful?