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-2518931-0/4.dat-s Output file: /tmp/M2-2518931-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-2518931-0/8.dat-s Output file: /tmp/M2-2518931-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-2518931-0/12.dat-s Output file: /tmp/M2-2518931-0/13 Status: SDP solved, primal-dual feasible |
i8 : bound o8 = -.177978520077792 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