jump-dev / SumOfSquares.jl

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

Performance of GramMatrix -> AlgebraElement #358

Open blegat opened 1 month ago

blegat commented 1 month ago

If we use SA.AlgebraElement with sparse coefficients, it's not going to exploit the mutability of the underlying MOI expression so it will be inefficient. The advantage of https://github.com/jump-dev/SumOfSquares.jl/pull/355 where we first determine a the basis with _NonZero as coefficient (in which case sparse coefficients is very appropriate) is that we now have a basis where we actually want a dense vector of coefficients. When the basis is fixed like the sampling basis, it's the same. So in the Variable.KernelBridge, we should use a dense vector of coefficients and make sure operate!! is called with add_mul on them.