NCminCube
description:
[opt,g,decom_sohs,decom_cube,base,SDP_data,Z_dual,H,Hshift] = NCminCube(f,params) computes the minimum opt of the polynomial f on an nc polydisc.
It solves:
min <L_f,H>
H ... hankel (moment) matrix
H(1) = 1
H >= 0
H_shift^j >=0 for all j
(H_shift)_(p,q)^j = L(p^*(1-x_j^2)q) for all j
WHICH is dual to:
sup eps
s.t. f-eps = SOHS + \sum_j \sum_i h_(i,j)^*(1-x_j^2)h_(i,j)
arguments:
f is an NCpoly representing a polynomial.
With params.precision we can set the smallest value that is considered to be nonzero in numerical calculations; if the command is called without it, we assume the precision set with the command NCsetPrecision or the value set in NCparam.m.
params.messages is used to optionally turn on (1) and off (0) verbose output; default value is 1 (on).
params.solver sets the solver to be used for SDP and overrides the value set in the global option file NCparam.m. (currently SeDuMi, SDPA-M or SDPT3 are supported)
params.eps sets the desired accuracy iy you are using SeDuMi as SDP solver. Setting params.eps=0 lets SeDuMi run as long as it can make progress.
params.justSDP_data == 1 means that the program ends when the SDP_data is prepared and nothing else is computed. It is optional; the default value is 0.
params.decomposition == 0 means that no SOHS decomposition over an nc polydisc will actually be computed. It is optional; the default value is 1.
params.module_up == 0 means that search for the decomposition is within quadratic module of degree d_max and params.module_up == 1 means module of degree d_max+2; the default value is 0.
output:
opt ... optimal value of the SDP
g ... represents an nc polydisc
decom_sohs ... sohs part of the sohs decomposition over nc polydisc
decom_cube ... weighted part of the sohs decomposition over nc polydisc
base ... is a list of monomials which appear in the SOHS decomposition over nc polydisc
SDP_data ... is a structure holding all the data used in SDP solver
Z_dual ... dual solution
H ... Hankel matrix
Hshift ... shifted Hankel matrix
possible usage:
NCminCube(f), NCminCube(f,params)