Skip to content

Commit

Permalink
Merge pull request #169 from ederc/groebner-qq-julia-interface
Browse files Browse the repository at this point in the history
Export interface for degrevlex bases over QQ
  • Loading branch information
mohabsafey authored Jul 26, 2024
2 parents 93213df + 28467c2 commit 6f626cf
Show file tree
Hide file tree
Showing 28 changed files with 805 additions and 230 deletions.
1 change: 1 addition & 0 deletions Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ checkdiff = test/diff/diff_cp_d_3_n_4_p_2.sh \
test/diff/diff_eco6-16.sh \
test/diff/diff_eco6-31.sh \
test/diff/diff_eco6-qq.sh \
test/diff/diff_henrion5-qq.sh \
test/diff/diff_eco10-31.sh \
test/diff/diff_truncate_gb.sh \
test/diff/diff_elim-31.sh \
Expand Down
16 changes: 13 additions & 3 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ AC_CONFIG_FILES([
])
AC_CONFIG_LINKS([
test/diff/diff_source.sh:test/diff/diff_source.sh
test/diff/diff_source-groebner.sh:test/diff/diff_source-groebner.sh
input_files/cp_d_3_n_4_p_2.ms:input_files/cp_d_3_n_4_p_2.ms
output_files/cp_d_3_n_4_p_2.res:output_files/cp_d_3_n_4_p_2.res
test/diff/diff_cp_d_3_n_4_p_2.sh:test/diff/diff_cp_d_3_n_4_p_2.sh
Expand All @@ -94,9 +95,6 @@ AC_CONFIG_LINKS([
input_files/cyclic5-31.ms:input_files/cyclic5-31.ms
output_files/cyclic5-31.res:output_files/cyclic5-31.res
test/diff/diff_cyclic5-31.sh:test/diff/diff_cyclic5-31.sh
input_files/cyclic5-qq.ms:input_files/cyclic5-qq.ms
output_files/cyclic5-qq.res:output_files/cyclic5-qq.res
test/diff/diff_cyclic5-qq.sh:test/diff/diff_cyclic5-qq.sh
input_files/eco6-16.ms:input_files/eco6-16.ms
output_files/eco6-16.res:output_files/eco6-16.res
test/diff/diff_eco6-16.sh:test/diff/diff_eco6-16.sh
Expand All @@ -106,6 +104,18 @@ AC_CONFIG_LINKS([
input_files/eco6-qq.ms:input_files/eco6-qq.ms
output_files/eco6-qq.res:output_files/eco6-qq.res
test/diff/diff_eco6-qq.sh:test/diff/diff_eco6-qq.sh
input_files/cyclic5-qq.ms:input_files/cyclic5-qq.ms
output_files/cyclic5-qq.res:output_files/cyclic5-qq.res
output_files/cyclic5-qq.g2.res:output_files/cyclic5-qq.g2.res
output_files/cyclic5-qq.g2.e1.res:output_files/cyclic5-qq.g2.e1.res
output_files/cyclic5-qq.g2.e2.res:output_files/cyclic5-qq.g2.e2.res
test/diff/diff_cyclic5-qq.sh:test/diff/diff_cyclic5-qq.sh
input_files/henrion5-qq.ms:input_files/henrion5-qq.ms
output_files/henrion5-qq.res:output_files/henrion5-qq.res
output_files/henrion5-qq.g2.res:output_files/henrion5-qq.g2.res
output_files/henrion5-qq.g2.e1.res:output_files/henrion5-qq.g2.e1.res
output_files/henrion5-qq.g2.e2.res:output_files/henrion5-qq.g2.e2.res
test/diff/diff_henrion5-qq.sh:test/diff/diff_henrion5-qq.sh
input_files/eco10-31.ms:input_files/eco10-31.ms
output_files/eco10-31.res:output_files/eco10-31.res
test/diff/diff_eco10-31.sh:test/diff/diff_eco10-31.sh
Expand Down
7 changes: 7 additions & 0 deletions input_files/henrion5-qq.ms
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
f1,f2,f3,f4,f5
0
2*f1*f2*f3*f4*f5-9823275,
21/5*f1*f2*f4*f5+16/5*f1*f3*f4*f5+9/5*f2*f3*f4*f5+24/5*f1*f2*f3*f5+5*f4*f3*f1*f2-4465125,
14/5*f4*f5*f1+14/5*f4*f5*f2+8/5*f3*f4*f5+18/5*f1*f2*f5+24/5*f1*f3*f5+18/5*f2*f3*f5+4*f3*f1*f2+6*f1*f2*f4+6*f3*f4*f1+4*f2*f3*f4-441486,
7/5*f4*f5+12/5*f5*f1+12/5*f5*f2+12/5*f5*f3+3*f1*f2+4*f3*f1+4*f4*f1+3*f2*f3+4*f4*f2+3*f3*f4-15498,
6/5*f5+2*f4+2*f3+2*f2+2*f1-215
27 changes: 27 additions & 0 deletions output_files/cyclic5-qq.g2.e1.res
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#Reduced Groebner basis data
#---
#field characteristic: 0
#variable order: x2, x3, x4, x5
#monomial order: graded reverse lexicographical
#length of basis: 19 elements sorted by increasing leading monomials
#---
[x2^2+x2*x4-1*x3*x4+2*x2*x5+x3*x5+x5^2,
x3^3+x2*x3*x4-2*x2*x4^2-1*x3*x4^2-1*x4^3+3*x3^2*x5-2*x2*x4*x5-2*x3*x4*x5-3*x4^2*x5+3*x2*x5^2+3*x3*x5^2-2*x4*x5^2+2*x5^3,
x2*x3^2-1*x2*x3*x4+x3^2*x4-1*x3^2*x5+x2*x4*x5+x3*x4*x5+x4^2*x5-1*x2*x5^2-2*x3*x5^2+x4*x5^2-1*x5^3,
x4^4+14*x2*x3*x4*x5+6*x3^2*x4*x5-27*x2*x4^2*x5+2*x3*x4^2*x5-15*x4^3*x5-1*x2*x3*x5^2+7*x3^2*x5^2-10*x2*x4*x5^2-9*x3*x4*x5^2-33*x4^2*x5^2+24*x2*x5^3+33*x3*x5^3-14*x4*x5^3+22*x5^4,
x3*x4^3-2*x2*x3*x4*x5-1*x3^2*x4*x5+5*x2*x4^2*x5+4*x4^3*x5-1*x2*x3*x5^2-2*x3^2*x5^2+2*x2*x4*x5^2+7*x4^2*x5^2-4*x2*x5^3-7*x3*x5^3+2*x4*x5^3-4*x5^4,
x2*x4^3-5*x2*x3*x4*x5-2*x3^2*x4*x5+10*x2*x4^2*x5+x3*x4^2*x5+6*x4^3*x5-3*x3^2*x5^2+2*x2*x4*x5^2+2*x3*x4*x5^2+13*x4^2*x5^2-8*x2*x5^3-13*x3*x5^3+4*x4*x5^3-8*x5^4,
x3^2*x4^2+x2*x3*x4*x5-2*x2*x4^2*x5+2*x3*x4^2*x5-1*x4^3*x5-2*x2*x4*x5^2-2*x3*x4*x5^2-2*x4^2*x5^2+3*x2*x5^3+2*x3*x5^3-2*x4*x5^3+2*x5^4,
x2*x3*x4^2+x2*x3*x4*x5+x3^2*x4*x5-1*x2*x4^2*x5+x3*x4^2*x5-1*x4^3*x5-1*x2*x3*x5^2-1*x2*x4*x5^2-2*x4^2*x5^2+x2*x5^3+x3*x5^3-1*x4*x5^3+x5^4,
2*x2*x3*x4*x5^2+x3^2*x4*x5^2+2*x3*x4^2*x5^2-1*x2*x3*x5^3-2*x2*x4*x5^3-1*x3*x4*x5^3-1*x4^2*x5^3+x2*x5^4+x3*x5^4-2*x4*x5^4+x5^5-1,
x2*x5^5-1*x3*x5^5-1*x2+x3,
15*x3*x4^2*x5^3+10*x4^3*x5^3-20*x2*x3*x5^4-20*x3^2*x5^4+5*x2*x4*x5^4-25*x3*x4*x5^4+30*x4^2*x5^4-23*x3*x5^5-3*x4*x5^5-4*x5^6+15*x2-7*x3+3*x4+24*x5,
3*x2*x4^2*x5^3+x4^3*x5^3+x2*x3*x5^4+x3^2*x5^4-1*x2*x4*x5^4+2*x3*x4*x5^4-2*x3*x5^5-1*x5^6-3*x2+2*x3-3*x5,
2*x3*x4*x5^5+x4^2*x5^5+8*x3*x5^6+x4*x5^6+3*x5^7-2*x3*x4-1*x4^2-8*x3*x5-1*x4*x5-3*x5^2,
x3^2*x5^5+3*x3*x5^6+x5^7-1*x3^2-3*x3*x5-1*x5^2,
5*x4^3*x5^4+11*x4^2*x5^5+9*x3*x5^6+2*x4*x5^6+3*x5^7-10*x2*x3-10*x3^2+10*x2*x4-5*x3*x4+4*x4^2-24*x3*x5-2*x4*x5+7*x5^2,
x5^8+42*x2*x3*x4+21*x3^2*x4-165*x2*x4^2+42*x3*x4^2-55*x4^3-76*x2*x3*x5-55*x3^2*x5+13*x2*x4*x5-131*x3*x4*x5-21*x4^2*x5+186*x2*x5^2+21*x3*x5^2-42*x4*x5^2+219*x5^3,
x4*x5^7-110*x2*x3*x4-55*x3^2*x4+52*x2*x4^2+60*x3*x4^2+39*x4^3+29*x2*x3*x5-26*x3^2*x5-34*x2*x4*x5-102*x3*x4*x5+120*x4^2*x5+63*x2*x5^2-120*x3*x5^2+109*x4*x5^2-26*x5^3,
x3*x5^7-16*x2*x3*x4-8*x3^2*x4+63*x2*x4^2-16*x3*x4^2+21*x4^3+29*x2*x3*x5+21*x3^2*x5-5*x2*x4*x5+50*x3*x4*x5+8*x4^2*x5-71*x2*x5^2-9*x3*x5^2+16*x4*x5^2-84*x5^3,
x4^2*x5^6+28*x2*x3*x4+14*x3^2*x4-21*x2*x4^2-12*x3*x4^2-12*x4^3-11*x2*x3*x5+3*x3^2*x5+9*x2*x4*x5+17*x3*x4*x5-30*x4^2*x5-5*x2*x5^2+29*x3*x5^2-28*x4*x5^2+18*x5^3
]:
23 changes: 23 additions & 0 deletions output_files/cyclic5-qq.g2.e2.res
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#Reduced Groebner basis data
#---
#field characteristic: 0
#variable order: x3, x4, x5
#monomial order: graded reverse lexicographical
#length of basis: 15 elements sorted by increasing leading monomials
#---
[x3^2*x4^2-1*x3^3*x5+3*x3*x4^2*x5-3*x3^2*x5^2+x4^2*x5^2-1*x3*x5^3,
2*x3^4-2*x3^3*x4+3*x3*x4^3+x4^4+2*x3^3*x5-5*x3^2*x4*x5+6*x3*x4^2*x5+3*x4^3*x5-7*x3^2*x5^2-5*x3*x4*x5^2+2*x3*x5^3-2*x4*x5^3+2*x5^4,
3*x3^3*x4*x5-4*x3*x4^3*x5-1*x4^4*x5-1*x3^3*x5^2+9*x3^2*x4*x5^2+6*x3*x4^2*x5^2-3*x4^3*x5^2-5*x3^2*x5^3+3*x3*x4*x5^3+6*x4^2*x5^3-9*x3*x5^4+x4*x5^4-3*x5^5-2,
x4^5+x3*x4^3*x5-4*x4^4*x5-8*x3^3*x5^2+10*x3^2*x4*x5^2+30*x3*x4^2*x5^2-12*x4^3*x5^2-26*x3^2*x5^3+12*x3*x4*x5^3+27*x4^2*x5^3-27*x3*x5^4+8*x4*x5^4-8*x5^5-4,
x3*x4^4+2*x4^4*x5+x3^3*x5^2-2*x3^2*x4*x5^2-6*x3*x4^2*x5^2+3*x4^3*x5^2+4*x3^2*x5^3-3*x3*x4*x5^3-6*x4^2*x5^3+6*x3*x5^4-2*x4*x5^4+2*x5^5,
11*x4^4*x5^2-10*x3^3*x5^3-6*x3^2*x4*x5^3+3*x3*x4^2*x5^3+14*x4^3*x5^3-14*x3^2*x5^4-14*x3*x4*x5^4-31*x4^2*x5^4+62*x3*x5^5-13*x4*x5^5+27*x5^6-31*x3+23*x4-21*x5,
11*x3*x4^3*x5^2+6*x3^3*x5^3-3*x3^2*x4*x5^3-15*x3*x4^2*x5^3+7*x4^3*x5^3+15*x3^2*x5^4-7*x3*x4*x5^4+x4^2*x5^4-2*x3*x5^5-1*x4*x5^5-3*x5^6+x3-5*x4-5*x5,
2*x3*x4*x5^5+x4^2*x5^5+8*x3*x5^6+x4*x5^6+3*x5^7-2*x3*x4-1*x4^2-8*x3*x5-1*x4*x5-3*x5^2,
x3^2*x5^5+3*x3*x5^6+x5^7-1*x3^2-3*x3*x5-1*x5^2,
20*x3^3*x5^4-10*x3^2*x4*x5^4-50*x3*x4^2*x5^4+5*x4^3*x5^4-18*x4^2*x5^5-155*x3*x5^6+x4*x5^6-58*x5^7+50*x3^2-5*x3*x4+3*x4^2+170*x3*x5-21*x4*x5+68*x5^2,
132*x4^2*x5^6-15*x3*x5^7+31*x4*x5^7-13*x5^8+20*x3^3-10*x3^2*x4-50*x3*x4^2+5*x4^3+50*x3^2*x5-5*x3*x4*x5-147*x4^2*x5+30*x3*x5^2-51*x4*x5^2+23*x5^3,
33*x4^3*x5^5-1020*x3*x5^7-4*x4*x5^7-389*x5^8+40*x3^3-20*x3^2*x4-100*x3*x4^2-23*x4^3+100*x3^2*x5-10*x3*x4*x5-30*x4^2*x5+1050*x3*x5^2-36*x4*x5^2+409*x5^3,
4*x5^9-314*x3^3*x4-3*x3*x4^3+13*x4^4-42*x3^3*x5-777*x3^2*x4*x5-78*x3*x4^2*x5-71*x4^3*x5+65*x3^2*x5^2+71*x3*x4*x5^2-408*x4^2*x5^2+722*x3*x5^3+42*x4*x5^3+776*x5^4,
2*x4*x5^8-139*x3^3*x4+138*x3*x4^3+59*x4^4-191*x3^3*x5-311*x3^2*x4*x5+290*x3*x4^2*x5+75*x4^3*x5-349*x3^2*x5^2-75*x3*x4*x5^2-168*x4^2*x5^2+307*x3*x5^3+189*x4*x5^3+173*x5^4,
4*x3*x5^8+120*x3^3*x4+x3*x4^3-5*x4^4+16*x3^3*x5+297*x3^2*x4*x5+30*x3*x4^2*x5+27*x4^3*x5-25*x3^2*x5^2-27*x3*x4*x5^2+156*x4^2*x5^2-280*x3*x5^3-16*x4*x5^3-298*x5^4
]:
28 changes: 28 additions & 0 deletions output_files/cyclic5-qq.g2.res
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#Reduced Groebner basis data
#---
#field characteristic: 0
#variable order: x1, x2, x3, x4, x5
#monomial order: graded reverse lexicographical
#length of basis: 20 elements sorted by increasing leading monomials
#---
[x1+x2+x3+x4+x5,
x2^2+x2*x4-1*x3*x4+2*x2*x5+x3*x5+x5^2,
x3^3+x2*x3*x4-2*x2*x4^2-1*x3*x4^2-1*x4^3+3*x3^2*x5-2*x2*x4*x5-2*x3*x4*x5-3*x4^2*x5+3*x2*x5^2+3*x3*x5^2-2*x4*x5^2+2*x5^3,
x2*x3^2-1*x2*x3*x4+x3^2*x4-1*x3^2*x5+x2*x4*x5+x3*x4*x5+x4^2*x5-1*x2*x5^2-2*x3*x5^2+x4*x5^2-1*x5^3,
x4^4+14*x2*x3*x4*x5+6*x3^2*x4*x5-27*x2*x4^2*x5+2*x3*x4^2*x5-15*x4^3*x5-1*x2*x3*x5^2+7*x3^2*x5^2-10*x2*x4*x5^2-9*x3*x4*x5^2-33*x4^2*x5^2+24*x2*x5^3+33*x3*x5^3-14*x4*x5^3+22*x5^4,
x3*x4^3-2*x2*x3*x4*x5-1*x3^2*x4*x5+5*x2*x4^2*x5+4*x4^3*x5-1*x2*x3*x5^2-2*x3^2*x5^2+2*x2*x4*x5^2+7*x4^2*x5^2-4*x2*x5^3-7*x3*x5^3+2*x4*x5^3-4*x5^4,
x2*x4^3-5*x2*x3*x4*x5-2*x3^2*x4*x5+10*x2*x4^2*x5+x3*x4^2*x5+6*x4^3*x5-3*x3^2*x5^2+2*x2*x4*x5^2+2*x3*x4*x5^2+13*x4^2*x5^2-8*x2*x5^3-13*x3*x5^3+4*x4*x5^3-8*x5^4,
x3^2*x4^2+x2*x3*x4*x5-2*x2*x4^2*x5+2*x3*x4^2*x5-1*x4^3*x5-2*x2*x4*x5^2-2*x3*x4*x5^2-2*x4^2*x5^2+3*x2*x5^3+2*x3*x5^3-2*x4*x5^3+2*x5^4,
x2*x3*x4^2+x2*x3*x4*x5+x3^2*x4*x5-1*x2*x4^2*x5+x3*x4^2*x5-1*x4^3*x5-1*x2*x3*x5^2-1*x2*x4*x5^2-2*x4^2*x5^2+x2*x5^3+x3*x5^3-1*x4*x5^3+x5^4,
2*x2*x3*x4*x5^2+x3^2*x4*x5^2+2*x3*x4^2*x5^2-1*x2*x3*x5^3-2*x2*x4*x5^3-1*x3*x4*x5^3-1*x4^2*x5^3+x2*x5^4+x3*x5^4-2*x4*x5^4+x5^5-1,
x2*x5^5-1*x3*x5^5-1*x2+x3,
15*x3*x4^2*x5^3+10*x4^3*x5^3-20*x2*x3*x5^4-20*x3^2*x5^4+5*x2*x4*x5^4-25*x3*x4*x5^4+30*x4^2*x5^4-23*x3*x5^5-3*x4*x5^5-4*x5^6+15*x2-7*x3+3*x4+24*x5,
3*x2*x4^2*x5^3+x4^3*x5^3+x2*x3*x5^4+x3^2*x5^4-1*x2*x4*x5^4+2*x3*x4*x5^4-2*x3*x5^5-1*x5^6-3*x2+2*x3-3*x5,
2*x3*x4*x5^5+x4^2*x5^5+8*x3*x5^6+x4*x5^6+3*x5^7-2*x3*x4-1*x4^2-8*x3*x5-1*x4*x5-3*x5^2,
x3^2*x5^5+3*x3*x5^6+x5^7-1*x3^2-3*x3*x5-1*x5^2,
5*x4^3*x5^4+11*x4^2*x5^5+9*x3*x5^6+2*x4*x5^6+3*x5^7-10*x2*x3-10*x3^2+10*x2*x4-5*x3*x4+4*x4^2-24*x3*x5-2*x4*x5+7*x5^2,
x5^8+42*x2*x3*x4+21*x3^2*x4-165*x2*x4^2+42*x3*x4^2-55*x4^3-76*x2*x3*x5-55*x3^2*x5+13*x2*x4*x5-131*x3*x4*x5-21*x4^2*x5+186*x2*x5^2+21*x3*x5^2-42*x4*x5^2+219*x5^3,
x4*x5^7-110*x2*x3*x4-55*x3^2*x4+52*x2*x4^2+60*x3*x4^2+39*x4^3+29*x2*x3*x5-26*x3^2*x5-34*x2*x4*x5-102*x3*x4*x5+120*x4^2*x5+63*x2*x5^2-120*x3*x5^2+109*x4*x5^2-26*x5^3,
x3*x5^7-16*x2*x3*x4-8*x3^2*x4+63*x2*x4^2-16*x3*x4^2+21*x4^3+29*x2*x3*x5+21*x3^2*x5-5*x2*x4*x5+50*x3*x4*x5+8*x4^2*x5-71*x2*x5^2-9*x3*x5^2+16*x4*x5^2-84*x5^3,
x4^2*x5^6+28*x2*x3*x4+14*x3^2*x4-21*x2*x4^2-12*x3*x4^2-12*x4^3-11*x2*x3*x5+3*x3^2*x5+9*x2*x4*x5+17*x3*x4*x5-30*x4^2*x5-5*x2*x5^2+29*x3*x5^2-28*x4*x5^2+18*x5^3
]:
Loading

0 comments on commit 6f626cf

Please sign in to comment.