Scilab Function

lmisolver - linear matrix inequation solver

Calling Sequence

[XLISTF[,OPT]] = lmisolver(XLIST0,evalfunc [,options])

Parameters

Description

lmisolver solves the following problem:

minimize f(X1,X2,...,Xn) a linear function of Xi's

under the linear constraints: Gi(X1,X2,...,Xn)=0 for i=1,...,p and LMI (linear matrix inequalities) constraints:

Hj(X1,X2,...,Xn) > 0 for j=1,...,q

The functions f, G, H are coded in the Scilab function evalfunc and the set of matrices Xi's in the list X (i.e. X=list(X1,...,Xn)).

The function evalfun must return in the list LME the matrices G1(X),...,Gp(X) (i.e. LME(i)=Gi(X1,...,Xn), i=1,...,p). evalfun must return in the list LMI the matrices H1(X0),...,Hq(X) (i.e. LMI(j)=Hj(X1,...,Xn), j=1,...,q). evalfun must return in OBJ the value of f(X) (i.e. OBJ=f(X1,...,Xn)).

lmisolver returns in XLISTF, a list of real matrices, i. e. XLIST=list(X1,X2,..,Xn) where the Xi's solve the LMI problem:

Defining Y,Z and cost by:

[Y,Z,cost]=evalfunc(XLIST), Y is a list of zero matrices, Y=list(Y1,...,Yp), Y1=0, Y2=0, ..., Yp=0.

Z is a list of square symmetric matrices, Z=list(Z1,...,Zq) , which are semi positive definite Z1>0, Z2>0, ..., Zq>0 (i.e. spec(Z(j)) > 0),

cost is minimized.

lmisolver can also solve LMI problems in which the Xi's are not matrices but lists of matrices. More details are given in the documentation of LMITOOL.

Examples

See Also