Description
My Durham Workshop group (@sfitz01,@DanielGreenTripp,@mlodyjesienin) are working on some deformation-theoretic computations, and we noticed that we were unable to work over the coefficient ring QQ[ε]/(ε^2)
:
Code to reproduce the error:
S,ε = polynomial_ring(QQ,"ε")
S,pi = quo(S,ε^2)
R,(x1,x2,x3) = S["x1","x2","x3"]
intersect(ideal([-ε*x1*x2 + x1*x3 - x2*x3 + x3^2]),ideal([x1^2*x2*x3 - x1*x2^2*x3 + x1*x2*x3^2]))
The error:
julia> intersect(ideal([-ε*x1*x2 + x1*x3 - x2*x3 + x3^2]),ideal([x1^2*x2*x3 - x1*x2^2*x3 + x1*x2*x3^2]))
ERROR: function divrem is not implemented for arguments
EuclideanRingResidueRingElem{QQPolyRingElem}: ε
EuclideanRingResidueRingElem{QQPolyRingElem}: -ε
Stacktrace:
[1] divrem(a::EuclideanRingResidueRingElem{QQPolyRingElem}, b::EuclideanRingResidueRingElem{QQPolyRingElem})
@ AbstractAlgebra ~/.julia/packages/AbstractAlgebra/AqzuZ/src/algorithms/GenericFunctions.jl:50
[2] divrem(a::EuclideanRingResidueRingElem{QQPolyRingElem}, b::EuclideanRingResidueRingElem{QQPolyRingElem})
@ AbstractAlgebra ~/.julia/packages/AbstractAlgebra/AqzuZ/src/AbstractAlgebra.jl:65
[3] gcdx(a::EuclideanRingResidueRingElem{QQPolyRingElem}, b::EuclideanRingResidueRingElem{QQPolyRingElem})
@ AbstractAlgebra ~/.julia/packages/AbstractAlgebra/AqzuZ/src/algorithms/GenericFunctions.jl:306
[4] nemoRingExtGcd(a::Ptr{Nothing}, b::Ptr{Nothing}, s::Ptr{Ptr{Nothing}}, t::Ptr{Ptr{Nothing}}, cf::Ptr{Nothing})
@ Singular.libSingular ~/.julia/packages/Singular/JyB5B/src/libsingular/nemo/Rings.jl:200
[5] id_Intersection
@ ~/.julia/packages/CxxWrap/eWADG/src/CxxWrap.jl:668 [inlined]
[6] intersection(I::Singular.sideal{Singular.spoly{…}}, J::Singular.sideal{Singular.spoly{…}})
@ Singular ~/.julia/packages/Singular/JyB5B/src/ideal/ideal.jl:508
[7] intersect(I::MPolyIdeal{AbstractAlgebra.Generic.MPoly{…}}, Js::MPolyIdeal{AbstractAlgebra.Generic.MPoly{…}})
@ Oscar ~/.julia/dev/Oscar/src/Rings/mpoly-ideals.jl:217
[8] top-level scope
@ REPL[265]:1
Some type information was truncated. Use `show(err)` to see complete types.