M2
M2 copied to clipboard
`AssociativeAlgebras` crashes
AssociativeAlgebras crashes pretty much every time one tries to compute a GB. Some examples:
i1 : needsPackage "AssociativeAlgebras"
o1 = AssociativeAlgebras
o1 : Package
i2 : R=ZZ<|S|>
o2 = R
o2 : FreeAlgebra
i3 : I=ideal apply(20, i-> random ZZ * S^i)
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
o3 = ideal (8, 6S, S , 2S , 2S , 9S , 8S , 7S , 5S , S , 5S , 9S , 6S , 3S , 9S , 4S , 6S , 7S , 9S , 5S )
o3 : Ideal of R
i4 : NCGB I
Using GC ring in VectorArithmetic.
terminate called after throwing an instance of 'exc::engine_error'
what(): division by a non unit attempted
Process M2 aborted (core dumped)
or:
i1 : needsPackage "AssociativeAlgebras"
o1 = AssociativeAlgebras
o1 : Package
i2 : R'=ZZ<|S1,S2|>
o2 = R'
o2 : FreeAlgebra
i3 : R=ZZ[u]
o3 = R
o3 : PolynomialRing
i4 : t=13; r=31; cf={-u*(r*t*u-r^2*u-t*u+r), (u-1)*(r^2*u+t*u-r*u-r), -u*(u-1)*r};
i7 : R1= u1 -> sum(#cf,i->sub(cf#i,u=>u1) * S1^i); R2= u1 -> sum(#cf,i->sub(cf#i,u=>u1) * S2^i);
i9 : YBE = (u1,v1) -> R1(u1)*R2(u1*v1)*R1(v1)-R2(v1)*R1(u1*v1)*R2(u1);
i10 : I=ideal apply(20,i->YBE(random ZZ,random ZZ));
o10 : Ideal of R'
i11 : NCGB I
Warning: F4 Algorithm not available over current coefficient ring or inhomogeneous ideal.
Converting to Naive algorithm.
-- SIGSEGV
-* stack trace, pid: 194746
0# std::vector<boost::stacktrace::frame, std::allocator<boost::stacktrace::frame> >::size() const at /usr/include/c++/12/bits/stl_vector.h:988
1# segv_handler at /home/pzinn/M2/M2/Macaulay2/bin/main.cpp:240
2# 0x00007F1BD1E5FB20 in /lib64/libc.so.6
3# Monom::end() const at /home/pzinn/M2/M2/Macaulay2/e/Polynomial.hpp:37
4# FreeAlgebra::lead_word(Polynomial<CoefficientRingType> const&) const at /home/pzinn/M2/M2/Macaulay2/e/NCAlgebras/FreeAlgebra.cpp:891
5# std::_Head_base<3ul, bool, false>::_Head_base<bool>(bool&&) at /usr/include/c++/12/tuple:200 (discriminator 2)
6# rawNCGroebnerBasisTwoSided at /home/pzinn/M2/M2/Macaulay2/e/interface/groebner.cpp:931
7# interface_rawNCGroebnerBasisTwoSided at /home/pzinn/M2/M2/Macaulay2/d/interface.dd:4019
8# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1404
9# evaluate_evalSequence at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1364
10# evaluate_applyFCCS at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:841 (discriminator 1)
11# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1411
12# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1364
13# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1364 (discriminator 2)
14# evaluate_eval at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1364 (discriminator 1)
15# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1364 (discriminator 6)
16# evaluate_applyFCS at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:586 (discriminator 1)
17# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1408
18# evaluate_applyFCS at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:529 (discriminator 1)
19# iteratedApply at /home/pzinn/M2/M2/Macaulay2/d/actors3.d:2307 (discriminator 6)
20# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1404
21# evaluate_applyFCS at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:529 (discriminator 1)
22# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1411
23# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1364 (discriminator 6)
24# evaluate_eval at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1364 (discriminator 1)
25# evaluate_applyFCE at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:806
26# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1408
27# evaluate_applyFCE at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:806
28# iteratedApply at /home/pzinn/M2/M2/Macaulay2/d/actors3.d:2307 (discriminator 6)
29# evaluate_applyFCC at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:725
30# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1411
31# evaluate_evalexcept at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1578
32# readeval3(parse_TokenFile_struct*, char, parse_DictionaryClosure_struct*, char, char, char) at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:183
33# loadprint(M2_string_struct*, parse_DictionaryClosure_struct*, char) at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:350 (discriminator 1)
34# commandInterpreter_2(tagged_union*) at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:470 (discriminator 1)
35# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1404
36# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1364
37# evaluate_evalraw at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1364 (discriminator 2)
38# evaluate_evalexcept at /home/pzinn/M2/M2/Macaulay2/d/evaluate.d:1578
39# readeval3(parse_TokenFile_struct*, char, parse_DictionaryClosure_struct*, char, char, char) at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:183
40# readeval(parse_TokenFile_struct*, char, char) at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:288
41# interp_process at /home/pzinn/M2/M2/Macaulay2/d/interp.dd:618
42# interpFunc(ArgCell*) at /home/pzinn/M2/M2/Macaulay2/bin/main.cpp:192
43# ThreadTask::run(SupervisorThread*) at /home/pzinn/M2/M2/Macaulay2/system/supervisor.cpp:377
44# SupervisorThread::threadEntryPoint() at /home/pzinn/M2/M2/Macaulay2/system/supervisor.cpp:426
45# SupervisorThread::threadEntryPoint(void*) at /home/pzinn/M2/M2/Macaulay2/system/supervisor.hpp:100
46# 0x00007F1BD2821A38 in /lib64/libgc.so.1
47# GC_call_with_stack_base in /lib64/libgc.so.1
48# 0x00007F1BD1EAE15D in /lib64/libc.so.6
49# 0x00007F1BD1F2FC00 in /lib64/libc.so.6
-- end stack trace *-
Process M2 exited abnormally with code 1
I believe that the code should be checking for a field as coefficient ring, and should be giving an error if it is not a field. These examples mean that we should be checking. It would be nice to implement these over ZZ too, but that is a project. @moorewf Do you agree?
Agreed!
On Mon, Oct 23, 2023 at 3:49 PM Mike Stillman @.***> wrote:
I believe that the code should be checking for a field as coefficient ring, and should be giving an error if it is not a field. These examples mean that we should be checking. It would be nice to implement these over ZZ too, but that is a project. @moorewf https://github.com/moorewf Do you agree?
— Reply to this email directly, view it on GitHub https://github.com/Macaulay2/M2/issues/2959#issuecomment-1775914094, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABMP3Z6IKR7SDBGZORYBONLYA3C3LAVCNFSM6AAAAAA5Z7YSVGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZVHEYTIMBZGQ . You are receiving this because you were mentioned.Message ID: @.***>
I think this may be a duplicate of #3156. closing.