Literature constructions
Certain models have been studied in the physics literature over and over again. Thereby, these constructions became famous and some were given special names. We aim to provide support for such standard constructions. An example of such a model is the following:
su5_tate_model_over_arbitrary_3d_base
— Methodsu5_tate_model_over_arbitrary_3d_base()
Return the SU(5) Tate model over an arbitrary 3-dimensional base space. For more details see e.g. [Wei18] and references therein.
julia> tm = su5_tate_model_over_arbitrary_3d_base()
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base
julia> v = ambient_space(tm)
A family of spaces of dimension d = 5
This function is part of the experimental code in Oscar. Please read here for more details.
More generally, we support literature constructions.
literature_model
— Methodliterature_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}(), defining_classes::Dict{String, <:Any} = Dict{String,Any}(), completeness_check::Bool = true)
Many models have been created in the F-theory literature. A significant number of them have even been given specific names, for instance the "U(1)-restricted SU(5)-GUT model". This method has access to a database, from which it can look up such literature models.
Currently, you can provide any combination of the following optional arguments to the method literature_model
:
doi
: A string representing the DOI of the publication that
introduced the model in question.
equation
: A string representing the number of the equation that introduced
the model in question. For papers, that were posted on the arXiv, we can instead of the doi
also provide the following:
arxiv_id
: A string that represents the arXiv identifier of the paper that
introduced the model in question.
version
: A string representing the version of the arXiv upload.
The method literature_model
attempts to find a model in our database for which the provided data matches the information in our record. If no such model can be found, or multiple models exist with information matching the provided information, then an error is raised.
Some literature models require additional parameters to specified to single out a model from a family of models. Such parameters can be provided using the optional argument model_parameters
, which should be a dictionary such as Dict("k" => 5)
.
Further, some literature models require the specification of one or more divisor classes that define the model. This information can be provided using the optional argument defining_classes
, which should be a dictionary such as Dict("w" => w)
, where w
is a divisor, such as that provided by torusinvariant_prime_divisors
.
julia> t = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> v = ambient_space(t)
A family of spaces of dimension d = 5
julia> coordinate_ring(v)
Multivariate polynomial ring in 8 variables w, a1, a21, a32, ..., z
over rational field
It is also possible to construct a literature model over a particular base. Currently, this feature is only supported for toric base spaces.
julia> B3 = projective_space(NormalToricVariety, 3)
Normal toric variety
julia> w = torusinvariant_prime_divisors(B3)[1]
Torus-invariant, prime divisor on a normal toric variety
julia> t2 = literature_model(arxiv_id = "1109.3454", equation = "3.1", base_space = B3, defining_classes = Dict("w" => w), completeness_check = false)
Construction over concrete base may lead to singularity enhancement. Consider computing singular_loci. However, this may take time!
Global Tate model over a concrete base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> length(singular_loci(t2))
2
Of course, this is also possible for Weierstrass models.
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(arxiv_id = "1208.2695", equation = "B.19", base_space = B2, defining_classes = 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
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.
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, defining_classes = 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
Similarly, also hypersurface models are supported:
julia> h = literature_model(arxiv_id = "1208.2695", equation = "B.5")
Assuming that the first row of the given grading is the grading under Kbar
Hypersurface model over a not fully specified base
julia> explicit_model_sections(h)
Dict{String, MPolyRingElem} with 5 entries:
"c2" => c2
"c1" => c1
"c3" => c3
"b" => b
"c0" => c0
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> h2 = literature_model(arxiv_id = "1208.2695", equation = "B.5", base_space = B2, defining_classes = Dict("b" => b))
Construction over concrete base may lead to singularity enhancement. Consider computing singular_loci. However, this may take time!
Hypersurface model over a concrete base
julia> hypersurface_equation_parametrization(h2)
b*w*v^2 - c0*u^4 - c1*u^3*v - c2*u^2*v^2 - c3*u*v^3 + w^2
In principle, we can even create the model with the largest number of F-theory vacua. This happens by executing the line h = literature_model(arxiv_id = "1511.03209")
. However, this line will currently run for a long time on a normal personal computer (likely about half an hour or even more), due to the massive complexity of computing the Tate sections of this global Tate model.
This function is part of the experimental code in Oscar. Please read here for more details.
Attributes
For literature models, we provide the following attributes referencing meta data:
arxiv_id
— Methodarxiv_id(m::AbstractFTheoryModel)
Return the arxiv_id
of the preprint that introduced the given model. If no arxiv_id
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> arxiv_id(m)
"1109.3454"
This function is part of the experimental code in Oscar. Please read here for more details.
arxiv_doi
— Methodarxiv_doi(m::AbstractFTheoryModel)
Return the arxiv_doi
of the preprint that introduced the given model. If no arxiv_doi
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> arxiv_doi(m)
"10.48550/arXiv.1109.3454"
This function is part of the experimental code in Oscar. Please read here for more details.
arxiv_link
— Methodarxiv_link(m::AbstractFTheoryModel)
Return the arxiv_link
(formatted as string) to the arXiv version of the paper that introduced the given model. If no arxiv_link
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> arxiv_link(m)
"https://arxiv.org/abs/1109.3454v2"
This function is part of the experimental code in Oscar. Please read here for more details.
arxiv_model_equation_number
— Methodarxiv_model_equation_number(m::AbstractFTheoryModel)
Return the arxiv_model_equation_number
in which the given model was introduced in the arXiv preprint in our record. If no arxiv_model_equation_number
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> arxiv_model_equation_number(m)
"3.1"
This function is part of the experimental code in Oscar. Please read here for more details.
arxiv_model_page
— Methodarxiv_model_page(m::AbstractFTheoryModel)
Return the arxiv_model_page
on which the given model was introduced in the arXiv preprint in our record. If no arxiv_model_page
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> arxiv_model_page(m)
"10"
This function is part of the experimental code in Oscar. Please read here for more details.
arxiv_model_section
— Methodarxiv_model_section(m::AbstractFTheoryModel)
Return the arxiv_model_section
in which the given model was introduced in the arXiv preprint in our record. If no arxiv_model_section
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> arxiv_model_section(m)
"3"
This function is part of the experimental code in Oscar. Please read here for more details.
arxiv_version
— Methodarxiv_version(m::AbstractFTheoryModel)
Return the arxiv_version
of the arXiv preprint that introduced the given model. If no arxiv_version
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> arxiv_version(m)
"2"
This function is part of the experimental code in Oscar. Please read here for more details.
associated_literature_models
— Methodassociated_literature_models(m::AbstractFTheoryModel)
Return a list of the unique identifiers of any associated_literature_models
of the given model. These are models that are introduced in the same paper as the given model, but that are distinct from the given model. If no associated_literature_models
are known, an error is raised.
julia> m = literature_model(arxiv_id = "1212.2949", equation = "3.2", model_parameters = Dict("k" => 5))
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(11) Tate model with parameter values (k = 5) based on arXiv paper 1212.2949 Eq. (3.2)
julia> associated_literature_models(m)
6-element Vector{String}:
"1212_2949-2"
"1212_2949-3"
"1212_2949-4"
"1212_2949-5"
"1212_2949-6"
"1212_2949-7"
This function is part of the experimental code in Oscar. Please read here for more details.
generating_sections
— Methodgenerating_sections(m::AbstractFTheoryModel)
Return a list of the known Mordell–Weil generating sections of the given model. If no generating sections are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> generating_sections(m)
1-element Vector{Vector{QQMPolyRingElem}}:
[0, 0, 1]
This function is part of the experimental code in Oscar. Please read here for more details.
journal_doi
— Methodjournal_doi(m::AbstractFTheoryModel)
Return the journal_doi
of the publication that introduced the given model. If no journal_doi
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> journal_doi(m)
"10.1016/j.nuclphysb.2011.12.013"
This function is part of the experimental code in Oscar. Please read here for more details.
journal_link
— Methodjournal_link(m::AbstractFTheoryModel)
Return the journal_link
(formatted as string) to the published version of the paper that introduced the given model. If no journal_link
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> journal_link(m)
"https://www.sciencedirect.com/science/article/pii/S0550321311007115"
This function is part of the experimental code in Oscar. Please read here for more details.
journal_model_equation_number
— Methodjournal_model_equation_number(m::AbstractFTheoryModel)
Return the journal_model_equation_number
in which the given model was introduced in the published paper in our record. If no journal_model_equation_number
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> journal_model_equation_number(m)
"3.1"
This function is part of the experimental code in Oscar. Please read here for more details.
journal_model_page
— Methodjournal_model_page(m::AbstractFTheoryModel)
Return the journal_model_page
on which the given model was introduced in the published paper in our record. If no journal_model_page
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> journal_model_page(m)
"9"
This function is part of the experimental code in Oscar. Please read here for more details.
journal_model_section
— Methodjournal_model_section(m::AbstractFTheoryModel)
Return the journal_model_section
in which the given model was introduced in the published paper in our record. If no journal_model_section
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> journal_model_section(m)
"3"
This function is part of the experimental code in Oscar. Please read here for more details.
journal_name
— Methodjournal_name(m::AbstractFTheoryModel)
Return the journal_name
of the published paper in which the given model was introduced. If no journal_name
are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> journal_name(m)
"Nucl. Phys. B"
This function is part of the experimental code in Oscar. Please read here for more details.
journal_pages
— Methodjournal_pages(m::AbstractFTheoryModel)
Return the journal_pages
of the published paper in which the given model was introduced. If no journal_pages
are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> journal_pages(m)
"1–47"
This function is part of the experimental code in Oscar. Please read here for more details.
journal_report_numbers
— Methodjournal_report_numbers(m::AbstractFTheoryModel)
Return the journal_report_numbers
of the published paper in which the given model was introduced. If no journal_report_numbers
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1507.05954", equation = "A.1")
Assuming that the first row of the given grading is the grading under Kbar
Weierstrass model over a not fully specified base -- U(1)xU(1) Weierstrass model based on arXiv paper 1507.05954 Eq. (A.1)
julia> journal_report_numbers(m)
3-element Vector{String}:
"UPR-1274-T"
"CERN-PH-TH-2015-157"
"MIT-CTP-4678"
This function is part of the experimental code in Oscar. Please read here for more details.
journal_volume
— Methodjournal_volume(m::AbstractFTheoryModel)
Return the journal_volume
of the published paper in which the given model was introduced. If no journal_volume
are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> journal_volume(m)
"858"
This function is part of the experimental code in Oscar. Please read here for more details.
journal_year
— Methodjournal_year(m::AbstractFTheoryModel)
Return the journal_year
of the published paper in which the given model was introduced. If no journal_year
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> journal_year(m)
"2012"
This function is part of the experimental code in Oscar. Please read here for more details.
literature_identifier
— Methodliterature_identifier(m::AbstractFTheoryModel)
Return the literature_identifier
of the given mode, which is a unique string that distinguishes the model from all others in the literature model database. If no literature_identifier
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> literature_identifier(m)
"1109_3454"
This function is part of the experimental code in Oscar. Please read here for more details.
model_parameters
— Methodmodel_parameters(m::AbstractFTheoryModel)
Return the model_parameters
of the given model. If no model_parameters
are known, an error is raised.
julia> m = literature_model(arxiv_id = "1212.2949", equation = "3.2", model_parameters = Dict("k" => 5))
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(11) Tate model with parameter values (k = 5) based on arXiv paper 1212.2949 Eq. (3.2)
julia> model_parameters(m)
Dict{String, Int64} with 1 entry:
"k" => 5
This function is part of the experimental code in Oscar. Please read here for more details.
paper_authors
— Methodpaper_authors(m::AbstractFTheoryModel)
Return the paper_authors
of the paper that introduced the given model. If no paper_authors
are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> paper_authors(m)
3-element Vector{String}:
"Sven Krause"
"Christoph Mayrhofer"
"Timo Weigand"
This function is part of the experimental code in Oscar. Please read here for more details.
paper_buzzwords
— Methodpaper_buzzwords(m::AbstractFTheoryModel)
Return the paper_buzzwords
of the paper that introduced the given model. If no paper_buzzwords
are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> paper_buzzwords(m)
4-element Vector{String}:
"GUT model"
"Tate"
"U(1)"
"SU(5)"
This function is part of the experimental code in Oscar. Please read here for more details.
paper_description
— Methodpaper_description(m::AbstractFTheoryModel)
Return the paper_description
of the paper that introduced the given model. If no paper_description
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> paper_description(m)
"SU(5)xU(1) restricted Tate model"
This function is part of the experimental code in Oscar. Please read here for more details.
paper_title
— Methodpaper_title(m::AbstractFTheoryModel)
Return the paper_title
of the arXiv preprint that introduced the given model. If no paper_title
is known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> paper_title(m)
"\$G_4\$ flux, chiral matter and singularity resolution in F-theory compactifications"
This function is part of the experimental code in Oscar. Please read here for more details.
birational_literature_models
— Methodbirational_literature_models(m::AbstractFTheoryModel)
Return a list of the unique identifiers of birational_literature_models
of the given model. These are either other presentations (Weierstrass, Tate, ...) of the given model, or other version of the same model from a different paper in the literature. If no birational_literature_models
are known, an error is raised.
julia> m = literature_model(arxiv_id = "1507.05954", equation = "A.1")
Assuming that the first row of the given grading is the grading under Kbar
Weierstrass model over a not fully specified base -- U(1)xU(1) Weierstrass model based on arXiv paper 1507.05954 Eq. (A.1)
julia> birational_literature_models(m)
1-element Vector{String}:
"1507_05954-1"
This function is part of the experimental code in Oscar. Please read here for more details.
Such meta data can be modified with setters. For instance, there is a function set_description(m::AbstractFTheoryModel, description::String)
, which takes the model in question as the first argument and the desired description - provided as string - as the second argument. Such a setter function exists for all of the above. If appropriate, we also offer a method that adds a new value. For instance, we have a function add_paper_buzzword(m::AbstractFTheoryModel, addition::String)
.
In addition, the following attributes are available to access advanced model information:
resolutions
— Methodresolutions(m::AbstractFTheoryModel)
Return the list of all known resolutions for the given model. If no resolutions are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> resolutions(m)
1-element Vector{Vector{Vector}}:
[[["x", "y", "w"], ["y", "e1"], ["x", "e4"], ["y", "e2"], ["x", "y"]], ["e1", "e4", "e2", "e3", "s"]]
This function is part of the experimental code in Oscar. Please read here for more details.
resolution_generating_sections
— Methodresolution_generating_sections(m::AbstractFTheoryModel)
Return a list of lists of known Mordell–Weil generating sections for the given model after each known resolution. Each element of the outer list corresponds to a known resolution (in the same order), and each element of the list associated to a given resolution corresponds to a known generating section (in the same order). If no resolution generating sections are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> resolution_generating_sections(m)
1-element Vector{Vector{Vector{Vector{QQMPolyRingElem}}}}:
[[[0, 0, 1], [0, 0, 1], [0, 1], [0, 1], [0, 1], [a32, -a43]]]
This function is part of the experimental code in Oscar. Please read here for more details.
resolution_zero_sections
— Methodresolution_zero_sections(m::AbstractFTheoryModel)
Return a list of known Mordell–Weil zero sections for the given model after each known resolution. Each element of the list corresponds to a known resolution (in the same order). If no resolution zero sections are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> resolution_zero_sections(m)
1-element Vector{Vector{Vector{QQMPolyRingElem}}}:
[[1, 1, 0], [1, 1, w], [1, 1], [1, 1], [1, 1], [1, 1]]
This function is part of the experimental code in Oscar. Please read here for more details.
weighted_resolutions
— Methodweighted_resolutions(m::AbstractFTheoryModel)
Return the list of all known weighted resolutions for the given model. If no weighted resolutions are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> weighted_resolutions(m)
1-element Vector{Vector{Vector}}:
[Vector{Vector{Any}}[[["x", "y", "w"], [1, 1, 1]], [["x", "y", "w"], [1, 2, 1]], [["x", "y", "w"], [2, 2, 1]], [["x", "y", "w"], [2, 3, 1]], [["x", "y"], [1, 1]]], ["e1", "e4", "e2", "e3", "s"]]
This function is part of the experimental code in Oscar. Please read here for more details.
weighted_resolution_generating_sections
— Methodweighted_resolution_generating_sections(m::AbstractFTheoryModel)
Return a list of lists of known Mordell–Weil generating sections for the given model after each known weighted resolution. Each element of the outer list corresponds to a known weighted resolution (in the same order), and each element of the list associated to a given weighted resolution corresponds to a known generating section (in the same order). If no weighted resolution generating sections are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> weighted_resolution_generating_sections(m)
1-element Vector{Vector{Vector{Vector{QQMPolyRingElem}}}}:
[[[0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [0, 0, 1], [a32, -a43]]]
This function is part of the experimental code in Oscar. Please read here for more details.
weighted_resolution_zero_sections
— Methodweighted_resolution_zero_sections(m::AbstractFTheoryModel)
Return a list of known Mordell–Weil zero sections for the given model after each known weighted resolution. Each element of the list corresponds to a known weighted resolution (in the same order). If no weighted resolution zero sections are known, an error is raised.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> weighted_resolution_zero_sections(m)
1-element Vector{Vector{Vector{QQMPolyRingElem}}}:
[[1, 1, 0], [1, 1, w], [1, 1, w], [1, 1, w], [1, 1, w], [1, 1]]
This function is part of the experimental code in Oscar. Please read here for more details.
One can check if a model has a particular set of information. This is achieved with the following methods:
has_arxiv_id(m::AbstractFTheoryModel)
,has_arxiv_doi(m::AbstractFTheoryModel)
,has_arxiv_link(m::AbstractFTheoryModel)
,has_arxiv_model_equation_number(m::AbstractFTheoryModel)
,has_arxiv_model_page(m::AbstractFTheoryModel)
,has_arxiv_model_section(m::AbstractFTheoryModel)
,has_arxiv_version(m::AbstractFTheoryModel)
,has_associated_literature_models(m::AbstractFTheoryModel)
,has_generating_sections(m::AbstractFTheoryModel)
,has_journal_doi(m::AbstractFTheoryModel)
,has_journal_link(m::AbstractFTheoryModel)
,has_journal_model_equation_number(m::AbstractFTheoryModel)
,has_journal_model_page(m::AbstractFTheoryModel)
,has_journal_model_section(m::AbstractFTheoryModel)
,has_journal_name(m::AbstractFTheoryModel)
,has_journal_pages(m::AbstractFTheoryModel)
,has_journal_report_numbers(m::AbstractFTheoryModel)
,has_journal_volume(m::AbstractFTheoryModel)
,has_journal_year(m::AbstractFTheoryModel)
,has_literature_identifier(m::AbstractFTheoryModel)
,has_model_description(m::AbstractFTheoryModel)
,has_model_parameters(m::AbstractFTheoryModel)
,has_paper_authors(m::AbstractFTheoryModel)
,has_paper_buzzwords(m::AbstractFTheoryModel)
,has_paper_description(m::AbstractFTheoryModel)
,has_paper_title(m::AbstractFTheoryModel)
,has_birational_literature_models(m::AbstractFTheoryModel)
,has_resolutions(m::AbstractFTheoryModel)
,has_resolution_generating_sections(m::AbstractFTheoryModel)
,has_resolution_zero_sections(m::AbstractFTheoryModel)
,has_weighted_resolutions(m::AbstractFTheoryModel)
,has_weighted_resolution_generating_sections(m::AbstractFTheoryModel)
,has_weighted_resolution_zero_sections(m::AbstractFTheoryModel)
,has_zero_section(m::AbstractFTheoryModel)
,has_zero_section_coordinates(m::AbstractFTheoryModel)
,has_gauge_algebra(m::AbstractFTheoryModel)
,has_global_gauge_quotients(m::AbstractFTheoryModel)
.
Methods
Resolution(s) of a singular model
A central task in F-theory is to resolve a singular model. For literature models, we have stored resolutions in our data base. Upon construction of a literature model, we load these known resolutions.
In addition to listing the known resolutions with resolutions(m::AbstractFTheoryModel)
, the user might want to add a resolution. This can be achieved with the following method:
add_resolution
— Methodadd_resolution(m::AbstractFTheoryModel, centers::Vector{Vector{String}}, exceptionals::Vector{String})
Add a known resolution for a model.
julia> m = literature_model(arxiv_id = "1109.3454", equation = "3.1")
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> add_resolution(m, [["x", "y"], ["y", "s", "w"], ["s", "e4"], ["s", "e3"], ["s", "e1"]], ["s", "w", "e3", "e1", "e2"])
julia> length(resolutions(m))
2
This function is part of the experimental code in Oscar. Please read here for more details.
Provided that a resolution for a model is known, we can (attempt to) resolve the model.
resolve
— Methodresolve(m::AbstractFTheoryModel, index::Int)
Resolve a model with the index-th resolution that is known.
julia> B3 = projective_space(NormalToricVariety, 3)
Normal toric variety
julia> w = torusinvariant_prime_divisors(B3)[1]
Torus-invariant, prime divisor on a normal toric variety
julia> t = literature_model(arxiv_id = "1109.3454", equation = "3.1", base_space = B3, defining_classes = Dict("w" => w), completeness_check = false)
Construction over concrete base may lead to singularity enhancement. Consider computing singular_loci. However, this may take time!
Global Tate model over a concrete base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> t2 = resolve(t, 1)
Partially resolved global Tate model over a concrete base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> cox_ring(ambient_space(t2))
Multivariate polynomial ring in 12 variables over QQ graded by
x1 -> [1 0 0 0 0 0 0]
x2 -> [0 1 0 0 0 0 0]
x3 -> [0 1 0 0 0 0 0]
x4 -> [0 1 0 0 0 0 0]
x -> [0 0 1 0 0 0 0]
y -> [0 0 0 1 0 0 0]
z -> [0 0 0 0 1 0 0]
e1 -> [0 0 0 0 0 1 0]
e4 -> [0 0 0 0 0 0 1]
e2 -> [-1 -3 -1 1 -1 -1 0]
e3 -> [0 4 1 -1 1 0 -1]
s -> [2 6 -1 0 2 1 1]
julia> w2 = 2 * torusinvariant_prime_divisors(B3)[1]
Torus-invariant, non-prime divisor on a normal toric variety
julia> t3 = literature_model(arxiv_id = "1109.3454", equation = "3.1", base_space = B3, defining_classes = Dict("w" => w2), completeness_check = false)
Construction over concrete base may lead to singularity enhancement. Consider computing singular_loci. However, this may take time!
Global Tate model over a concrete base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
julia> t4 = resolve(t3, 1)
Partially resolved global Tate model over a concrete base -- SU(5)xU(1) restricted Tate model based on arXiv paper 1109.3454 Eq. (3.1)
This function is part of the experimental code in Oscar. Please read here for more details.
The Quadrillion F-Theory Standard Models
A yet more special instance of literature models are the Quadrillion F-theory Standard Models (F-theory QSMs) [CHLLT19]. Those hypersurface models come in 708 different families.
The base geometry of an F-theory QSM is obtained from triangulating one of 708 reflexive 3-dimensional polytopes. The models, whose bases are obtained from triangulations of the same polytope form a family. The following information on the polytope in question and its triangulations is available within our database:
vertices
— Methodvertices(m::AbstractFTheoryModel)
This method returns the vertices of the polytope the the base of the F-theory QSM is build from. Note that those vertices are normalized according to the Polymake standard to rational numbers.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> vertices(qsm_model)
4-element Vector{Vector{QQFieldElem}}:
[-1, -1, -1]
[1, -1//2, -1//2]
[-1, 2, -1]
[-1, -1, 5]
This function is part of the experimental code in Oscar. Please read here for more details.
polytope_index
— Methodpolytope_index(m::AbstractFTheoryModel)
Of the 3-dimensional reflexive polytope that the base of this F-theory model is build from, this method returns the index within the Kreuzer-Skarke list.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> polytope_index(qsm_model)
4
This function is part of the experimental code in Oscar. Please read here for more details.
has_quick_triangulation
— Methodhas_quick_triangulation(m::AbstractFTheoryModel)
For a 3-dimensional reflexive polytope in the Kreuzer-Skarke list, the list of full (sometimes also called fine), regular, star triangulations can be extremely large. Consequently, one may wonder if the triangulations can be enumerated in a somewhat reasonable time (say 5 minutes on a personal computer). This method tries to provide an answer to this. It returns true
if one should expect a timly response to the atttempt to enumerate all (full, regular, star) triangulations. Otherwise, this method returns false
.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> has_quick_triangulation(qsm_model)
true
This function is part of the experimental code in Oscar. Please read here for more details.
max_lattice_pts_in_facet
— Methodmax_lattice_pts_in_facet(m::AbstractFTheoryModel)
In order to enumerate the number of full, regular, star triangulations of a 3-dimensional reflexive polytope, it is possible to first find the corresponding triangulations of all facets of the polytope [HT17]. A first indication for the complexity of this triangulation task is the maximum number of lattice points in a facet of the polytope in question. This method returns this maximal number of lattice points.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> max_lattice_pts_in_facet(qsm_model)
16
This function is part of the experimental code in Oscar. Please read here for more details.
estimated_number_of_triangulations
— Methodestimated_number_of_triangulations(m::AbstractFTheoryModel)
This method returns an estimate for the number of full, regular, star triangulations of the 3-dimensional reflexive polytope, those triangulations define the possible base spaces of the F-theory QSM in question.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> estimated_number_of_triangulations(qsm_model)
212533333333
This function is part of the experimental code in Oscar. Please read here for more details.
Beyond the polytope and its triangulations, a number of other integers are of key importance. The following are supported in our database.
kbar3
— Methodkbar3(m::AbstractFTheoryModel)
Let Kbar denote the anticanonical class of the 3-dimensional base space of the F-theory QSM. Of ample importance is the triple intersection number of Kbar, i.e. Kbar * Kbar * Kbar. This method returns this intersection number.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> kbar3(qsm_model)
6
This function is part of the experimental code in Oscar. Please read here for more details.
hodge_h11
— Methodhodge_h11(m::AbstractFTheoryModel)
This methods return the Hodge number h11 of the elliptically fibered 4-fold that defined the F-theory QSM in question.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> hodge_h11(qsm_model)
31
This function is part of the experimental code in Oscar. Please read here for more details.
hodge_h12
— Methodhodge_h12(m::AbstractFTheoryModel)
This methods return the Hodge number h12 of the elliptically fibered 4-fold that defined the F-theory QSM in question.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> hodge_h12(qsm_model)
10
This function is part of the experimental code in Oscar. Please read here for more details.
hodge_h13
— Methodhodge_h13(m::AbstractFTheoryModel)
This methods return the Hodge number h13 of the elliptically fibered 4-fold that defined the F-theory QSM in question.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> hodge_h13(qsm_model)
34
This function is part of the experimental code in Oscar. Please read here for more details.
hodge_h22
— Methodhodge_h22(m::AbstractFTheoryModel)
This methods return the Hodge number h22 of the elliptically fibered 4-fold that defined the F-theory QSM in question.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> hodge_h22(qsm_model)
284
This function is part of the experimental code in Oscar. Please read here for more details.
More recently, a research program estimated the exact massless spectra of the F-theory QSMs (cf. [Bie24]). These studies require yet more information about the F-theory QSM geometries, which are supported by our database.
First, recall that (currently), the base of an F-theory QSM is a 3-dimensional toric variety B3. Let s in H^0(B3, Kbar_B3), then V(s) is a K3-surface. Moreover, let xi be the coordinates of the Cox ring of B3. Then V(xi) is a divisor in B3. Consequently, Ci = V(xi) cap V(s) is a divisor in the K3-surface V(s). For the root bundle counting program, these curves Ci are of ample importance (cf. [Bie24]). We support the following information on these curves:
genera_of_ci_curves
— Methodgenera_of_ci_curves(m::AbstractFTheoryModel)
This methods return the genera of the Ci curves. Recall that Ci = V(xi, s), where xi is a homogeneous coordinate of the 3-dimensional toric base space B3 of the QSM hypersurface model in question, and s is a generic section of the anticanonical bundle of B3. Consequently, we may use the coordinates xi as labels for the curves Ci.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> my_key = collect(keys(genera_of_ci_curves(qsm_model)))[1]
x7
julia> genera_of_ci_curves(qsm_model)[my_key]
0
This function is part of the experimental code in Oscar. Please read here for more details.
degrees_of_kbar_restrictions_to_ci_curves
— Methoddegrees_of_kbar_restrictions_to_ci_curves(m::AbstractFTheoryModel)
The anticanonical divisor of the 3-dimensional toric base space B3 of the QSM hypersurface model in question can be restricted to the Ci curves. The result of this operation is a line bundle. This method returns the degree of this line bundle for every Ci curve.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> my_key = collect(keys(degrees_of_kbar_restrictions_to_ci_curves(qsm_model)))[1]
x7
julia> degrees_of_kbar_restrictions_to_ci_curves(qsm_model)[my_key]
0
This function is part of the experimental code in Oscar. Please read here for more details.
topological_intersection_numbers_among_ci_curves
— Methodtopological_intersection_numbers_among_ci_curves(m::AbstractFTheoryModel)
The topological intersection numbers among Ci curves are also of ample importance. This method returns those intersection numbers in the form of a matrix.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> n_rows(topological_intersection_numbers_among_ci_curves(qsm_model))
29
julia> n_columns(topological_intersection_numbers_among_ci_curves(qsm_model))
29
This function is part of the experimental code in Oscar. Please read here for more details.
indices_of_trivial_ci_curves
— Methodindices_of_trivial_ci_curves(m::AbstractFTheoryModel)
Some of the Ci curves are trivial, in that V(xi, s) is the empty set. This method returns the vector of all indices of trivial Ci curves. That is, should V(x23, s) be the empty set, then 23 will be included in the returned list.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> indices_of_trivial_ci_curves(qsm_model)
10-element Vector{Int64}:
23
22
18
19
20
26
10
11
12
15
This function is part of the experimental code in Oscar. Please read here for more details.
topological_intersection_numbers_among_nontrivial_ci_curves
— Methodtopological_intersection_numbers_among_nontrivial_ci_curves(m::AbstractFTheoryModel)
The topological intersection numbers among the non-trivial Ci curves are used frequently. This method returns those intersection numbers in the form of a matrix.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> n_rows(topological_intersection_numbers_among_nontrivial_ci_curves(qsm_model))
19
julia> n_columns(topological_intersection_numbers_among_nontrivial_ci_curves(qsm_model))
19
This function is part of the experimental code in Oscar. Please read here for more details.
The collection of the Ci-curves form a nodal curve. To every nodal curve one can associate a (dual) graph. In this graph, every irreducible component of the nodal curve becomes a node/vertex of the dual graph, and every nodal singularity of the nodal curve turns into an edge of the dual graph. In the case at hand, this is rather simple.
The Ci-curves turn into the irreducible components of the nodel curve. Certainly, we only need to focus on the non-trivial Ci-curves. A non-trivial Ci-curve can split into multiple irreducible components. This is taken into acccount when the nodes/vertices of the dual graph are constructed.
The topological intersection numbers among the Ci-curves (or rather, their irreducible components) tells us how many nodal singularities link the Ci-curves (or rather, their irreducible components) in question. Hence, if the topological intersection numbers is zero, there is no edge between the corresponding nodes. Otherwise, if the topological intersection number is positive - say n -, then there are exactly n edges between the nodes in question.
The following functions access/create the so-obtained dual graph:
dual_graph
— Methoddual_graph(m::AbstractFTheoryModel)
This method returns the dual graph of the QSM model in question. Note that no labels are (currently) attached to the vertices/nodes or edges. To understand/read this graph correctly, please use the methods listed below.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> dual_graph(qsm_model)
Undirected graph with 21 nodes and the following edges:
(5, 1)(6, 5)(7, 6)(8, 7)(9, 4)(9, 8)(10, 1)(11, 4)(12, 3)(12, 10)(13, 3)(13, 11)(14, 1)(15, 4)(16, 3)(17, 3)(18, 2)(18, 14)(19, 2)(19, 15)(20, 2)(20, 16)(21, 2)(21, 17)
This function is part of the experimental code in Oscar. Please read here for more details.
This function is part of the experimental code in Oscar. Please read here for more details.
components_of_dual_graph
— Methodcomponents_of_dual_graph(m::AbstractFTheoryModel)
This method returns a vector with labels for each node/vertex of the dual graph of the QSM model in question. Those labels allow to understand the geometric origin of the node/vertex.
Specifically, recall that those nodes are associated to the Ci-curves, which are in turn given by Ci = V(xi, s). xi is a homogenous coordinate of the 3-dimensional toric base space B3 of the QSM in question, and s is a generic section of the anticanonical bundle of B3.
Only non-trivial Ci = V(xi, s) correspond to vertices/nodes of the dual graph.
If Ci = V(xi, s) is irreducible and corresponds to the k-th component, then the label "Ci" appears at position k of the vector returned by this method. However, if Ci = V(xi, s) is reducible, then we introduce the labels Ci-0, Ci-1, Ci-2 etc. for those irreducible components of Ci. If Ci-0 corresponds to the k-th components of the dual graph, then the label "Ci-0" appears at position k of the vector returned by this method.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> components_of_dual_graph(qsm_model)
21-element Vector{String}:
"C0"
"C1"
"C2"
"C3"
"C4"
"C5"
"C6"
"C7"
"C8"
"C9"
⋮
"C16"
"C17"
"C21"
"C24-0"
"C24-1"
"C25"
"C27"
"C28-0"
"C28-1"
This function is part of the experimental code in Oscar. Please read here for more details.
degrees_of_kbar_restrictions_to_components_of_dual_graph
— Methoddegrees_of_kbar_restrictions_to_components_of_dual_graph(m::AbstractFTheoryModel)
The anticanonical bundle of the toric 3-dimensional base space of the F-theory QSM in question can be restricted to the (geometric counterparts of the) nodes/vertices of the dual graph. The result is a line bundle for each node/vertex. This method returns a vector with the degrees of these line bundles.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> degrees_of_kbar_restrictions_to_components_of_dual_graph(qsm_model)["C28-1"]
0
This function is part of the experimental code in Oscar. Please read here for more details.
genera_of_components_of_dual_graph
— Methodgenera_of_components_of_dual_graph(m::AbstractFTheoryModel)
This methods returns a vector with the genera of the (geometric counterparts of the) nodes/vertices of the dual graph.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> genera_of_components_of_dual_graph(qsm_model)["C28-1"]
0
This function is part of the experimental code in Oscar. Please read here for more details.
The dual graph is essential in counting root bundles (cf. [BCL21]). It turns out, that one can simplify this graph so that the computations at hand can be conducted on a simpler graph instead. The following functionality exists to access this simplified dual graph.
simplified_dual_graph
— Methodsimplified_dual_graph(m::AbstractFTheoryModel)
This method returns the simplified dual graph of the QSM model in question. Note that no labels are (currently) attached to the vertices/nodes or edges. To understand/read this graph correctly, please use the methods listed below.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> simplified_dual_graph(qsm_model)
Undirected graph with 4 nodes and the following edges:
(2, 1)(3, 1)(3, 2)(4, 1)(4, 2)(4, 3)
This function is part of the experimental code in Oscar. Please read here for more details.
components_of_simplified_dual_graph
— Methodcomponents_of_simplified_dual_graph(m::AbstractFTheoryModel)
This method returns a vector with labels for each node/vertex of the simplified dual graph. Otherwise, works identical to components_of_dual_graph(m::AbstractFTheoryModel)
.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> components_of_simplified_dual_graph(qsm_model)
4-element Vector{String}:
"C0"
"C1"
"C2"
"C3"
This function is part of the experimental code in Oscar. Please read here for more details.
degrees_of_kbar_restrictions_to_components_of_simplified_dual_graph
— Methoddegrees_of_kbar_restrictions_to_components_of_simplified_dual_graph(m::AbstractFTheoryModel)
Same as degrees_of_kbar_restrictions_to_components_of_dual_graph(m::AbstractFTheoryModel)
, but for the simplified dual graph.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> degrees_of_kbar_restrictions_to_components_of_simplified_dual_graph(qsm_model)["C2"]
2
This function is part of the experimental code in Oscar. Please read here for more details.
genera_of_components_of_simplified_dual_graph
— Methodgenera_of_components_of_simplified_dual_graph(m::AbstractFTheoryModel)
This methods returns a vector with the genera of the (geometric counterparts of the) nodes/vertices of the dual graph.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> genera_of_components_of_simplified_dual_graph(qsm_model)["C2"]
0
This function is part of the experimental code in Oscar. Please read here for more details.