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

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

Maximum Singular Value of a Complex Matrix

## The System

Consider $A\in \mathbb {R} ^{n\times m}$ as well as $\gamma$ . A maximum singular value of a matrix $A$ is less than $\gamma$ if and only if $AA^{H}<\gamma ^{2}I$ , where $A^{H}$ is the conjugate transpose or Hermitian transpose of the matrix $A$ .

## The Data

The matrix $A$ is the only data required.

## The LMI: Maximum Singular Value of a Complex Matrix

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

{\begin{aligned}{\bar {\sigma }}(A)<\gamma \\{\begin{bmatrix}\gamma I&A\\A^{H}&\gamma I\end{bmatrix}}&>0\\\end{aligned}} The following LMI is also equivalent:

{\begin{aligned}{\bar {\sigma }}(A)<\gamma \\{\begin{bmatrix}\gamma I&A^{H}\\A&\gamma I\end{bmatrix}}&>0\\\end{aligned}} ## Conclusion:

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

{\begin{aligned}{\bar {\sigma }}(A)<\gamma \end{aligned}} ## Implementation

% 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)))