= SemiDefinite What? = This page contains definitions for SemiDefinite things like matrices, programs, etc. == SemiDefinite Matrices == A positive SemiDefinite matrix is a HermitianMatrix all of whose eigenvalues are nonnegative. Thus any symmetric matrix that has a 0 on the diagonal is a SemiDefinite matrix. == SemiDefinite Programming == The following is taken from page 9 of Cousot05VMCAI reference - see my bibtex. Suppose you have a loop in a program where the values of the variable values at the start of the loop are denoted $$x_0 \in \mathbb{R}^n$$ and the values at the end of the loop are denoted $$x$$ where $$n$$ is the number of variables. Then $$x_k$$ is the variable values after the $$k^{th}$$ loop. Let $$$M(x)=M_0 + \sum\limits^m_{k=1} x_k.M_k$$$ with symmetric matrices $$(M_k = M_k^{\top}$$, and positive semidefiniteness (can you say that?) defined as: $$$M(x) \succeq 0 \equiv \forall X \in \mathbb{R}^N : XM(x)X^{\top} \ge 0$$$ Somehow I believe that $$M$$ is an encoding of the constraints in the loop. It doesn't say that in Cousot05VMCAI, but that is what I think it means. Then the SemiDefinite programming optimization problem is to find a solution to the constraints: $$$\left\{\begin{array}{l} \exists x \in \mathbb{R}^m : M(x) \succeq 0 \\ Minimizing~~c^{\top} x \end{array}\right.$$$ where $$c \in \mathbb{R}^m$$ is a real given vector and $$M$$ is called the ''linear matrix inequality''