From 96eb31c7365b707e811e2b971c2476ad1e4f0754 Mon Sep 17 00:00:00 2001 From: Mikelis Emils Mikelsons Date: Sat, 31 Aug 2024 13:14:57 +0300 Subject: [PATCH] Added D3-tadpole cancellation check for G4-fluxes --- docs/oscar_references.bib | 9 --- .../src/AbstractFTheoryModels/attributes.jl | 33 ++++++----- .../src/AbstractFTheoryModels/methods.jl | 8 +-- .../src/AbstractFTheoryModels/properties.jl | 2 +- .../FTheoryTools/src/G4Fluxes/properties.jl | 55 +++++++++++++++++-- .../Models/model1208_2695-1.json | 2 +- .../Models/model1408_4808-10-WSF.json | 2 +- .../Models/model1408_4808-10.json | 2 +- .../Models/model1408_4808-11-WSF.json | 2 +- .../Models/model1408_4808-11.json | 2 +- .../Models/model1408_4808-12-WSF.json | 2 +- .../Models/model1408_4808-12.json | 2 +- .../Models/model1408_4808-13-WSF.json | 2 +- .../Models/model1408_4808-13.json | 2 +- .../Models/model1408_4808-14-WSF.json | 2 +- .../Models/model1408_4808-14.json | 2 +- .../Models/model1408_4808-15-WSF.json | 2 +- .../Models/model1408_4808-15.json | 2 +- .../Models/model1408_4808-16-WSF.json | 2 +- .../Models/model1408_4808-16.json | 2 +- .../Models/model1408_4808-3-WSF.json | 2 +- .../Models/model1408_4808-3.json | 2 +- .../Models/model1408_4808-5-WSF.json | 2 +- .../Models/model1408_4808-5.json | 2 +- .../Models/model1408_4808-6-WSF.json | 2 +- .../Models/model1408_4808-6.json | 2 +- .../Models/model1408_4808-7-WSF.json | 2 +- .../Models/model1408_4808-7.json | 2 +- .../Models/model1408_4808-8-WSF.json | 2 +- .../Models/model1408_4808-8.json | 2 +- .../Models/model1408_4808-9-WSF.json | 2 +- .../Models/model1408_4808-9.json | 2 +- .../Models/model1507_05954-1.json | 2 +- .../Models/model1511_03209.json | 4 +- .../Models/model1903_00009.json | 2 +- .../src/LiteratureModels/constructors.jl | 4 +- .../src/LiteratureModels/model_reference.json | 4 +- experimental/FTheoryTools/src/exports.jl | 3 +- .../FTheoryTools/test/literature_models.jl | 2 +- 39 files changed, 110 insertions(+), 72 deletions(-) diff --git a/docs/oscar_references.bib b/docs/oscar_references.bib index dee84c20f7c1..da8ba4bd1290 100644 --- a/docs/oscar_references.bib +++ b/docs/oscar_references.bib @@ -1722,15 +1722,6 @@ @PhDThesis{Lev05 school = {Technische Universität Kaiserslautern} } -@PhDThesis{Lin16, - author = {Ling, Lin}, - title = {Gauge Fluxes in F-theory Compactifications}, - year = {2016}, - doi = {10.11588/heidok.00021601}, - type = {doctoralthesis}, - school = {Heidelberg U.} -} - @Book{Liu06, author = {Liu, Qing}, title = {Algebraic geometry and arithmetic curves. Transl. by Reinie Erné}, diff --git a/experimental/FTheoryTools/src/AbstractFTheoryModels/attributes.jl b/experimental/FTheoryTools/src/AbstractFTheoryModels/attributes.jl index 54306e572040..5161ab59517b 100644 --- a/experimental/FTheoryTools/src/AbstractFTheoryModels/attributes.jl +++ b/experimental/FTheoryTools/src/AbstractFTheoryModels/attributes.jl @@ -1013,10 +1013,10 @@ end @doc raw""" - zero_section_coordinates(m::AbstractFTheoryModel) + zero_section(m::AbstractFTheoryModel) -Return the zero section coordinates of the given model. -If no zero section coordinates are known, an error is raised. +Return the zero section of the given model. +If no zero section is known, an error is raised. This information is not typically stored as an attribute for Weierstrass and global Tate models, whose zero sections are known. @@ -1026,38 +1026,38 @@ Assuming that the first row of the given grading is the grading under Kbar Hypersurface model over a not fully specified base -julia> zero_section_coordinates(h) +julia> zero_section(h) 3-element Vector{QQMPolyRingElem}: 0 1 0 ``` """ -function zero_section_coordinates(m::AbstractFTheoryModel) - @req has_zero_section_coordinates(m) "No zero section coordinates stored for this model" - return get_attribute(m, :zero_section_coordinates) +function zero_section(m::AbstractFTheoryModel) + @req has_zero_section(m) "No zero section stored for this model" + return get_attribute(m, :zero_section) end @doc raw""" - zero_section(m::AbstractFTheoryModel) + zero_section_class(m::AbstractFTheoryModel) -Return the zero section of a model as a cohomology class in the toric ambient space. -If no zero section is known, an error is raised. +Return the zero section class of a model as a cohomology class in the toric ambient space. +If no zero section class is known, an error is raised. This information is not typically available for -Weierstrass and global Tate models, whose zero sections are known. +Weierstrass and global Tate models, whose zero section classs are known. ```jldoctest; setup = :(Oscar.LazyArtifacts.ensure_artifact_installed("QSMDB", Oscar.LazyArtifacts.find_artifacts_toml(Oscar.oscardir))) julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4)) Hypersurface model over a concrete base -julia> zero_section(qsm_model) +julia> zero_section_class(qsm_model) Cohomology class on a normal toric variety given by x32 + 2*x33 + 3*x34 + x35 - x36 ``` """ -function zero_section(m::AbstractFTheoryModel) - @req has_zero_section(m) "No zero section stored for this model" - return get_attribute(m, :zero_section) +function zero_section_class(m::AbstractFTheoryModel) + @req has_zero_section_class(m) "No zero section class stored for this model" + return get_attribute(m, :zero_section_class) end @@ -1234,6 +1234,9 @@ error. julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4)) Hypersurface model over a concrete base +julia> h = euler_characteristic(qsm_model; check = false) +378 + julia> h = euler_characteristic(qsm_model; check = false) 378 ``` diff --git a/experimental/FTheoryTools/src/AbstractFTheoryModels/methods.jl b/experimental/FTheoryTools/src/AbstractFTheoryModels/methods.jl index 0cb1012eb1d7..ad84adde69d7 100644 --- a/experimental/FTheoryTools/src/AbstractFTheoryModels/methods.jl +++ b/experimental/FTheoryTools/src/AbstractFTheoryModels/methods.jl @@ -634,19 +634,19 @@ function set_weighted_resolution_zero_sections(m::AbstractFTheoryModel, vs::Vect set_attribute!(m, :weighted_resolution_zero_sections => result) end -function set_zero_section_coordinates(m::AbstractFTheoryModel, desired_value::Vector{String}) +function set_zero_section(m::AbstractFTheoryModel, desired_value::Vector{String}) R, _ = polynomial_ring(QQ, collect(keys(explicit_model_sections(m))), cached = false) f = hom(R, cox_ring(base_space(m)), collect(values(explicit_model_sections(m)))) - set_attribute!(m, :zero_section_coordinates => [f(eval_poly(l, R)) for l in desired_value]) + set_attribute!(m, :zero_section => [f(eval_poly(l, R)) for l in desired_value]) end -function set_zero_section(m::AbstractFTheoryModel, desired_value::String) +function set_zero_section_class(m::AbstractFTheoryModel, desired_value::String) divs = torusinvariant_prime_divisors(ambient_space(m)) cohomology_ring(ambient_space(m); check=false) cox_gens = string.(gens(cox_ring(ambient_space(m)))) @req desired_value in cox_gens "Specified zero section is invalid" index = findfirst(x -> x==desired_value, cox_gens) - set_attribute!(m, :zero_section => cohomology_class(divs[index])) + set_attribute!(m, :zero_section_class => cohomology_class(divs[index])) end function set_gauge_algebra(m::AbstractFTheoryModel, algebras::Vector{String}) diff --git a/experimental/FTheoryTools/src/AbstractFTheoryModels/properties.jl b/experimental/FTheoryTools/src/AbstractFTheoryModels/properties.jl index 27eb25644019..6bf4c05890c7 100644 --- a/experimental/FTheoryTools/src/AbstractFTheoryModels/properties.jl +++ b/experimental/FTheoryTools/src/AbstractFTheoryModels/properties.jl @@ -97,7 +97,7 @@ has_weighted_resolutions(m::AbstractFTheoryModel) = has_attribute(m, :weighted_r has_weighted_resolution_generating_sections(m::AbstractFTheoryModel) = has_attribute(m, :weighted_resolution_generating_sections) has_weighted_resolution_zero_sections(m::AbstractFTheoryModel) = has_attribute(m, :weighted_resolution_zero_sections) has_zero_section(m::AbstractFTheoryModel) = has_attribute(m, :zero_section) -has_zero_section_coordinates(m::AbstractFTheoryModel) = has_attribute(m, :zero_section_coordinates) +has_zero_section_class(m::AbstractFTheoryModel) = has_attribute(m, :zero_section_class) has_gauge_algebra(m::AbstractFTheoryModel) = has_attribute(m, :gauge_algebra) has_global_gauge_quotients(m::AbstractFTheoryModel) = has_attribute(m, :global_gauge_quotients) diff --git a/experimental/FTheoryTools/src/G4Fluxes/properties.jl b/experimental/FTheoryTools/src/G4Fluxes/properties.jl index 57d96943a474..e4548ee22a7f 100644 --- a/experimental/FTheoryTools/src/G4Fluxes/properties.jl +++ b/experimental/FTheoryTools/src/G4Fluxes/properties.jl @@ -63,7 +63,7 @@ end @doc raw""" passes_verticality_checks(gf::G4Flux) -G4-fluxes are subject to verticality conditions described in [Lin16](@cite). +G4-fluxes are subject to verticality conditions described in [Wei18](@cite). It is hard to verify that these condition are met. However, we can execute a number of simple consistency checks, by verifying that $\int_{Y}{G_4 \wedge [D_1] \wedge [zero section]} = 0$ and $\int_{Y}{G_4 \wedge [D_1] \wedge [D_2]} = 0$ @@ -92,17 +92,17 @@ true """ @attr Bool function passes_verticality_checks(g4::G4Flux) m = model(g4) - @req (m isa WeierstrassModel || m isa GlobalTateModel || m isa HypersurfaceModel) "Verticality checks for G4-fluxes only supported for Weierstrass, global Tate and hypersurface models" - @req base_space(m) isa NormalToricVariety "Verticality checks for G4-flux currently supported only for toric base" - @req ambient_space(m) isa NormalToricVariety "Verticality checks for G4-flux currently supported only for toric ambient space" - @req has_zero_section(m) "For verticality checks, a model zero section needs to be specified" + @req (m isa WeierstrassModel || m isa GlobalTateModel || m isa HypersurfaceModel) "Tadpole cancellation checks for G4-fluxes only supported for Weierstrass, global Tate and hypersurface models" + @req base_space(m) isa NormalToricVariety "Tadpole cancellation checks for G4-flux currently supported only for toric base" + @req ambient_space(m) isa NormalToricVariety "Tadpole cancellation checks for G4-flux currently supported only for toric ambient space" + @req has_zero_section_class(m) "For verticality checks, a model zero section class needs to be specified" # Compute the cohomology class corresponding to the hypersurface equation cy = polynomial(cohomology_class(toric_divisor_class(ambient_space(m), degree(hypersurface_equation(m))))) n = length(gens(cox_ring(base_space(m)))) c_ds = [polynomial(cohomology_class(d)) for d in torusinvariant_prime_divisors(ambient_space(m))[1:n]] - zero_sec = zero_section(m) + zero_sec = zero_section_class(m) # now execute verticality checks for i in 1:n @@ -117,3 +117,46 @@ true end return true end + + +@doc raw""" + passes_tadpole_cancellation_check(gf::G4Flux) + +G4-fluxes are subject to the D3-tadpole cancellation condition described in [Wei18](@cite). +This check verifies that $euler_characteristic(Y)/24 - 1/2 * \int_{Y}{G_4 \wedge G_4}$ is a non-negative integer. + +```jldoctest; setup = :(Oscar.LazyArtifacts.ensure_artifact_installed("QSMDB", Oscar.LazyArtifacts.find_artifacts_toml(Oscar.oscardir))) +julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4)) +Hypersurface model over a concrete base + +julia> divs = torusinvariant_prime_divisors(ambient_space(qsm_model)); + +julia> e1 = cohomology_class(divs[35]);e2 = cohomology_class(divs[32]);e4 = cohomology_class(divs[34]); + +julia> u = cohomology_class(divs[33]);v = cohomology_class(divs[30]);pb_Kbar = cohomology_class(sum([divs[k] for k in 1:29])); + +julia> g4_class = (-3) // kbar3(qsm_model) * (5 * e1 * e4 + pb_Kbar * (-3 * e1 - 2 * e2 - 6 * e4 + pb_Kbar - 4 * u + v)); + +julia> g4 = g4_flux(qsm_model, g4_class, check = false) +G4-flux candidate lacking elementary quantization checks + +julia> passes_tadpole_cancellation_check(g4) +true +``` +""" +@attr Bool function passes_tadpole_cancellation_check(g4::G4Flux) + m = model(g4) + @req (m isa WeierstrassModel || m isa GlobalTateModel || m isa HypersurfaceModel) "Tadpole cancellation checks for G4-fluxes only supported for Weierstrass, global Tate and hypersurface models" + @req base_space(m) isa NormalToricVariety "Tadpole cancellation checks for G4-flux currently supported only for toric base" + @req ambient_space(m) isa NormalToricVariety "Tadpole cancellation checks for G4-flux currently supported only for toric ambient space" + + # Compute the cohomology class corresponding to the hypersurface equation + cy = polynomial(cohomology_class(toric_divisor_class(ambient_space(m), degree(hypersurface_equation(m))))) + + # Now check if the D3-tadpole cancellation condition holds + numb = euler_characteristic(m; check = false)/24 - 1/2*integrate(cohomology_class(ambient_space(m), polynomial(cohomology_class(g4)) * polynomial(cohomology_class(g4)) * cy); check = false) + if numb > 0 && is_integer(numb) + return true + end + return false +end diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json index b37be5e281c7..7b3f342d8ca2 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json @@ -54,7 +54,7 @@ [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_coordinates": ["0", "1", "0"], + "zero_section": ["0", "1", "0"], "generating_sections": [["0", "1", "-b"]] }, "birational_models": ["model1208_2695-2.json"] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10-WSF.json index 730483281503..1829a55314a9 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10-WSF.json @@ -54,7 +54,7 @@ [-1, 0, 1, 2, -1, 0, -1], [-1, -1, -1, -1, 0, 0, 1] ], - "zero_section_coordinates": ["0", "0", "1"] + "zero_section": ["0", "0", "1"] }, "associated_models": [ "model1408_4808-1-WSF.json", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10.json index 506496d64b83..47b15e1cb3c0 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10.json @@ -62,7 +62,7 @@ [-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_coordinates": ["s4", "1", "1", "1", "-s8", "0"] + "zero_section": ["s4", "1", "1", "1", "-s8", "0"] }, "associated_models": [ "model1408_4808-1.json", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11-WSF.json index 75ba3336c175..ecb237ea5461 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11-WSF.json @@ -55,7 +55,7 @@ [-1, 0, 1, -1, 0, 0], [-1, -1, -1, 0, 0, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "generating_sections": [ [ "1//12*(12*s1^2*s9^6 + s9^5*(8*s2*s5^2 - 12*s1*s6*s5) + s5^2*s6^2*s9^4)", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11.json index 03d773ce5ad6..1cd6e0ae2887 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11.json @@ -63,7 +63,7 @@ [ 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^3*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_coordinates": ["1", "0", "s5", "1", "1", "-s5", "1"], + "zero_section": ["1", "0", "s5", "1", "1", "-s5", "1"], "generating_sections": [ ["s9", "1", "1", "-s3", "1", "1", "0"] ] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12-WSF.json index 26330b1cb34d..dfd9824ab288 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12-WSF.json @@ -55,7 +55,7 @@ [-1, 0, -1, 0, 1, 0], [-1, -1, 0, 0, 0, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "generating_sections": [ [ "1//12*(s6^2 - 4*s5*s7 - 4*s2*s9)", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12.json index f39198779d2e..d9bf6aa6e57b 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12.json @@ -63,7 +63,7 @@ [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_coordinates": ["0", "1", "1", "s7", "-s9", "1", "1"], + "zero_section": ["0", "1", "1", "s7", "-s9", "1", "1"], "generating_sections": [ ["1", "s5", "1", "1", "-s9", "0", "1"], ["1", "1", "s2", "-s7", "1", "1", "0"] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13-WSF.json index dcecf8ef6de7..e47f6edd0ee5 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13-WSF.json @@ -55,7 +55,7 @@ [-1, 0, 1, 0, 0], [-1, -1, -1, 0, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "torsion_sections": [ ["1//12*(s6^2 - 4*s2*s9)", "0", "1"] ] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13.json index a50ddc0b7022..2c957a0bf5a5 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13.json @@ -63,7 +63,7 @@ [1, 1, 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_coordinates": ["1", "s1", "1", "1", "1", "-s9", "0", "1"], + "zero_section": ["1", "s1", "1", "1", "1", "-s9", "0", "1"], "torsion_sections": [ ["s9", "1", "1", "-s3", "1", "1", "1", "0"] ] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14-WSF.json index e35f3051c409..9fd7b9b135a8 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14-WSF.json @@ -55,7 +55,7 @@ [-1, -1, 0, 1, 0], [-1, 0, 0, 0, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "generating_sections": [ [ "1//12*(12*s1^2*s9^6 - s5^2*s9^4*( - s6^2 + 4*s5*s7) - 12*s1*s5*s6*s9^5)", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14.json index a6bb8c056fbd..43231ec6682e 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14.json @@ -63,7 +63,7 @@ [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_coordinates": ["0", "1", "1", "s7", "-s9", "1", "1", "1"], + "zero_section": ["0", "1", "1", "s7", "-s9", "1", "1", "1"], "generating_sections": [ ["1", "1", "s1", "1", "1", "1", "-s7", "0"] ] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15-WSF.json index a7cdc57ae034..79ea4c371eba 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15-WSF.json @@ -55,7 +55,7 @@ [0, -1, 0, 1, 0], [-1, 0, 0, 0, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "generating_sections": [ ["1//12*(8*s2*s5^2*s9^5 - s5^2*s9^4*( - s6^2 + 4*s5*s7))", " -1//2*s2*s5^3*s6*s9^7", "s5*s9^2"] ], diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15.json index 9668b60f3305..770c60515543 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15.json @@ -63,7 +63,7 @@ [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_coordinates": ["0", "1", "1", "s7", "-s9", "1", "1", "1"], + "zero_section": ["0", "1", "1", "s7", "-s9", "1", "1", "1"], "generating_sections": [ ["1", "1", "s2", "-s7", "1", "1", "0", "1"] ], diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16-WSF.json index 7fedb451b576..9f628432110b 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16-WSF.json @@ -55,7 +55,7 @@ [-1, 0, 1, 0], [-1, 0, 0, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "torsion_sections": [ ["1//12*s6^2", "1//2*s1*s7*s9", "1"], ["1//12*s6^2", "-1//2*s1*s7*s9", "1"] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16.json index aa4a0a80021e..de3c6519aedc 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16.json @@ -63,7 +63,7 @@ [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_coordinates": ["0", "1", "1", "s7", "-s9", "1", "1", "1", "1"], + "zero_section": ["0", "1", "1", "s7", "-s9", "1", "1", "1", "1"], "torsion_sections": [ ["1", "1", "s1", "1", "1", "1", "-s7", "0", "1"], ["1", "s1", "1", "1", "1", "-s9", "1", "1", "0"] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3-WSF.json index c14921b10c10..85c63817eafc 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3-WSF.json @@ -54,7 +54,7 @@ [-1, 0, 1, 2, -1, 0, 1, -1, 0], [-1, -1, -1, -1, 0, 0, 0, 1, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "generating_sections": [ [ "1//12*(12*s1^2*s9^6 + 4*(2*s2*(s5^2 - 3*s1*s8) - 3*s1*s5*s6)*s9^5 + ((s6^2 - 4*s5*s7)*s5^2 + 12*(s2^2 + 2*s1*s3)*s8^2 - 4*(4*s3*s5^2 + s2*s6*s5 - 3*s1*(s6^2 + 2*s5*s7))*s8)*s9^4 - 2*s8*( - 4*(s6*s7 + 3*s4*s8)*s5^2 + (s6^3 - 10*s3*s8*s6 + 4*s2*s7*s8)*s5 + 2*s8*(9*s1*s6*s7 + 6*s1*s4*s8 + s2*(s6^2 + 6*s3*s8)))*s9^3 + s8^2*(s6^4 - 2*s5*s7*s6^2 - 8*s5^2*s7^2 + 12*(s3^2 + 2*s2*s4)*s8^2 - 4*(9*s4*s5*s6 - s7*(5*s2*s6 + 6*s1*s7) + s3*(s6^2 + 2*s5*s7))*s8)*s9^2 - 2*s8^3*(12*s3*s4*s8^2 + 2*(s7*(s3*s6 + 4*s2*s7) - 3*s4*(s6^2 + 2*s5*s7))*s8 + s6*s7*(s6^2 - 4*s5*s7))*s9 + s8^4*((s6^2 - 4*s5*s7)*s7^2 + 4*(2*s3*s7 - 3*s4*s6)*s8*s7 + 12*s4^2*s8^2))", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3.json index dd8bf026e599..0410305b1932 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3.json @@ -62,7 +62,7 @@ [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_coordinates": ["s9", "-s8", "1", "0"], + "zero_section": ["s9", "-s8", "1", "0"], "generating_sections": [ ["-s9", "s8", "s1 * s9^3 - s4 * s8^3 + s3 * s9 * s8^2 - s2 * s9^2 * s8", "s7 * s8^2 - s6 * s9 * s8 + s5 * s9^2"] ] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5-WSF.json index 13b4a07465a9..955477e31a94 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5-WSF.json @@ -54,7 +54,7 @@ [-1, 0, 1, -1, 0, 1, -1, 0], [-1, -1, -1, 0, 0, 0, 1, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "generating_sections": [ [ "1//12*(s6^2 - 4*s5*s7 + 8*s3*s8 - 4*s2*s9)", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5.json index e9dab911b7c2..a959961e6a1a 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5.json @@ -62,7 +62,7 @@ [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_coordinates": ["s9", "-s8", "1", "1", "0"], + "zero_section": ["s9", "-s8", "1", "1", "0"], "generating_sections": [ ["s7", "1", "-s3", "0", "1"], ["0", "1", "1", "s7", "-s9"] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6-WSF.json index d6156e990ab6..7a85b5902c69 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6-WSF.json @@ -55,7 +55,7 @@ [-1, 0, 1, 2, -1, 0, 1, -1], [-1, -1, -1, -1, 0, 0, 0, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "generating_sections": [ [ "1//12*(s8^4*(12*s4^2*s8^2 - s7^2*( - s6^2 + 4*s5*s7) + s7*s8*(8*s3*s7 - 12*s4*s6)))", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6.json index f6cab5a694cd..8b3351b62e11 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6.json @@ -63,7 +63,7 @@ [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_coordinates": ["-s7", "1", "s8", "1", "0"], + "zero_section": ["-s7", "1", "s8", "1", "0"], "generating_sections": [ ["0", "1", "s4", "1", "-s7"] ] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7-WSF.json index 7f55df1d2c25..21c7bc27351e 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7-WSF.json @@ -54,7 +54,7 @@ [0, 1, -1, 0, 1, -1, 0], [-1, -1, 0, 0, 0, 1, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "generating_sections": [ [ "1//12*(s6^2*s7^2 - 4*s5*s7^3 + 8*s3*s7^2*s8 - 12*s3*s6*s7*s9 + 8*s2*s7^2*s9 + 12*s3^2*s9^2)", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7.json index d328fabab25b..446cf2035fb4 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7.json @@ -62,7 +62,7 @@ [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_coordinates": ["0", "1", "1", "s7", "1", "-s9"], + "zero_section": ["0", "1", "1", "s7", "1", "-s9"], "generating_sections": [ ["s7", "1", "-s3", "0", "1", "1"], ["1", "s5", "-s2", "1", "0", "1"], diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8-WSF.json index e2f83b908374..b07b942db60d 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8-WSF.json @@ -55,7 +55,7 @@ [-1, 0, 1, -1, 0, 1, -1], [-1, -1, -1, 0, 0, 0, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "generating_sections": [ [ "1//12*( - s8^4*(s7^2*( - s6^2 + 4*s5*s7) - 8*s3*s7^2*s8))", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8.json index a8e145fe7977..258a0b966994 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8.json @@ -63,7 +63,7 @@ [-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_coordinates": ["s7", "1", "1", "-s8", "0", "1"], + "zero_section": ["s7", "1", "1", "-s8", "0", "1"], "generating_sections": [ ["s7", "1", "-s3", "1", "1", "0"] ] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9-WSF.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9-WSF.json index af97ea3e97b7..4095157b97f9 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9-WSF.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9-WSF.json @@ -55,7 +55,7 @@ [-1, 0, 1, -1, 0, 1, 0], [-1, -1, -1, 0, 0, 0, 1] ], - "zero_section_coordinates": ["0", "0", "1"], + "zero_section": ["0", "0", "1"], "generating_sections": [ [ "1//12*(s6^2 - 4*s5*s7 - 4*s2*s9)", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9.json index 3f744d2cec16..6968dc634d01 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9.json @@ -63,7 +63,7 @@ [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_coordinates": ["0", "1", "1", "s7", "-s9", "1"], + "zero_section": ["0", "1", "1", "s7", "-s9", "1"], "generating_sections": [ ["1", "s5", "1", "1", "-s9", "0"], ["s7", "1", "-s3", "0", "1", "1"] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json index d0777d7eec5e..11537a04a0e9 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json @@ -65,7 +65,7 @@ [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_coordinates": ["0", "-b1", "a1"], + "zero_section": ["0", "-b1", "a1"], "generating_sections": [ ["0", "-b2", "a2"], ["0", "-b3", "a3"] diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1511_03209.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1511_03209.json index 8ec914f7270f..80ff80132f17 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1511_03209.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1511_03209.json @@ -47,8 +47,8 @@ "classes_of_model_sections_in_basis_of_Kbar_and_defining_classes": [ [1, 2, 3, 4, 6] ], - "zero_section": "z", - "zero_section_coordinates": ["1", "1", "0"] + "zero_section_class": "z", + "zero_section": ["1", "1", "0"] "resolutions": [ [ [ diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1903_00009.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1903_00009.json index 3c7d4b6a5da1..9d5cd8ff2666 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1903_00009.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1903_00009.json @@ -60,6 +60,6 @@ "D1": [0, 0], "D2": [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^3*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": "v" + "zero_section_class": "v" } } diff --git a/experimental/FTheoryTools/src/LiteratureModels/constructors.jl b/experimental/FTheoryTools/src/LiteratureModels/constructors.jl index b7a449da70aa..c4f691a98f70 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/constructors.jl +++ b/experimental/FTheoryTools/src/LiteratureModels/constructors.jl @@ -634,8 +634,8 @@ function _set_all_attributes(model::AbstractFTheoryModel, model_dict::Dict{Strin set_zero_section(model, string.(model_dict["model_data"]["zero_section"])) end - if haskey(model_dict["model_data"], "zero_section_coordinates") - set_zero_section_coordinates(model, string.(model_dict["model_data"]["zero_section_coordinates"])) + if haskey(model_dict["model_data"], "zero_section_class") + set_zero_section_class(model, string.(model_dict["model_data"]["zero_section_class"])) end if haskey(model_dict["model_data"], "generating_sections") diff --git a/experimental/FTheoryTools/src/LiteratureModels/model_reference.json b/experimental/FTheoryTools/src/LiteratureModels/model_reference.json index b49b5b4c9d43..5505a202548b 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/model_reference.json +++ b/experimental/FTheoryTools/src/LiteratureModels/model_reference.json @@ -55,8 +55,8 @@ "fiber_coordinates": [""], "fiber_ambient_space": "", "hypersurface_equation": "", - "zero_section": "", - "zero_section_coordinates": ["", "", ""], + "zero_section_class": "", + "zero_section": ["", "", ""], "generating_sections": [["", "", ""]], "torsion_sections": [["", "", ""]], "resolutions": [[[[""]], [""]]], diff --git a/experimental/FTheoryTools/src/exports.jl b/experimental/FTheoryTools/src/exports.jl index b306978117cc..713ba6ba5c18 100644 --- a/experimental/FTheoryTools/src/exports.jl +++ b/experimental/FTheoryTools/src/exports.jl @@ -138,6 +138,7 @@ export paper_buzzwords export paper_description export paper_title export passes_elementary_quantization_checks +export passes_tadpole_cancellation_check export passes_verticality_checks export polytope_index export put_over_concrete_base @@ -215,4 +216,4 @@ export weighted_resolution_zero_sections export weighted_resolutions export weights export zero_section -export zero_section_coordinates +export zero_section_class diff --git a/experimental/FTheoryTools/test/literature_models.jl b/experimental/FTheoryTools/test/literature_models.jl index f76d9d710375..71c79c50152a 100644 --- a/experimental/FTheoryTools/test/literature_models.jl +++ b/experimental/FTheoryTools/test/literature_models.jl @@ -366,7 +366,7 @@ h = literature_model(arxiv_id = "1507.05954", equation = "3.4") @test [string(g) for g in gens(cox_ring(fiber_ambient_space(h)))] == ["u", "v", "w"] @test is_base_space_fully_specified(h) == false @test is_partially_resolved(h) == false - @test string.(zero_section_coordinates(h)) == ["0", "-b1", "a1"] + @test string.(zero_section(h)) == ["0", "-b1", "a1"] end