Positive Semidefinite Matrices & Semidefinite Programming

Symmetric Matrices & Spectral Theorem

A matrix ARn×n is called symmetric if A=AT. A complex number λC is called an eigenvalue of A if there exists a vector uCn such that Au=λu. In this case, u is called an eigenvector of A corresponding to λ.


Spectral Theorem: If A is a symmetric matrix, then

  1. A has n eigenvalues (counted with multiplicity),
  2. all eigenvalues of A are real,
  3. there exists an orthonormal basis of Rn consisting of eigenvectors of A.

In other words, we can write A=i=1nλiuiuiT, where λ1,,λnR are the eigenvalues of A, and u1,,unRn are the corresponding (orthonormal) eigenvectors.

If a symmetric matrix A has only non-negative eigenvalues, then we say that A is positive semidefinite, and write A0. There are several equivalent definitions of positive semidefinite matrices:

  1. all eigenvalues of A are non-negative.
  2. A=BTB for some matrix BRd×n, where dn. The smallest value of d is the rank of A.
  3. xTAx0 for all xRn.
  4. A=LDLT for some diagonal matrix D with non-negative diagonal entries and some lower triangular matrix L with diagonal elements equal to 1.
  5. A is in the convex hull of the set of rank-one matrices uuT for uRn.
  6. A=UTDU for some diagonal matrix D with non-negative diagonal entries and some orthonormal matrix U.
  7. A is symmetric and all principal minors of A are non-negative. Here, by principal minors we mean the determinants of the submatrices of A obtained by deleting the same set of rows and columns.

Semidefinite Programming

Let Sm:=Sm(R) denote the set of m×m real symmetric matrices.

A semidefinite program (SDP) is an optimization problem of the form minimizeC,Xsubject toAi,X=bi,i=1,,mX0, where C,A1,,AmSn and b1,,bmR. Moreover, A,B:=tr(ATB) is the trace inner product.

We can write and SDP in a way similar to a linear program as follows: minimizecTxsubject toA1x1++AnxnBxRn, where A1,,An,BSm and cRn, and we use CD to denote that CD0.

If the matrices Ai,B are diagonal matrices, then the SDP is equivalent to a linear program. Thus, we see that SDPs generalize linear programs.

In a similar way to linear programs, the following are important structural and algorithmic questions for SDPs:

  1. When is a given SDP feasible? That is, is there a solution to the constraints at all?
  2. When is a given SDP bounded? Is there a minimum? Is it achievable? If so, how can we find it?
  3. Can we characterize optimality?
    • How can we know that a given solution is optimal?
    • Do the optimal solutions have a nice description?
    • Do the solutions have small bit complexity?
  4. How can we solve SDPs efficiently?

To understand better these questions and the structure of SDPs, we will need to learn a bit about convex algebraic geometry.

Convex Algebraic Geometry

Spectrahedra

To understand the geometry of SDPs, we will need to understand their feasible regions, which are called spectrahedra and are described by Linear Matrix Inequalities (LMIs).


Definition 1 (Linear Matrix Inequality (LMI)): An LMI is an inequality of the form A0+i=1nAixi0, where A0,,AnSm.



Definition 2 (Spectrahedron): A spectrahedron is a set of the form S=xRn:A0+i=1nAixi0, where A0,,AnSm.


Note that spectrahedra are convex sets, since they are defined by LMIs, which are convex constraints. Moreover, several important convex sets are spectrahedra, including all polyhedra, circles/spheres, hyperbola, (sections of) elliptic curves, among others.

When considering SDPs, it is enough to work with a more general class of convex sets, which we call spectrahedral shadows. Spectrahedral shadows are simply projections of spectrahedra onto lower-dimensional spaces.

Testing Membership in Spectrahedra

To be able to solve SDPs efficiently, a first step is to be able to test membership in spectrahedra efficiently. That is, given a spectrahedron S=xRn:A0+i=1nAixi0 and a point xRn, we want to determine whether xS. Since xS if and only if A0+i=1nAixi0, this is equivalent to testing whether a given symmetric matrix is positive semidefinite.

More succinctly, we have the following decision problem:

  • Input: symmetric matrix ASm
  • Output: YES if A0, NO otherwise.

An efficient algorithm for this problem is the symmetric gaussian elimination algorithm, which runs in time O(m3). The algorithm will proceed just as in gaussian elimination, by performing elementary row operations (without row swapping) to reduce A to an upper triangular form. However, in this case, every time we apply a row operation, which can be encoded by a lower unitriangular matrix L, we also apply the same operation to the columns of A by right-multiplying A by LT. This way, we ensure that A remains symmetric throughout the process.

As the product of lower (or upper) unitriangular matrices is again a lower (or upper) unitriangular matrix, we can see that the symmetric gaussian elimination algorithm will always output a diagonal matrix D with non-negative diagonal entries iff A0.

To see that D0A0, first note that D=LALT, where L is a lower unitriangular matrix. Now, A0zTAz0 for all zRm(LTz)TD(LTz)0 for all zRmD0.

The above proves that our algorithm is correct, and the running time is O(m3), since we need to perform m2 elementary row operations, each of which takes O(m) time.

Application: Control Theory

not required material - to be written here later - please see slides and references for this part

SDPs are used in many areas of mathematics and engineering, including control theory, combinatorial optimization, and quantum information theory. Today we will see an application of SDPs to control theory, in particular to the problem of stabilizing a linear, discrete-time dynamical system.

Previous
Next