next | previous | forward | backward | up | index | toc

# SDPResult -- result of a semidefinite programming computation

## Description

This type encapsulates the result of a semidefinite programming computation.

 i1 : R = QQ[x][t]; i2 : f = x^2 - 3*x - t; i3 : sol = solveSOS (f, -t, RoundTol=>12) o3 = MomentMatrix 2x2 matrix over RR_53 GramMatrix 2x2 matrix over QQ Monomials 2x1 matrix over QQ[x] Parameters 1x1 matrix over QQ Status SDP solved, primal-dual feasible o3 : SDPResult i4 : peek sol o4 = SDPResult{GramMatrix => | 9/4 -3/2 | } | -3/2 1 | MomentMatrix => | 1 1.5 | | 1.5 2.25 | Monomials => | 1 | | x | Parameters => | -9/4 | Status => SDP solved, primal-dual feasible

The fields can be extracted with the operator #.

 i5 : sol#GramMatrix o5 = | 9/4 -3/2 | | -3/2 1 | 2 2 o5 : Matrix QQ <-- QQ

If the Gram matrix is different from null, then the sum-of-squares polynomial can be recovered with sosPoly.

 i6 : sosPoly sol 9 2 2 o6 = (-)(- -x + 1) 4 3 o6 : SOSPoly

## Methods that use an object of class SDPResult :

• recoverSolution(SDPResult) -- see recoverSolution -- factor a rank one positive semidefinite matrix
• net(SDPResult)
• status(SDPResult)
• sosPoly(SDPResult) -- see sosPoly -- make an SOS polynomial

## For the programmer

The object SDPResult is a type, with ancestor classes HashTable < Thing.