From 2157630747eb2d01137a1ba58cbf0b7e63763a2b Mon Sep 17 00:00:00 2001 From: Lars Kastner Date: Tue, 15 Oct 2024 11:33:07 +0200 Subject: [PATCH] Update book examples --- .../alexander-surface.jlcon | 2 +- .../algebraic-geometry/circlepar.jlcon | 16 +-- .../algebraic-geometry/ex11.jlcon | 8 +- .../algebraic-geometry/ex21a.jlcon | 2 +- .../algebraic-geometry/ex23a.jlcon | 5 +- .../algebraic-geometry/ex314.jlcon | 2 - .../algebraic-geometry/exres.jlcon | 20 +-- .../hilbert-polynomial.jlcon | 4 +- .../algebraic-geometry/param.jlcon | 3 +- test/book/cornerstones/groups/actions.jlcon | 21 ++- test/book/cornerstones/groups/chars.jlcon | 2 +- test/book/cornerstones/groups/explSL25.jlcon | 48 ++++--- test/book/cornerstones/groups/intro.jlcon | 16 +-- test/book/cornerstones/groups/reps.jlcon | 16 +-- .../number-theory/galoismod.jlcon | 6 +- .../{galoismod_1.jl => galoismod_1.jlcon} | 0 .../{galoismod_2.jl => galoismod_2.jlcon} | 0 .../cornerstones/number-theory/intro.jlcon | 17 +-- .../number-theory/{sym_1.jl => sym_1.jlcon} | 0 .../{unit_log_plot.jl => unit_log_plot.jlcon} | 0 .../polyhedral-geometry/D222Computation.jlcon | 7 +- .../polyhedral-geometry/GKZ_orbits.jlcon | 3 +- .../g-vector-example.jlcon | 2 + .../g-vectors-upper-bound.jlcon | 1 + .../cornerstones/polyhedral-geometry/lp.jlcon | 4 +- .../polyhedral-geometry/not-pointed.jlcon | 3 +- .../polyhedral-geometry/pentagon.jlcon | 1 - .../polyhedral-geometry/platonic.jlcon | 3 +- test/book/ordered_examples.json | 92 ++---------- .../p1xp1_cohomologies.jlcon | 2 +- .../p1xp1_vanishing_sets.jlcon | 2 +- .../polyhedral_fan.jlcon | 1 - .../starsubdivision.jlcon | 4 +- .../vinberg_1.jlcon | 2 +- .../vinberg_2.jlcon | 133 ++++++++---------- .../expl_G23_tbl.jlcon | 26 ++-- .../decker-schmitt-invariant-theory/H3.jlcon | 2 +- .../cox_ring.jlcon | 8 +- .../gleason.jlcon | 2 +- .../decker-schmitt-invariant-theory/sym.jlcon | 2 +- .../gbeliminate.jlcon | 18 +-- .../eder-mohr-ideal-theoretic/nonproper.jlcon | 2 +- .../fang-fourier-monomial-bases/gap.jlcon | 2 + .../oscar-vs-gap.jlcon | 1 + .../sl7-cases.jlcon | 17 +++ .../holt-ren-tropical-geometry/groebner.jlcon | 4 +- .../linearSpace1.jlcon | 10 +- .../polynomial-load.jlcon | 2 +- .../kuehne-schroeter-matroids/ChowRings.jlcon | 30 ++-- .../realization_space.jlcon | 2 - .../draw_hypersurface.jlcon | 2 +- .../eliminate_xz.jlcon | 32 +---- 52 files changed, 254 insertions(+), 356 deletions(-) rename test/book/cornerstones/number-theory/{galoismod_1.jl => galoismod_1.jlcon} (100%) rename test/book/cornerstones/number-theory/{galoismod_2.jl => galoismod_2.jlcon} (100%) rename test/book/cornerstones/number-theory/{sym_1.jl => sym_1.jlcon} (100%) rename test/book/cornerstones/number-theory/{unit_log_plot.jl => unit_log_plot.jlcon} (100%) create mode 100644 test/book/specialized/fang-fourier-monomial-bases/gap.jlcon create mode 100644 test/book/specialized/fang-fourier-monomial-bases/oscar-vs-gap.jlcon create mode 100644 test/book/specialized/fang-fourier-monomial-bases/sl7-cases.jlcon diff --git a/test/book/cornerstones/algebraic-geometry/alexander-surface.jlcon b/test/book/cornerstones/algebraic-geometry/alexander-surface.jlcon index e11ef69384e1..3639a00b22d9 100644 --- a/test/book/cornerstones/algebraic-geometry/alexander-surface.jlcon +++ b/test/book/cornerstones/algebraic-geometry/alexander-surface.jlcon @@ -7,7 +7,7 @@ julia> degree(X) 9 julia> S = ambient_coordinate_ring(X) -Multivariate polynomial ring in 5 variables over GF(31991) graded by +Multivariate polynomial ring in 5 variables over GF(31991) graded by x -> [1] y -> [1] z -> [1] diff --git a/test/book/cornerstones/algebraic-geometry/circlepar.jlcon b/test/book/cornerstones/algebraic-geometry/circlepar.jlcon index 3e92366f3372..d7a017457722 100644 --- a/test/book/cornerstones/algebraic-geometry/circlepar.jlcon +++ b/test/book/cornerstones/algebraic-geometry/circlepar.jlcon @@ -4,22 +4,22 @@ julia> I = ideal(R, [x^2 + y^2 - 1, y - t*x - 1]); julia> Gy = groebner_basis(I, ordering = lex([y, x, t]), complete_reduction=true) Gröbner basis with elements - 1 -> x^2*t^2 + x^2 + 2*x*t - 2 -> y - x*t - 1 +1 -> x^2*t^2 + x^2 + 2*x*t +2 -> y - x*t - 1 with respect to the ordering - lex([y, x, t]) +lex([y, x, t]) julia> factor(Gy[1]) 1 * (x*t^2 + x + 2*t) * x julia> Gx = groebner_basis(I, ordering = lex([x, y, t]), complete_reduction=true) Gröbner basis with elements - 1 -> y^2*t^2 + y^2 - 2*y - t^2 + 1 - 2 -> x*t - y + 1 - 3 -> x*y - x + y^2*t - t - 4 -> x^2 + y^2 - 1 +1 -> y^2*t^2 + y^2 - 2*y - t^2 + 1 +2 -> x*t - y + 1 +3 -> x*y - x + y^2*t - t +4 -> x^2 + y^2 - 1 with respect to the ordering - lex([x, y, t]) +lex([x, y, t]) julia> factor(Gx[1]) 1 * (y - 1) * (y*t^2 + y + t^2 - 1) diff --git a/test/book/cornerstones/algebraic-geometry/ex11.jlcon b/test/book/cornerstones/algebraic-geometry/ex11.jlcon index 3f903771e98b..1fdb5883036c 100644 --- a/test/book/cornerstones/algebraic-geometry/ex11.jlcon +++ b/test/book/cornerstones/algebraic-geometry/ex11.jlcon @@ -4,8 +4,8 @@ julia> I = ideal(R, [x^2+y^2+2*z^2-8, x^2-y^2-z^2+1, x-y+z]); julia> groebner_basis(I, ordering = lex(R), complete_reduction = true) Gröbner basis with elements - 1 -> 6*z^4 - 18*z^2 + 1 - 2 -> y + 3*z^3 - 9*z - 3 -> x + 3*z^3 - 8*z +1 -> 6*z^4 - 18*z^2 + 1 +2 -> y + 3*z^3 - 9*z +3 -> x + 3*z^3 - 8*z with respect to the ordering - lex([x, y, z]) +lex([x, y, z]) diff --git a/test/book/cornerstones/algebraic-geometry/ex21a.jlcon b/test/book/cornerstones/algebraic-geometry/ex21a.jlcon index 4bf42c540163..01a275352dd2 100644 --- a/test/book/cornerstones/algebraic-geometry/ex21a.jlcon +++ b/test/book/cornerstones/algebraic-geometry/ex21a.jlcon @@ -1,4 +1,4 @@ -julia> J1 = ideal([H(I[1]), H(I[2])]) +julia> J1 = ideal([H(I[1]), H(I[2])]) Ideal generated by x0*x2 - x1^2 x0*x3 - x1*x2 diff --git a/test/book/cornerstones/algebraic-geometry/ex23a.jlcon b/test/book/cornerstones/algebraic-geometry/ex23a.jlcon index 67637c6f9acf..eaca161def65 100644 --- a/test/book/cornerstones/algebraic-geometry/ex23a.jlcon +++ b/test/book/cornerstones/algebraic-geometry/ex23a.jlcon @@ -12,11 +12,10 @@ julia> other_pos_abs = pos_abs == 1 ? 2 : 1 julia> cI2 = cIabs[other_pos_abs][3] Ideal generated by 648*y + (-160*_a^3 - 1269*_a^2 + 22446*_a + 972)*z - 184147758075888*x + (2850969000960*_a^3 + 22611747888864*_a^2 - 399955313722176*_a - 17319636680832)*y + (2884707374400*_a^3 + 2 - 2782606070410*_a^2 - 405172045313820*_a - 57843867366864)*z + 184147758075888*x + (2850969000960*_a^3 + 22611747888864*_a^2 - 399955313722176*_a - 17319636680832)*y + (2884707374400*_a^3 + 22782606070410*_a^2 - 405172045313820*_a - 57843867366864)*z julia> R2 = base_ring(cI2) -Multivariate polynomial ring in 3 variables over number field graded by +Multivariate polynomial ring in 3 variables over number field graded by x -> [1] y -> [1] z -> [1] diff --git a/test/book/cornerstones/algebraic-geometry/ex314.jlcon b/test/book/cornerstones/algebraic-geometry/ex314.jlcon index 3a15caec9592..d387821bc9bc 100644 --- a/test/book/cornerstones/algebraic-geometry/ex314.jlcon +++ b/test/book/cornerstones/algebraic-geometry/ex314.jlcon @@ -68,13 +68,11 @@ M1 -> M e[1] -> (-x_0*x_3 + x_1*x_2)*e[1] Graded module homomorphism of degree [2] - julia> phi2 = psi(tohomM1M(hom1[2])) M1 -> M e[1] -> (-x_0*x_2 + x_1^2)*e[1] Graded module homomorphism of degree [2] - julia> kerphi2, _ = kernel(phi2); julia> iszero(kerphi2) diff --git a/test/book/cornerstones/algebraic-geometry/exres.jlcon b/test/book/cornerstones/algebraic-geometry/exres.jlcon index 087305294474..b6d52ae6d476 100644 --- a/test/book/cornerstones/algebraic-geometry/exres.jlcon +++ b/test/book/cornerstones/algebraic-geometry/exres.jlcon @@ -1,25 +1,25 @@ -julia> R, (w, x, y, z) = graded_polynomial_ring(QQ, ["w", "x", "y", "z"]); +julia> S, (w, x, y, z) = graded_polynomial_ring(QQ, ["w", "x", "y", "z"]); -julia> I = ideal([w^2-x*z,w*x-y*z,x^2-w*y,x*y-z^2,y^2-w*z]); +julia> J = ideal([w^2-x*z,w*x-y*z,x^2-w*y,x*y-z^2,y^2-w*z]); -julia> A, _ = quo(R, I); +julia> A, _ = quo(S, J); julia> FA = free_resolution(A) Free resolution of A -R^1 <---- R^5 <---- R^6 <---- R^2 <---- 0 +S^1 <---- S^5 <---- S^6 <---- S^2 <---- 0 0 1 2 3 4 julia> FA[1] -Graded free module R^5([-2]) of rank 5 over R +Graded free module S^5([-2]) of rank 5 over S julia> FA[2] -Graded free module R^5([-3]) + R^1([-4]) of rank 6 over R +Graded free module S^5([-3]) + S^1([-4]) of rank 6 over S julia> FA[3] -Graded free module R^1([-4]) + R^1([-5]) of rank 2 over R +Graded free module S^1([-4]) + S^1([-5]) of rank 2 over S julia> map(FA,1) -R^5 -> R^1 +S^5 -> S^1 e[1] -> (-w*z + y^2)*e[1] e[2] -> (x*y - z^2)*e[1] e[3] -> (-w*y + x^2)*e[1] @@ -28,7 +28,7 @@ e[5] -> (w^2 - x*z)*e[1] Homogeneous module homomorphism julia> map(FA,2) -R^6 -> R^5 +S^6 -> S^5 e[1] -> -x*e[1] + y*e[2] - z*e[4] e[2] -> w*e[1] - x*e[2] + y*e[3] + z*e[5] e[3] -> -w*e[3] + x*e[4] - y*e[5] @@ -38,7 +38,7 @@ e[6] -> (-w^2 + x*z)*e[1] + (-w*z + y^2)*e[5] Homogeneous module homomorphism julia> map(FA,3) -R^2 -> R^6 +S^2 -> S^6 e[1] -> -w*e[2] - y*e[3] + x*e[4] - e[6] e[2] -> (-w^2 + x*z)*e[1] + y*z*e[2] + z^2*e[3] - w*y*e[4] + (w*z - y^2)*e[5] + x*e[6] Homogeneous module homomorphism diff --git a/test/book/cornerstones/algebraic-geometry/hilbert-polynomial.jlcon b/test/book/cornerstones/algebraic-geometry/hilbert-polynomial.jlcon index f35655f922e3..3bba333557af 100644 --- a/test/book/cornerstones/algebraic-geometry/hilbert-polynomial.jlcon +++ b/test/book/cornerstones/algebraic-geometry/hilbert-polynomial.jlcon @@ -1,6 +1,6 @@ -julia> R, (w,x,y,z) = graded_polynomial_ring(QQ, ["w", "x", "y", "z"]); +julia> S, (w,x,y,z) = graded_polynomial_ring(QQ, ["w", "x", "y", "z"]); -julia> I = ideal(R, [x*w-y*z, y*w-(x-z)*(x-2*z)]); +julia> I = ideal(S, [x*w-y*z, y*w-(x-z)*(x-2*z)]); julia> Q = projective_scheme(I); diff --git a/test/book/cornerstones/algebraic-geometry/param.jlcon b/test/book/cornerstones/algebraic-geometry/param.jlcon index b8e9dbe6e490..1e975acf1854 100644 --- a/test/book/cornerstones/algebraic-geometry/param.jlcon +++ b/test/book/cornerstones/algebraic-geometry/param.jlcon @@ -4,8 +4,7 @@ julia> f = x^5 + 10*x^4*y + 20*x^3*y^2 + 130*x^2*y^3 - 20*x*y^4 + 20*y^5 - 2*x^4 julia> C = plane_curve(f) Projective plane curve - defined by 0 = x^5 + 10*x^4*y - 2*x^4*z + 20*x^3*y^2 - 40*x^3*y*z + x^3*z^2 + 130*x^2*y^3 - 150*x^2*y^2*z + 30*x^2*y*z^2 - 20*x* - y^4 - 90*x*y^3*z + 110*x*y^2*z^2 + 20*y^5 - 40*y^4*z + 20*y^3*z^2 + defined by 0 = x^5 + 10*x^4*y - 2*x^4*z + 20*x^3*y^2 - 40*x^3*y*z + x^3*z^2 + 130*x^2*y^3 - 150*x^2*y^2*z + 30*x^2*y*z^2 - 20*x*y^4 - 90*x*y^3*z + 110*x*y^2*z^2 + 20*y^5 - 40*y^4*z + 20*y^3*z^2 julia> conics = [x^2-x*z, y^2-y*z]; diff --git a/test/book/cornerstones/groups/actions.jlcon b/test/book/cornerstones/groups/actions.jlcon index af50427d42b8..1083ae5aa2b9 100644 --- a/test/book/cornerstones/groups/actions.jlcon +++ b/test/book/cornerstones/groups/actions.jlcon @@ -3,15 +3,14 @@ G-set of Alt(4) with seeds 1:4 -julia> G = dihedral_group(6) -Pc group of order 6 +julia> G = dihedral_group(6); julia> U = sub(G, [g for g in gens(G) if order(g) == 2])[1] -Sub-pc group of order 2 +Pc group of order 2 julia> r = right_cosets(G, U) Right cosets of - sub-pc group of order 2 in + pc group of order 2 in pc group of order 6 julia> acting_group(r) @@ -37,7 +36,7 @@ Group homomorphism julia> phi(G[1]), phi(G[2]) ((2,3), (1,2,3)) -julia> function optimal_perm_rep(G) +julia> function optimal_transitive_perm_rep(G) is_natural_symmetric_group(G) && return hom(G,G,gens(G)) is_natural_alternating_group(G) && return hom(G,G,gens(G)) cand = [] # pairs (U,h) with U ≤ G and h a map G -> Sym(G/U) @@ -52,7 +51,7 @@ julia> function optimal_perm_rep(G) julia> U = dihedral_group(8) Pc group of order 8 -julia> optimal_perm_rep(U) +julia> optimal_transitive_perm_rep(U) Group homomorphism from pc group of order 8 to permutation group of degree 4 and order 8 @@ -60,13 +59,13 @@ Group homomorphism julia> isomorphism(PermGroup, U) Group homomorphism from pc group of order 8 - to permutation group of degree 4 and order 8 + to permutation group of degree 8 and order 8 julia> permutation_group(U) -Permutation group of degree 4 and order 8 +Permutation group of degree 8 and order 8 -julia> for g in all_transitive_groups(degree => 3:9, !is_primitive) - h = image(optimal_perm_rep(g))[1] +julia> for g in all_transitive_groups(degree => 3:8, !is_primitive) + h = image(optimal_transitive_perm_rep(g))[1] if degree(h) < degree(g) id = transitive_group_identification(g) id_new = transitive_group_identification(h) @@ -81,5 +80,3 @@ julia> for g in all_transitive_groups(degree => 3:9, !is_primitive) (8, 13) => (6, 6) (8, 14) => (4, 5) (8, 24) => (6, 11) -(9, 4) => (6, 5) -(9, 8) => (6, 9) diff --git a/test/book/cornerstones/groups/chars.jlcon b/test/book/cornerstones/groups/chars.jlcon index 0dc41d966ea9..a1c43f0089d9 100644 --- a/test/book/cornerstones/groups/chars.jlcon +++ b/test/book/cornerstones/groups/chars.jlcon @@ -24,7 +24,7 @@ julia> all(i -> s[i] == 0, ord5) true julia> (x -> [x["1a"], x["2b"], x["3a"], x["3b"]]).(filt) -2-element Vector{Vector{QQAbFieldElem{AbsSimpleNumFieldElem}}}: +2-element Vector{Vector{QQAbElem{AbsSimpleNumFieldElem}}}: [100, 0, 10, 4] [1800, 20, 0, 6] diff --git a/test/book/cornerstones/groups/explSL25.jlcon b/test/book/cornerstones/groups/explSL25.jlcon index ed265be8f3b3..62ecf567ff0b 100644 --- a/test/book/cornerstones/groups/explSL25.jlcon +++ b/test/book/cornerstones/groups/explSL25.jlcon @@ -4,21 +4,37 @@ SL(2,5) julia> T = character_table(G) Character table of SL(2,5) - 2 3 1 1 3 1 1 1 1 2 - 3 1 . . 1 . . 1 1 . - 5 1 1 1 1 1 1 . . . - - 1a 10a 10b 2a 5a 5b 3a 6a 4a - -X_1 1 1 1 1 1 1 1 1 1 -X_2 2 z_5^3 + z_5^2 + 1 -z_5^3 - z_5^2 -2 -z_5^3 - z_5^2 - 1 z_5^3 + z_5^2 -1 1 . -X_3 2 -z_5^3 - z_5^2 z_5^3 + z_5^2 + 1 -2 z_5^3 + z_5^2 -z_5^3 - z_5^2 - 1 -1 1 . -X_4 3 -z_5^3 - z_5^2 z_5^3 + z_5^2 + 1 3 -z_5^3 - z_5^2 z_5^3 + z_5^2 + 1 . . -1 -X_5 3 z_5^3 + z_5^2 + 1 -z_5^3 - z_5^2 3 z_5^3 + z_5^2 + 1 -z_5^3 - z_5^2 . . -1 -X_6 4 -1 -1 4 -1 -1 1 1 . -X_7 4 1 1 -4 -1 -1 1 -1 . -X_8 5 . . 5 . . -1 -1 1 -X_9 6 -1 -1 -6 1 1 . . . + 2 3 1 1 3 1 + 3 1 . . 1 . + 5 1 1 1 1 1 + + 1a 10a 10b 2a 5a + +X_1 1 1 1 1 1 +X_2 2 z_5^3 + z_5^2 + 1 -z_5^3 - z_5^2 -2 -z_5^3 - z_5^2 - 1 +X_3 2 -z_5^3 - z_5^2 z_5^3 + z_5^2 + 1 -2 z_5^3 + z_5^2 +X_4 3 -z_5^3 - z_5^2 z_5^3 + z_5^2 + 1 3 -z_5^3 - z_5^2 +X_5 3 z_5^3 + z_5^2 + 1 -z_5^3 - z_5^2 3 z_5^3 + z_5^2 + 1 +X_6 4 -1 -1 4 -1 +X_7 4 1 1 -4 -1 +X_8 5 . . 5 . +X_9 6 -1 -1 -6 1 + + 2 1 1 1 2 + 3 . 1 1 . + 5 1 . . . + + 5b 3a 6a 4a + +X_1 1 1 1 1 +X_2 z_5^3 + z_5^2 -1 1 . +X_3 -z_5^3 - z_5^2 - 1 -1 1 . +X_4 z_5^3 + z_5^2 + 1 . . -1 +X_5 -z_5^3 - z_5^2 . . -1 +X_6 -1 1 1 . +X_7 -1 1 -1 . +X_8 . -1 -1 1 +X_9 1 . . . julia> R = gmodule(T[end]) G-module for G acting on vector space of dimension 6 over abelian closure of Q @@ -30,7 +46,7 @@ julia> schur_index(T[end]) 2 julia> gmodule_minimal_field(S) -G-module for G acting on vector space of dimension 6 over number field +G-module for G acting on vector space of dimension 6 over number field of degree 4 over QQ julia> B, mB = relative_brauer_group(base_ring(S), character_field(S)); diff --git a/test/book/cornerstones/groups/intro.jlcon b/test/book/cornerstones/groups/intro.jlcon index 20e0e4f98c9a..e2d3574fee67 100644 --- a/test/book/cornerstones/groups/intro.jlcon +++ b/test/book/cornerstones/groups/intro.jlcon @@ -62,18 +62,12 @@ julia> pts = collect(orb) julia> visualize(convex_hull(pts)) -julia> R2 = free_module(K, 2) # the "euclidean" plane over K -Vector space of dimension 2 over QQBar - -julia> A = R2([0,1]) -(Root 0 of x, Root 1.00000 of x - 1) - -julia> pts = [A*mat_rot^i for i in 0:4]; +julia> R2 = vector_space(K, 2); # the "euclidean" plane over K julia> sigma_1 = hom(R2, R2, [-R2[1], R2[2]]) Module homomorphism - from vector space of dimension 2 over QQBar - to vector space of dimension 2 over QQBar + from vector space of dimension 2 over field of algebraic numbers + to vector space of dimension 2 over field of algebraic numbers julia> rot = hom(R2, R2, mat_rot); @@ -127,10 +121,10 @@ julia> describe(H) "a finitely presented group" julia> H1, _ = derived_subgroup(H) -(Sub-finitely presented group, Hom: H1 -> H) +(Finitely presented group, Hom: H1 -> H) julia> H2, _ = derived_subgroup(H1) -(Sub-finitely presented group, Hom: H2 -> H1) +(Finitely presented group, Hom: H2 -> H1) julia> describe(H2) "Z x Z" diff --git a/test/book/cornerstones/groups/reps.jlcon b/test/book/cornerstones/groups/reps.jlcon index a2651f37f45e..792bd17669d9 100644 --- a/test/book/cornerstones/groups/reps.jlcon +++ b/test/book/cornerstones/groups/reps.jlcon @@ -12,9 +12,9 @@ julia> M = regular_gmodule(GF(7), G); julia> C = composition_factors_with_multiplicity(M) 3-element Vector{Any}: - (G-module for G acting on vector space of dimension 1 over GF(7), 1) - (G-module for G acting on vector space of dimension 1 over GF(7), 1) - (G-module for G acting on vector space of dimension 4 over GF(7), 2) + (G-module for G acting on vector space of dimension 1 over prime field of characteristic 7, 1) + (G-module for G acting on vector space of dimension 1 over prime field of characteristic 7, 1) + (G-module for G acting on vector space of dimension 4 over prime field of characteristic 7, 2) julia> [is_absolutely_irreducible(x[1]) for x in C] 3-element Vector{Bool}: @@ -28,12 +28,12 @@ Morphism of finite fields to finite field of degree 2 and characteristic 7 julia> M = extension_of_scalars(C[3][1], phi) -G-module for G acting on vector space of dimension 4 over GF(7, 2) +G-module for G acting on vector space of dimension 4 over finite field of degree 2 and characteristic 7 julia> composition_factors_with_multiplicity(M) 2-element Vector{Any}: - (G-module for G acting on vector space of dimension 2 over GF(7, 2), 1) - (G-module for G acting on vector space of dimension 2 over GF(7, 2), 1) + (G-module for G acting on vector space of dimension 2 over finite field of degree 2 and characteristic 7, 1) + (G-module for G acting on vector space of dimension 2 over finite field of degree 2 and characteristic 7, 1) julia> G = pc_group(symmetric_group(4)); @@ -63,7 +63,7 @@ julia> pushfirst!(im, hom(FF, FF, matrix(C, [0 1; 1 0]))); julia> phi = gmodule(G, im); julia> character(phi) -class_function(character table of G, [2, 0, -1, 2, 0]) +class_function(character table of G, QQAbElem{AbsSimpleNumFieldElem}[2, 0, -1, 2, 0]) julia> schur_index(ans) 1 @@ -71,7 +71,7 @@ julia> schur_index(ans) julia> T = matrix(C, [C(1) -z; z+1 z]); julia> [matrix(x)^T for x in action(phi)] -4-element Vector{AbstractAlgebra.Generic.MatSpaceElem{QQAbFieldElem{AbsSimpleNumFieldElem}}}: +4-element Vector{AbstractAlgebra.Generic.MatSpaceElem{QQAbElem{AbsSimpleNumFieldElem}}}: [1 0; -1 -1] [0 1; -1 -1] [1 0; 0 1] diff --git a/test/book/cornerstones/number-theory/galoismod.jlcon b/test/book/cornerstones/number-theory/galoismod.jlcon index 64c37466576c..6e46fdcb4463 100644 --- a/test/book/cornerstones/number-theory/galoismod.jlcon +++ b/test/book/cornerstones/number-theory/galoismod.jlcon @@ -55,18 +55,18 @@ julia> V, f = galois_module(K); OK = ring_of_integers(K); M = f(OK); julia> fl, c = is_free_with_basis(M); # the elements of c are a basis julia> b = preimage(f, c[1]) # the element might different per session -a^3 +a julia> A, mA = automorphism_group(K); julia> X = matrix(ZZ, [coordinates(OK(mA(s)(b))) for s in A]) +[0 1 0 0] [0 0 0 1] [1 -1 1 -1] [0 0 -1 0] -[0 1 0 0] julia> det(X) --1 +1 julia> k, = number_field(x^4 - 13*x^2 + 16); candidates = []; for F in abelian_normal_extensions(k, [2], ZZ(10)^13) K, = absolute_simple_field(number_field(F)) diff --git a/test/book/cornerstones/number-theory/galoismod_1.jl b/test/book/cornerstones/number-theory/galoismod_1.jlcon similarity index 100% rename from test/book/cornerstones/number-theory/galoismod_1.jl rename to test/book/cornerstones/number-theory/galoismod_1.jlcon diff --git a/test/book/cornerstones/number-theory/galoismod_2.jl b/test/book/cornerstones/number-theory/galoismod_2.jlcon similarity index 100% rename from test/book/cornerstones/number-theory/galoismod_2.jl rename to test/book/cornerstones/number-theory/galoismod_2.jlcon diff --git a/test/book/cornerstones/number-theory/intro.jlcon b/test/book/cornerstones/number-theory/intro.jlcon index 55237aeef016..8a7bda27db33 100644 --- a/test/book/cornerstones/number-theory/intro.jlcon +++ b/test/book/cornerstones/number-theory/intro.jlcon @@ -39,13 +39,7 @@ julia> discriminant(OK) julia> prime_ideals_over(OK, 7) 2-element Vector{AbsSimpleNumFieldOrderIdeal}: <7, a + 5> -Norm: 7 -Minimum: 7 -two normal wrt: 7 <7, a + 2> -Norm: 7 -Minimum: 7 -two normal wrt: 7 julia> factor(change_coefficient_ring(GF(7), x^2 - 235)) 1 * (x + 5) * (x + 2) @@ -62,16 +56,11 @@ Z/6 julia> m(zero(A)) # apply m to the neutral element of A <1, 1> -Norm: 1 -Minimum: 1 -principal generator 1 -two normal wrt: 1 +[...] julia> P = prime_ideals_over(OK, 2)[1] <2, a + 1> -Norm: 2 -Minimum: 2 -two normal wrt: 2 +[...] julia> preimage(m, P) Abelian group element [3] @@ -94,4 +83,4 @@ julia> preimage(mU, -214841715*a - 3293461126) Abelian group element [1, 5] julia> -214841715*a - 3293461126 == (-1)^1 * (3a + 46)^5 -true \ No newline at end of file +true diff --git a/test/book/cornerstones/number-theory/sym_1.jl b/test/book/cornerstones/number-theory/sym_1.jlcon similarity index 100% rename from test/book/cornerstones/number-theory/sym_1.jl rename to test/book/cornerstones/number-theory/sym_1.jlcon diff --git a/test/book/cornerstones/number-theory/unit_log_plot.jl b/test/book/cornerstones/number-theory/unit_log_plot.jlcon similarity index 100% rename from test/book/cornerstones/number-theory/unit_log_plot.jl rename to test/book/cornerstones/number-theory/unit_log_plot.jlcon diff --git a/test/book/cornerstones/polyhedral-geometry/D222Computation.jlcon b/test/book/cornerstones/polyhedral-geometry/D222Computation.jlcon index 76949e796f79..8d187fd581c5 100644 --- a/test/book/cornerstones/polyhedral-geometry/D222Computation.jlcon +++ b/test/book/cornerstones/polyhedral-geometry/D222Computation.jlcon @@ -4,9 +4,12 @@ julia> R, x, c = polynomial_ring(QQ, :x=>1:3, :c=>(0:1,0:1,0:1)); julia> f = sum(prod(x[i]^Int(p[i]) for i=1:3) * c[(Vector{Int}(p)+[1,1,1])...] for p=lattice_points(C)) -x[1]*x[2]*x[3]*c[1, 1, 1] + x[1]*x[2]*c[1, 1, 0] + x[1]*x[3]*c[1, 0, 1] + x[1]*c[1, 0, 0] + x[2]*x[3]*c[0, 1, 1] + x[2]*c[0, 1, 0] + x[3]*c[0, 0, 1] + c[0, 0, 0] +x[1]*x[2]*x[3]*c[1, 1, 1] + x[1]*x[2]*c[1, 1, 0] + +x[1]*x[3]*c[1, 0, 1] + x[1]*c[1, 0, 0] + +x[2]*x[3]*c[0, 1, 1] + x[2]*c[0, 1, 0] + +x[3]*c[0, 0, 1] + c[0, 0, 0] julia> I = ideal(R, vcat([derivative(f,t) for t = x], [f])); julia> D222 = eliminate(I,x)[1] -c[0, 0, 0]^2*c[1, 1, 1]^2 - 2*c[0, 0, 0]*c[1, 0, 0]*c[0, 1, 1]*c[1, 1, 1] - 2*c[0, 0, 0]*c[0, 1, 0]*c[1, 0, 1]*c[1, 1, 1] - 2*c[0, 0, 0]*c[1, 1, 0]*c[0, 0, 1]*c[1, 1, 1] + 4*c[0, 0, 0]*c[1, 1, 0]*c[1, 0, 1]*c[0, 1, 1] + c[1, 0, 0]^2*c[0, 1, 1]^2 + 4*c[1, 0, 0]*c[0, 1, 0]*c[0, 0, 1]*c[1, 1, 1] - 2*c[1, 0, 0]*c[0, 1, 0]*c[1, 0, 1]*c[0, 1, 1] - 2*c[1, 0, 0]*c[1, 1, 0]*c[0, 0, 1]*c[0, 1, 1] + c[0, 1, 0]^2*c[1, 0, 1]^2 - 2*c[0, 1, 0]*c[1, 1, 0]*c[0, 0, 1]*c[1, 0, 1] + c[1, 1, 0]^2*c[0, 0, 1]^2 +c[0, 0, 0]^2*c[1, 1, 1]^2 - 2*c[0, 0, 0]*c[1, 0, 0]*c[0, 1, 1]*c[1, 1, 1] - [...] + c[1, 1, 0]^2*c[0, 0, 1]^2 diff --git a/test/book/cornerstones/polyhedral-geometry/GKZ_orbits.jlcon b/test/book/cornerstones/polyhedral-geometry/GKZ_orbits.jlcon index 1524f987593e..6d47634cc605 100644 --- a/test/book/cornerstones/polyhedral-geometry/GKZ_orbits.jlcon +++ b/test/book/cornerstones/polyhedral-geometry/GKZ_orbits.jlcon @@ -15,8 +15,7 @@ julia> OrbitRepresentatives= julia> OrbitSizes = [length( filter(x->minimum(gset(G,permuted,[x]))==u, - GKZ_Vectors) - ) for u in OrbitRepresentatives]; + GKZ_Vectors)) for u in OrbitRepresentatives]; julia> show(OrbitSizes) [12, 24, 24, 8, 2, 4] diff --git a/test/book/cornerstones/polyhedral-geometry/g-vector-example.jlcon b/test/book/cornerstones/polyhedral-geometry/g-vector-example.jlcon index 192fe9c80752..1ac2ceeb3ad1 100644 --- a/test/book/cornerstones/polyhedral-geometry/g-vector-example.jlcon +++ b/test/book/cornerstones/polyhedral-geometry/g-vector-example.jlcon @@ -3,7 +3,9 @@ Polytope in ambient dimension 6 julia> show(f_vector(P)) ZZRingElem[30, 336, 1468, 2874, 2568, 856] + julia> show(h_vector(P)) ZZRingElem[1, 24, 201, 404, 201, 24, 1] + julia> show(g_vector(P)) ZZRingElem[1, 23, 177, 203] diff --git a/test/book/cornerstones/polyhedral-geometry/g-vectors-upper-bound.jlcon b/test/book/cornerstones/polyhedral-geometry/g-vectors-upper-bound.jlcon index 38deeb26b927..95f007329a82 100644 --- a/test/book/cornerstones/polyhedral-geometry/g-vectors-upper-bound.jlcon +++ b/test/book/cornerstones/polyhedral-geometry/g-vectors-upper-bound.jlcon @@ -6,6 +6,7 @@ julia> max_g2 = maximum(g_vectors[:,1]) julia> show(upper_bound_g_vector(6,30)) [1, 23, 276, 2300] + julia> ub = [ Int(Polymake.polytope.pseudopower(g2,2)) for g2 in min_g2:max_g2 ] 34-element Vector{Int64}: 990 diff --git a/test/book/cornerstones/polyhedral-geometry/lp.jlcon b/test/book/cornerstones/polyhedral-geometry/lp.jlcon index 9936ea50dcf4..3e448c0e0b09 100644 --- a/test/book/cornerstones/polyhedral-geometry/lp.jlcon +++ b/test/book/cornerstones/polyhedral-geometry/lp.jlcon @@ -5,11 +5,11 @@ julia> LP = linear_program(P, [1,1], convention=:max) Linear program max{c*x + k | x in P} where P is a Polyhedron{QQFieldElem} and - c=QQFieldElem[1, 1] + c=Polymake.LibPolymake.Rational[1 1] k=0 julia> optimal_value(LP) -100//11 +100/11 julia> optimal_vertex(LP) 2-element PointVector{QQFieldElem}: diff --git a/test/book/cornerstones/polyhedral-geometry/not-pointed.jlcon b/test/book/cornerstones/polyhedral-geometry/not-pointed.jlcon index 58bf9c305357..5c0317e19c89 100644 --- a/test/book/cornerstones/polyhedral-geometry/not-pointed.jlcon +++ b/test/book/cornerstones/polyhedral-geometry/not-pointed.jlcon @@ -5,4 +5,5 @@ julia> vertices(Q) 0-element SubObjectIterator{PointVector{QQFieldElem}} julia> minimal_faces(Q) -(base_points = PointVector{QQFieldElem}[[0, 0, 0]], lineality_basis = RayVector{QQFieldElem}[[1, 0, 0]]) +(base_points = PointVector{QQFieldElem}[[0, 0, 0]], + lineality_basis = RayVector{QQFieldElem}[[1, 0, 0]]) diff --git a/test/book/cornerstones/polyhedral-geometry/pentagon.jlcon b/test/book/cornerstones/polyhedral-geometry/pentagon.jlcon index cf96a5f18ba5..7d2aefecf1e5 100644 --- a/test/book/cornerstones/polyhedral-geometry/pentagon.jlcon +++ b/test/book/cornerstones/polyhedral-geometry/pentagon.jlcon @@ -11,7 +11,6 @@ x_1 - 2*x_2 <= 1 x_1 <= 1 x_2 <= 1 - julia> f_vector(P) 2-element Vector{ZZRingElem}: 5 diff --git a/test/book/cornerstones/polyhedral-geometry/platonic.jlcon b/test/book/cornerstones/polyhedral-geometry/platonic.jlcon index 5be3803224d1..f216bce0e5cd 100644 --- a/test/book/cornerstones/polyhedral-geometry/platonic.jlcon +++ b/test/book/cornerstones/polyhedral-geometry/platonic.jlcon @@ -1,4 +1,5 @@ -julia> [ f_vector(P) for P in [T, cube(3), cross_polytope(3), dodecahedron(), icosahedron()] ] +julia> [ f_vector(P) for P in [T, cube(3), cross_polytope(3), + dodecahedron(), icosahedron()] ] 5-element Vector{Vector{ZZRingElem}}: [4, 6, 4] [8, 12, 6] diff --git a/test/book/ordered_examples.json b/test/book/ordered_examples.json index 9100288ceb77..168f6562705d 100644 --- a/test/book/ordered_examples.json +++ b/test/book/ordered_examples.json @@ -2,86 +2,15 @@ "_ns": { "Oscar": [ "https://github.com/oscar-system/Oscar.jl", - "1.0.0" + "1.1.1" ] }, "_type": { "name": "Dict", "params": { "key_type": "String", - "specialized/boehm-breuer-git-fans": { - "name": "Vector", - "params": "String" - }, - "specialized/markwig-ristau-schleis-faithful-tropicalization": { - "name": "Vector", - "params": "String" - }, - "specialized/holt-ren-tropical-geometry": { - "name": "Vector", - "params": "String" - }, - "specialized/bies-turner-string-theory-applications": { - "name": "Vector", - "params": "String" - }, - "specialized/aga-boehm-hoffmann-markwig-traore": { - "name": "Vector", - "params": "String" - }, - "specialized/joswig-kastner-lorenz-confirmable-workflows": { - "name": "Vector", - "params": "String" - }, - "cornerstones/number-theory": { - "name": "Vector", - "params": "String" - }, - "cornerstones/groups": { - "name": "Vector", - "params": "String" - }, - "introduction/introduction": { - "name": "Vector", - "params": "String" - }, - "specialized/eder-mohr-ideal-theoretic": { - "name": "Vector", - "params": "String" - }, - "specialized/kuehne-schroeter-matroids": { - "name": "Vector", - "params": "String" - }, - "cornerstones/polyhedral-geometry": { - "name": "Vector", - "params": "String" - }, - "specialized/rose-sturmfels-telen-tropical-implicitization": { - "name": "Vector", - "params": "String" - }, - "specialized/fang-fourier-monomial-bases": { - "name": "Vector", - "params": "String" - }, - "specialized/brandhorst-zach-fibration-hopping": { - "name": "Vector", - "params": "String" - }, - "specialized/breuer-nebe-parker-orthogonal-discriminants": { - "name": "Vector", - "params": "String" - }, - "cornerstones/algebraic-geometry": { - "name": "Vector", - "params": "String" - }, - "specialized/decker-schmitt-invariant-theory": { - "name": "Vector", - "params": "String" - }, - "specialized/bies-kastner-toric-geometry": { + "value_type": "Vector", + "value_params": { "name": "Vector", "params": "String" } @@ -144,16 +73,16 @@ "intro.jlcon", "intro_plot_lattice.jlcon", "unit_plot.jlcon", - "unit_log_plot.jl", + "unit_log_plot.jlcon", "general.jlcon", "embeddings.jlcon", "intro4.jlcon", "sym.jlcon", - "sym_1.jl", + "sym_1.jlcon", "cohenlenstra.jlcon", "galoismod.jlcon", - "galoismod_1.jl", - "galoismod_2.jl" + "galoismod_1.jlcon", + "galoismod_2.jlcon" ], "cornerstones/groups": [ "intro.jlcon", @@ -220,13 +149,16 @@ "chow_fan.jlcon", "chow_transl.jlcon" ], - "specialized/fang-fourier-monomial-bases": [ + "specialized/flake-fourier-monomial-bases": [ "get-operators.jlcon", "basis.jlcon", "fflv.jlcon", "string.jlcon", "lusztig.jlcon", - "nz.jlcon" + "nz.jlcon", + "sl7-cases.jlcon", + "oscar-vs-gap.jlcon", + "gap.jlcon" ], "specialized/brandhorst-zach-fibration-hopping": [ "vinberg_1.jlcon", diff --git a/test/book/specialized/bies-kastner-toric-geometry/p1xp1_cohomologies.jlcon b/test/book/specialized/bies-kastner-toric-geometry/p1xp1_cohomologies.jlcon index 2971bee5b265..c6da260e5df0 100644 --- a/test/book/specialized/bies-kastner-toric-geometry/p1xp1_cohomologies.jlcon +++ b/test/book/specialized/bies-kastner-toric-geometry/p1xp1_cohomologies.jlcon @@ -1,4 +1,4 @@ -julia> P1 = projective_space(NormalToricVariety,1) +julia> P1 = projective_space(NormalToricVariety, 1) Normal toric variety julia> l = toric_line_bundle(P1*P1, [-3,1]) diff --git a/test/book/specialized/bies-kastner-toric-geometry/p1xp1_vanishing_sets.jlcon b/test/book/specialized/bies-kastner-toric-geometry/p1xp1_vanishing_sets.jlcon index 4d412ab3c970..2cad9f47490e 100644 --- a/test/book/specialized/bies-kastner-toric-geometry/p1xp1_vanishing_sets.jlcon +++ b/test/book/specialized/bies-kastner-toric-geometry/p1xp1_vanishing_sets.jlcon @@ -1,4 +1,4 @@ -julia> P1 = projective_space(NormalToricVariety,1) +julia> P1 = projective_space(NormalToricVariety, 1) Normal toric variety julia> v0, v1, v2 = vanishing_sets(P1*P1) diff --git a/test/book/specialized/bies-kastner-toric-geometry/polyhedral_fan.jlcon b/test/book/specialized/bies-kastner-toric-geometry/polyhedral_fan.jlcon index b9ebde553b16..d8a4134ddece 100644 --- a/test/book/specialized/bies-kastner-toric-geometry/polyhedral_fan.jlcon +++ b/test/book/specialized/bies-kastner-toric-geometry/polyhedral_fan.jlcon @@ -18,6 +18,5 @@ julia> maximal_cones(IncidenceMatrix, tv) [2, 3] [2, 4] - julia> Sigma = polyhedral_fan(tv) Polyhedral fan in ambient dimension 2 diff --git a/test/book/specialized/bies-kastner-toric-geometry/starsubdivision.jlcon b/test/book/specialized/bies-kastner-toric-geometry/starsubdivision.jlcon index d576e96ecbc0..b7aa7131a187 100644 --- a/test/book/specialized/bies-kastner-toric-geometry/starsubdivision.jlcon +++ b/test/book/specialized/bies-kastner-toric-geometry/starsubdivision.jlcon @@ -19,7 +19,7 @@ julia> rays(maximal_cones(v)[1]) [-1, 1] julia> bu = blow_up(v, [0,1]) -Toric blowup morphism +Toric blowdown morphism julia> v2 = domain(bu) Normal toric variety @@ -31,7 +31,7 @@ julia> is_affine(v2) false julia> cox_ring(v2) -Multivariate polynomial ring in 3 variables over QQ graded by +Multivariate polynomial ring in 3 variables over QQ graded by u1 -> [1] u2 -> [1] e -> [-2] diff --git a/test/book/specialized/brandhorst-zach-fibration-hopping/vinberg_1.jlcon b/test/book/specialized/brandhorst-zach-fibration-hopping/vinberg_1.jlcon index fcfbfc80f870..2324e16baaa0 100644 --- a/test/book/specialized/brandhorst-zach-fibration-hopping/vinberg_1.jlcon +++ b/test/book/specialized/brandhorst-zach-fibration-hopping/vinberg_1.jlcon @@ -40,7 +40,7 @@ julia> length(Xchambers) 1 julia> C = Xchambers[1] -Chamber in dimension 20 with 36 walls +Chamber in dimension 20 with 36 walls julia> Xelliptic_classes = [f for f in rays(C) if 0 == f*gram_matrix(NS)*transpose(f)]; diff --git a/test/book/specialized/brandhorst-zach-fibration-hopping/vinberg_2.jlcon b/test/book/specialized/brandhorst-zach-fibration-hopping/vinberg_2.jlcon index e36b701630ba..43a95ef72d16 100644 --- a/test/book/specialized/brandhorst-zach-fibration-hopping/vinberg_2.jlcon +++ b/test/book/specialized/brandhorst-zach-fibration-hopping/vinberg_2.jlcon @@ -50,33 +50,14 @@ with default covering 6: [(z//y), (x//y), s] julia> piS = weierstrass_contraction(Y1) -Composite morphism of - Hom: elliptic surface with generic fiber -x^3 + y^2 - t^7 + 2*t^6 - t^5 -> scheme over QQ covered with 44 patches - Hom: scheme over QQ covered with 44 patches -> scheme over QQ covered with 40 patches - Hom: scheme over QQ covered with 40 patches -> scheme over QQ covered with 38 patches - Hom: scheme over QQ covered with 38 patches -> scheme over QQ covered with 36 patches - Hom: scheme over QQ covered with 36 patches -> scheme over QQ covered with 32 patches - Hom: scheme over QQ covered with 32 patches -> scheme over QQ covered with 30 patches - Hom: scheme over QQ covered with 30 patches -> scheme over QQ covered with 28 patches - Hom: scheme over QQ covered with 28 patches -> scheme over QQ covered with 26 patches - Hom: scheme over QQ covered with 26 patches -> scheme over QQ covered with 24 patches - Hom: scheme over QQ covered with 24 patches -> scheme over QQ covered with 22 patches - Hom: scheme over QQ covered with 22 patches -> scheme over QQ covered with 20 patches - Hom: scheme over QQ covered with 20 patches -> scheme over QQ covered with 18 patches - Hom: scheme over QQ covered with 18 patches -> scheme over QQ covered with 16 patches - Hom: scheme over QQ covered with 16 patches -> scheme over QQ covered with 14 patches - Hom: scheme over QQ covered with 14 patches -> scheme over QQ covered with 12 patches - Hom: scheme over QQ covered with 12 patches -> scheme over QQ covered with 10 patches - Hom: scheme over QQ covered with 10 patches -> scheme over QQ covered with 6 patches - - +Composite morphism of[...] julia> basisNSY1, gramTriv = trivial_lattice(Y1); julia> [(i[1],i[2]) for i in reducible_fibers(Y1)] 3-element Vector{Tuple{Vector{QQFieldElem}, Tuple{Symbol, Int64}}}: - ([0, 1], (:E, 8)) ([1, 1], (:A, 2)) + ([0, 1], (:E, 8)) ([1, 0], (:E, 8)) julia> basisNSY1, _, NSY1 = algebraic_lattice(Y1); @@ -85,6 +66,8 @@ julia> basisNSY1 20-element Vector{Any}: Fiber over (2, 1) section: (0 : 1 : 0) + component A2_1 of fiber over (1, 1) + component A2_2 of fiber over (1, 1) component E8_1 of fiber over (0, 1) component E8_2 of fiber over (0, 1) component E8_3 of fiber over (0, 1) @@ -93,8 +76,6 @@ julia> basisNSY1 component E8_6 of fiber over (0, 1) component E8_7 of fiber over (0, 1) component E8_8 of fiber over (0, 1) - component A2_1 of fiber over (1, 1) - component A2_2 of fiber over (1, 1) component E8_1 of fiber over (1, 0) component E8_2 of fiber over (1, 0) component E8_3 of fiber over (1, 0) @@ -107,16 +88,31 @@ julia> basisNSY1 julia> basisNSY1[1] Effective weil divisor Fiber over (2, 1) on elliptic surface with generic fiber -x^3 + y^2 - t^7 + 2*t^6 - t^5 -with coefficients in integer ring +with coefficients in integer Ring given as the formal sum of 1 * sheaf of ideals julia> b, I = Oscar._is_equal_up_to_permutation_with_permutation(gram_matrix(NS), gram_matrix(NSY1)) -(true, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 20, 11, 12, 13, 14, 15, 16, 17, 18]) +(true, [1, 2, 19, 20, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18]) julia> @assert gram_matrix(NSY1) == gram_matrix(NS)[I,I] -julia> Oscar.horizontal_decomposition(Y1, fibers[2][I])[2]; +julia> Oscar.horizontal_decomposition(Y1, fibers[2][I])[2] +Effective weil divisor + on elliptic surface with generic fiber -x^3 + y^2 - t^7 + 2*t^6 - t^5 +with coefficients in integer Ring +given as the formal sum of + 2 * component E8_7 of fiber over (0, 1) + 2 * section: (0 : 1 : 0) + 1 * component A2_0 of fiber over (1, 1) + 1 * component E8_0 of fiber over (1, 0) + 2 * component E8_4 of fiber over (0, 1) + 2 * component E8_3 of fiber over (0, 1) + 1 * component E8_2 of fiber over (0, 1) + 2 * component E8_0 of fiber over (0, 1) + 2 * component E8_6 of fiber over (0, 1) + 2 * component E8_5 of fiber over (0, 1) + 1 * component E8_8 of fiber over (0, 1) julia> representative(elliptic_parameter(Y1, fibers[2][I])) (x//z)//(t^3 - t^2) @@ -131,15 +127,17 @@ Elliptic surface over rational field with generic fiber -x^3 + t^3*x^2 - t^3*x + y^2 +and relatively minimal model + scheme over QQ covered with 47 patches -julia> E2 = generic_fiber(Y2); tt = gen(kt2); +julia> E2 = generic_fiber(Y2); t2 = gen(kt2); -julia> P2 = E2([tt^3, tt^3]); set_mordell_weil_basis!(Y2, [P2]); +julia> P2 = E2([t2^3, t2^3]); set_mordell_weil_basis!(Y2, [P2]); julia> U2 = weierstrass_chart_on_minimal_model(Y2); U1 = weierstrass_chart_on_minimal_model(Y1); julia> imgs = phi2.(phi1.(ambient_coordinates(U1))) # k(Y1) -> k(Y2) -3-element Vector{AbstractAlgebra.Generic.FracFieldElem{QQMPolyRingElem}}: +3-element Vector{AbstractAlgebra.Generic.Frac{QQMPolyRingElem}}: (-(x//z)*t + t)//(x//z)^3 ((x//z)*(y//z) - (y//z))//(x//z)^5 1//(x//z) @@ -151,6 +149,27 @@ julia> set_attribute!(phi_rat, :is_isomorphism=>true); julia> pullbackDivY1 = [pullback(phi_rat, D) for D in basisNSY1]; julia> B = [basis_representation(Y2, D) for D in pullbackDivY1]; +20-element Vector{Vector{QQFieldElem}}: + [4, 2, 0, 0, 0, 0, 0, 0, 0, -4, -4, -8, -7, -6, -5, -4, -3, -2, -1, 0] + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0] + [4, 2, -1, -2, -3, -5//2, -2, -3//2, -3//2, -3, -5//2, -5, -9//2, -4, -7//2, -3, -5//2, -2, -3//2, -1] + [0, 0, 1, 2, 3, 5//2, 2, 3//2, 3//2, -2, -3//2, -3, -5//2, -2, -3//2, -1, -1//2, 0, 1//2, 1] + [0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + [1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -2, -2, -2, -2, -2, -2, -2, -1, 0] + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0] + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0] + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0] + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0] + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0] + [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0] + [0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + [0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + [0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + [0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + [0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + [0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + [2, 1, -1, -2, -3, -5//2, -2, -3//2, -3//2, -2, -5//2, -4, -7//2, -3, -5//2, -2, -3//2, -1, -1//2, 0] + [0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] julia> B = matrix(QQ, 20, 20, reduce(vcat, B)); NSY2 = algebraic_lattice(Y2)[3]; @@ -158,57 +177,17 @@ julia> NSY1inY2 = lattice(ambient_space(NSY2),B); julia> @assert NSY1inY2 == NSY2 && gram_matrix(NSY1inY2) == gram_matrix(NSY1) -julia> fibers_in_Y2 = [f[I]*B for f in fibers]; +julia> fibers_in_Y2 = [f[I]*B for f in fibers] +6-element Vector{Vector{QQFieldElem}}: + [4, 2, 0, 0, 0, 0, 0, 0, 0, -4, -4, -8, -7, -6, -5, -4, -3, -2, -1, 0] + [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] + [5, 2, -2, -3, -4, -3, -2, -1, -2, -5, -4, -8, -7, -6, -5, -4, -3, -2, -1, 0] + [4, 2, -2, -4, -6, -9//2, -3, -3//2, -7//2, -3, -5//2, -5, -9//2, -4, -7//2, -3, -5//2, -2, -3//2, 0] + [2, 1, -1, -2, -3, -2, -1, 0, -2, -1, -1, -2, -2, -2, -2, -2, -2, -1, 0, 1] + [2, 1, 0, 0, 0, 0, 0, 0, 0, -2, -2, -4, -4, -4, -4, -3, -2, -1, 0, 1] julia> f3 = fibers[3][I]; representative(elliptic_parameter(Y1, f3)) (x//z)//t^2 julia> g3a, phi3a = two_neighbor_step(Y1, f3); g3a -x^3 + (-t^3 + 2)*x^2 - x + y^2 - -julia> @assert all(inner_product(ambient_space(NSY2), i,i) == 0 for i in fibers_in_Y2) - -julia> [representative(elliptic_parameter(Y2, f)) for f in fibers_in_Y2[4:6]] -3-element Vector{AbstractAlgebra.Generic.FracFieldElem{QQMPolyRingElem}}: - (y//z)//((x//z)*t) - ((y//z) + t^3)//((x//z)*t - t^4) - ((y//z) + t^3)//((x//z) - t^3) - -julia> g,_ = two_neighbor_step(Y2, fibers_in_Y2[4]);g --1//4*x^4 - 1//2*t^2*x^3 - 1//4*t^4*x^2 + x + y^2 - -julia> R = parent(g); K_t = base_ring(R); - -julia> (x,y) = gens(R); P = K_t.([0,0]); # rational point - -julia> g, _ = transform_to_weierstrass(g, x, y, P); - -julia> E4 = elliptic_curve(g, x, y) -Elliptic curve with equation -y^2 = x^3 + 1//4*t^4*x^2 - 1//2*t^2*x + 1//4 - -julia> g,_ = two_neighbor_step(Y2, fibers_in_Y2[5]);g -t^2*x^3 + (-1//4*t^4 + 2*t)*x^2 + x + y^2 - -julia> R = parent(g); K_t = base_ring(R); - -julia> (x,y) = gens(R); P = K_t.([0,0]); # rational point - -julia> g, _ = transform_to_weierstrass(g, x, y, P); - -julia> E5 = elliptic_curve(g, x, y) -Elliptic curve with equation -y^2 = x^3 + (1//4*t^4 - 2*t)*x^2 + t^2*x - -julia> g,_ = two_neighbor_step(Y2, fibers_in_Y2[6]);g -(t^2 + 2*t + 1)*x^3 + y^2 - 1//4*t^4 - -julia> R = parent(g); K_t = base_ring(R); t = gen(K_t); - -julia> (x,y) = gens(R); P = K_t.([0,1//2*t^2]); # rational point - -julia> g, _ = transform_to_weierstrass(g, x, y, P); - -julia> E6 = elliptic_curve(g, x, y) -Elliptic curve with equation -y^2 + (-t^2 - 2*t - 1)//t^4*y = x^3 diff --git a/test/book/specialized/breuer-nebe-parker-orthogonal-discriminants/expl_G23_tbl.jlcon b/test/book/specialized/breuer-nebe-parker-orthogonal-discriminants/expl_G23_tbl.jlcon index 79c5af782859..3a9caef550a6 100644 --- a/test/book/specialized/breuer-nebe-parker-orthogonal-discriminants/expl_G23_tbl.jlcon +++ b/test/book/specialized/breuer-nebe-parker-orthogonal-discriminants/expl_G23_tbl.jlcon @@ -1,18 +1,18 @@ julia> Oscar.OrthogonalDiscriminants.show_with_ODs( -character_table("G2(3)", 2)) + character_table("G2(3)", 2)) G2(3)mod2 - 2 6 3 3 . 1 1 . . . . . . - 3 6 6 6 6 4 4 . 3 3 3 . . - 7 1 . . . . . 1 . . . . . - 13 1 . . . . . . . . . 1 1 - - 1a 3a 3b 3c 3d 3e 7a 9a 9b 9c 13a 13b - 2P 1a 3a 3b 3c 3d 3e 7a 9a 9c 9b 13b 13a - 3P 1a 1a 1a 1a 1a 1a 7a 3c 3c 3c 13a 13b - 7P 1a 3a 3b 3c 3d 3e 1a 9a 9b 9c 13b 13a - 13P 1a 3a 3b 3c 3d 3e 7a 9a 9b 9c 1a 1a - d OD 2 + 2 6 3 3 . 1 1 . . . . . . + 3 6 6 6 6 4 4 . 3 3 3 . . + 7 1 . . . . . 1 . . . . . + 13 1 . . . . . . . . . 1 1 + + 1a 3a 3b 3c 3d 3e 7a 9a 9b 9c 13a 13b + 2P 1a 3a 3b 3c 3d 3e 7a 9a 9c 9b 13b 13a + 3P 1a 1a 1a 1a 1a 1a 7a 3c 3c 3c 13a 13b + 7P 1a 3a 3b 3c 3d 3e 1a 9a 9b 9c 13b 13a + 13P 1a 3a 3b 3c 3d 3e 7a 9a 9b 9c 1a 1a + d OD 2 X_1 1 + 1 1 1 1 1 1 1 1 1 1 1 1 X_2 1 O- + 14 5 5 -4 2 -1 . 2 -1 -1 1 1 X_3 2 o 64 -8 -8 1 4 -2 1 1 A /A -1 -1 @@ -29,4 +29,4 @@ X_12 1 O+ + 832 -32 -32 -5 4 4 -1 1 1 1 . . A = 3z_3 + 1 /A = -3z_3 - 2 B = -z_13^11 - z_13^8 - z_13^7 - z_13^6 - z_13^5 - z_13^2 - 1 -B* = z_13^11 + z_13^8 + z_13^7 + z_13^6 + z_13^5 + z_13^2 \ No newline at end of file +B* = z_13^11 + z_13^8 + z_13^7 + z_13^6 + z_13^5 + z_13^2 diff --git a/test/book/specialized/decker-schmitt-invariant-theory/H3.jlcon b/test/book/specialized/decker-schmitt-invariant-theory/H3.jlcon index 3c7ed37b97b5..9e51b1a925be 100644 --- a/test/book/specialized/decker-schmitt-invariant-theory/H3.jlcon +++ b/test/book/specialized/decker-schmitt-invariant-theory/H3.jlcon @@ -45,7 +45,7 @@ julia> length(MP) julia> [[ kernel(reduce(hcat, [ K[coeff(p, x); coeff(p, y); coeff(p, z)] for p in gens(Q) ])) for Q in MP ]] 1-element Vector{Vector{AbstractAlgebra.Generic.MatSpaceElem{AbsSimpleNumFieldElem}}}: - [[a+1 0 1], [-a 0 1], [-1 0 1], [0 a+1 1], [0 -a 1], [0 -1 1], [-a 1 0], [a+1 1 0], [-1 1 0]] + [[a+1 1 0], [-a 1 0], [-1 1 0], [a+1 0 1], [-a 0 1], [-1 0 1], [0 -a 1], [0 a+1 1], [0 -1 1]] julia> T, t = polynomial_ring(QQ, "t") (Univariate polynomial ring in t over QQ, t) diff --git a/test/book/specialized/decker-schmitt-invariant-theory/cox_ring.jlcon b/test/book/specialized/decker-schmitt-invariant-theory/cox_ring.jlcon index a4aec0d11cd2..f66cc90d9a35 100644 --- a/test/book/specialized/decker-schmitt-invariant-theory/cox_ring.jlcon +++ b/test/book/specialized/decker-schmitt-invariant-theory/cox_ring.jlcon @@ -32,9 +32,9 @@ julia> A, AtoR = affine_algebra(RH) julia> map(AtoR, gens(A)) 3-element Vector{MPolyDecRingElem{AbsSimpleNumFieldElem, AbstractAlgebra.Generic.MPoly{AbsSimpleNumFieldElem}}}: - x[1]^2 - x[2]^2 x[3]^2 + x[2]^2 + x[1]^2 julia> VG = linear_quotient(G) Linear quotient by matrix group of degree 3 over K @@ -44,9 +44,9 @@ julia> B, BtoR = cox_ring(VG) julia> map(BtoR, gens(B)) 3-element Vector{MPolyDecRingElem{AbsSimpleNumFieldElem, AbstractAlgebra.Generic.MPoly{AbsSimpleNumFieldElem}}}: - z_3*x[1]^2 + (-z_3 - 1)*x[2]^2 + x[3]^2 + x[1]^2 + z_3*x[2]^2 + (-z_3 - 1)*x[3]^2 x[1]^2 + x[2]^2 + x[3]^2 - (-z_3 - 1)*x[1]^2 + z_3*x[2]^2 + x[3]^2 + x[1]^2 + (-z_3 - 1)*x[2]^2 + z_3*x[3]^2 julia> f1 = BtoR(B[1]); f2 = BtoR(B[2]); f3 = BtoR(B[3]); diff --git a/test/book/specialized/decker-schmitt-invariant-theory/gleason.jlcon b/test/book/specialized/decker-schmitt-invariant-theory/gleason.jlcon index 76646d473ba4..04bbe290781b 100644 --- a/test/book/specialized/decker-schmitt-invariant-theory/gleason.jlcon +++ b/test/book/specialized/decker-schmitt-invariant-theory/gleason.jlcon @@ -20,7 +20,7 @@ julia> RG = invariant_ring(G); julia> f = fundamental_invariants(RG) 2-element Vector{MPolyDecRingElem{AbsNonSimpleNumFieldElem, AbstractAlgebra.Generic.MPoly{AbsNonSimpleNumFieldElem}}}: x[1]^8 + 14*x[1]^4*x[2]^4 + x[2]^8 - x[1]^20*x[2]^4 - 4*x[1]^16*x[2]^8 + 6*x[1]^12*x[2]^12 - 4*x[1]^8*x[2]^16 + x[1]^4*x[2]^20 + x[1]^24 + 10626//1025*x[1]^20*x[2]^4 + 735471//1025*x[1]^16*x[2]^8 + 2704156//1025*x[1]^12*x[2]^12 + 735471//1025*x[1]^8*x[2]^16 + 10626//1025*x[1]^4*x[2]^20 + x[2]^24 julia> A, AtoR = affine_algebra(RG) (Quotient of multivariate polynomial ring by ideal (0), Hom: A -> graded multivariate polynomial ring) diff --git a/test/book/specialized/decker-schmitt-invariant-theory/sym.jlcon b/test/book/specialized/decker-schmitt-invariant-theory/sym.jlcon index 7377a2268415..cf1e7f8df41d 100644 --- a/test/book/specialized/decker-schmitt-invariant-theory/sym.jlcon +++ b/test/book/specialized/decker-schmitt-invariant-theory/sym.jlcon @@ -15,7 +15,7 @@ true julia> RS3 = invariant_ring(QQ, symmetric_group(3)); julia> R = polynomial_ring(RS3) -Multivariate polynomial ring in 3 variables over QQ graded by +Multivariate polynomial ring in 3 variables over QQ graded by x[1] -> [1] x[2] -> [1] x[3] -> [1] diff --git a/test/book/specialized/eder-mohr-ideal-theoretic/gbeliminate.jlcon b/test/book/specialized/eder-mohr-ideal-theoretic/gbeliminate.jlcon index 285858f608cd..c4027b70ecd6 100644 --- a/test/book/specialized/eder-mohr-ideal-theoretic/gbeliminate.jlcon +++ b/test/book/specialized/eder-mohr-ideal-theoretic/gbeliminate.jlcon @@ -6,12 +6,12 @@ julia> I = ideal(R, [x^2 + y + z - 1, x + y^2 + z - 1, x + y + z^2 - 1]); julia> groebner_basis(I, ordering = o) Gröbner basis with elements - 1 -> z^6 - 4*z^4 + 4*z^3 - z^2 - 2 -> 2*y*z^2 + z^4 - z^2 - 3 -> x + y + z^2 - 1 - 4 -> y^2 + x + z - 1 +1 -> z^6 - 4*z^4 + 4*z^3 - z^2 +2 -> 2*y*z^2 + z^4 - z^2 +3 -> x + y + z^2 - 1 +4 -> y^2 + x + z - 1 with respect to the ordering - degrevlex([x, y])*degrevlex([z]) +degrevlex([x, y])*degrevlex([z]) julia> eliminate(I, [x,y]) # internally computes the above Gröbner basis Ideal generated by @@ -19,8 +19,8 @@ Ideal generated by julia> groebner_basis(I) Gröbner basis with elements - 1 -> z^2 + x + y - 1 - 2 -> y^2 + x + z - 1 - 3 -> x^2 + y + z - 1 +1 -> z^2 + x + y - 1 +2 -> y^2 + x + z - 1 +3 -> x^2 + y + z - 1 with respect to the ordering - degrevlex([x, y, z]) +degrevlex([x, y, z]) diff --git a/test/book/specialized/eder-mohr-ideal-theoretic/nonproper.jlcon b/test/book/specialized/eder-mohr-ideal-theoretic/nonproper.jlcon index ca08d4aa827c..b1911fd8d4c6 100644 --- a/test/book/specialized/eder-mohr-ideal-theoretic/nonproper.jlcon +++ b/test/book/specialized/eder-mohr-ideal-theoretic/nonproper.jlcon @@ -19,7 +19,7 @@ Ideal generated by x^2 - x*w julia> S = base_ring(clo) -Multivariate polynomial ring in 5 variables over QQ graded by +Multivariate polynomial ring in 5 variables over QQ graded by x -> [1] y -> [1] z -> [1] diff --git a/test/book/specialized/fang-fourier-monomial-bases/gap.jlcon b/test/book/specialized/fang-fourier-monomial-bases/gap.jlcon new file mode 100644 index 000000000000..d47d03cf8252 --- /dev/null +++ b/test/book/specialized/fang-fourier-monomial-bases/gap.jlcon @@ -0,0 +1,2 @@ +L:= SimpleLieAlgebra("A", 4, Rationals);; +V:= HighestWeightModule(L, [1,3,2,1]);; diff --git a/test/book/specialized/fang-fourier-monomial-bases/oscar-vs-gap.jlcon b/test/book/specialized/fang-fourier-monomial-bases/oscar-vs-gap.jlcon new file mode 100644 index 000000000000..cdf89abac0c2 --- /dev/null +++ b/test/book/specialized/fang-fourier-monomial-bases/oscar-vs-gap.jlcon @@ -0,0 +1 @@ +basis_lie_highest_weight(:A, 4, [1,3,2,1]); diff --git a/test/book/specialized/fang-fourier-monomial-bases/sl7-cases.jlcon b/test/book/specialized/fang-fourier-monomial-bases/sl7-cases.jlcon new file mode 100644 index 000000000000..d4c290bf899f --- /dev/null +++ b/test/book/specialized/fang-fourier-monomial-bases/sl7-cases.jlcon @@ -0,0 +1,17 @@ +[fundamentals] => 320 +[fundamentals, [1, 0, 1, 0, 0]] => 70 +[fundamentals, [0, 0, 1, 0, 1]] => 70 +[fundamentals, [0, 1, 0, 1, 0]] => 54 +[fundamentals, [1, 0, 0, 1, 0]] => 28 +[fundamentals, [0, 1, 0, 0, 1]] => 28 +[fundamentals, [1, 0, 0, 1, 0], [0, 1, 0, 1, 0]] => 46 +[fundamentals, [0, 1, 0, 1, 0], [0, 1, 0, 0, 1]] => 46 +[fundamentals, [1, 0, 1, 0, 0], [1, 0, 0, 1, 0]] => 30 +[fundamentals, [0, 1, 0, 0, 1], [0, 0, 1, 0, 1]] => 30 +[fundamentals, [1, 0, 1, 0, 0], [0, 1, 0, 0, 1]] => 8 +[fundamentals, [1, 0, 0, 1, 0], [0, 0, 1, 0, 1]] => 8 +[fundamentals, [1, 0, 1, 0, 0], [1, 0, 0, 1, 0], [0, 1, 0, 1, 0]] => 70 +[fundamentals, [0, 1, 0, 1, 0], [0, 1, 0, 0, 1], [0, 0, 1, 0, 1]] => 70 +[fundamentals, [1, 0, 0, 1, 0], [0, 1, 0, 1, 0], [0, 1, 0, 0, 1]] => 10 +[fundamentals, [1, 0, 1, 0, 0], [1, 0, 0, 1, 0], [0, 1, 0, 1, 0], [0, 1, 0, 0, 1]] => 10 +[fundamentals, [1, 0, 0, 1, 0], [0, 1, 0, 1, 0], [0, 1, 0, 0, 1], [0, 0, 1, 0, 1]] => 10 diff --git a/test/book/specialized/holt-ren-tropical-geometry/groebner.jlcon b/test/book/specialized/holt-ren-tropical-geometry/groebner.jlcon index f414554cd3ee..866f45c64dc3 100644 --- a/test/book/specialized/holt-ren-tropical-geometry/groebner.jlcon +++ b/test/book/specialized/holt-ren-tropical-geometry/groebner.jlcon @@ -6,7 +6,7 @@ julia> nu_2 = tropical_semiring_map(QQ,2); julia> GBI = groebner_basis(I,nu_2,[0,0,0,0]) 2-element Vector{QQMPolyRingElem}: - 3*x1 - x3 - 10*x4 + x1 + 2*x2 - 3*x3 3*x2 - 4*x3 + 5*x4 julia> inI = initial(I,nu_2,[0,0,0,0]) @@ -17,7 +17,7 @@ Ideal generated by julia> GBI = groebner_basis(I,nu_2,[1,0,0,1]) 2-element Vector{QQMPolyRingElem}: 3*x2 - 4*x3 + 5*x4 - -3*x1 + x3 + 10*x4 + -x1 - 2*x2 + 3*x3 julia> inI = initial(I,nu_2,[1,0,0,1]) Ideal generated by diff --git a/test/book/specialized/holt-ren-tropical-geometry/linearSpace1.jlcon b/test/book/specialized/holt-ren-tropical-geometry/linearSpace1.jlcon index c09fec412ddd..89ecbed8d31e 100644 --- a/test/book/specialized/holt-ren-tropical-geometry/linearSpace1.jlcon +++ b/test/book/specialized/holt-ren-tropical-geometry/linearSpace1.jlcon @@ -9,15 +9,15 @@ Min tropical linear space julia> vertices_and_rays(TropL) 5-element SubObjectIterator{Union{PointVector{QQFieldElem}, RayVector{QQFieldElem}}}: - [0, 1, 0, 0] + [0, 0, 0, 0] [0, -1, -1, -1] + [0, 1, 0, 0] [0, 0, 1, 0] [0, 0, 0, 1] - [0, 0, 0, 0] julia> maximal_polyhedra(IncidenceMatrix,TropL) 4×5 IncidenceMatrix +[1, 2] +[1, 3] +[1, 4] [1, 5] -[2, 5] -[3, 5] -[4, 5] diff --git a/test/book/specialized/joswig-kastner-lorenz-confirmable-workflows/polynomial-load.jlcon b/test/book/specialized/joswig-kastner-lorenz-confirmable-workflows/polynomial-load.jlcon index 001284a2e2d1..cfe2de4da68f 100644 --- a/test/book/specialized/joswig-kastner-lorenz-confirmable-workflows/polynomial-load.jlcon +++ b/test/book/specialized/joswig-kastner-lorenz-confirmable-workflows/polynomial-load.jlcon @@ -2,7 +2,7 @@ julia> F, o = finite_field(7,2) (Finite field of degree 2 and characteristic 7, o) julia> R, (y,z) = F["y","z"] -(Multivariate polynomial ring in 2 variables over F, FqMPolyRingElem[y, z]) +(Multivariate polynomial ring in 2 variables over GF(7, 2), FqMPolyRingElem[y, z]) julia> save("p.mrdi", 2*y^3*z^4 + (o + 3)*z^2 + 5*o*y + 1) diff --git a/test/book/specialized/kuehne-schroeter-matroids/ChowRings.jlcon b/test/book/specialized/kuehne-schroeter-matroids/ChowRings.jlcon index 048441a4fb83..c2e3fe5d25c3 100644 --- a/test/book/specialized/kuehne-schroeter-matroids/ChowRings.jlcon +++ b/test/book/specialized/kuehne-schroeter-matroids/ChowRings.jlcon @@ -63,26 +63,26 @@ julia> RR, _ = graded_polynomial_ring(QQ,"y_#" => 1:length(basis_PD1)); julia> map = hom(RR,AA,basis_PD1); -julia> K = kernel(hom(RR,AA,[b^(rank(M)-2k)*b for b in basis_PD1])); +julia> K = kernel(hom(RR,AA,[b^(rank(M)-2k)*b3 for b3 in basis_PD1])); julia> basis_HR = [map(h) for h in gens(K) if degree(h).coeff==k*g.coeff] 7-element Vector{MPolyQuoRingElem{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}}}: - -x_{Edge(4, 3)} + 2*x_{Edge(2, 1),Edge(3, 1),Edge(3, 2)} - -x_{Edge(4, 3)} + 2*x_{Edge(2, 1),Edge(4, 1),Edge(4, 2)} - -x_{Edge(4, 3)} + 2*x_{Edge(2, 1),Edge(4, 3)} - -x_{Edge(4, 3)} + 2*x_{Edge(3, 1),Edge(4, 2)} - -x_{Edge(4, 3)} + 2*x_{Edge(3, 1),Edge(4, 1),Edge(4, 3)} - -x_{Edge(4, 3)} + 2*x_{Edge(3, 2),Edge(4, 1)} - -x_{Edge(4, 3)} + 2*x_{Edge(3, 2),Edge(4, 2),Edge(4, 3)} + x_{Edge(4, 3)} + -x_{Edge(2, 1),Edge(3, 1),Edge(3, 2)} + x_{Edge(2, 1),Edge(4, 1),Edge(4, 2)} + -x_{Edge(2, 1),Edge(3, 1),Edge(3, 2)} + 2*x_{Edge(2, 1),Edge(4, 3)} + -x_{Edge(2, 1),Edge(3, 1),Edge(3, 2)} + 2*x_{Edge(3, 1),Edge(4, 2)} + -x_{Edge(2, 1),Edge(3, 1),Edge(3, 2)} + x_{Edge(3, 1),Edge(4, 1),Edge(4, 3)} + -x_{Edge(2, 1),Edge(3, 1),Edge(3, 2)} + 2*x_{Edge(3, 2),Edge(4, 1)} + -x_{Edge(2, 1),Edge(3, 1),Edge(3, 2)} + x_{Edge(3, 2),Edge(4, 2),Edge(4, 3)} julia> Mat3 = matrix(QQ,[[(-1)^k*vol_map(b1*b^(rank(M)-2k-1)*b2) for b1 in basis_HR] for b2 in basis_HR]) -[6 2 4 2 4 2 4] -[2 6 4 2 4 2 4] -[4 4 10 4 6 4 6] -[2 2 4 6 4 2 4] -[4 4 6 4 10 4 6] -[2 2 4 2 4 6 4] -[4 4 6 4 6 4 10] +[ 2 0 -2 0 -1 0 -1] +[ 0 2 1 1 1 1 1] +[-2 1 5 1 1 1 1] +[ 0 1 1 5 1 1 1] +[-1 1 1 1 2 1 1] +[ 0 1 1 1 1 5 1] +[-1 1 1 1 1 1 2] julia> is_positive_definite(matrix(ZZ,[ZZ(i) for i in Mat3])) true diff --git a/test/book/specialized/kuehne-schroeter-matroids/realization_space.jlcon b/test/book/specialized/kuehne-schroeter-matroids/realization_space.jlcon index 5aff6d593ef4..b6b82ceba9fa 100644 --- a/test/book/specialized/kuehne-schroeter-matroids/realization_space.jlcon +++ b/test/book/specialized/kuehne-schroeter-matroids/realization_space.jlcon @@ -124,5 +124,3 @@ One realization is given by [0 1 1 0 1 1 1 1 1] [0 0 0 1 2 3 6 3 2] in the rational field - -julia> results = collection = db = 0; # allow connection cleanup diff --git a/test/book/specialized/markwig-ristau-schleis-faithful-tropicalization/draw_hypersurface.jlcon b/test/book/specialized/markwig-ristau-schleis-faithful-tropicalization/draw_hypersurface.jlcon index 2bcf95ed6cc7..4847f599b04a 100644 --- a/test/book/specialized/markwig-ristau-schleis-faithful-tropicalization/draw_hypersurface.jlcon +++ b/test/book/specialized/markwig-ristau-schleis-faithful-tropicalization/draw_hypersurface.jlcon @@ -2,7 +2,7 @@ julia> Kt,t = rational_function_field(QQ,"t") (Rational function field over QQ, t) julia> Kxy, (x,y) = Kt["x", "y"] -(Multivariate polynomial ring in 2 variables over Kt, AbstractAlgebra.Generic.MPoly{AbstractAlgebra.Generic.RationalFunctionFieldElem{QQFieldElem, QQPolyRingElem}}[x, y]) +(Multivariate polynomial ring in 2 variables over rational function field, AbstractAlgebra.Generic.MPoly{AbstractAlgebra.Generic.RationalFunctionFieldElem{QQFieldElem, QQPolyRingElem}}[x, y]) julia> f=-x^3-4*x^2+y^2+(-8*t^4)*x -x^3 - 4*x^2 - 8*t^4*x + y^2 diff --git a/test/book/specialized/markwig-ristau-schleis-faithful-tropicalization/eliminate_xz.jlcon b/test/book/specialized/markwig-ristau-schleis-faithful-tropicalization/eliminate_xz.jlcon index ca90d2698873..536e974116ef 100644 --- a/test/book/specialized/markwig-ristau-schleis-faithful-tropicalization/eliminate_xz.jlcon +++ b/test/book/specialized/markwig-ristau-schleis-faithful-tropicalization/eliminate_xz.jlcon @@ -2,7 +2,7 @@ julia> S,(b2,b34,b4,b56,b6,b7)=polynomial_ring(QQ,["b2", "b34", "b4", "b56", "b6 (Multivariate polynomial ring in 6 variables over QQ, QQMPolyRingElem[b2, b34, b4, b56, b6, b7]) julia> R,(x, y, z)=polynomial_ring(S,["x", "y", "z"]) -(Multivariate polynomial ring in 3 variables over S, AbstractAlgebra.Generic.MPoly{QQMPolyRingElem}[x, y, z]) +(Multivariate polynomial ring in 3 variables over multivariate polynomial ring, AbstractAlgebra.Generic.MPoly{QQMPolyRingElem}[x, y, z]) julia> g = y^2-x*(x-b2^2)*(x-(b34+b4)^2)*(x-(b4)^2)*(x-(b6+b56)^2)*(x-(b6)^2)*(x+(b7)^2); @@ -12,32 +12,4 @@ julia> Igf = ideal(R,[g,f]); julia> eliminate(Igf,[y]) Ideal generated by - -x^7 + (b2^2 + b34^2 + 2*b34*b4 + 2*b4^2 + b56^2 + 2*b56*b6 + 2*b6^2)*x^6 + (-b2^2*b34^2 - 2*b2^2*b34*b4 - 2*b2^2*b4^2 - b2^2*b5 - 6^2 - 2*b2^2*b56*b6 - 2*b2^2*b6^2 + b2^2*b7^2 - b34^2*b4^2 - b34^2*b56^2 - 2*b34^2*b56*b6 - 2*b34^2*b6^2 + b34^2*b7^2 - 2*b34*b4 - ^3 - 2*b34*b4*b56^2 - 4*b34*b4*b56*b6 - 4*b34*b4*b6^2 + 2*b34*b4*b7^2 - b4^4 - 2*b4^2*b56^2 - 4*b4^2*b56*b6 - 4*b4^2*b6^2 + 2*b4 - ^2*b7^2 - b56^2*b6^2 + b56^2*b7^2 - 2*b56*b6^3 - b6^4)*x^5 + (b2^2*b34^2*b4^2 + b2^2*b34^2*b56^2 + 2*b2^2*b34^2*b56*b6 + 2*b2^2* - b34^2*b6^2 - b2^2*b34^2*b7^2 + 2*b2^2*b34*b4^3 + 2*b2^2*b34*b4*b56^2 + 4*b2^2*b34*b4*b56*b6 + 4*b2^2*b34*b4*b6^2 - 2*b2^2*b34*b4 - *b7^2 + b2^2*b4^4 + 2*b2^2*b4^2*b56^2 + 4*b2^2*b4^2*b56*b6 + 4*b2^2*b4^2*b6^2 - 2*b2^2*b4^2*b7^2 + b2^2*b56^2*b6^2 - b2^2*b56^2* - b7^2 + 2*b2^2*b56*b6^3 - 2*b2^2*b56*b6*b7^2 + b2^2*b6^4 - 2*b2^2*b6^2*b7^2 + b34^2*b4^2*b56^2 + 2*b34^2*b4^2*b56*b6 + 2*b34^2*b4 - ^2*b6^2 - b34^2*b4^2*b7^2 + b34^2*b56^2*b6^2 - b34^2*b56^2*b7^2 + 2*b34^2*b56*b6^3 - 2*b34^2*b56*b6*b7^2 + b34^2*b6^4 - 2*b34^2* - b6^2*b7^2 + 2*b34*b4^3*b56^2 + 4*b34*b4^3*b56*b6 + 4*b34*b4^3*b6^2 - 2*b34*b4^3*b7^2 + 2*b34*b4*b56^2*b6^2 - 2*b34*b4*b56^2*b7^2 - + 4*b34*b4*b56*b6^3 - 2*b34*b4*b56*b6*b7^2 + 2*b34*b4*b6^4 - 2*b34*b4*b6^2*b7^2 + b4^4*b56^2 + 2*b4^4*b56*b6 + 2*b4^4*b6^2 - b4 - ^4*b7^2 + 2*b4^2*b56^2*b6^2 - 2*b4^2*b56^2*b7^2 + 4*b4^2*b56*b6^3 - 2*b4^2*b56*b6*b7^2 + 2*b4^2*b6^4 - 2*b4^2*b6^2*b7^2)*x^4 + ( - -b2^2*b34^2*b4^2*b56^2 - 2*b2^2*b34^2*b4^2*b56*b6 - 2*b2^2*b34^2*b4^2*b6^2 + b2^2*b34^2*b4^2*b7^2 - b2^2*b34^2*b56^2*b6^2 + b2^2 - *b34^2*b56^2*b7^2 - 2*b2^2*b34^2*b56*b6^3 + 2*b2^2*b34^2*b56*b6*b7^2 - b2^2*b34^2*b6^4 + 2*b2^2*b34^2*b6^2*b7^2 - 2*b2^2*b34*b4^ - 3*b56^2 - 4*b2^2*b34*b4^3*b56*b6 - 4*b2^2*b34*b4^3*b6^2 + 2*b2^2*b34*b4^3*b7^2 - 2*b2^2*b34*b4*b56^2*b6^2 + 2*b2^2*b34*b4*b56^2* - b7^2 - 4*b2^2*b34*b4*b56*b6^3 + 4*b2^2*b34*b4*b56*b6*b7^2 - 2*b2^2*b34*b4*b6^4 + 4*b2^2*b34*b4*b6^2*b7^2 - b2^2*b4^4*b56^2 - 2*b - 2^2*b4^4*b56*b6 - 2*b2^2*b4^4*b6^2 + b2^2*b4^4*b7^2 - 2*b2^2*b4^2*b56^2*b6^2 + 2*b2^2*b4^2*b56^2*b7^2 - 4*b2^2*b4^2*b56*b6^3 + 4 - *b2^2*b4^2*b56*b6*b7^2 - 2*b2^2*b4^2*b6^4 + 4*b2^2*b4^2*b6^2*b7^2 + b2^2*b56^2*b6^2*b7^2 + 2*b2^2*b56*b6^3*b7^2 + b2^2*b6^4*b7^2 - - b34^2*b4^2*b56^2*b6^2 + b34^2*b4^2*b56^2*b7^2 - 2*b34^2*b4^2*b56*b6^3 + 2*b34^2*b4^2*b56*b6*b7^2 - b34^2*b4^2*b6^4 + 2*b34^2* - b4^2*b6^2*b7^2 + b34^2*b56^2*b6^2*b7^2 + 2*b34^2*b56*b6^3*b7^2 + b34^2*b6^4*b7^2 - 2*b34*b4^3*b56^2*b6^2 + 2*b34*b4^3*b56^2*b7^2 - - 4*b34*b4^3*b56*b6^3 + 4*b34*b4^3*b56*b6*b7^2 - 2*b34*b4^3*b6^4 + 4*b34*b4^3*b6^2*b7^2 - b4^4*b56^2*b6^2 + b4^4*b56^2*b7^2 - 2 - *b4^4*b56*b6^3 + 2*b4^4*b56*b6*b7^2 - b4^4*b6^4 + 2*b4^4*b6^2*b7^2)*x^3 + (b2^2*b34^2*b4^2*b56^2*b6^2 - b2^2*b34^2*b4^2*b56^2*b7 - ^2 + 2*b2^2*b34^2*b4^2*b56*b6^3 - 2*b2^2*b34^2*b4^2*b56*b6*b7^2 + b2^2*b34^2*b4^2*b6^4 - 2*b2^2*b34^2*b4^2*b6^2*b7^2 - b2^2*b34^ - 2*b56^2*b6^2*b7^2 - 2*b2^2*b34^2*b56*b6^3*b7^2 - b2^2*b34^2*b6^4*b7^2 + 2*b2^2*b34*b4^3*b56^2*b6^2 - 2*b2^2*b34*b4^3*b56^2*b7^2 - + 4*b2^2*b34*b4^3*b56*b6^3 - 4*b2^2*b34*b4^3*b56*b6*b7^2 + 2*b2^2*b34*b4^3*b6^4 - 4*b2^2*b34*b4^3*b6^2*b7^2 - 2*b2^2*b34*b4*b56^ - 2*b6^2*b7^2 - 4*b2^2*b34*b4*b56*b6^3*b7^2 - 2*b2^2*b34*b4*b6^4*b7^2 + b2^2*b4^4*b56^2*b6^2 - b2^2*b4^4*b56^2*b7^2 + 2*b2^2*b4^4* - b56*b6^3 - 2*b2^2*b4^4*b56*b6*b7^2 + b2^2*b4^4*b6^4 - 2*b2^2*b4^4*b6^2*b7^2 - 2*b2^2*b4^2*b56^2*b6^2*b7^2 - 4*b2^2*b4^2*b56*b6^3 - *b7^2 - 2*b2^2*b4^2*b6^4*b7^2)*x^2 + (b2^2*b34^2*b4^2*b56^2*b6^2*b7^2 + 2*b2^2*b34^2*b4^2*b56*b6^3*b7^2 + b2^2*b34^2*b4^2*b6^4*b - 7^2 + 2*b2^2*b34*b4^3*b56^2*b6^2*b7^2 + 4*b2^2*b34*b4^3*b56*b6^3*b7^2 + 2*b2^2*b34*b4^3*b6^4*b7^2 + b2^2*b4^4*b56^2*b6^2*b7^2 + - 2*b2^2*b4^4*b56*b6^3*b7^2 + b2^2*b4^4*b6^4*b7^2)*x + -x^7 + (b2^2 + b34^2 + 2*b34*b4 + 2*b4^2 + b56^2 + 2*b56*b6 + 2*b6^2)*x^6 + (-b2^2*b34^2 - 2*b2^2*b34*b4 - 2*b2^2*b4^2 - b2^2*b56^2 - 2*b2^2*b56*b6 - 2*b2^2*b6^2 + b2^2*b7^2 - b34^2*b4^2 - b34^2*b56^2 - 2*b34^2*b56*b6 - 2*b34^2*b6^2 + b34^2*b7^2 - 2*b34*b4^3 - 2*b34*b4*b56^2 - 4*b34*b4*b56*b6 - 4*b34*b4*b6^2 + 2*b34*b4*b7^2 - b4^4 - 2*b4^2*b56^2 - 4*b4^2*b56*b6 - 4*b4^2*b6^2 + 2*b4^2*b7^2 - b56^2*b6^2 + b56^2*b7^2 - 2*b56*b6^3 - b6^4)*x^5 + (b2^2*b34^2*b4^2 + b2^2*b34^2*b56^2 + 2*b2^2*b34^2*b56*b6 + 2*b2^2*b34^2*b6^2 - b2^2*b34^2*b7^2 + 2*b2^2*b34*b4^3 + 2*b2^2*b34*b4*b56^2 + 4*b2^2*b34*b4*b56*b6 + 4*b2^2*b34*b4*b6^2 - 2*b2^2*b34*b4*b7^2 + b2^2*b4^4 + 2*b2^2*b4^2*b56^2 + 4*b2^2*b4^2*b56*b6 + 4*b2^2*b4^2*b6^2 - 2*b2^2*b4^2*b7^2 + b2^2*b56^2*b6^2 - b2^2*b56^2*b7^2 + 2*b2^2*b56*b6^3 - 2*b2^2*b56*b6*b7^2 + b2^2*b6^4 - 2*b2^2*b6^2*b7^2 + b34^2*b4^2*b56^2 + 2*b34^2*b4^2*b56*b6 + 2*b34^2*b4^2*b6^2 - b34^2*b4^2*b7^2 + b34^2*b56^2*b6^2 - b34^2*b56^2*b7^2 + 2*b34^2*b56*b6^3 - 2*b34^2*b56*b6*b7^2 + b34^2*b6^4 - 2*b34^2*b6^2*b7^2 + 2*b34*b4^3*b56^2 + 4*b34*b4^3*b56*b6 + 4*b34*b4^3*b6^2 - 2*b34*b4^3*b7^2 + 2*b34*b4*b56^2*b6^2 - 2*b34*b4*b56^2*b7^2 + 4*b34*b4*b56*b6^3 - 2*b34*b4*b56*b6*b7^2 + 2*b34*b4*b6^4 - 2*b34*b4*b6^2*b7^2 + b4^4*b56^2 + 2*b4^4*b56*b6 + 2*b4^4*b6^2 - b4^4*b7^2 + 2*b4^2*b56^2*b6^2 - 2*b4^2*b56^2*b7^2 + 4*b4^2*b56*b6^3 - 2*b4^2*b56*b6*b7^2 + 2*b4^2*b6^4 - 2*b4^2*b6^2*b7^2)*x^4 + (-b2^2*b34^2*b4^2*b56^2 - 2*b2^2*b34^2*b4^2*b56*b6 - 2*b2^2*b34^2*b4^2*b6^2 + b2^2*b34^2*b4^2*b7^2 - b2^2*b34^2*b56^2*b6^2 + b2^2*b34^2*b56^2*b7^2 - 2*b2^2*b34^2*b56*b6^3 + 2*b2^2*b34^2*b56*b6*b7^2 - b2^2*b34^2*b6^4 + 2*b2^2*b34^2*b6^2*b7^2 - 2*b2^2*b34*b4^3*b56^2 - 4*b2^2*b34*b4^3*b56*b6 - 4*b2^2*b34*b4^3*b6^2 + 2*b2^2*b34*b4^3*b7^2 - 2*b2^2*b34*b4*b56^2*b6^2 + 2*b2^2*b34*b4*b56^2*b7^2 - 4*b2^2*b34*b4*b56*b6^3 + 4*b2^2*b34*b4*b56*b6*b7^2 - 2*b2^2*b34*b4*b6^4 + 4*b2^2*b34*b4*b6^2*b7^2 - b2^2*b4^4*b56^2 - 2*b2^2*b4^4*b56*b6 - 2*b2^2*b4^4*b6^2 + b2^2*b4^4*b7^2 - 2*b2^2*b4^2*b56^2*b6^2 + 2*b2^2*b4^2*b56^2*b7^2 - 4*b2^2*b4^2*b56*b6^3 + 4*b2^2*b4^2*b56*b6*b7^2 - 2*b2^2*b4^2*b6^4 + 4*b2^2*b4^2*b6^2*b7^2 + b2^2*b56^2*b6^2*b7^2 + 2*b2^2*b56*b6^3*b7^2 + b2^2*b6^4*b7^2 - b34^2*b4^2*b56^2*b6^2 + b34^2*b4^2*b56^2*b7^2 - 2*b34^2*b4^2*b56*b6^3 + 2*b34^2*b4^2*b56*b6*b7^2 - b34^2*b4^2*b6^4 + 2*b34^2*b4^2*b6^2*b7^2 + b34^2*b56^2*b6^2*b7^2 + 2*b34^2*b56*b6^3*b7^2 + b34^2*b6^4*b7^2 - 2*b34*b4^3*b56^2*b6^2 + 2*b34*b4^3*b56^2*b7^2 - 4*b34*b4^3*b56*b6^3 + 4*b34*b4^3*b56*b6*b7^2 - 2*b34*b4^3*b6^4 + 4*b34*b4^3*b6^2*b7^2 - b4^4*b56^2*b6^2 + b4^4*b56^2*b7^2 - 2*b4^4*b56*b6^3 + 2*b4^4*b56*b6*b7^2 - b4^4*b6^4 + 2*b4^4*b6^2*b7^2)*x^3 + (b2^2*b34^2*b4^2*b56^2*b6^2 - b2^2*b34^2*b4^2*b56^2*b7^2 + 2*b2^2*b34^2*b4^2*b56*b6^3 - 2*b2^2*b34^2*b4^2*b56*b6*b7^2 + b2^2*b34^2*b4^2*b6^4 - 2*b2^2*b34^2*b4^2*b6^2*b7^2 - b2^2*b34^2*b56^2*b6^2*b7^2 - 2*b2^2*b34^2*b56*b6^3*b7^2 - b2^2*b34^2*b6^4*b7^2 + 2*b2^2*b34*b4^3*b56^2*b6^2 - 2*b2^2*b34*b4^3*b56^2*b7^2 + 4*b2^2*b34*b4^3*b56*b6^3 - 4*b2^2*b34*b4^3*b56*b6*b7^2 + 2*b2^2*b34*b4^3*b6^4 - 4*b2^2*b34*b4^3*b6^2*b7^2 - 2*b2^2*b34*b4*b56^2*b6^2*b7^2 - 4*b2^2*b34*b4*b56*b6^3*b7^2 - 2*b2^2*b34*b4*b6^4*b7^2 + b2^2*b4^4*b56^2*b6^2 - b2^2*b4^4*b56^2*b7^2 + 2*b2^2*b4^4*b56*b6^3 - 2*b2^2*b4^4*b56*b6*b7^2 + b2^2*b4^4*b6^4 - 2*b2^2*b4^4*b6^2*b7^2 - 2*b2^2*b4^2*b56^2*b6^2*b7^2 - 4*b2^2*b4^2*b56*b6^3*b7^2 - 2*b2^2*b4^2*b6^4*b7^2)*x^2 + (b2^2*b34^2*b4^2*b56^2*b6^2*b7^2 + 2*b2^2*b34^2*b4^2*b56*b6^3*b7^2 + b2^2*b34^2*b4^2*b6^4*b7^2 + 2*b2^2*b34*b4^3*b56^2*b6^2*b7^2 + 4*b2^2*b34*b4^3*b56*b6^3*b7^2 + 2*b2^2*b34*b4^3*b6^4*b7^2 + b2^2*b4^4*b56^2*b6^2*b7^2 + 2*b2^2*b4^4*b56*b6^3*b7^2 + b2^2*b4^4*b6^4*b7^2)*x