DynamicPolynomials.jl icon indicating copy to clipboard operation
DynamicPolynomials.jl copied to clipboard

Bug: Using custom variables for polynomials

Open harris-mit opened this issue 3 years ago • 2 comments

The following code used to work in older versions:

using DynamicPolynomials
@polyvar var1 var2
v = randn(3);
_mons = monomials([var1, var2], length(v) - 1);
p = sum(_mons .* v)
p + p
ERROR: AssertionError: issorted(Z, lt = grlex)
Stacktrace:
 [1] MonomialVector{true}(vars::Vector{PolyVar{true}}, Z::Vector{Vector{Int64}})
   @ DynamicPolynomials ~/.julia/packages/DynamicPolynomials/jOoxo/src/monovec.jl:11
 [2] plusorminus(p::Polynomial{true, Float64}, q::Polynomial{true, Float64}, op::Function)
   @ DynamicPolynomials ~/.julia/packages/DynamicPolynomials/jOoxo/src/operators.jl:53
 [3] +(x::Polynomial{true, Float64}, y::Polynomial{true, Float64})
   @ DynamicPolynomials ~/.julia/packages/DynamicPolynomials/jOoxo/src/operators.jl:130
 [4] top-level scope
   @ REPL[33]:1

harris-mit avatar Oct 24 '22 16:10 harris-mit

Should I just delete the offending assertion errors?

harris-mit avatar Oct 26 '22 15:10 harris-mit

No, the error is expected, things will get worse after the assertion so it's best the program stops there. See the detailed explanation in https://discourse.julialang.org/t/error-in-dynamicpolynomials/89196/2

blegat avatar Oct 27 '22 07:10 blegat