From 00814c95a045ca94a516d37bbb872cdbaa8261ce Mon Sep 17 00:00:00 2001 From: Martin Bies Date: Thu, 21 Dec 2023 19:32:06 +0100 Subject: [PATCH] [FTheoryTools] Add new literature model constructor --- .../Models/model1109_3454.json | 1 + .../Models/model1208_2695-1.json | 1 + .../Models/model1208_2695-2.json | 1 + .../Models/model1212_2949-1.json | 1 + .../Models/model1212_2949-2.json | 1 + .../Models/model1212_2949-3.json | 1 + .../Models/model1212_2949-4.json | 1 + .../Models/model1212_2949-5.json | 1 + .../Models/model1212_2949-6.json | 1 + .../Models/model1212_2949-7.json | 1 + .../Models/model1507_05954-1.json | 1 + .../Models/model1507_05954-2.json | 1 + .../src/LiteratureModels/constructors.jl | 76 +++++++++++++++---- .../src/LiteratureModels/create_index.jl | 5 +- .../src/LiteratureModels/index.json | 2 +- experimental/FTheoryTools/src/exports.jl | 1 + .../FTheoryTools/test/literature_models.jl | 35 +++++++-- 17 files changed, 106 insertions(+), 25 deletions(-) diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1109_3454.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1109_3454.json index 81efc3807fb4..937ac4927901 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1109_3454.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1109_3454.json @@ -1,4 +1,5 @@ { + "model_index": "1", "arxiv_data": { "id": "1109.3454", "doi": "10.48550/arXiv.1109.3454", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json index 759c0958995d..55cba3c8d9a1 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-1.json @@ -1,4 +1,5 @@ { + "model_index": "2", "arxiv_data": { "id": "1208.2695", "doi": "10.48550/arXiv.1208.2695", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-2.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-2.json index 87ceb2567359..c16e753c23df 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-2.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1208_2695-2.json @@ -1,4 +1,5 @@ { + "model_index": "3", "arxiv_data": { "id": "1208.2695", "doi": "10.48550/arXiv.1208.2695", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-1.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-1.json index 58bb3d4ae9e9..840c46b6cfe7 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-1.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-1.json @@ -1,4 +1,5 @@ { + "model_index": "4", "arxiv_data": { "id": "1212.2949", "doi": "10.48550/arXiv.1212.2949", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-2.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-2.json index 09d527e284bb..1a75316b4027 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-2.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-2.json @@ -1,4 +1,5 @@ { + "model_index": "5", "arxiv_data": { "id": "1212.2949", "doi": "10.48550/arXiv.1212.2949", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-3.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-3.json index 35b2de49f7e5..7d8b0dd44290 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-3.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-3.json @@ -1,4 +1,5 @@ { + "model_index": "6", "arxiv_data": { "id": "1212.2949", "doi": "10.48550/arXiv.1212.2949", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-4.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-4.json index 3e85f81bd47c..4c1302ff333c 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-4.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-4.json @@ -1,4 +1,5 @@ { + "model_index": "7", "arxiv_data": { "id": "1212.2949", "doi": "10.48550/arXiv.1212.2949", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-5.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-5.json index cf22520629ba..30cadd02e0e0 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-5.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-5.json @@ -1,4 +1,5 @@ { + "model_index": "8", "arxiv_data": { "id": "1212.2949", "doi": "10.48550/arXiv.1212.2949", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-6.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-6.json index 9c132451ff3e..5389ef024766 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-6.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-6.json @@ -1,4 +1,5 @@ { + "model_index": "9", "arxiv_data": { "id": "1212.2949", "doi": "10.48550/arXiv.1212.2949", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-7.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-7.json index 20d1853036a6..42fd885d7453 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-7.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1212_2949-7.json @@ -1,4 +1,5 @@ { + "model_index": "10", "arxiv_data": { "id": "1212.2949", "doi": "10.48550/arXiv.1212.2949", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json index 758447dd9609..0690c208b588 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-1.json @@ -1,4 +1,5 @@ { + "model_index": "11", "arxiv_data": { "id": "1507.05954", "doi": "10.48550/arXiv.1507.05954", diff --git a/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-2.json b/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-2.json index 27387195db0b..df18dc391077 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-2.json +++ b/experimental/FTheoryTools/src/LiteratureModels/Models/model1507_05954-2.json @@ -1,4 +1,5 @@ { + "model_index": "12", "arxiv_data": { "id": "1507.05954", "doi": "10.48550/arXiv.1507.05954", diff --git a/experimental/FTheoryTools/src/LiteratureModels/constructors.jl b/experimental/FTheoryTools/src/LiteratureModels/constructors.jl index e0a6f21ca1f3..230bac7c5d7e 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/constructors.jl +++ b/experimental/FTheoryTools/src/LiteratureModels/constructors.jl @@ -75,17 +75,40 @@ Construction over concrete base may lead to singularity enhancement. Consider co Weierstrass model over a concrete base -- U(1) Weierstrass model based on arXiv paper 1208.2695 Eq. (B.19) +julia> length(singular_loci(w)) +1 +``` +For convenience, we also support a simplified constructor. Instead of the meta data of the article, +this constructor accepts an integer, which specifies the position of this model in our database. +```jldoctest +julia> B2 = projective_space(NormalToricVariety, 2) +Normal toric variety + +julia> b = torusinvariant_prime_divisors(B2)[1] +Torus-invariant, prime divisor on a normal toric variety + +julia> w = literature_model(3, base_space = B2, model_sections = Dict("b" => b), completeness_check = false) +Construction over concrete base may lead to singularity enhancement. Consider computing singular_loci. However, this may take time! + +Weierstrass model over a concrete base -- U(1) Weierstrass model based on arXiv paper 1208.2695 Eq. (B.19) + julia> length(singular_loci(w)) 1 ``` """ function literature_model(; doi::String="", arxiv_id::String="", version::String="", equation::String="", model_parameters::Dict{String,<:Any} = Dict{String,Any}(), base_space::FTheorySpace = affine_space(NormalToricVariety, 0), model_sections::Dict{String, <:Any} = Dict{String,Any}(), completeness_check::Bool = true) - - # (1) Find the model model_dict = _find_model(doi, arxiv_id, version, equation) + return literature_model(model_dict; model_parameters = model_parameters, base_space = base_space, model_sections = model_sections, completeness_check = completeness_check) +end + +function literature_model(k::Int; model_parameters::Dict{String,<:Any} = Dict{String,Any}(), base_space::FTheorySpace = affine_space(NormalToricVariety, 0), model_sections::Dict{String, <:Any} = Dict{String,Any}(), completeness_check::Bool = true) + model_dict = _find_model(k) + return literature_model(model_dict; model_parameters = model_parameters, base_space = base_space, model_sections = model_sections, completeness_check = completeness_check) +end + +function literature_model(model_dict::Dict{String, Any}; model_parameters::Dict{String,<:Any} = Dict{String,Any}(), base_space::FTheorySpace = affine_space(NormalToricVariety, 0), model_sections::Dict{String, <:Any} = Dict{String,Any}(), completeness_check::Bool = true) - - # (2) Deal with model parameters + # (1) Deal with model parameters if haskey(model_dict, "model_parameters") needed_model_parameters = string.(model_dict["model_parameters"]) @@ -137,16 +160,13 @@ function literature_model(; doi::String="", arxiv_id::String="", version::String end + ####################################################### # 2. Helper function to find the specified model ####################################################### function _find_model(doi::String, arxiv_id::String, version::String, equation::String) - - # Check that we have at least some information... @req any(s -> s != "", [doi, arxiv_id, version, equation]) "No information provided; cannot perform look-up" - - # Create list of possible candidate files file_index = JSON.parsefile(joinpath(@__DIR__, "index.json")) candidate_files = Vector{String}() for k in 1:length(file_index) @@ -157,9 +177,23 @@ function _find_model(doi::String, arxiv_id::String, version::String, equation::S push!(candidate_files, string(file_index[k]["file"])) end end + return _process_candidates(candidate_files) +end - # Check if we found exactly one file, i.e., we were able to identify the model uniquely - @req length(candidate_files) != 0 "We could not find any models matching the given identifiers" +function _find_model(l::Int) + @req l >= 1 "Model index must be at least 1" + file_index = JSON.parsefile(joinpath(@__DIR__, "index.json")) + candidate_files = Vector{String}() + for k in 1:length(file_index) + if get(file_index[k], "model_index", nothing) == string(l) + push!(candidate_files, string(file_index[k]["file"])) + end + end + return _process_candidates(candidate_files) +end + +function _process_candidates(candidate_files::Vector{String}) + @req length(candidate_files) != 0 "We could not find any models matching the given model index" @req(length(candidate_files) == 1, begin dicts = map(f -> JSON.parsefile(joinpath(@__DIR__, "Models/" * f)), candidate_files) @@ -170,18 +204,12 @@ function _find_model(doi::String, arxiv_id::String, version::String, equation::S strings = ["doi: $(dois[i]), arxiv_id: $(ids[i]), version: $(versions[i]), equation: $(equations[i])" for i in 1:length(dicts)] "We could not uniquely identify the model. The matched models have the following data:\n$(reduce((s1, s2) -> s1 * "\n" * s2, strings))" end) - - # Create dictionary model_dict = JSON.parsefile(joinpath(@__DIR__, "Models/" * candidate_files[1])) - # Add literature identifier. For this, remove 'model' from the front and '.json' from the end of the file name. model_dict["literature_identifier"] = candidate_files[1][6:end - 5] - - # Return the dictionary return model_dict end - ####################################################### # 3. Constructing models over concrete bases ####################################################### @@ -392,3 +420,19 @@ function _set_model_attribute(m::AbstractFTheoryModel, m_dict::Dict{String, Any} end end end + + + +####################################################### +# 6. Function to display all known literature models +####################################################### + +function display_all_literature_models() + file_index = JSON.parsefile(joinpath(@__DIR__, "index.json")) + sorted_dicts = sort(file_index, by = x -> parse(Int, x["model_index"])) + for dict in sorted_dicts + print("Model $(dict["model_index"]):\n") + print(dict) + print("\n\n") + end +end diff --git a/experimental/FTheoryTools/src/LiteratureModels/create_index.jl b/experimental/FTheoryTools/src/LiteratureModels/create_index.jl index 481b7c4244d0..2246d0c879f8 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/create_index.jl +++ b/experimental/FTheoryTools/src/LiteratureModels/create_index.jl @@ -2,6 +2,7 @@ # named model*.json in the Models directory # Currently, this stores the following data for quick searching of models: +# * model_index # * arXiv data # -arXiv ID # -arXiv DOI @@ -27,6 +28,8 @@ function _create_literature_model_index() for model in models model_data = JSON.parsefile(model_directory * model) + model_index_dict = Dict("model_index" => get(model_data, "model_index", "")) + arxiv_data = get(model_data, "arxiv_data", false) if arxiv_data != false arxiv_dict = Dict( @@ -59,7 +62,7 @@ function _create_literature_model_index() metadata_dict = Dict{String,Union{String,Vector{Any}}}() end - index_entry = merge(arxiv_dict, journal_dict, metadata_dict) + index_entry = merge(model_index_dict, arxiv_dict, journal_dict, metadata_dict) index_entry["file"] = model if !isempty(index_entry) push!(index, index_entry) diff --git a/experimental/FTheoryTools/src/LiteratureModels/index.json b/experimental/FTheoryTools/src/LiteratureModels/index.json index 3cb7f88799e1..684c340148a3 100644 --- a/experimental/FTheoryTools/src/LiteratureModels/index.json +++ b/experimental/FTheoryTools/src/LiteratureModels/index.json @@ -1 +1 @@ -[{"journal_section":"3","arxiv_page":"10","journal_page":"9","arxiv_id":"1109.3454","arxiv_equation":"3.1","arxiv_version":"2","journal_doi":"10.1016/j.nuclphysb.2011.12.013","journal_equation":"3.1","arxiv_section":"3","journal":"Nucl. Phys. B","file":"model1109_3454.json","title":"$G_4$ flux, chiral matter and singularity resolution in F-theory compactifications","arxiv_doi":"10.48550/arXiv.1109.3454","authors":["Sven Krause","Christoph Mayrhofer","Timo Weigand"]},{"journal_section":"B","arxiv_page":"32","journal_page":"33","arxiv_id":"1208.2695","arxiv_equation":"B.5","arxiv_version":"2","journal_doi":"10.1007/JHEP10(2012)128","journal_equation":"B.5","arxiv_section":"B","journal":"JHEP","file":"model1208_2695-1.json","title":"F-Theory and the Mordell-Weil Group of Elliptically-Fibered Calabi-Yau Threefolds","arxiv_doi":"10.48550/arXiv.1208.2695","authors":["David R. Morrison","Daniel S. Park"]},{"journal_section":"B","arxiv_page":"34","journal_page":"34","arxiv_id":"1208.2695","arxiv_equation":"B.19","arxiv_version":"2","journal_doi":"10.1007/JHEP10(2012)128","journal_equation":"B.19","arxiv_section":"B","journal":"JHEP","file":"model1208_2695-2.json","title":"F-Theory and the Mordell-Weil Group of Elliptically-Fibered Calabi-Yau Threefolds","arxiv_doi":"10.48550/arXiv.1208.2695","authors":["David R. Morrison","Daniel S. Park"]},{"journal_section":"","arxiv_page":"19","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"3.2","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"3.1","journal":"JHEP","file":"model1212_2949-1.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"31","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"3.42","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"3.2","journal":"JHEP","file":"model1212_2949-2.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"37","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"4.1","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"4.1","journal":"JHEP","file":"model1212_2949-3.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"44","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"4.23","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"4.2","journal":"JHEP","file":"model1212_2949-4.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"49","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"5.1","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"5.1","journal":"JHEP","file":"model1212_2949-5.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"49","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"5.7","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"5.1","journal":"JHEP","file":"model1212_2949-6.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"49","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"5.13","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"5.1","journal":"JHEP","file":"model1212_2949-7.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"17","journal_page":"","arxiv_id":"1507.05954","arxiv_equation":"3.4","arxiv_version":"2","journal_doi":"10.1007/JHEP11(2015)204","journal_equation":"","arxiv_section":"3","journal":"JHEP","file":"model1507_05954-1.json","title":"General U(1)×U(1) F-theory compactifications and beyond: geometry of unHiggsings and novel matter structure","arxiv_doi":"10.48550/arXiv.1507.05954","authors":["Mirjam Cvetič","Denis Klevers","Hernan Piragua","Washington Taylor"]},{"journal_section":"","arxiv_page":"71","journal_page":"","arxiv_id":"1507.05954","arxiv_equation":"A.1","arxiv_version":"2","journal_doi":"10.1007/JHEP11(2015)204","journal_equation":"","arxiv_section":"A","journal":"JHEP","file":"model1507_05954-2.json","title":"General U(1)×U(1) F-theory compactifications and beyond: geometry of unHiggsings and novel matter structure","arxiv_doi":"10.48550/arXiv.1507.05954","authors":["Mirjam Cvetič","Denis Klevers","Hernan Piragua","Washington Taylor"]}] \ No newline at end of file +[{"journal_section":"3","arxiv_page":"10","journal_page":"9","arxiv_id":"1109.3454","arxiv_equation":"3.1","arxiv_version":"2","journal_doi":"10.1016/j.nuclphysb.2011.12.013","journal_equation":"3.1","arxiv_section":"3","journal":"Nucl. Phys. B","file":"model1109_3454.json","title":"$G_4$ flux, chiral matter and singularity resolution in F-theory compactifications","arxiv_doi":"10.48550/arXiv.1109.3454","model_index":"1","authors":["Sven Krause","Christoph Mayrhofer","Timo Weigand"]},{"journal_section":"B","arxiv_page":"32","journal_page":"33","arxiv_id":"1208.2695","arxiv_equation":"B.5","arxiv_version":"2","journal_doi":"10.1007/JHEP10(2012)128","journal_equation":"B.5","arxiv_section":"B","journal":"JHEP","file":"model1208_2695-1.json","title":"F-Theory and the Mordell-Weil Group of Elliptically-Fibered Calabi-Yau Threefolds","arxiv_doi":"10.48550/arXiv.1208.2695","model_index":"2","authors":["David R. Morrison","Daniel S. Park"]},{"journal_section":"B","arxiv_page":"34","journal_page":"34","arxiv_id":"1208.2695","arxiv_equation":"B.19","arxiv_version":"2","journal_doi":"10.1007/JHEP10(2012)128","journal_equation":"B.19","arxiv_section":"B","journal":"JHEP","file":"model1208_2695-2.json","title":"F-Theory and the Mordell-Weil Group of Elliptically-Fibered Calabi-Yau Threefolds","arxiv_doi":"10.48550/arXiv.1208.2695","model_index":"3","authors":["David R. Morrison","Daniel S. Park"]},{"journal_section":"","arxiv_page":"19","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"3.2","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"3.1","journal":"JHEP","file":"model1212_2949-1.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","model_index":"4","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"31","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"3.42","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"3.2","journal":"JHEP","file":"model1212_2949-2.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","model_index":"5","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"37","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"4.1","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"4.1","journal":"JHEP","file":"model1212_2949-3.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","model_index":"6","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"44","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"4.23","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"4.2","journal":"JHEP","file":"model1212_2949-4.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","model_index":"7","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"49","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"5.1","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"5.1","journal":"JHEP","file":"model1212_2949-5.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","model_index":"8","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"49","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"5.7","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"5.1","journal":"JHEP","file":"model1212_2949-6.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","model_index":"9","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"49","journal_page":"","arxiv_id":"1212.2949","arxiv_equation":"5.13","arxiv_version":"2","journal_doi":"10.1007/JHEP04(2013)061","journal_equation":"","arxiv_section":"5.1","journal":"JHEP","file":"model1212_2949-7.json","title":"The Tate Form on Steroids: Resolution and Higher Codimension Fibers","arxiv_doi":"10.48550/arXiv.1212.2949","model_index":"10","authors":["Craig Lawrie","Sakura Schäfer-Nameki"]},{"journal_section":"","arxiv_page":"17","journal_page":"","arxiv_id":"1507.05954","arxiv_equation":"3.4","arxiv_version":"2","journal_doi":"10.1007/JHEP11(2015)204","journal_equation":"","arxiv_section":"3","journal":"JHEP","file":"model1507_05954-1.json","title":"General U(1)×U(1) F-theory compactifications and beyond: geometry of unHiggsings and novel matter structure","arxiv_doi":"10.48550/arXiv.1507.05954","model_index":"11","authors":["Mirjam Cvetič","Denis Klevers","Hernan Piragua","Washington Taylor"]},{"journal_section":"","arxiv_page":"71","journal_page":"","arxiv_id":"1507.05954","arxiv_equation":"A.1","arxiv_version":"2","journal_doi":"10.1007/JHEP11(2015)204","journal_equation":"","arxiv_section":"A","journal":"JHEP","file":"model1507_05954-2.json","title":"General U(1)×U(1) F-theory compactifications and beyond: geometry of unHiggsings and novel matter structure","arxiv_doi":"10.48550/arXiv.1507.05954","model_index":"12","authors":["Mirjam Cvetič","Denis Klevers","Hernan Piragua","Washington Taylor"]}] \ No newline at end of file diff --git a/experimental/FTheoryTools/src/exports.jl b/experimental/FTheoryTools/src/exports.jl index 451d3e5edb8a..eaf772be8515 100644 --- a/experimental/FTheoryTools/src/exports.jl +++ b/experimental/FTheoryTools/src/exports.jl @@ -25,6 +25,7 @@ export blow_up export calabi_yau_hypersurface export coordinate_ring export discriminant +export display_all_literature_models export family_of_spaces export fiber_ambient_space export generating_sections diff --git a/experimental/FTheoryTools/test/literature_models.jl b/experimental/FTheoryTools/test/literature_models.jl index 95ec8be1931b..2c8eb816d2e2 100644 --- a/experimental/FTheoryTools/test/literature_models.jl +++ b/experimental/FTheoryTools/test/literature_models.jl @@ -214,12 +214,6 @@ t8 = literature_model(arxiv_id = "1212.2949", equation = "5.1") t9 = literature_model(arxiv_id = "1212.2949", equation = "5.7") t10 = literature_model(arxiv_id = "1212.2949", equation = "5.13") - -############################################################# -# 4: Literature Tate model over concrete base -############################################################# - - @testset "Test more Tate models (from paper Tate form on Steroids) in our database, by constructing them over arbitrary bases" begin @test base_fully_specified(t4) == false @test is_partially_resolved(t5) == false @@ -231,6 +225,10 @@ t10 = literature_model(arxiv_id = "1212.2949", equation = "5.13") end +############################################################# +# 4: Literature Tate model over concrete base +############################################################# + ζ0 = torusinvariant_prime_divisors(B3)[1] t4b = literature_model(arxiv_id = "1212.2949", equation = "3.2", model_parameters = Dict("k" => 2), base_space = B3, model_sections = Dict("ζ0" => ζ0)) t5b = literature_model(arxiv_id = "1212.2949", equation = "3.42", model_parameters = Dict("k" => 2), base_space = B3, model_sections = Dict("ζ0" => ζ0)) @@ -240,7 +238,6 @@ t8b = literature_model(arxiv_id = "1212.2949", equation = "5.1", base_space = B t9b = literature_model(arxiv_id = "1212.2949", equation = "5.7", base_space = B3, model_sections = Dict("ζ0" => ζ0)) t10b = literature_model(arxiv_id = "1212.2949", equation = "5.13", base_space = B3, model_sections = Dict("ζ0" => ζ0)) - @testset "Test more Tate models (from paper Tate form on Steroids) in our database, by constructing them over concrete bases" begin @test base_fully_specified(t4b) == true @test is_partially_resolved(t5b) == false @@ -334,3 +331,27 @@ w5 = literature_model(arxiv_id = "1507.05954", equation = "A.1", completeness_ch @test base_fully_specified(w4) == true @test model_description(w5) == "U(1)xU(1) Weierstrass model" end + + + +############################################################# +# 7: Test other literature model constructor +############################################################# + +B2 = projective_space(NormalToricVariety, 2) +b = torusinvariant_prime_divisors(B2)[1] +w6 = literature_model(3, base_space = B2, model_sections = Dict("b" => b), completeness_check = false) + +@testset "Test defining data for literature model defined by model index" begin + @test length(singular_loci(w6)) == 1 + @test dim(base_space(w6)) == 2 + @test dim(ambient_space(w6)) == 4 + @test base_fully_specified(w6) == true + @test model_description(w6) == "U(1) Weierstrass model" +end + +@testset "Test error messages for literature Weierstrass model over arbitrary base" begin + @test_throws ArgumentError literature_model(-1) + @test_throws ArgumentError literature_model(0) + @test_throws ArgumentError literature_model(205) +end