G4-Fluxes
\[G_4\]
-fluxes are at the heart of F-theory model building.
Constructors
We currently support the following constructor:
g4_flux
— Methodg4_flux(model::AbstractFTheoryModel, class::CohomologyClass)
Construct a G4-flux candidate on an F-theory model. This functionality is currently limited to
- Weierstrass models,
- global Tate models,
- hypersurface models.
Furthermore, our functionality requires a concrete geometry. That is, the base space as well as the ambient space must be toric varieties. In the toric ambient space $X_\Sigma$, the elliptically fibered space $Y$ that defines the F-theory model, is given by a hypersurface (cut out by the Weierstrass, Tate or hypersurface polynomial, respectively).
In this setting, we assume that a $G_4$-flux candidate is represented by a cohomology class $h$ in $H^{(2,2)} (X_\Sigma)$. The actual $G_4$-flux candidate is then obtained by restricting $h$ to $Y$.
It is worth recalling that the $G_4$-flux candidate is subject to the quantization condition $G_4 + \frac{1}{2} c_2(Y) \in H^{/2,2)}( Y_, \mathbb{Z})$ (see [Wit97]). This condition is very hard to verify. However, it is relatively easy to gather evidence for this condition to be satisfied/show that it is violated. To this end, let $D_1$, $D_2$ be two toric divisors in $X_\Sigma$, then the topological intersection number $\left[ h|_Y \right] \cdot \left[ P \right] \cdot \left[ D_1 \right] \cdot \left[ D_2 \right]$ must be an integer. Even this rather elementary check can be computationally expensive. Users can therefore decide to skip this check upon construction by setting the parameter check
to the value false
.
Another bottleneck can be the computation of the cohomology ring, which is necessary to work with cohomology classes on the toric ambient space, which in turn define the G4-flux, as explained above. The reason for this is, that by employing the theory explained in [CLS11], we can only work out the cohomology ring of simpicial and complete (i.e. compact) toric varieties. However, checking if a toric variety is complete (i.e. compact) can take a long time. If the geometry in question is involved and you already know that the variety is simplicial and complete, then we recommend to trigger the computation of the cohomology ring with check = false
. This will avoid this time consuming test.
An example is in order.
Examples
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> cohomology_ring(ambient_space(qsm_model), check = false);
julia> g4_class = cohomology_class(anticanonical_divisor_class(ambient_space(qsm_model)))^2;
julia> g4f = g4_flux(qsm_model, g4_class)
G4-flux candidate
julia> g4f2 = g4_flux(qsm_model, g4_class, check = false)
G4-flux candidate lacking elementary quantization checks
This function is part of the experimental code in Oscar. Please read here for more details.
Attributes
We currently support the following attributes:
model
— Methodmodel(gf::G4Flux)
Return the F-theory model for which this $G_4$-flux candidate is defined.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> cohomology_ring(ambient_space(qsm_model), check = false);
julia> g4_class = cohomology_class(anticanonical_divisor_class(ambient_space(qsm_model)))^2;
julia> g4f = g4_flux(qsm_model, g4_class, check = false)
G4-flux candidate lacking elementary quantization checks
julia> model(g4f)
Hypersurface model over a concrete base
This function is part of the experimental code in Oscar. Please read here for more details.
cohomology_class
— Methodcohomology_class(gf::G4Flux)
Return the cohomology class which defines the $G_4$-flux candidate.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> cohomology_ring(ambient_space(qsm_model), check = false);
julia> g4_class = cohomology_class(anticanonical_divisor_class(ambient_space(qsm_model)))^2;
julia> g4f = g4_flux(qsm_model, g4_class, check = false)
G4-flux candidate lacking elementary quantization checks
julia> cohomology_class(g4f) == g4_class
true
This function is part of the experimental code in Oscar. Please read here for more details.
Properties
We currently support the following properties:
passes_elementary_quantization_checks
— Methodpasses_elementary_quantization_checks(gf::G4Flux)
G4-fluxes are subject to the quantization condition [Wit97] $G_4 + \frac{1}{2} c_2(Y) \in H^{(2,2)}(Y, \mathbb{Z})$. It is hard to verify that this condition is met. However, we can execute a number of simple consistency checks, by verifying that $\int_{Y}{G_4 \wedge [D_1] \wedge [D_2]} \in \mathbb{Z}$ for any two toric divisors $D_1$, $D_2$. If all of these simple consistency checks are met, this method will return true
and otherwise false
.
It is worth mentioning that currently (August 2024), we only support this check for $G_4$-fluxes defined on Weierstrass, global Tate and hypersurface models. If this condition is not met, this method will return an error.
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> cohomology_ring(ambient_space(qsm_model), check = false);
julia> g4_class = cohomology_class(anticanonical_divisor_class(ambient_space(qsm_model)))^2;
julia> g4 = g4_flux(qsm_model, g4_class, check = false)
G4-flux candidate lacking elementary quantization checks
julia> passes_elementary_quantization_checks(g4)
true
This function is part of the experimental code in Oscar. Please read here for more details.