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 |
Documentation >