Polynomial SOS

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

In mathematics, a form (i.e. a homogeneous polynomial) h(x) of degree 2m in the real n-dimensional vector x is sum of squares of forms (SOS) if and only if there exist forms g1(x),,gk(x) of degree m such that h(x)=i=1kgi(x)2.

Every form that is SOS is also a positive polynomial, although the converse is not always true in general. In the special cases of n = 2 and 2m = 2, or n = 3 and 2m = 4, Hilbert proved that a form is SOS if and only if it is positive.[1] The same is also true for the analogous problem with positive symmetric forms.[2][3]

Although not every form is SOS, there are efficiently testable sufficient conditions for a form to be SOS.[4][5] Moreover, every real nonnegative form can be approximated as closely as desired (in the l1-norm of its coefficient vector) by a sequence of forms {fϵ} that are SOS.[6]

Square matricial representation (SMR)

[edit | edit source]

To establish whether a form h(x) is SOS amounts to solving a convex optimization problem. Indeed, any h(x) can be written as h(x)=(x{m})T(H+L(α))x{m} where x{m} is a vector containing a basis for the space of forms of degree m in x (such as all monomials of degree m), H is any symmetric matrix satisfying h(x)=(x{m})THx{m}, and L(α) is a linear parameterization of the linear subspace ={L=L:x{m}Lx{m}=0}.

The dimension of the vector x{m} is given by σ(n,m)=(n+m1m), whereas the dimension of the vector α is given by ω(n,2m)=12σ(n,m)(1+σ(n,m))σ(n,2m).

The polynomial h(x) is SOS if and only if there exists a vector α such that H+L(α) is a positive-semidefinite matrix. This is a linear matrix inequality (LMI), and the existence of α is a convex feasibility problem.

The expression h(x)=x{m}(H+L(α))x{m} was introduced with the name square matricial representation (SMR) in order to establish whether a form is SOS via an LMI.[7] The matrix H+L(α) is also known as a Gram matrix.[8]

Examples

[edit | edit source]
  • Consider m=2 and the form h(x)=x14x12x22+x24 of degree 4 in two variables. We have x{m}=(x12x1x2x22),H+L(α)=(10α101+2α10α101). Since there exists α such that H+L(α)0, namely α=1, it follows that h(x) is SOS.
  • Consider m=2 and the form h(x)=2x145x13x2/2+x12x2x32x1x33+5x24+x34 of degree 4 in three variables. We have x{m}=(x12x1x2x1x3x22x2x3x32),H+L(α)=(25/40α1α2α35/42α11/2+α20α4α501/2+α22α3α4α51α10α450α6α2α4α502α60α3α51α601). Since H+L(α)0 for α=(1.18,0.43,0.73,1.13,0.37,0.57), it follows that h(x) is SOS.

Generalizations and analogs

[edit | edit source]

Matrix SOS

[edit | edit source]

A matrix form F(x) (i.e., a matrix whose entries are forms) of dimension r and degree 2m in the real n-dimensional vector x is SOS if and only if there exist matrix forms G1(x),,Gk(x) of degree m such that F(x)=i=1kGi(x)TGi(x).

Matrix SMR

[edit | edit source]

To establish whether a matrix form F(x) is SOS amounts to solving a convex optimization problem. Indeed, similarly to the scalar case any F(x) can be written according to the SMR as F(x)=(x{m}Ir)T(H+L(α))(x{m}Ir) where is the Kronecker product of matrices, H is any symmetric matrix satisfying F(x)=(x{m}Ir)TH(x{m}Ir) and L(α) is a linear parameterization of the linear space ={L=LT:(x{m}Ir)TL(x{m}Ir)=0}.

The dimension of the vector α is given by ω(n,2m,r)=12r(σ(n,m)(rσ(n,m)+1)(r+1)σ(n,2m)).

Then, F(x) is SOS if and only if there exists a vector α such that the following LMI holds: H+L(α)0.

The expression F(x)=(x{m}Ir)T(H+L(α))(x{m}Ir) was introduced in order to establish whether a matrix form is SOS via an LMI.[9]

Noncommutative polynomial SOS

[edit | edit source]

Consider the free algebra RX⟩ generated by the n noncommuting letters X = (X1, ..., Xn) and equipped with the involution T, such that T fixes R and X1, ..., Xn and reverses words formed by X1, ..., Xn. We consider Hermitian noncommutative polynomials f, which are the noncommutative polynomials of the form f = fT. When evaluating a Hermitian noncommutative polynomial f on any n-tuple of real matrices of any size r × r produces in a positive semi-definite matrix, f is said to be matrix-positive.

A noncommutative polynomial is SOS if there exists noncommutative polynomials h1,,hk such that f(X)=i=1khi(X)Thi(X).

Surprisingly, in the noncommutative scenario a noncommutative polynomial is SOS if and only if it is matrix-positive.[10] Moreover, there exist algorithms available to decompose matrix-positive polynomials in sum of squares of noncommutative polynomials.[11]

Polynomial HSOS

[edit | edit source]

A complex polynomial p(z1,,zn) in variables z1,,zn and their conjugates z1*,,zn* is Hermitian if it takes on only real values, or equivalently if each term has an equal number of conjugated and un-conjugated variables. It is a hermitian sum-of-squares (HSOS) if there are complex polynomials g1,,gk, in only the un-conjugated variables z1,,zn, such that p(z)=i=1kgi*(z)gi(z). A Hermitian square matricial representation of p is a matrix M such that p(z)=(z{m})*Mz{m}, where (z{m})* is the Hermitian transpose of the vector z{m}. As first observed by Putinar, there is a choice of the matrix M having certain symmetry properties, which is in fact unique and can be written explicitly. Thus testing if a Hermitian polynomial is HSOS of degree m can be done by testing if a single, fixed matrix is positive-semidefinite.[12]

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).