Calculation of L1 norm for discrete polytopic system using LMI


(Markus Kaminski) #1

Hi,

I want to calculate the peak to peak (L1) norm of a polytopic system using LMIs. Ding 2013 suggests the following LMI solution:

In CVX I tried to set it up this way:

cvx_begin sdp
cvx_precision best
variable L1gamma
variable L1mu
variable L1lambda
variable P(n,n) symmetric
minimize (L1gamma)
P >= 0
L1lambda >= 0
L1mu >= 0

for k = 1:NumberOfSystems
     % LMI form for discrete systems given by Ding (2013, p. 306) 
    [   P                  P*A(:,:,k)            P*B(:,:,k); ...
        A(:,:,k)'*P    (1-L1lambda)*P  zeros(n,r); ...
        B(:,:,k)'*P    zeros(r,n)            L1mu.*eye(r); ] >= 0;
        
    [   L1lambda*P     zeros(n,r)                           C(:,:,k)';...
        zeros(r,n)        (L1gamma-L1mu).*eye(r)   D(:,:,k)';...
        C(:,:,k)             D(:,:,k)                                L1gamma .*eye(m); ]  >=0;
    
end

cvx_end

with

k: polytopic system number (vertex)
n: number of states
r: number of inputs
m: number of outputs

The relation of Ding’s matrices (pic attached) to mine are:
A_Ding = A;
E_Ding = B;
C_Ding = C;
F_Ding = D;

The problem is that mtimes, I know by intention, does not support L1lambda*P and (1-L1lambda)*P, i.e. a scalar * matrix expression.

Can I formulate the problem in a way that is accepted by CVX?

Thanks,

maka

For information that is the CVX code I use to calculate the L2 norm of a polytopic which works well, but has no scalar * matrix expression.

cvx_begin sdp
cvx_precision best
variable rho
variable P(n,n) symmetric
minimize (rho)
P >= 0

    for k = 1:NumberOfSystems
    
    % LMI form for discrete systems given by Ding (2013, p. 301) 
    % modified: rho in lowest line removed:
    [   -P              P*A(:,:,k)      P*B(:,:,k)          zeros(n,m); ...
        A(:,:,k)'*P     -P              zeros(n,r)          C(:,:,k)'; ...
        B(:,:,k)'*P     zeros(r,n)      -rho*eye(r)         D(:,:,k)'; ...
        zeros(m,n)      C(:,:,k)        D(:,:,k)            -eye(m); ] <= 0;

end

cvx_end


(Mark L. Stone) #2

Does Ding claim that this is an LMI? It looks to me like a BMI (Bilinear Matrix Inequality), which is non-convex and will not be accepted by CVX.