Conversion Between Decision and Matrix Variables

While LMIs are specified in terms of their matrix variables X1, . . . , XK , the LMI solvers optimize the vector x of free scalar entries of these matrices, called the decision variables. The two functions mat2dec and dec2mat perform the conversion between these two descriptions of the problem variables.

Consider an LMI system with three matrix variables X1, X2, X3. Given particular values X1, X2, X3 of these variables, the corresponding value xdec of the vector of decision variables is returned by mat2dec:

xdec = mat2dec(LMISYS,X1,X2,X3)

An error is issued if the number of arguments following LMISYS differs from the number of matrix variables in the problem (see matnbr).

Conversely, given a value xdec of the vector of decision variables, the corresponding value of the k-th matrix is given by dec2mat. For instance, the value X2 of the second matrix variable is extracted from xdec by

X2 = dec2mat(LMISYS,xdec,2)

The last argument indicates that the second matrix variable is requested. It could be set to the matrix variable identifier returned by lmivar.

The total numbers of matrix variables and decision variables are returned by matnbr and decnbr, respectively. In addition, the function decinfo provides precise information about the mapping between decision variables and matrix variable entries.

Was this topic helpful?