Implementation of LMI problems

50 views
Skip to first unread message

Peter Malraw

unread,
Feb 13, 2020, 4:08:48 AM2/13/20
to YALMIP
Dear members of forum,

I am trying to implement the following inequality problem:

pb.png

where L1 and L2 are feedback gains and X is the inverse of Lyapunov matrix, i.e. X = P^-1, P being the Lyapunov matrix.
My first question is: can this problem be written as a LMI constraint problem ?
My concern is about the zero that multiplies the matrix X.

If I apply the classic change of variable it looks like this:

s1.png

The question is: can I specify in the solver that the variable F1 must contain zero entries ?


The second implementation I can think of is the following one. I can decompose the matrix X like this:

s2.png

which is equivalent to:


s21.png

Again, I can make the change of variable to obtain:

s22.png

Is this solution feasible in YALMIP ?


Thank you in advance for your help !

Best,

Peter

Johan Löfberg

unread,
Feb 13, 2020, 4:15:23 AM2/13/20
to YALMIP
As you do, simply introduce F to represent [L1 L2]*X, and in the second term you have is something like [F(:,1:m) zeros]...

Peter Malraw

unread,
Feb 20, 2020, 5:59:03 AM2/20/20
to YALMIP
Thank you for your reply.
However, there is something I don't understand.

Let us define F = [L1, L2]*X = [L1, L2]*[X11, X12; X21, X22]=[L1*X11+L2*X21, L1*X12+L2*X22]

And in addition it holds: [L1 0]*X = [L1*X11, L1*X12] = F2

So in the end there is no more correlation between F1 and F2.
The problem is that F2 is not equal as the first columns of F1 and I cannot define F1 and F2 as two different sdp variables because I need L to be the same in both cases.
Thank you again for your help !

Johan Löfberg

unread,
Feb 20, 2020, 6:14:43 AM2/20/20
to YALMIP
Misread your notation.

 I don't understand your question then. If you want zeros you just use zeros, or if you have a matrix with decision variables and you want some elements to be zero, you just add the equality (or replace elements with 0)

However, do you really have an invertible transformation here, i.e. from F12 = L1X1 + L2X2 and F1 = L1X2, can you really recover [L1 L2] from F1,F2,X?
Message has been deleted

Peter Malraw

unread,
Feb 20, 2020, 8:44:13 AM2/20/20
to YALMIP
Let me come back to my previous example:

pb.png

Here is how I think I could implement this LMI problem:

nx = size(A,1);
nu = size(B,2);
X = sdpvar(n);
F12 = sdpvar(nu, nx);  % should be [L1 L2]
F10 = sdpvar(nu, nx);  % should be [L1 0]

c1 = [-X, * , *;
      0, -X, *;
     A*X+B*F12,  A*X+B*F10, -X];

c2 = ( F10(:,nx+1:end)==0 );

c = (c1 + c2);

optimize(c);

L12 = value(F12)*inv(value(X));
L1a = L12(:,1:nx);
L2=L12(:,nx+1:end);

L10 = value(F12)*inv(value(X));
L1b = L10(:,1:nx);


So finally my question is, how can I make sure that L1a is equal to L1b ?
Is it even possible to write this as a LMI problem ?

Thank you again.
Best, 
Peter

Johan Löfberg

unread,
Feb 20, 2020, 8:48:09 AM2/20/20
to YALMIP
Most likely impossible. This smells like a variant of output feedback etc, for which there is no convex reformulation
Reply all
Reply to author
Forward
0 new messages