JuliaAlgebra / MultivariatePolynomials.jl

Multivariate polynomials interface
https://juliaalgebra.github.io/MultivariatePolynomials.jl/stable/
Other
135 stars 27 forks source link

gcd fails i1 == i2 assertion #195

Closed shashi closed 2 years ago

shashi commented 2 years ago

MWE:

julia> using DynamicPolynomials

julia> @polyvar a b c
(a, b, c)

julia> x = a*(b^2) + 2a*b*c + a*(c^2) + a*b + a*c
ab² + 2abc + ac² + ab + ac

julia> y = b + c
b + c

julia> gcd(x,y)
ERROR: AssertionError: i1 == i2
Stacktrace:
 [1] deflated_gcd(p1::Polynomial{true, Int64}, p2::Polynomial{true, Int64}, algo::GeneralizedEuclideanAlgorithm)
   @ MultivariatePolynomials ~/.julia/packages/MultivariatePolynomials/JG6mC/src/gcd.jl:235
 [2] gcd(p1::Polynomial{true, Int64}, p2::Polynomial{true, Int64}, algo::GeneralizedEuclideanAlgorithm)
   @ MultivariatePolynomials ~/.julia/packages/MultivariatePolynomials/JG6mC/src/gcd.jl:128
 [3] gcd(p1::Polynomial{true, Int64}, p2::Polynomial{true, Int64})
   @ MultivariatePolynomials ~/.julia/packages/MultivariatePolynomials/JG6mC/src/gcd.jl:112
 [4] top-level scope
   @ REPL[12]:1
blegat commented 2 years ago

Looks like a bug, thanks for reporting

jlperla commented 2 years ago

@blegat Just checking in on this bug. Is there anything that outsiders can do to help with it, or does it require a lot of knowledge of internals of the package?