Documentation‎ > ‎

NCcycOpt


description:
[A_new,f_min]=NCcycOpt(f) computes trace minimizers and the trace minimum of the polynomial f whenever the tracial moment matrix corresponding to the polynomial f is flat.

arguments:
f is an NCpoly representing a polynomial.
 
output:
A_new is a matrix each of whose rows represent a square matrix A_i that is a trace minimizer for f. The matrices A_i are simultaneously block diagonal.
f_min represents the trace minimum of f. Each element in this vector equals the trace of the evaluation of f in equally positioned diagonal blocks consisting of matrices A_i.

possible usage:
NCcycOpt(f)

see also:

example:
>> f = 3 + x^2 + 2*x^3 + 2*x^4 + x^6 - 4*x^4*y + x^4*y^2 + 4*x^3*y + 2*x^3*y^2 - 2*x^3*y^3 + 2*x^2*y - x^2*y^2 + 2*x^2*y^3 - 4*x*y + 8*x*y*x*y + 4*x*y^2 + 6*x*y^4 - 2*y + y^2 - 4*y^3 +  2*y^4 + 2*y^6;

>> [A_new,f_min]=NCcycOpt(f)
***** Polynomial has a flat extension *****
A_new =
  Columns 1 through 8
   -1.0623   -0.0000    0.0902    0.6111   -0.0000   -1.0623   -0.6111    0.0902
   -0.3933    0.0000   -0.1295   -0.8770    0.0000   -0.3933    0.8770   -0.1295

  Columns 9 through 16
    0.0902   -0.6111    0.4582   -0.0000    0.6111    0.0902   -0.0000    0.4582
   -0.1295    0.8770    0.6718    0.0000   -0.8770   -0.1295    0.0000    0.6718
 
f_min = 0.28421477