LMIs in Control/pages/MatrixNormMinimization

LMI for Matrix Norm Minimization

This problem is a slight generalization of the eigenvalue minimization problem for a matrix. Calculating norm of a matrix is necessary in designing an ${\displaystyle H_{2}}$ or an ${\displaystyle H_{\infty }}$ optimal controller for linear time-invariant systems. In those cases, we need to compute the norm of the matrix of the closed-loop system. Moreover, we desire to design the controller so as to minimize the closed-loop matrix norm.

The System

Assume that we have a matrix function of variables ${\displaystyle x}$:

{\displaystyle {\begin{aligned}A(x)=A_{0}+A_{1}x_{1}+...+A_{n}x_{n}\end{aligned}}}

where {\displaystyle {\begin{aligned}A_{i},\quad i=1,2,...,n\end{aligned}}} are symmetric matrices.

The Data

The symmetric matrices ${\displaystyle A_{i}}$ ({\displaystyle {\begin{aligned}A_{0},A_{1},...,A_{n}\end{aligned}}}) are given.

The Optimization Problem

The optimization problem is to find the variables {\displaystyle {\begin{aligned}x=[x_{1}\quad x_{2}...x_{n}]\end{aligned}}} in order to minimize the following cost function:

{\displaystyle {\begin{aligned}J(x)=||A(x)||_{2}\end{aligned}}}

where ${\displaystyle J(x)}$ is the cost function and ${\displaystyle ||.||_{2}}$ indicates the norm of the matrix function ${\displaystyle A}$.

According to Lemma 1.1 in LMI in Control Systems Analysis, Design and Applications (page 10), the following statements are equivalent:

{\displaystyle {\begin{aligned}A^{T}A-t^{2}I\leq 0\iff {\begin{bmatrix}-tI&A\\A^{T}&-tI\end{bmatrix}}\leq 0\\\end{aligned}}}

The LMI: LMI for matrix norm minimization

This optimization problem can be converted to an LMI problem.

The mathematical description of the LMI formulation can be written as follows:

{\displaystyle {\begin{aligned}&{\text{min}}\quad t&\\&{\text{s.t.}}\quad {\begin{bmatrix}-tI&A(x)\\A(x)^{T}&-tI\end{bmatrix}}\leq 0\\\end{aligned}}}

Conclusion:

As a result, the variables ${\displaystyle x_{i},\quad i=1,2,...,n}$ after solving this LMI problem and we obtain ${\displaystyle t}$ that is the norm of matrix function ${\displaystyle A(x)}$.

Implementation

A link to Matlab codes for this problem in the Github repository: