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