jump-dev / SumOfSquares.jl

Sum of Squares Programming for Julia
Other
114 stars 24 forks source link

Newton polytope for Chebyshev basis #357

Open blegat opened 1 month ago

blegat commented 1 month ago

Consider the constraint @constraint(model, x^2 in SOSCone(), basis = Chebyshev). If we convert x^2 to Chebyshev, we get 1/2 * x^2 + 1/2 so the newton polytope gives [1, x]. If we do the Newton polytope in the monomial basis we have [x] and then we can compute the chebyshev basis spanning the Newton polytope which gives [x] which is an improvement. So I think we should compute the Newton polytope in the basis given by the user and only convert to the basis when creating the WeightedSOSCone

See test/Tests/quadratic.jl for the tests that detects this issue and should be changed once this is fixed.