description: [IsFlatExt,SDP_data,rank_d,V_new,M_d,var,sizeM_small,tol] = NCFlatExt(f) checks whether the extension of the dual moment matrix M_{d} over M_{d-1}, where d=deg(f), is flat. arguments: f is an NCpoly representing a polynomial. output: IsFlatExt == 1 iff there is a flat extension SDP_data is a structure holding all the data used in SDP solver, undelying the M_d problem rank_d equals the rank of the matrix M_d (and the rank of M_{d-1} in case of flatness) V_new is a cell representing the vector of all monomials with degree <=d M_d is the M_{d} moment matrix (dual to the NCcycSos problem) var is a cell of all variables contained in the underlying polynomial f sizeM_small is the size of the square matrix M_{d-1} tol equals the tolerance used to compute rank_d possible usage: NCFlatExt(f) see also: example: >> IsFlatExt = NCFlatExt(BMV(8,2)) ***** Polynomial does not have a flat extension ***** IsFlatExt = 0 >> 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; >> IsFlatExt = NCFlatExt(f) ***** Polynomial has a flat extension ***** IsFlatExt = 1 |
Documentation >