diff --git a/experimental/FTheoryTools/docs/src/hypersurface.md b/experimental/FTheoryTools/docs/src/hypersurface.md index 143c83132ee9..a069d419cbba 100644 --- a/experimental/FTheoryTools/docs/src/hypersurface.md +++ b/experimental/FTheoryTools/docs/src/hypersurface.md @@ -76,7 +76,7 @@ Completeness is an expensive check. Therefore, we provide an optional argument w demonstrate this: ```@docs hypersurface_model(base::NormalToricVariety; completeness_check::Bool = true) -hypersurface_model(base::NormalToricVariety, fiber_ambient_space::NormalToricVariety, D1::ToricDivisorClass, D2::ToricDivisorClass; completeness_check::Bool = true) +hypersurface_model(base::NormalToricVariety, fiber_ambient_space::NormalToricVariety, fiber_twist_divisor_classes::Vector{ToricDivisorClass}; completeness_check::Bool = true) ``` ### A (covered) scheme as base space @@ -88,8 +88,9 @@ This functionality does not yet exist. This method constructs a hypersurface model over a base space, where this base space is not (fully) specified. We currently provide the following constructors: ```@docs -hypersurface_model(auxiliary_base_vars::Vector{String}, auxiliary_base_grading::Matrix{Int64}, d::Int, fiber_ambient_space::NormalToricVariety, D1::Vector{Int64}, D2::Vector{Int64}, p::MPolyRingElem) +hypersurface_model(auxiliary_base_vars::Vector{String}, auxiliary_base_grading::Matrix{Int64}, d::Int, fiber_ambient_space::NormalToricVariety, fiber_twist_divisor_classes::Vector{Vector{Int64}}, p::MPolyRingElem) ``` +For convenience, the fiber_twist_divisor_classes can also be provided as `ZZMatrix`. ### Standard constructions diff --git a/experimental/FTheoryTools/src/HypersurfaceModels/constructors.jl b/experimental/FTheoryTools/src/HypersurfaceModels/constructors.jl index 7ad76a8595af..013fe6e07769 100644 --- a/experimental/FTheoryTools/src/HypersurfaceModels/constructors.jl +++ b/experimental/FTheoryTools/src/HypersurfaceModels/constructors.jl @@ -23,12 +23,13 @@ function hypersurface_model(base::NormalToricVariety; completeness_check::Bool = set_coordinate_names(fiber_ambient_space, ["x", "y", "z"]) D1 = 2 * anticanonical_divisor_class(base) D2 = 3 * anticanonical_divisor_class(base) - return hypersurface_model(base, fiber_ambient_space, D1, D2; completeness_check = completeness_check) + D3 = trivial_divisor_class(base) + return hypersurface_model(base, fiber_ambient_space, [D1, D2, D3]; completeness_check = completeness_check) end @doc raw""" - hypersurface_model(base::NormalToricVariety, fiber_ambient_space::NormalToricVariety, D1::ToricDivisorClass, D2::ToricDivisorClass; completeness_check::Bool = true) + hypersurface_model(base::NormalToricVariety, fiber_ambient_space::NormalToricVariety, fiber_twist_divisor_classes::Vector{ToricDivisorClass}; completeness_check::Bool = true) Construct a hypersurface model, for which the user can specify a fiber ambient space as well as divisor classes of the toric base space, in which the first two homogeneous @@ -50,11 +51,14 @@ Divisor class on a normal toric variety julia> D2 = 3 * anticanonical_divisor_class(base) Divisor class on a normal toric variety -julia> hypersurface_model(base, fiber_ambient_space, D1, D2; completeness_check = false) +julia> D3 = trivial_divisor_class(base) +Divisor class on a normal toric variety + +julia> hypersurface_model(base, fiber_ambient_space, [D1, D2, D3]; completeness_check = false) Hypersurface model over a concrete base ``` """ -function hypersurface_model(base::NormalToricVariety, fiber_ambient_space::NormalToricVariety, D1::ToricDivisorClass, D2::ToricDivisorClass; completeness_check::Bool = true) +function hypersurface_model(base::NormalToricVariety, fiber_ambient_space::NormalToricVariety, fiber_twist_divisor_classes::Vector{ToricDivisorClass}; completeness_check::Bool = true) # Consistency checks gens_base_names = [string(g) for g in gens(cox_ring(base))] gens_fiber_names = [string(g) for g in gens(cox_ring(fiber_ambient_space))] @@ -66,8 +70,8 @@ function hypersurface_model(base::NormalToricVariety, fiber_ambient_space::Norma end # Compute an ambient space - ambient_space = _ambient_space(base, fiber_ambient_space, D1, D2) - + ambient_space = _ambient_space(base, fiber_ambient_space, fiber_twist_divisor_classes) + # Construct the model hypersurface_equation = generic_section(anticanonical_bundle(ambient_space)) explicit_model_sections = Dict{String, MPolyRingElem}() @@ -95,7 +99,7 @@ end @doc raw""" - hypersurface_model(auxiliary_base_vars::Vector{String}, auxiliary_base_grading::Matrix{Int64}, d::Int, fiber_ambient_space::NormalToricVariety, D1::Vector{Int64}, D2::Vector{Int64}, p::MPolyRingElem) + hypersurface_model(auxiliary_base_vars::Vector{String}, auxiliary_base_grading::Matrix{Int64}, d::Int, fiber_ambient_space::NormalToricVariety, fiber_twist_divisor_classes::Vector{Vector{Int64}}, p::MPolyRingElem) This method constructs a hypersurface model over a base space that is not fully specified. In the background, we construct a family of spaces to represent @@ -103,11 +107,10 @@ the base space. This method requires the following information: 1. The names of the homogeneous coordinates of the coordinate ring of the generic member of the family of bsae spaces. 2. The grading of the coordinate ring of the generic member of the family of base spaces. -3. The weights corresponding to the divisor class `D_1` of the coordinate ring under which the first fiber coordinate transforms. -4. The weights corresponding to the divisor class `D_2` of the coordinate ring under which the first fiber coordinate transforms. -5. The dimension of the generic member of the family of base spaces. -6. The fiber ambient space. -7. The hypersurface equation. +3. The weights telling us how the fiber ambient space coordinates transform under the base. +4. The dimension of the generic member of the family of base spaces. +5. The fiber ambient space. +6. The hypersurface equation. Note that many studies in the literature use the class of the anticanonical bundle in their analysis. We anticipate this by adding this class as a variable of the @@ -144,6 +147,11 @@ julia> D2 = [6,0] 6 0 +julia> D3 = [0,0] +2-element Vector{Int64}: + 0 + 0 + julia> d = 3 3 @@ -158,13 +166,17 @@ julia> auxiliary_ambient_ring, (a1, a21, a32, a43, a65, w, x, y, z) = QQ["a1", julia> p = x^3 - y^2 - x * y * z * a1 + x^2 * z^2 * a21 * w - y * z^3 * a32 * w^2 + x * z^4 * a43 * w^3 + z^6 * a65 * w^5 -a1*x*y*z + a21*w*x^2*z^2 - a32*w^2*y*z^3 + a43*w^3*x*z^4 + a65*w^5*z^6 + x^3 - y^2 -julia> h = hypersurface_model(auxiliary_base_vars, auxiliary_base_grading, d, fiber_ambient_space, D1, D2, p) +julia> h = hypersurface_model(auxiliary_base_vars, auxiliary_base_grading, d, fiber_ambient_space, [D1, D2, D3], p) Assuming that the first row of the given grading is the grading under Kbar Hypersurface model over a not fully specified base ``` """ -function hypersurface_model(auxiliary_base_vars::Vector{String}, auxiliary_base_grading::Matrix{Int64}, d::Int, fiber_ambient_space::NormalToricVariety, D1::Vector{Int64}, D2::Vector{Int64}, p::MPolyRingElem) +function hypersurface_model(auxiliary_base_vars::Vector{String}, auxiliary_base_grading::Matrix{Int64}, d::Int, fiber_ambient_space::NormalToricVariety, fiber_twist_divisor_classes::Vector{Vector{Int64}}, p::MPolyRingElem) + return hypersurface_model(auxiliary_base_vars, auxiliary_base_grading, d, fiber_ambient_space, transpose(matrix(ZZ, fiber_twist_divisor_classes)), p) +end + +function hypersurface_model(auxiliary_base_vars::Vector{String}, auxiliary_base_grading::Matrix{Int64}, d::Int, fiber_ambient_space::NormalToricVariety, fiber_twist_divisor_classes::ZZMatrix, p::MPolyRingElem) # Compute simple information gens_fiber_names = [string(g) for g in gens(cox_ring(fiber_ambient_space))] @@ -182,8 +194,8 @@ function hypersurface_model(auxiliary_base_vars::Vector{String}, auxiliary_base_ @vprint :FTheoryModelPrinter 0 "Assuming that the first row of the given grading is the grading under Kbar\n\n" # Construct the spaces - (S, auxiliary_base_space, auxiliary_ambient_space) = _construct_generic_sample(auxiliary_base_grading, auxiliary_base_vars, d, fiber_ambient_space, D1, D2) - + (S, auxiliary_base_space, auxiliary_ambient_space) = _construct_generic_sample(auxiliary_base_grading, auxiliary_base_vars, d, fiber_ambient_space, fiber_twist_divisor_classes) + # Map p to coordinate ring of ambient space gens_S = gens(S) image_list = Vector{MPolyRingElem}() diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json index e4e91f5ef2c9..dea52cc5304c 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json @@ -49,8 +49,10 @@ "fiber_ambient_space_max_cones": [[1, 2], [1, 3], [2, 3]], "fiber_ambient_space_coordinates": ["u", "w", "v"], "fiber_ambient_space_name": "P^{(1, 2, 1)}", - "D1": [-1, 1], - "D2": [0, 1], + "fiber_twist_matrix": [ + [-1, 0, 0], + [1, 1, 0] + ], "hypersurface_equation": "w^2 + b * v^2 * w - u * (c0 * u^3 + c1 * u^2 * v + c2 * u * v^2 + c3 * v^3)", "zero_section": ["0", "1", "0"], "generating_sections": [["0", "1", "-b"]] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-1.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-1.json index e8db67d56461..01e9c6ad02db 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-1.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-1.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 2], [2, 3], [1, 3]], "fiber_ambient_space_coordinates": ["u", "v", "w"], "fiber_ambient_space_name": "P2", - "D1": [-1, 0, 1], - "D2": [0, -1, 1], + "fiber_twist_matrix": [ + [-1, 0, 0], + [0, -1, 0], + [1, 1, 0] + ], "hypersurface_equation": "s1*u^3 + s2*u^2*v + s3*u*v^2 + s4*v^3 + s5*u^2*w + s6*u*v*w + s7*v^2*w + s8*u*w^2 + s9*v*w^2 + s10*w^3" }, "associated_models": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10.json index ba9d830b35e7..2cab894d7421 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10.json @@ -56,8 +56,11 @@ "fiber_ambient_space_max_cones": [[1, 6], [5, 6], [4, 5], [2, 4], [2, 3], [1, 3]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2", "e3"], "fiber_ambient_space_name": "P^{F_10}", - "D1": [1, 0, -1], - "D2": [0, 1, -1], + "fiber_twist_matrix": [ + [1, 0, 0, 0, 0, 0], + [0, 1, 0, 0, 0, 0], + [-1, -1, 0, 0, 0, 0] + ], "hypersurface_equation": "s1*e1^2*e2^4*e3^6*u^3 + s2*e1^2*e2^3*e3^4*u^2*v + s3*e1^2*e2^2*e3^2*u*v^2 + s4*e1^2*e2*v^3 + s5*e1*e2^2*e3^3*u^2*w + s6*e1*e2*e3*u*v*w + s8*u*w^2", "zero_section": ["s4", "1", "1", "1", "-s8", "0"] }, diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11.json index acb09b137013..981854fb8435 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 7], [4, 7], [3, 4], [2, 3], [2, 6], [5, 6], [1, 5]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2", "e3", "e4"], "fiber_ambient_space_name": "P^{F_11}", - "D1": [-1, 0, 1], - "D2": [-2, 1, 1], + "fiber_twist_matrix": [ + [-1, -2, 0, 0, 0, 0, 0], + [0, 1, 0, 0, 0, 0, 0], + [1, 1, 0, 0, 0, 0, 0] + ], "hypersurface_equation": "s1*e1^2*e2^2*e3*e4^4*u^3 + s2*e1*e2^2*e3^2*e4^2*u^2*v + s3*e2^2*e3^2*u*v^2 + s5*e1^2*e2*e4^3*u^2*w + s6*e1*e2*e3*e4*u*v*w + s9*e1*v*w^2", "zero_section": ["1", "0", "s5", "1", "1", "-s5", "1"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12.json index cb55fdb03fdc..8327cf6bc413 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 4], [4, 7], [3, 7], [2, 3], [2, 6], [5, 6], [1, 5]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2", "e3", "e4"], "fiber_ambient_space_name": "P^{F_12}", - "D1": [-1, 0, 1], - "D2": [0, -1, 1], + "fiber_twist_matrix": [ + [-1, 0, 0, 0, 0, 0, 0], + [0, -1, 0, 0, 0, 0, 0], + [1, 1, 0, 0, 0, 0, 0] + ], "hypersurface_equation": "s1*e1^2*e2^2*e3*e4*u^3 + s2*e1*e2^2*e3^2*u^2*v + s5*e1^2*e2*e4^2*u^2*w + s6*e1*e2*e3*e4*u*v*w + s7*e2*e3^2*v^2*w + s9*e1*e4^2*v*w^2", "zero_section": ["0", "1", "1", "s7", "-s9", "1", "1"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13.json index 44010e893b6e..d17bdeacc6fc 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 8], [4, 8], [3, 4], [2, 3], [2, 7], [6, 7], [5, 6], [1, 5]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2", "e3", "e4", "e5"], "fiber_ambient_space_name": "P^{F_13}", - "D1": [-1, 0, 1], - "D2": [-3, 1, 2], + "fiber_twist_matrix": [ + [-1, -3, 0, 0, 0, 0, 0, 0], + [0, 1, 0, 0, 0, 0, 0, 0], + [1, 2, 0, 0, 0, 0, 0, 0] + ], "hypersurface_equation": "s1*e1^2*e2^2*e3*e5^4*u^3 + s2*e1*e2^2*e3^2*e4^2*e5^2*u^2*v + s3*e2^2*e3^3*e4^4*u*v^2 + s6*e1*e2*e3*e4*e5*u*v*w + s9*e1*v*w^2", "zero_section": ["1", "s1", "1", "1", "1", "-s9", "0", "1"], "torsion_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14.json index b2b18c1984c1..6dc9c45b3460 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 4], [4, 7], [7, 8], [3, 8], [2, 3], [2, 6], [5, 6], [1, 5]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2", "e3", "e4", "e5"], "fiber_ambient_space_name": "P^{F_14}", - "D1": [-1, 0, 1], - "D2": [0, -1, 1], + "fiber_twist_matrix": [ + [-1, 0, 0, 0, 0, 0, 0, 0], + [0, -1, 0, 0, 0, 0, 0, 0], + [1, 1, 0, 0, 0, 0, 0, 0] + ], "hypersurface_equation": "s1*e1^2*e2^2*e3*e4*u^3 + s5*e1^2*e2*e4^2*e5^2*u^2*w + s6*e1*e2*e3*e4*e5*u*v*w + s7*e2*e3^2*v^2*w + s9*e1*e4^2*e5^3*v*w^2", "zero_section": ["0", "1", "1", "s7", "-s9", "1", "1", "1"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15.json index c27154dec346..92dc2d3a33d1 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 4], [4, 7], [3, 7], [3, 8], [2, 8], [2, 6], [5, 6], [1, 5]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2", "e3", "e4", "e5"], "fiber_ambient_space_name": "P^{F_15}", - "D1": [-1, 0, 1], - "D2": [0, -1, 1], + "fiber_twist_matrix": [ + [-1, 0, 0, 0, 0, 0, 0, 0], + [0, -1, 0, 0, 0, 0, 0, 0], + [1, 1, 0, 0, 0, 0, 0, 0] + ], "hypersurface_equation": "s2*e1*e2^2*e3^2*u^2*v + s5*e1^2*e2*e4^2*u^2*w + s6*e1*e2*e3*e4*e5*u*v*w + s7*e2*e3^2*e5^2*v^2*w + s9*e1*e4^2*e5^2*v*w^2", "zero_section": ["0", "1", "1", "s7", "-s9", "1", "1", "1"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16.json index 199a5f802f3d..d3049533ac30 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 4], [4, 7], [7, 8], [3, 8], [2, 3], [2, 9], [6, 9], [5, 6], [1, 5]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2", "e3", "e4", "e5", "e6"], "fiber_ambient_space_name": "P^{F_16}", - "D1": [-1, 0, 1], - "D2": [0, -1, 1], + "fiber_twist_matrix": [ + [-1, 0, 0, 0, 0, 0, 0, 0, 0], + [0, -1, 0, 0, 0, 0, 0, 0, 0], + [1, 1, 0, 0, 0, 0, 0, 0, 0] + ], "hypersurface_equation": "s1*e1^2*e2^2*e3*e4*u^3 + s6*e1*e2*e3*e4*e5*e6*u*v*w + s7*e2*e3^2*e6^3*v^2*w + s9*e1*e4^2*e5^3*v*w^2", "zero_section": ["0", "1", "1", "s7", "-s9", "1", "1", "1", "1"], "torsion_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-2.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-2.json index a7124464cf72..c3b51f20a922 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-2.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-2.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 2], [2, 3], [3, 4], [1, 4]], "fiber_ambient_space_coordinates": ["t", "s", "x", "y"], "fiber_ambient_space_name": "P^{F_2}", - "D1": [1, 0, -1], - "D2": [1, -1, 0], + "fiber_twist_matrix": [ + [1, 1, 0, 0], + [0, -1, 0, 0], + [-1, 0, 0, 0] + ], "hypersurface_equation": "(b1*y^2 + b2*s*y + b3*s^2)*x^2 + (b5*y^2 + b6*s*y + b7*s^2)*x*t + (b8*y^2 + b9*s*y + b10*s^2)*t^2" }, "associated_models": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3.json index 3fd7a1c84c5b..48b294d6d8bc 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3.json @@ -56,8 +56,11 @@ "fiber_ambient_space_max_cones": [[1, 3], [2, 3], [2, 4], [1, 4]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1"], "fiber_ambient_space_name": "P^{F_3}", - "D1": [-1, 0, 1], - "D2": [0, -1, 1], + "fiber_twist_matrix": [ + [-1, 0, 0, 0], + [0, -1, 0, 0], + [1, 1, 0, 0] + ], "hypersurface_equation": "s1*u^3*e1^2 + s2*u^2*v*e1^2 + s3*u*v^2*e1^2 + s4*v^3*e1^2 + s5*u^2*w*e1 + s6*u*v*w*e1 + s7*v^2*w*e1 + s8*u*w^2 + s9*v*w^2", "zero_section": ["s9", "-s8", "1", "0"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-4.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-4.json index 8dbecab3447b..317eb29c0475 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-4.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-4.json @@ -46,19 +46,22 @@ }, "model_data": { "base_dim": 3, - "divisors_user_must_specify": ["d8","d4"], - "divisors_parametrized_by_user_specified_divisors": ["d8","d4","d1","d2","d3","d5","d6","d7","d9"], + "divisors_user_must_specify": ["s7", "s9"], + "divisors_parametrized_by_user_specified_divisors": ["d1","d2","d3","d4","d5","d6","d7","d8","d9"], "parametrization_of_parametrized_divisors_by_Kbar_and_user_specified_divisors": [ - [0, 0, 3, 2, 1, -1, 2, 1, 1], - [1, 0, -3, -2, -1, 1, -1, 0, 1], - [0, 1, 1, 1, 1, 1, 0, 0, -1] + [3, 2, 1, 0, -1, 2, 1, 0, 1], + [-1, 0, 1, 2, 3, -1, 0, 1, -1], + [-1, -1, -1, -1, -1, 0, 0, 0, 1] ], "fiber_ambient_space_rays": [[-1, 1], [1, 0], [-1, -1], [-1, 0]], "fiber_ambient_space_max_cones": [[1, 2], [2, 3], [3, 4], [1, 4]], "fiber_ambient_space_coordinates": ["X", "Z", "Y", "e1"], "fiber_ambient_space_name": "P^{F_4}", - "D1": [0, 1, 0], - "D2": [0, 0, 1], + "fiber_twist_matrix": [ + [-1, 0, -1, 0], + [0, -1, 0, 0], + [1, 1, 1, 0] + ], "hypersurface_equation": "d1*e1^2*X^4 + d2*e1^2*X^3*Y + d3*e1^2*X^2*Y^2 + d4*e1^2*X*Y^3 + d5*e1^2*Y^4 + d6*e1*X^2*Z + d7*e1*X*Y*Z + d8*e1*Y^2*Z + d9*Z^2" }, "associated_models": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5.json index 87bb74bf76f4..81022bd1f41f 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5.json @@ -56,8 +56,11 @@ "fiber_ambient_space_max_cones": [[1, 4], [3, 4], [2, 3], [2, 5], [1, 5]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2"], "fiber_ambient_space_name": "P^{F_5}", - "D1": [-1, 0, 1], - "D2": [0, -1, 1], + "fiber_twist_matrix": [ + [-1, 0, 0, 0, 0], + [0, -1, 0, 0, 0], + [1, 1, 0, 0, 0] + ], "hypersurface_equation": "s1*e2^2*e1^2*u^3 + s2*e2^2*e1*u^2*v + s3*e2^2*u*v^2 + s5*e2*e1^2*u^2*w + s6*e2*e1*u*v*w + s7*e2*v^2*w + s8*e1^2*u*w^2 + s9*e1*v*w^2", "zero_section": ["s9", "-s8", "1", "1", "0"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6.json index db0141842971..7494cac07b84 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 3], [2, 3], [2, 4], [4, 5], [1, 5]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2"], "fiber_ambient_space_name": "P^{F_6}", - "D1": [-1, 2, -1], - "D2": [0, 1, -1], + "fiber_twist_matrix": [ + [-1, 0, 0, 0, 0], + [2, 1, 0, 0, 0], + [-1, -1, 0, 0, 0] + ], "hypersurface_equation": "s1*e1^2*e2^4*u^3 + s2*e1^2*e2^3*u^2*v + s3*e1^2*e2^2*u*v^2 + s4*e1^2*e2*v^3 + s5*e1*e2^2*u^2*w + s6*e1*e2*u*v*w + s7*e1*v^2*w + s8*u*w^2", "zero_section": ["-s7", "1", "s8", "1", "0"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7.json index 4b4d0e96b92c..e957167896bd 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7.json @@ -56,8 +56,11 @@ "fiber_ambient_space_max_cones": [[1, 4], [3, 4], [3, 5], [2, 5], [2, 6], [1, 6]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2", "e3"], "fiber_ambient_space_name": "P^{F_7}", - "D1": [-1, 0, 1], - "D2": [0, -1, 1], + "fiber_twist_matrix": [ + [-1, 0, 0, 0, 0, 0], + [0, -1, 0, 0, 0, 0], + [1, 1, 0, 0, 0, 0] + ], "hypersurface_equation": "s2*e1*e3^2*u^2*v + s3*e2*e3^2*u*v^2 + s5*e1^2*e3*u^2*w + s6*e1*e2*e3*u*v*w + s7*e2^2*e3*v^2*w + s8*e1^2*e2*u*w^2 + s9*e1*e2^2*w^2*v", "zero_section": ["0", "1", "1", "s7", "1", "-s9"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8.json index fa0c5c4692c4..ee27479788b2 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 6], [3, 6], [2, 3], [2, 4], [4, 5], [1, 5]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2", "e3"], "fiber_ambient_space_name": "P^{F_8}", - "D1": [1, 0, -1], - "D2": [2, -1, -1], + "fiber_twist_matrix": [ + [1, 2, 0, 0, 0, 0], + [0, -1, 0, 0, 0, 0], + [-1, -1, 0, 0, 0, 0] + ], "hypersurface_equation": "s1*e1^2*e2^4*e3^2*u^3 + s2*e1^2*e2^3*e3*u^2*v + s3*e1^2*e2^2*u*v^2 + s5*e1*e2^2*e3^2*u^2*w + s6*e1*e2*e3*u*v*w + s7*e1*v^2*w + s8*e3^2*u*w^2", "zero_section": ["s7", "1", "1", "-s8", "0", "1"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9.json index e3c28bb2ce2d..cda9eae5c778 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9.json @@ -57,8 +57,11 @@ "fiber_ambient_space_max_cones": [[1, 4], [3, 4], [2, 3], [2, 6], [5, 6], [1, 5]], "fiber_ambient_space_coordinates": ["u", "v", "w", "e1", "e2", "e3"], "fiber_ambient_space_name": "P^{F_9}", - "D1": [-1, 0, 1], - "D2": [0, -1, 1], + "fiber_twist_matrix": [ + [-1, 0, 0, 0, 0, 0], + [0, -1, 0, 0, 0, 0], + [1, 1, 0, 0, 0, 0] + ], "hypersurface_equation": "s1*e1^2*e2^2*e3*u^3 + s2*e1*e2^2*e3^2*u^2*v + s3*e2^2*e3^3*u*v^2 + s5*e1^2*e2*u^2*w + s6*e1*e2*e3*u*v*w + s7*e2*e3^2*v^2*w + s9*e1*v*w^2", "zero_section": ["0", "1", "1", "s7", "-s9", "1"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json index f4b56d7a3097..0cb821eb1763 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json @@ -57,8 +57,13 @@ "fiber_ambient_space_max_cones": [[1, 2], [2, 3], [3, 1]], "fiber_ambient_space_coordinates": ["u", "v", "w"], "fiber_ambient_space_name": "P2", - "D1": [3, 2, 1, 1, 1], - "D2": [1, 1, 0, 0, 0], + "fiber_twist_matrix": [ + [3, 1, 0], + [2, 1, 0], + [1, 0, 0], + [1, 0, 0], + [1, 0, 0] + ], "hypersurface_equation": "u*(s1*u^2 + s2*u*v + s3*v^2 + s5*u*w + s6*v*w + s8*w^2) + (a1*v + b1*w) * (a2*v + b2*w) * (a3*v + b3*w)", "zero_section": ["0", "-b1", "a1"], "generating_sections": [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/constructors.jl b/experimental/FTheoryTools/src/LiteratureModels/constructors.jl index 9a1c80741d01..1355ea2827ac 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/constructors.jl +++ b/experimental/FTheoryTools/src/LiteratureModels/constructors.jl @@ -360,14 +360,14 @@ function _construct_literature_model_over_concrete_base(model_dict::Dict{String, fiber_amb_coordinates = string.(model_dict["model_data"]["fiber_ambient_space_coordinates"]) set_coordinate_names(fas, fiber_amb_coordinates) - # Extract the divisor classes of the first two classes of the fiber... - D1 = [a for a in model_dict["model_data"]["D1"]] - D1_dc = toric_divisor_class(sum([D1[l] * user_specified_divisors[l] for l in 1:length(D1)])) - D2 = [a for a in model_dict["model_data"]["D2"]] - D2_dc = toric_divisor_class(sum([D2[l] * user_specified_divisors[l] for l in 1:length(D2)])) + # Extract the base divisor classes of the fiber coordinates + fiber_twist_matrix = transpose(matrix(ZZ, (hcat(model_dict["model_data"]["fiber_twist_matrix"]...)))) + @req ncols(fiber_twist_matrix) == length(fiber_amb_coordinates) "Number of fiber coordinate names does not match number of provided fiber gradings" + @req ncols(fiber_twist_matrix) == n_rays(fas) "Number of rays does not match number of provided fiber gradings" + fiber_twist_divisor_classes = [toric_divisor_class(sum([fiber_twist_matrix[l, k] * user_specified_divisors[l] for l in 1:nrows(fiber_twist_matrix)])) for k in 1:ncols(fiber_twist_matrix)] # Create the model - model = hypersurface_model(base_space, fas, D1_dc, D2_dc; completeness_check = completeness_check) + model = hypersurface_model(base_space, fas, fiber_twist_divisor_classes; completeness_check = completeness_check) # Remember explicit model sections model.explicit_model_sections = model_sections @@ -442,16 +442,17 @@ function _construct_literature_model_over_arbitrary_base(model_dict::Dict{String fiber_amb_coordinates = string.(model_dict["model_data"]["fiber_ambient_space_coordinates"]) set_coordinate_names(fas, fiber_amb_coordinates) - # Extract the divisor classes of the first two classes of the fiber... - D1 = [a for a in model_dict["model_data"]["D1"]] - D2 = [a for a in model_dict["model_data"]["D2"]] + # Extract the base divisor classes of the fiber coordinates + fiber_twist_matrix = transpose(matrix(ZZ, (hcat(model_dict["model_data"]["fiber_twist_matrix"]...)))) + @req ncols(fiber_twist_matrix) == length(fiber_amb_coordinates) "Number of fiber coordinate names does not match number of provided fiber gradings" + @req ncols(fiber_twist_matrix) == n_rays(fas) "Number of rays does not match number of provided fiber gradings" # Extract the hypersurface equation ambient_ring, _ = polynomial_ring(QQ, vcat(auxiliary_base_vars, fiber_amb_coordinates), cached = false) p = eval_poly(model_dict["model_data"]["hypersurface_equation"], ambient_ring) # Create the model - model = hypersurface_model(auxiliary_base_vars, auxiliary_base_grading, base_dim, fas, D1, D2, p) + model = hypersurface_model(auxiliary_base_vars, auxiliary_base_grading, base_dim, fas, fiber_twist_matrix, p) else diff --git a/experimental/FTheoryTools/src/TateModels/constructors.jl b/experimental/FTheoryTools/src/TateModels/constructors.jl index 7c46ae037f2b..39f7c6fba314 100644 --- a/experimental/FTheoryTools/src/TateModels/constructors.jl +++ b/experimental/FTheoryTools/src/TateModels/constructors.jl @@ -75,7 +75,8 @@ function global_tate_model(base::NormalToricVariety, set_coordinate_names(fiber_ambient_space, ["x", "y", "z"]) D1 = 2 * anticanonical_divisor_class(base) D2 = 3 * anticanonical_divisor_class(base) - ambient_space = _ambient_space(base, fiber_ambient_space, D1, D2) + D3 = trivial_divisor_class(base) + ambient_space = _ambient_space(base, fiber_ambient_space, [D1, D2, D3]) # construct the model ais = [explicit_model_sections["a1"], explicit_model_sections["a2"], explicit_model_sections["a3"], explicit_model_sections["a4"], explicit_model_sections["a6"]] diff --git a/experimental/FTheoryTools/src/WeierstrassModels/constructors.jl b/experimental/FTheoryTools/src/WeierstrassModels/constructors.jl index efa9d92f81c5..83931a06f948 100644 --- a/experimental/FTheoryTools/src/WeierstrassModels/constructors.jl +++ b/experimental/FTheoryTools/src/WeierstrassModels/constructors.jl @@ -69,7 +69,8 @@ function weierstrass_model(base::NormalToricVariety, set_coordinate_names(fiber_ambient_space, ["x", "y", "z"]) D1 = 2 * anticanonical_divisor_class(base) D2 = 3 * anticanonical_divisor_class(base) - ambient_space = _ambient_space(base, fiber_ambient_space, D1, D2) + D3 = trivial_divisor_class(base) + ambient_space = _ambient_space(base, fiber_ambient_space, [D1, D2, D3]) # construct the model pw = _weierstrass_polynomial(explicit_model_sections["f"], explicit_model_sections["g"], cox_ring(ambient_space)) diff --git a/experimental/FTheoryTools/src/auxiliary.jl b/experimental/FTheoryTools/src/auxiliary.jl index 4bed89b2c36d..67dc8afb95cc 100644 --- a/experimental/FTheoryTools/src/auxiliary.jl +++ b/experimental/FTheoryTools/src/auxiliary.jl @@ -2,8 +2,8 @@ # 1: Construct ambient space from given base ################################################################ -function _ambient_space(base::NormalToricVariety, fiber_amb_space::NormalToricVariety, D1::ToricDivisorClass, D2::ToricDivisorClass) - @req ((toric_variety(D1) === base) && (toric_variety(D2) === base)) "The divisors must belong to the base space" +function _ambient_space(base::NormalToricVariety, fiber_amb_space::NormalToricVariety, fiber_twist_divisor_classes::Vector{ToricDivisorClass}) + @req all(D -> toric_variety(D) === base, fiber_twist_divisor_classes) "The divisors must belong to the (same) base space" # Extract information about the toric base b_rays = matrix(ZZ, rays(base)) @@ -18,10 +18,9 @@ function _ambient_space(base::NormalToricVariety, fiber_amb_space::NormalToricVa f_var_names = [string(k) for k in gens(cox_ring(fiber_amb_space))] # Extract coefficients of divisors D1, D2 and compute u_matrix - D1_coeffs = divisor_class(D1).coeff - D2_coeffs = divisor_class(D2).coeff - m1 = reduce(vcat, [D1_coeffs, D2_coeffs]) - m2 = transpose(f_rays[1:2,:]) + fiber_twist_divisor_classes_coeffs = [divisor_class(D).coeff for D in fiber_twist_divisor_classes] + m1 = reduce(vcat, fiber_twist_divisor_classes_coeffs) + m2 = transpose(f_rays) u_matrix = solve(b_grades, (-1)*m2*m1; side = :left) # Form toric ambient space @@ -41,8 +40,9 @@ function _ambient_space(base::NormalToricVariety, fiber_amb_space::NormalToricVa a_space_grading = zero_matrix(ZZ, torsion_free_rank(a_space_divisor_group), torsion_free_rank(a_space_class_group)) a_space_grading[1:nrows(b_grades), 1:ncols(b_grades)] = b_grades a_space_grading[1+nrows(b_rays):nrows(b_rays) + nrows(f_grades), 1+ncols(b_grades):ncols(b_grades) + ncols(f_grades)] = f_grades - a_space_grading[1+nrows(b_rays), 1:ncols(D1_coeffs)] = D1_coeffs - a_space_grading[2+nrows(b_rays), 1:ncols(D2_coeffs)] = D2_coeffs + for k in 1:length(fiber_twist_divisor_classes_coeffs) + a_space_grading[k+nrows(b_rays), 1:ncols(fiber_twist_divisor_classes_coeffs[k])] = fiber_twist_divisor_classes_coeffs[k] + end # Set important attributes of a_space and return it a_space_grading = hom(a_space_divisor_group, a_space_class_group, a_space_grading) @@ -316,13 +316,13 @@ function _construct_generic_sample(base_grading::Matrix{Int64}, base_vars::Vecto end -function _construct_generic_sample(base_grading::Matrix{Int64}, base_vars::Vector{String}, d::Int, fiber_ambient_space::NormalToricVariety, D1::Vector{Int64}, D2::Vector{Int64}) +function _construct_generic_sample(base_grading::Matrix{Int64}, base_vars::Vector{String}, d::Int, fiber_ambient_space::NormalToricVariety, fiber_twist_divisor_classes::ZZMatrix) base_space = family_of_spaces(polynomial_ring(QQ, base_vars, cached = false)[1], base_grading, d) ambient_space_vars = vcat(base_vars, coordinate_names(fiber_ambient_space)) coordinate_ring_ambient_space = polynomial_ring(QQ, ambient_space_vars, cached = false)[1] w = Matrix{Int64}(reduce(vcat, [k.coeff for k in cox_ring(fiber_ambient_space).d])) z_block = zeros(Int64, ncols(w), ncols(base_grading)) - D_block = [D1 D2 zeros(Int64, nrows(base_grading), nrows(w)-2)] + D_block = hcat([[Int(fiber_twist_divisor_classes[k,l]) for k in 1:nrows(fiber_twist_divisor_classes)] for l in 1:ncols(fiber_twist_divisor_classes)]...) ambient_space_grading = [base_grading D_block; z_block w'] ambient_space = family_of_spaces(coordinate_ring_ambient_space, ambient_space_grading, d+dim(fiber_ambient_space)) return [coordinate_ring(ambient_space), base_space, ambient_space] diff --git a/experimental/FTheoryTools/test/hypersurface_models.jl b/experimental/FTheoryTools/test/hypersurface_models.jl index 767de2c144d8..560fd1873ea1 100644 --- a/experimental/FTheoryTools/test/hypersurface_models.jl +++ b/experimental/FTheoryTools/test/hypersurface_models.jl @@ -20,7 +20,8 @@ ambient_space_of_fiber = projective_space(NormalToricVariety, 2) set_coordinate_names(ambient_space_of_fiber, ["x", "y", "z"]) D1 = 2 * anticanonical_divisor_class(base) D2 = 3 * anticanonical_divisor_class(base) -h2 = hypersurface_model(base, ambient_space_of_fiber, D1, D2; completeness_check = false) +D3 = trivial_divisor_class(base) +h2 = hypersurface_model(base, ambient_space_of_fiber, [D1, D2, D3]; completeness_check = false) @testset "Attributes and properties of hypersurface models over concrete base space and fiber ambient space P2" begin @test parent(hypersurface_equation(h2)) == cox_ring(ambient_space(h2)) @@ -110,12 +111,13 @@ auxiliary_base_vars = ["a1", "a21", "a32", "a43", "a65", "w"] auxiliary_base_grading = [1 2 3 4 6 0; 0 -1 -2 -3 -5 1] D1 = [4,0] D2 = [6,0] +D3 = [0,0] d = 3 ambient_space_of_fiber_2 = weighted_projective_space(NormalToricVariety, [2,3,1]) set_coordinate_names(ambient_space_of_fiber_2, ["x", "y", "z"]) auxiliary_ambient_ring, (a1, a21, a32, a43, a65, w, x, y, z) = QQ["a1", "a21", "a32", "a43", "a65", "w", "x", "y", "z"] p = x^3 - y^2 - x * y * z * a1 + x^2 * z^2 * a21 * w - y * z^3 * a32 * w^2 + x * z^4 * a43 * w^3 + z^6 * a65 * w^5 -h6 = hypersurface_model(auxiliary_base_vars, auxiliary_base_grading, d, ambient_space_of_fiber_2, D1, D2, p) +h6 = hypersurface_model(auxiliary_base_vars, auxiliary_base_grading, d, ambient_space_of_fiber_2, [D1, D2, D3], p) @testset "Attributes and properties of hypersurface models over concrete base space and fiber ambient space P2" begin @test parent(hypersurface_equation(h6)) == coordinate_ring(ambient_space(h6)) @@ -129,7 +131,7 @@ h6 = hypersurface_model(auxiliary_base_vars, auxiliary_base_grading, d, ambient_ end @testset "Error messages in hypersurface models over not fully specified base spaces" begin - @test_throws ArgumentError hypersurface_model(auxiliary_base_vars, auxiliary_base_grading, -1, ambient_space_of_fiber_2, D1, D2, p) + @test_throws ArgumentError hypersurface_model(auxiliary_base_vars, auxiliary_base_grading, -1, ambient_space_of_fiber_2, [D1, D2, D3], p) @test_throws ArgumentError tune(h6, hypersurface_equation(h6)) end diff --git a/experimental/FTheoryTools/test/literature_models.jl b/experimental/FTheoryTools/test/literature_models.jl index 37bfd22bda33..ba83b4f8910a 100644 --- a/experimental/FTheoryTools/test/literature_models.jl +++ b/experimental/FTheoryTools/test/literature_models.jl @@ -377,7 +377,7 @@ end foah1 = literature_model(arxiv_id = "1408.4808v2", equation = "3.4", type = "hypersurface") foah2 = literature_model(arxiv_id = "1408.4808v2", equation = "3.12", type = "hypersurface") foah3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.54", type = "hypersurface") -#foah4 = literature_model(arxiv_id = "1408.4808v2", equation = "3.17", type = "hypersurface") +foah4 = literature_model(arxiv_id = "1408.4808v2", equation = "3.17", type = "hypersurface") foah5 = literature_model(arxiv_id = "1408.4808v2", equation = "3.73", type = "hypersurface") foah6 = literature_model(arxiv_id = "1408.4808v2", equation = "3.82", type = "hypersurface") foah7 = literature_model(arxiv_id = "1408.4808v2", equation = "3.96", type = "hypersurface") @@ -395,7 +395,7 @@ foah16 = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", type = " @test dim(base_space(foah1)) == 3 @test dim(base_space(foah2)) == 3 @test dim(base_space(foah3)) == 3 - #@test dim(base_space(foah4)) == 3 + @test dim(base_space(foah4)) == 3 @test dim(base_space(foah5)) == 3 @test dim(base_space(foah6)) == 3 @test dim(base_space(foah7)) == 3 @@ -411,7 +411,7 @@ foah16 = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", type = " @test dim(ambient_space(foah1)) == 5 @test dim(ambient_space(foah2)) == 5 @test dim(ambient_space(foah3)) == 5 - #@test dim(ambient_space(foah4)) == 5 + @test dim(ambient_space(foah4)) == 5 @test dim(ambient_space(foah5)) == 5 @test dim(ambient_space(foah6)) == 5 @test dim(ambient_space(foah7)) == 5 @@ -427,7 +427,7 @@ foah16 = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", type = " @test is_base_space_fully_specified(foah1) == false @test is_base_space_fully_specified(foah2) == false @test is_base_space_fully_specified(foah3) == false - #@test is_base_space_fully_specified(foah4) == false + @test is_base_space_fully_specified(foah4) == false @test is_base_space_fully_specified(foah5) == false @test is_base_space_fully_specified(foah6) == false @test is_base_space_fully_specified(foah7) == false @@ -443,7 +443,7 @@ foah16 = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", type = " @test model_description(foah1) == "F-theory hypersurface model with fiber ambient space F_1" @test model_description(foah2) == "F-theory hypersurface model with fiber ambient space F_2" @test model_description(foah3) == "F-theory hypersurface model with fiber ambient space F_3" - #@test model_description(foah4) == "F-theory hypersurface model with fiber ambient space F_4" + @test model_description(foah4) == "F-theory hypersurface model with fiber ambient space F_4" @test model_description(foah5) == "F-theory hypersurface model with fiber ambient space F_5" @test model_description(foah6) == "F-theory hypersurface model with fiber ambient space F_6" @test model_description(foah7) == "F-theory hypersurface model with fiber ambient space F_7" @@ -469,7 +469,7 @@ Kbar = anticanonical_divisor(B3) foah1_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.4", type = "hypersurface", base_space = B3, model_sections = Dict("s7" => Kbar, "s9" => Kbar), completeness_check = false) foah2_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.12", type = "hypersurface", base_space = B3, model_sections = Dict("b7" => Kbar, "b9" => Kbar), completeness_check = false) foah3_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.54", type = "hypersurface", base_space = B3, model_sections = Dict("s7" => Kbar, "s9" => Kbar), completeness_check = false) -#foah4_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.17", type = "hypersurface", base_space = B3, model_sections = Dict("d8" => Kbar, "d4" => Kbar), completeness_check = false) +foah4_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.17", type = "hypersurface", base_space = B3, model_sections = Dict("s7" => Kbar, "s9" => Kbar), completeness_check = false) foah5_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.73", type = "hypersurface", base_space = B3, model_sections = Dict("s7" => Kbar, "s9" => Kbar), completeness_check = false) foah6_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.82", type = "hypersurface", base_space = B3, model_sections = Dict("s7" => Kbar, "s4" => Kbar), completeness_check = false) foah7_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.96", type = "hypersurface", base_space = B3, model_sections = Dict("s7" => Kbar, "s9" => Kbar), completeness_check = false) @@ -487,7 +487,7 @@ foah16_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", type @test dim(base_space(foah1_B3)) == 3 @test dim(base_space(foah2_B3)) == 3 @test dim(base_space(foah3_B3)) == 3 - #@test dim(base_space(foah4_B3)) == 3 + @test dim(base_space(foah4_B3)) == 3 @test dim(base_space(foah5_B3)) == 3 @test dim(base_space(foah6_B3)) == 3 @test dim(base_space(foah7_B3)) == 3 @@ -503,7 +503,7 @@ foah16_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", type @test dim(ambient_space(foah1_B3)) == 5 @test dim(ambient_space(foah2_B3)) == 5 @test dim(ambient_space(foah3_B3)) == 5 - #@test dim(ambient_space(foah4_B3)) == 5 + @test dim(ambient_space(foah4_B3)) == 5 @test dim(ambient_space(foah5_B3)) == 5 @test dim(ambient_space(foah6_B3)) == 5 @test dim(ambient_space(foah7_B3)) == 5 @@ -519,7 +519,7 @@ foah16_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", type @test is_base_space_fully_specified(foah1_B3) == true @test is_base_space_fully_specified(foah2_B3) == true @test is_base_space_fully_specified(foah3_B3) == true - #@test is_base_space_fully_specified(foah4_B3) == true + @test is_base_space_fully_specified(foah4_B3) == true @test is_base_space_fully_specified(foah5_B3) == true @test is_base_space_fully_specified(foah6_B3) == true @test is_base_space_fully_specified(foah7_B3) == true @@ -535,7 +535,7 @@ foah16_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", type @test model_description(foah1_B3) == "F-theory hypersurface model with fiber ambient space F_1" @test model_description(foah2_B3) == "F-theory hypersurface model with fiber ambient space F_2" @test model_description(foah3_B3) == "F-theory hypersurface model with fiber ambient space F_3" - #@test model_description(foah4_B3) == "F-theory hypersurface model with fiber ambient space F_4" + @test model_description(foah4_B3) == "F-theory hypersurface model with fiber ambient space F_4" @test model_description(foah5_B3) == "F-theory hypersurface model with fiber ambient space F_5" @test model_description(foah6_B3) == "F-theory hypersurface model with fiber ambient space F_6" @test model_description(foah7_B3) == "F-theory hypersurface model with fiber ambient space F_7" @@ -551,7 +551,7 @@ foah16_B3 = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", type @test parent(explicit_model_sections(foah1_B3)["s7"]) == cox_ring(base_space(foah1_B3)) @test parent(explicit_model_sections(foah2_B3)["b7"]) == cox_ring(base_space(foah2_B3)) @test parent(explicit_model_sections(foah3_B3)["s7"]) == cox_ring(base_space(foah3_B3)) - #@test parent(explicit_model_sections(foah4_B3)["d4"]) == cox_ring(base_space(foah4_B3)) + @test parent(explicit_model_sections(foah4_B3)["d4"]) == cox_ring(base_space(foah4_B3)) @test parent(explicit_model_sections(foah5_B3)["s7"]) == cox_ring(base_space(foah5_B3)) @test parent(explicit_model_sections(foah6_B3)["s7"]) == cox_ring(base_space(foah6_B3)) @test parent(explicit_model_sections(foah7_B3)["s7"]) == cox_ring(base_space(foah7_B3)) @@ -576,7 +576,7 @@ end foah1_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.4", type = "weierstrass") foah2_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.12", type = "weierstrass") foah3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.54", type = "weierstrass") -#foah4_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.17", type = "weierstrass") +foah4_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.17", type = "weierstrass") foah5_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.73", type = "weierstrass") foah6_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.82", type = "weierstrass") foah7_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.96", type = "weierstrass") @@ -594,7 +594,7 @@ foah16_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", ty @test dim(base_space(foah1_weier)) == 3 @test dim(base_space(foah2_weier)) == 3 @test dim(base_space(foah3_weier)) == 3 - #@test dim(base_space(foah4_weier)) == 3 + @test dim(base_space(foah4_weier)) == 3 @test dim(base_space(foah5_weier)) == 3 @test dim(base_space(foah6_weier)) == 3 @test dim(base_space(foah7_weier)) == 3 @@ -610,7 +610,7 @@ foah16_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", ty @test dim(ambient_space(foah1_weier)) == 5 @test dim(ambient_space(foah2_weier)) == 5 @test dim(ambient_space(foah3_weier)) == 5 - #@test dim(ambient_space(foah4_weier)) == 5 + @test dim(ambient_space(foah4_weier)) == 5 @test dim(ambient_space(foah5_weier)) == 5 @test dim(ambient_space(foah6_weier)) == 5 @test dim(ambient_space(foah7_weier)) == 5 @@ -626,7 +626,7 @@ foah16_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", ty @test is_base_space_fully_specified(foah1_weier) == false @test is_base_space_fully_specified(foah2_weier) == false @test is_base_space_fully_specified(foah3_weier) == false - #@test is_base_space_fully_specified(foah4_weier) == false + @test is_base_space_fully_specified(foah4_weier) == false @test is_base_space_fully_specified(foah5_weier) == false @test is_base_space_fully_specified(foah6_weier) == false @test is_base_space_fully_specified(foah7_weier) == false @@ -642,7 +642,7 @@ foah16_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", ty @test model_description(foah1_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_1" @test model_description(foah2_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_2" @test model_description(foah3_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_3" - #@test model_description(foah4_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_4" + @test model_description(foah4_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_4" @test model_description(foah5_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_5" @test model_description(foah6_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_6" @test model_description(foah7_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_7" @@ -668,7 +668,7 @@ Kbar = anticanonical_divisor(B3) foah1_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.4", type = "weierstrass", base_space = B3, model_sections = Dict("s7" => Kbar, "s9" => Kbar), completeness_check = false) foah2_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.12", type = "weierstrass", base_space = B3, model_sections = Dict("b7" => Kbar, "b9" => Kbar), completeness_check = false) foah3_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.54", type = "weierstrass", base_space = B3, model_sections = Dict("s7" => Kbar, "s9" => Kbar), completeness_check = false) -#foah4_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.17", type = "weierstrass", base_space = B3, model_sections = Dict("d8" => Kbar, "d4" => Kbar), completeness_check = false) +foah4_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.17", type = "weierstrass", base_space = B3, model_sections = Dict("d8" => Kbar, "d4" => Kbar), completeness_check = false) foah5_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.73", type = "weierstrass", base_space = B3, model_sections = Dict("s7" => Kbar, "s9" => Kbar), completeness_check = false) foah6_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.82", type = "weierstrass", base_space = B3, model_sections = Dict("s7" => Kbar, "s4" => Kbar), completeness_check = false) foah7_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.96", type = "weierstrass", base_space = B3, model_sections = Dict("s7" => Kbar, "s9" => Kbar), completeness_check = false) @@ -686,7 +686,7 @@ foah16_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", @test dim(base_space(foah1_B3_weier)) == 3 @test dim(base_space(foah2_B3_weier)) == 3 @test dim(base_space(foah3_B3_weier)) == 3 - #@test dim(base_space(foah4_B3_weier)) == 3 + @test dim(base_space(foah4_B3_weier)) == 3 @test dim(base_space(foah5_B3_weier)) == 3 @test dim(base_space(foah6_B3_weier)) == 3 @test dim(base_space(foah7_B3_weier)) == 3 @@ -702,7 +702,7 @@ foah16_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", @test dim(ambient_space(foah1_B3_weier)) == 5 @test dim(ambient_space(foah2_B3_weier)) == 5 @test dim(ambient_space(foah3_B3_weier)) == 5 - #@test dim(ambient_space(foah4_B3_weier)) == 5 + @test dim(ambient_space(foah4_B3_weier)) == 5 @test dim(ambient_space(foah5_B3_weier)) == 5 @test dim(ambient_space(foah6_B3_weier)) == 5 @test dim(ambient_space(foah7_B3_weier)) == 5 @@ -718,7 +718,7 @@ foah16_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", @test is_base_space_fully_specified(foah1_B3_weier) == true @test is_base_space_fully_specified(foah2_B3_weier) == true @test is_base_space_fully_specified(foah3_B3_weier) == true - #@test is_base_space_fully_specified(foah4_B3_weier) == true + @test is_base_space_fully_specified(foah4_B3_weier) == true @test is_base_space_fully_specified(foah5_B3_weier) == true @test is_base_space_fully_specified(foah6_B3_weier) == true @test is_base_space_fully_specified(foah7_B3_weier) == true @@ -734,7 +734,7 @@ foah16_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", @test model_description(foah1_B3_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_1" @test model_description(foah2_B3_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_2" @test model_description(foah3_B3_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_3" - #@test model_description(foah4_B3_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_4" + @test model_description(foah4_B3_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_4" @test model_description(foah5_B3_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_5" @test model_description(foah6_B3_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_6" @test model_description(foah7_B3_weier) == "F-theory weierstrass model dual to hypersurface model with fiber ambient space F_7" @@ -750,7 +750,7 @@ foah16_B3_weier = literature_model(arxiv_id = "1408.4808v2", equation = "3.203", @test parent(explicit_model_sections(foah1_B3_weier)["s7"]) == cox_ring(base_space(foah1_B3_weier)) @test parent(explicit_model_sections(foah2_B3_weier)["b7"]) == cox_ring(base_space(foah2_B3_weier)) @test parent(explicit_model_sections(foah3_B3_weier)["s7"]) == cox_ring(base_space(foah3_B3_weier)) - #@test parent(explicit_model_sections(foah4_B3_weier)["d4"]) == cox_ring(base_space(foah4_B3_weier)) + @test parent(explicit_model_sections(foah4_B3_weier)["d4"]) == cox_ring(base_space(foah4_B3_weier)) @test parent(explicit_model_sections(foah5_B3_weier)["s7"]) == cox_ring(base_space(foah5_B3_weier)) @test parent(explicit_model_sections(foah6_B3_weier)["s7"]) == cox_ring(base_space(foah6_B3_weier)) @test parent(explicit_model_sections(foah7_B3_weier)["s7"]) == cox_ring(base_space(foah7_B3_weier))