Jump to content

LMIs in Control/Tools/Maximum Singular Value of a Complex Matrix

From Wikibooks, open books for an open world

LMIs in Control/Tools/Maximum Singular Value of a Complex Matrix


Maximum Singular Value of a Complex Matrix


The System

[edit | edit source]

Consider as well as . A maximum singular value of a matrix is less than if and only if , where is the conjugate transpose or Hermitian transpose of the matrix .

The Data

[edit | edit source]

The matrix is the only data required.

The Optimization Problem

[edit | edit source]

The LMI: Maximum Singular Value of a Complex Matrix

[edit | edit source]

Using the Shur complement procedure, the following LMIs can be constructed:

The following LMI is also equivalent:

Conclusion:

[edit | edit source]

The results from this LMI will give the maximum complex value of the matrix :

Implementation

[edit | edit source]
% Maximimum Singular Value of Complex Matrix
% -- EXAMPLE --

%Clears all variables
clear; clc; close all;

%SDPVAR variables
gam1 = sdpvar(1);
gam2 = sdpvar(1);

%Example Matrix A
A = rand(9,6)+rand(9,6)*1i;

%Constraint Matrix for LMI optimization
M1 = [gam1*eye(9) A; A' gam1*eye(6)];

%Equivalent counter Matrix
M2 = [gam2*eye(6) A';A gam2*eye(9)]; 

%Constraints
Fc1 = (M1 >= 0);
Fc2 = (M2 >= 0);

%Objective function
obj1=gam1;
obj2=gam2;

%options
opt = sdpsettings('solver','sedumi');

%Optimization
optimize(Fc1,obj1,opt)
optimize(Fc2,obj2,opt)

%Displays output
fprintf('\nValue of Max singular value (using first method): ')
disp(value(gam1))

fprintf('\nValue of Max singular value (using second method): ')
disp(value(gam2))

fprintf('\nMATLAB verified output: ')
disp(norm(norm(A)))
[edit | edit source]
[edit | edit source]

Return to Main Page:

[edit | edit source]