# criticalIdeal -- ideal of critical equations of a semidefinite program

## Synopsis

• Usage:
(I,X,y,Z) = criticalIdeal(P)
(I,X,y,Z) = criticalIdeal(P,rk)
• Inputs:
• P, an instance of the type SDP, a semidefinite programming problem
• rk, an integer, the rank of the primal matrix (optional)
• Outputs:
• I, an ideal, of critical equations
• X, an $n\times n$ matrix, primal variable
• y, an $m\times 1$ matrix, dual variable
• Z, an $n\times n$ matrix, dual variable

## Description

This method computes the ideal of critical equations of an SDP. This ideal can be used to solve the SDP symbolically.

 i1 : A = (-matrix{{0,1,0},{1,0,0},{0,0,1}}, matrix{{0,0,1},{0,0,0},{1,0,0}}, -matrix{{0,0,0},{0,0,1},{0,1,0}}); i2 : (C, b) = (matrix{{1/1,0,3},{0,5,0},{3,0,9}}, matrix{{-1},{-1},{-1}}); i3 : P = sdp(C,A,b); i4 : (I,X,y,Z) = criticalIdeal P; i5 : degree I o5 = 6

We can restrict the rank of the primal matrix X.

 i6 : rk = 1; i7 : (J,X,y,Z) = criticalIdeal(P, rk); i8 : degree J o8 = 4

## Ways to use criticalIdeal :

• "criticalIdeal(SDP)"
• "criticalIdeal(SDP,ZZ)"

## For the programmer

The object criticalIdeal is .