# Documentation

Variables

NCvars - constructs symbolic noncommuting variables

Toolbox for symbolic computation with polynomials in noncommuting variables

Basic arithmetic operations

Matrix manipuation

Logical Operations

Simplification

Conversions

Sum of hermitian squares (SOHS) related

NCsos - checks whether a polynomial is a SOHS

NCmin - computes the maximal epsilon such that the polynomial f-epsilon is a SOHS

NCdiff - computes the maximal epsilon such that the polynomial f-epsilon*g is a SOHS

NC2d - computes the second derivative of a polynomial

NCisConvex0 - checks if a polynomial is convex, i.e., if its second directional derivative is a SOHS

NCisConvex - checks if a polynomial is convex (algorithm without SDP solvers)

NCopt - computes minimizers and the minimum of a polynomial

GNS - prepares a matrix X for the AWbd function by doing Gelfand-Naimark-Segal construction

AWbd - numerical algorithm for the Artin-Wedderburn block-diagonal decomposition of matrix *-algebras

NCminBall - computes the minimum opt of a polynomial on an nc ball

NCoptBall - computes minimizers and the minimum of a polynomial on an nc ball

NCminCube - computes the minimum opt of a polynomial on an nc polydisc

NCoptCube - computes minimizers and the minimum of a polynomial on an nc polydisc

NCeigMin - computes the lower bound for the minimum eigenvalue of a polynomial subject to constraints S

NCeigOpt - computes minimizers and the minimum eigenvalue of a polynomial subject to constraints S

NCeigOptRand - computes minimizers and the minimum eigenvalue of a polynomial subject to constraints S using randomization

Cyclic equivalence and SOHS

NCisCycEq - checks whether two polynomials are cyclically equivalent (i.e., whether their difference is a sum of commutators)

NCcycEqRep - constructs a canonical cyclically equivalent representative of a polynomial

NCcycSos - checks whether a polynomial is cyclically equivalent to a SOHS

NCcycMin - computes the maximal epsilon such that f-epsilon is cyclically equivalent to a SOHS

NCisCycConvex - checks if the second directional derivative of a polynomial is cyclically equivalent to a SOHS

NCcycOpt - computes trace minimizers and trace minimum of a polynomial whenever the corresponding tracial moment matrix is flat

NCFlatExt - checks whether the extension of dual moment matrices is flat

GNS - prepares a matrix X for the AWbd function by doing Gelfand-Naimark-Segal construction

AWbd - numerical algorithm for the Artin-Wedderburn block-diagonal decomposition of matrix *-algebras

NCtraceMin - computes the lower bound for the minimum of the trace of a polynomial subject to constraints S

NCtraceOptRand - computes minimizers and the minimum of the trace of a polynomial subject to constraints S using randomization

Rationalization

RprojRldlt - tries to find an exact rational positive semidefinite solution of the SDP: X PsD, A*X=b from a floating point solution

fac_reduct - an interactive routine for finding a rational Gram matrix (feasible point) in case of singular feasible point with the aid of facial reduction

BMV conjecture

BMV - constructs the (m,k) BMV polynomial with x and y as arguments

BMVq - constructs the (m,k) BMV polynomial with x^2 and y^2 as arguments (for modelling psd matrices)

BMVsets - constructs the reduced monomial basis needed for the Gram matrix of (m,k) BMV polynomial with x^2 and y^2 as arguments

Settings

NCsetPrecision - sets the precision to be used in some numerical calculations

NCresetPrecision - resets the precision to the value set in NCparam.m

NCsetSolver - sets the solver to be used for SDP (SeDuMi, SDPA-M, SDPT3)

NCresetSolver - resets the choice of SDP solver to the value set in NCparam.m