algebraic-solving / AlgebraicSolving.jl

Other
18 stars 10 forks source link

Gröbner basis of ideal that contains `0` as an element #54

Closed linus-md closed 3 months ago

linus-md commented 4 months ago

Hello,

I believe I found a bug. I installed AlgebraicSolving as described on the website using

julia> using Pkg; Pkg.add("AlgebraicSolving")

The following script

using AlgebraicSolving
R, (x1, x2) = polynomial_ring(GF(17), ["x1", "x2"])
I = Ideal([x1, R(0)])
groebner_basis(I, info_level=1)

does not terminate in my Jupyter Notebook and if I run it in the terminal I get the following output:

--------------- INPUT DATA ---------------
#variables                       2
#equations                       2
#invalid equations               0
field characteristic            17
homogeneous input?               1
signature-based computation      0
monomial order                 DRL
basis hash table resetting     OFF
linear algebra option            2
initial hash table size     131072 (2^17)
max pair selection             ALL
reduce gb                        1
#threads                         1
info level                       1
generate pbm files               0
------------------------------------------

[15256] signal (11.1): Segmentation fault: 11
in expression starting at REPL[6]:1
.omp_outlined..153 at /Users/linussommer/.julia/artifacts/00a1757e8dcb289ee793a73e3283edf3b471093e/lib/libneogb-0.6.5.dylib (unknown line)
Allocations: 5908433 (Pool: 5904444; Big: 3989); GC: 8
zsh: segmentation fault  Julia
ederc commented 4 months ago

Thanks for pointing out this bug to us.

We will finalize a new minor release soon.

wegank commented 3 months ago

The following script segfaults on macOS with AlgebraicSolving v0.4.16. Should I open a separate issue?

using AlgebraicSolving

R, (x1, x2) = polynomial_ring(QQ, ["x1", "x2"])
I = Ideal([R(0)])
real_solutions(I)
ederc commented 3 months ago

Will work on this in the next days.

wegank commented 3 months ago

Oh, and also for any ideal containing 0 as an element. So the following doesn't work either:

using AlgebraicSolving

R, (x1, x2) = polynomial_ring(QQ, ["x1", "x2"])
I = Ideal([x1, R(0)])
real_solutions(I)
ederc commented 3 months ago

Yes, #61 will handle this case, too.

ederc commented 3 months ago

Completed via #61 . New release will follow soon.