SumOfSquares –- Sum of Squares Programming for Julia
SumOfSquares implements Sum of Squares reformulation for PolyJuMP, enabling the creation of sum of squares variables and constraints in JuMP.
The polynomial can be represented by any library implementing the MultivariatePolynomial.jl interface. That is, you can currently choose between DynamicPolynomials and TypedPolynomials. As a rule of thumb, if you know at compile time (or at the time you are writing your code), the number of variable and that this number is small, use TypedPolynomials, otherwise, use DynamicPolynomials. Starting with v0.8, we also have experimental support for any algebra implementing StarAlgebras.jl. See CHSH for an example of how to define a custom algebra and use it with SumOfSquares.jl.