next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
SOS :: RoundTol

RoundTol -- tolerance for rational rounding

Description

The optional argument RoundTol specifies the minimal rounding precision in d binary digits.

SOS problems are solved numerically using an SDP solver, and afterwards the package attempts to round the floating point solution to rational numbers. The rounding strategy is guaranteed to work whenever the space of Gram matrices is full dimensional. For SOS optimization problems the rounding may cause a loss in optimality. The argument RoundTol allows to control the trade-off between optimality and simplicity. Higher values of RoundTol lead to better solutions.

i1 : R = QQ[x,z];
i2 : f = x^4+x^2+z^6-3*x^2*z^2;
i3 : (bound,sol) = lowerBound (f,RoundTol=>4);
Executing CSDP
Input file: /tmp/M2-28740-0/4.dat-s
Output file: /tmp/M2-28740-0/5
Status: SDP solved, primal-dual feasible
Start rational rounding
i4 : bound

        3
o4 = - --
       16

o4 : QQ
i5 : (bound,sol) = lowerBound (f,RoundTol=>12);
Executing CSDP
Input file: /tmp/M2-28740-0/8.dat-s
Output file: /tmp/M2-28740-0/9
Status: SDP solved, primal-dual feasible
Start rational rounding
i6 : bound

        729
o6 = - ----
       4096

o6 : QQ

One can also skip the rounding by setting RoundTol => infinity.

i7 : (bound,sol) = lowerBound (f,RoundTol=>infinity);
Executing CSDP
Input file: /tmp/M2-28740-0/12.dat-s
Output file: /tmp/M2-28740-0/13
Status: SDP solved, primal-dual feasible
i8 : bound

o8 = -.177978520077801

o8 : RR (of precision 53)

References: Computing sum-of-squares decompositions with rational coefficients, H. Peyrl and P. Parrilo, in Theoretical Computer Science 409 (2008) p. 269–281


Functions with optional argument named RoundTol :

See also

For the programmer

The object RoundTol is a symbol.