Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Equidimensional decomposition fails over extensions of IF_p #4138

Closed
HechtiDerLachs opened this issue Sep 24, 2024 · 2 comments
Closed

Equidimensional decomposition fails over extensions of IF_p #4138

HechtiDerLachs opened this issue Sep 24, 2024 · 2 comments
Labels
bug Something isn't working

Comments

@HechtiDerLachs
Copy link
Collaborator

Witnessed on #4137.

Try running the following:

kk = GF(29, 2)
R, (x, y, z) = kk[:x, :y, :z]
I = ideal(R, (x)*(y) + 20, (x)^3 + 20*(x)^2*(z) + 6*(x)*(z)^2 + 10*(x) + 26*(z)^3, 26*(x)^2 + 27*(x)*(z) + 16*(x)*(y) + (z)^3*(y) + 11*(z)^2)
equidimensional_decomposition_weak(I)

On current master I get the following error message:

ERROR: ASSUME failed:  ASSUME(0,hasZpCoefficient(basering)||hasQQCoefficient(basering));
error occurred in or before primdec.lib::equidimMax line 2489: `  return(attrib(rng,"cf_class")==2);`
leaving primdec.lib::equidimMax (2489)
leaving primdec.lib::equidim (2442)

Stacktrace:
 [1] call_singular_library_procedure
   @ ~/.julia/packages/CxxWrap/5IZvn/src/CxxWrap.jl:624 [inlined]
 [2] low_level_caller_rng(lib::String, name::String, ring::Singular.PolyRing{…}, args::Singular.sideal{…})
   @ Singular ~/.julia/packages/Singular/a0LzT/src/caller.jl:379
 [3] equidim(ring::Singular.PolyRing{Singular.n_algExt}, args::Singular.sideal{Singular.spoly{Singular.n_algExt}})
   @ Singular.LibPrimdec ~/.julia/packages/Singular/a0LzT/src/Meta.jl:45
 [4] __compute_equidimensional_decomposition_weak__(I::MPolyIdeal{FqMPolyRingElem})
   @ Oscar ~/Oscar.jl/src/Rings/mpoly-ideals.jl:1225
 [5] #9685
   @ ~/.julia/packages/AbstractAlgebra/R1FMh/src/Attributes.jl:346 [inlined]
 [6] get!(default::Oscar.var"#9685#9687"{MPolyIdeal{FqMPolyRingElem}}, h::Dict{Symbol, Any}, key::Symbol)
   @ Base ./dict.jl:479
 [7] get_attribute!
   @ AbstractAlgebra ~/.julia/packages/AbstractAlgebra/R1FMh/src/Attributes.jl:230 [inlined]
 [8] equidimensional_decomposition_weak(I::MPolyIdeal{FqMPolyRingElem})
   @ Oscar ~/Oscar.jl/src/Rings/mpoly-ideals.jl:1212
 [9] top-level scope
   @ REPL[48]:1
Some type information was truncated. Use `show(err)` to see complete types.

Interestingly, some more trivial cases seem to be caught by other means inside Singular. For instance, the ideal generated by x*y did not raise the error.

Should we extend our _expand_coefficient_field to these field extensions? @wdecker , @hannes14 ?

@hannes14
Copy link
Member

should be fixed by the new Singular_jll (v404.0.606)

@fingolfin
Copy link
Member

Indeed, I now get this:

julia> equidimensional_decomposition_weak(I)
1-element Vector{MPolyIdeal{FqMPolyRingElem}}:
 Ideal (x*y + 20, x^3 + 20*x^2*z + 6*x*z^2 + 10*x + 26*z^3, 26*x^2 + 16*x*y + 27*x*z + y*z^3 + 11*z^2)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants