# Global Tate models

## Introduction

A global Tate model describes a particular form of an elliptic fibration. We focus on an elliptic fibration over a base $B$. Consider the weighted projective space $\mathbb{P}^{2,3,1}$ with coordinates $x, y, z$. In addition, consider

- $a_1 \in H^0( B_3, \overline{K}_{B} )$,
- $a_2 \in H^0( B_3, \overline{K}_{B}^{\otimes 2} )$,
- $a_3 \in H^0( B_3, \overline{K}_{B}^{\otimes 3} )$,
- $a_4 \in H^0( B_3, \overline{K}_{B}^{\otimes 4} )$,
- $a_6 \in H^0( B_3, \overline{K}_{B}^{\otimes 6} )$.

Then form a $\mathbb{P}^{2,3,1}$-bundle over $B$ such that

- $x$ transforms as a section of $2 \overline{K}_{B}$,
- $y$ transforms as a section of $3 \overline{K}_{B}$,
- $z$ transforms as a section of $0 \overline{K}_{B} = \mathcal{O}_{B}$.

In this 5-fold ambient space, a global Tate model is the hypersurface defined by the vanishing of the Tate polynomial $P_T = x^3 - y^2 - x y z a_1 + x^2 z^2 a_2 - y z^3 a_3 + x z^4 a_4 + z^6 a_6$.

Crucially, for non-trivial F-theory settings, the elliptic fibration in question must be singular. In fact, by construction, one usually engineers certain singularities. For this, vanishing orders of the sections $a_i$ above need to specified. The following table–-often referred to as the Tate table and taken from [Wei10]–-summarizes the singularities introduced by certain vanishing orders:

sing. type | $\mathrm{ord}(\Delta)$ | singularity | group $G$ | $a_1$ | $a_2$ | $a_3$ | $a_4$ | $a_6$ |
---|---|---|---|---|---|---|---|---|

$I_0$ | $0$ | $0$ | $0$ | $0$ | $0$ | $0$ | ||

$I_1$ | $1$ | $0$ | $0$ | $1$ | $1$ | $1$ | ||

$I_2$ | $2$ | $A_1$ | $SU(2)$ | $0$ | $0$ | $1$ | $1$ | $2$ |

$I_{2k}^{ns}$ | $2k$ | $C_k$ | $Sp(k)$ | $0$ | $0$ | $k$ | $k$ | $2k$ |

$I_{2k}^s$ | $2k$ | $A_{2k-1}$ | $SU(2k)$ | $0$ | $1$ | $k$ | $k$ | $2k$ |

$I_{2k+1}^{ns}$ | $2k+1$ | $Sp(k)$ | $0$ | $0$ | $k+1$ | $k+1$ | $2k+1$ | |

$I_{2k+1}^{s}$ | $2k+1$ | $A_{2k}$ | $SU(2k+1)$ | $0$ | $1$ | $k$ | $k+1$ | $2k+1$ |

$II$ | $2$ | $1$ | $1$ | $1$ | $1$ | $1$ | ||

$III$ | $3$ | $A_1$ | $SU(2)$ | $1$ | $1$ | $1$ | $1$ | $2$ |

$IV^{ns}$ | $4$ | $Sp(1)$ | $1$ | $1$ | $1$ | $2$ | $2$ | |

$IV^s$ | $4$ | $A_2$ | $SU(3)$ | $1$ | $1$ | $1$ | $2$ | $3$ |

$I_0^{*ns}$ | $6$ | $G_2$ | $G_2$ | $1$ | $1$ | $2$ | $2$ | $3$ |

$I_0^{*ss}$ | $6$ | $B_3$ | $SO(7)$ | $1$ | $1$ | $2$ | $2$ | $4$ |

$I_0^{*s}$ | $6$ | $D_4$ | $SO(8)$ | $1$ | $1$ | $2$ | $2$ | $4$ |

$I_1^{*ns}$ | $7$ | $B_4$ | $SO(9)$ | $1$ | $1$ | $2$ | $3$ | $4$ |

$I_1^{*s}$ | $7$ | $D_5$ | $SO(10)$ | $1$ | $1$ | $2$ | $3$ | $5$ |

$I_2^{*ns}$ | $8$ | $B_5$ | $SO(11)$ | $1$ | $1$ | $3$ | $3$ | $5$ |

$I_2^{*s}$ | $8$ | $D_6$ | $SO(12)$ | $1$ | $1$ | $3$ | $3$ | $5$ |

$I_{2k-3}^{*ns}$ | $2k+3$ | $B_{2k}$ | $SO(4k+1)$ | $1$ | $1$ | $k$ | $k+1$ | $2k$ |

$I_{2k-3}^{*s}$ | $2k+3$ | $D_{2k+1}$ | $SO(4k+2)$ | $1$ | $1$ | $k$ | $k+1$ | $2k+1$ |

$I_{2k-2}^{*ns}$ | $2k+4$ | $B_{2k+1}$ | $SO(4k+3)$ | $1$ | $1$ | $k+1$ | $k+1$ | $2k+1$ |

$I_{2k-2}^{*s}$ | $2k+4$ | $D_{2k+2}$ | $SO(4k+4)$ | $1$ | $1$ | $k+1$ | $k+1$ | $2k+1$ |

$IV^{*ns}$ | $8$ | $F_4$ | $F_4$ | $1$ | $2$ | $2$ | $3$ | $4$ |

$IV^{*s}$ | $8$ | $E_6$ | $E_6$ | $1$ | $2$ | $2$ | $3$ | $5$ |

$III^*$ | $9$ | $E_7$ | $E_7$ | $1$ | $2$ | $3$ | $3$ | $5$ |

$II^*$ | $10$ | $E_8$ | $E_8$ | $1$ | $2$ | $3$ | $4$ | $5$ |

non-min. | $12$ | $1$ | $2$ | $3$ | $4$ | $6$ |

## Constructors

We aim to provide support for global Tate models over the following bases:

- a toric variety,
- a toric scheme,
- a (covered) scheme.

Often, one also wishes to obtain information about a global Tate model without explicitly specifying the base space. Also for this application, we provide support. Finally, we provide support for some standard constructions.

Before we detail these constructors, we must comment on the constructors over toric base spaces. Namely, in order to construct a global Tate model as a hypersurface in an ambient space, we first wish to construct the ambient space in question. For a toric base, one way to achieve this is to first focus on the Cox ring of the toric ambient space. This ring must be graded such that the Tate polynomial is homogeneous and cuts out a Calabi-Yau hypersurface. Given this grading, one can perform a triangulation task. Typically, this combinatorial task is very demanding, consumes a lot of computational power and takes a long time to complete. Even more, it will yield a large, often huge, number of candidate ambient spaces of which the typical user will only pick one. For instance, a common and often appropriate choice is a toric ambient space which contains the toric base space in a manifest way.

To circumvent this very demanding computation, our toric constructors operate in the opposite direction. That is, they begin by extracting the rays and maximal cones of the chosen toric base space. Subsequently, those rays and cones are extended to form one of the many toric ambient spaces. This proves hugely superior in performance than going through the triangulation task of enumerating all possible toric ambient spaces. One downside of this strategy is that the so-constructed ambient space need not be smooth.

### A toric variety as base space

We require that the provided toric base space is complete. This is a technical limitation as of now. The functionality of OSCAR only allows us to compute a section basis (or a finite subset thereof) for complete toric varieties. In the future, this could be extended.

However, completeness is an expensive check. Therefore, we provide an optional argument which one can use to disable this check if desired. To this end, one passes the optional argument `completeness_check = false`

as last argument to the constructor. The following examples demonstrate this:

`global_tate_model`

— Method`global_tate_model(base::NormalToricVariety; completeness_check::Bool = true)`

This method constructs a global Tate model over a given toric base 3-fold. The Tate sections $a_i$ are taken with (pseudo) random coefficients.

**Examples**

```
julia> t = global_tate_model(sample_toric_variety(); completeness_check = false)
Global Tate model over a concrete base
```

This function is part of the experimental code in Oscar. Please read here for more details.

`global_tate_model`

— Method`global_tate_model(base::NormalToricVariety, ais::Vector{T}; completeness_check::Bool = true) where {T<:MPolyRingElem}`

This method operates analogously to `global_tate_model(base::NormalToricVarietyType)`

. The only difference is that the Tate sections $a_i$ can be specified with non-generic values.

**Examples**

```
julia> base = sample_toric_variety()
Normal toric variety
julia> a1 = generic_section(anticanonical_bundle(base));
julia> a2 = generic_section(anticanonical_bundle(base)^2);
julia> a3 = generic_section(anticanonical_bundle(base)^3);
julia> a4 = generic_section(anticanonical_bundle(base)^4);
julia> a6 = generic_section(anticanonical_bundle(base)^6);
julia> t = global_tate_model(base, [a1, a2, a3, a4, a6]; completeness_check = false)
Global Tate model over a concrete base
```

This function is part of the experimental code in Oscar. Please read here for more details.

### A (covered) scheme as base space

This functionality does not yet exist.

### Base space not specified

This method constructs a global Tate model over a base space, where this base space is not (fully) specified. Consequently, we simply assume that a base space exists such that the Tate sections $a_i$ as introduced above do exist.

For many practical applications, one wishes to assume a further factorization of the Tate sections $a_i$. This has the advantage that one can engineer singularity loci or even the singularity type over a specific locus. This is the backbone of many F-theory constructions. For example, we could consider the factorization:

- $a_1 = a_{10} w^0$,
- $a_2 = a_{21} w^1$,
- $a_3 = a_{32} w^2$,
- $a_4 = a_{43} w^3$,
- $a_6 = a_{65} w^5$,

In this case, it is useful to consider the polynomial ring with indeterminates $a_{10}$, $a_{21}$, $a_{32}$, $a_{43}$, $a_{65}$ and $w$. In theory, one can consider these indeterminates as local coordinate of an auxiliary base space. Indeed, for our computer implementation the polynomial ring with these indeterminates serves as coordinate ring for the family of base spaces. We support the following constructor:

`global_tate_model`

— Method`global_tate_model(auxiliary_base_ring::MPolyRing, auxiliary_base_grading::Matrix{Int64}, d::Int, ais::Vector{T}) where {T<:MPolyRingElem}`

This method constructs a global Tate model over a base space that is not fully specified.

Note that many studies in the literature use the class of the anticanonical bundle in their analysis. We anticipate this by adding this class as a variable of the auxiliary base space, unless the user already provides this grading. Our convention is that the first grading refers to Kbar and that the homogeneous variable corresponding to this class carries the name "Kbar".

The following code exemplifies this approach.

**Examples**

```
julia> auxiliary_base_ring, (a10, a21, a32, a43, a65, w) = QQ["a10", "a21", "a32", "a43", "a65", "w"];
julia> auxiliary_base_grading = [1 2 3 4 6 0; 0 -1 -2 -3 -5 1]
2×6 Matrix{Int64}:
1 2 3 4 6 0
0 -1 -2 -3 -5 1
julia> a1 = a10;
julia> a2 = a21 * w;
julia> a3 = a32 * w^2;
julia> a4 = a43 * w^3;
julia> a6 = a65 * w^5;
julia> ais = [a1, a2, a3, a4, a6];
julia> t = global_tate_model(auxiliary_base_ring, auxiliary_base_grading, 3, ais)
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base
```

This function is part of the experimental code in Oscar. Please read here for more details.

### Standard constructions

We provide convenient constructions of global Tate models over standard base spaces. Currently, we support the following:

`global_tate_model_over_projective_space`

— Method`global_tate_model_over_projective_space(d::Int)`

This method constructs a global Tate model over the projective space.

**Examples**

```
julia> global_tate_model_over_projective_space(3)
Global Tate model over a concrete base
```

This function is part of the experimental code in Oscar. Please read here for more details.

`global_tate_model_over_hirzebruch_surface`

— Method`global_tate_model_over_hirzebruch_surface(r::Int)`

This method constructs a global Tate model over a Hirzebruch surface.

**Examples**

```
julia> global_tate_model_over_hirzebruch_surface(1)
Global Tate model over a concrete base
```

This function is part of the experimental code in Oscar. Please read here for more details.

`global_tate_model_over_del_pezzo_surface`

— Method`global_tate_model_over_del_pezzo_surface(b::Int)`

This method constructs a global Tate model over a del-Pezzo surface.

**Examples**

```
julia> global_tate_model_over_del_pezzo_surface(3)
Global Tate model over a concrete base
```

This function is part of the experimental code in Oscar. Please read here for more details.

## Attributes

### Basic attributes

For all global Tate models – irrespective over whether the base is toric or not – we support the following attributes:

`tate_section_a1`

— Method`tate_section_a1(t::GlobalTateModel)`

Return the Tate section $a_1$.

```
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> tate_section_a1(t)
a1
```

This function is part of the experimental code in Oscar. Please read here for more details.

`tate_section_a2`

— Method`tate_section_a2(t::GlobalTateModel)`

Return the Tate section $a_2$.

```
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> tate_section_a2(t)
w*a21
```

This function is part of the experimental code in Oscar. Please read here for more details.

`tate_section_a3`

— Method`tate_section_a3(t::GlobalTateModel)`

Return the Tate section $a_3$.

```
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> tate_section_a3(t)
w^2*a32
```

This function is part of the experimental code in Oscar. Please read here for more details.

`tate_section_a4`

— Method`tate_section_a4(t::GlobalTateModel)`

Return the Tate section $a_4$.

```
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> tate_section_a4(t)
w^3*a43
```

This function is part of the experimental code in Oscar. Please read here for more details.

`tate_section_a6`

— Method`tate_section_a6(t::GlobalTateModel)`

Return the Tate section $a_6$.

```
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> tate_section_a6(t)
0
```

This function is part of the experimental code in Oscar. Please read here for more details.

`tate_polynomial`

— Method`tate_polynomial(t::GlobalTateModel)`

Return the Tate polynomial of the global Tate model.

```
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> tate_polynomial(t)
w^3*a43*x*z^4 - w^2*a32*y*z^3 + w*a21*x^2*z^2 - a1*x*y*z + x^3 - y^2
```

This function is part of the experimental code in Oscar. Please read here for more details.

`tate_ideal_sheaf`

— Method`tate_ideal_sheaf(t::GlobalTateModel)`

Return the Tate ideal sheaf of the global Tate model.

```
julia> B3 = projective_space(NormalToricVariety, 3)
Normal toric variety
julia> w = 2 * torusinvariant_prime_divisors(B3)[1]
Torus-invariant, non-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> tate_ideal_sheaf(t)
Sheaf of ideals
on normal toric variety
with restrictions
1: Ideal with 1 generator
2: Ideal with 1 generator
3: Ideal with 1 generator
4: Ideal with 1 generator
5: Ideal with 3 generators
6: Ideal with 3 generators
7: Ideal with 3 generators
8: Ideal with 3 generators
9: Ideal with 4 generators
10: Ideal with 4 generators
11: Ideal with 4 generators
12: Ideal with 4 generators
```

This function is part of the experimental code in Oscar. Please read here for more details.

The base space can be obtained with `base_space`

, the ambient space with `ambient_space`

and the fiber ambient space with `fiber_ambient_space`

. Recall that `is_base_space_fully_specified`

will tell if the model has been constructed over a concrete space (in which case the function returns `true`

) or a family of spaces (returning `false`

).

### Advanced attributes

The following attributes are currently only supported in a toric setting:

`calabi_yau_hypersurface`

— Method`calabi_yau_hypersurface(t::GlobalTateModel)`

Return the Calabi-Yau hypersurface in the toric ambient space which defines the global Tate model.

```
julia> t = global_tate_model(sample_toric_variety(); completeness_check = false)
Global Tate model over a concrete base
julia> calabi_yau_hypersurface(t)
Closed subvariety of a normal toric variety
```

This function is part of the experimental code in Oscar. Please read here for more details.

`weierstrass_model`

— Method`weierstrass_model(t::GlobalTateModel)`

Return the Weierstrass model which is equivalent to the given Tate model.

```
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> weierstrass_model(t)
Weierstrass model over a not fully specified 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.

Note that for applications in F-theory, *singular* elliptic fibrations are key (cf. [Wei18] and references therein). Consequently the discriminant locus as well as the singular loci of the fibration in question are of ample importance:

`discriminant`

— Method`discriminant(t::GlobalTateModel)`

Return the discriminant of the global Tate model.

```
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> discriminant(t);
```

This function is part of the experimental code in Oscar. Please read here for more details.

`singular_loci`

— Method`singular_loci(t::GlobalTateModel)`

Return the singular loci of the global Tate model, along with the order of vanishing of $(f, g, \Delta)$` at each locus and the refined Tate fiber type.

For the time being, we either explicitly or implicitly focus on toric varieties as base spaces. Explicitly, in case the user provides such a variety as base space, and implicitly, in case we work over a non-fully specified base. This has the advantage that we can "filter out" trivial singular loci.

Specifically, recall that every closed subvariety of a simplicial toric variety is of the form $V(I)$, where $I$ is a homogeneous ideal of the Cox ring. Let $B$ be the irrelevant ideal of this toric variety. Then, by proposition 5.2.6. of [CLS11], $V(I)$ is trivial/empty iff $B^l \subseteq I$ for a suitable $l \geq 0$. This can be checked by checking if the saturation $I:B^\infty$ is the ideal generated by $1$.

By treating a non-fully specified base space implicitly as a toric space, we can extend this result straightforwardly to this situation also. This is the reason for constructing this auxiliary base space.

Let us demonstrate the functionality by computing the singular loci of a Type $III$ Tate model [KMSS11]. In this case, we will consider Global Tate model over a non-fully specified base. The Tate sections are factored as follows:

- $a_1 = a_{11} w^1$,
- $a_2 = a_{21} w^1$,
- $a_3 = a_{31} w^1$,
- $a_4 = a_{41} w^1$,
- $a_6 = a_{62} w^2$.

For this factorization, we expect a singularity of Kodaira type $III$ over the divisor $W = {w = 0}$, as desired. So this should be one irreducible component of the discriminant. Moreover, we should find that the discriminant vanishes to order 3 on $W = {w = 0}$, while the Weierstrass sections $f$ and $g$ vanish to orders 1 and 2, respectively. Let us verify this.

```
julia> auxiliary_base_ring, (a11, a21, a31, a41, a62, w) = QQ["a10", "a21", "a32", "a43", "a65", "w"];
julia> auxiliary_base_grading = [1 2 3 4 6 0; -1 -1 -1 -1 -2 1];
julia> a1 = a11 * w;
julia> a2 = a21 * w;
julia> a3 = a31 * w;
julia> a4 = a41 * w;
julia> a6 = a62 * w^2;
julia> ais = [a1, a2, a3, a4, a6];
julia> t = global_tate_model(auxiliary_base_ring, auxiliary_base_grading, 3, ais)
Assuming that the first row of the given grading is the grading under Kbar
Global Tate model over a not fully specified base
julia> length(singular_loci(t))
2
julia> singular_loci(t)[2]
(Ideal (w), (1, 2, 3), "III")
```

This function is part of the experimental code in Oscar. Please read here for more details.

## Methods

### Blowup

We can blow up a global Tate model with the `blow_up`

function. The resulting model will thereafter be partially resolved. No checks are currently implemented to test if a model is completely resolved. However, `is_partially_resolved`

will return `true`

if a blowup has been applied to the model in question.

### Tuning

Often, one wishes to tune an existing model, e.g. in an attempt to engineer a larger gauge group. We support the following functionality:

`tune`

— Method`tune(t::GlobalTateModel, input_sections::Dict{String, <:Any}; completeness_check::Bool = true)`

Tune a Tate model by fixing a special choice for the model sections. Note that it is in particular possible to set a section to zero. We anticipate that people might want to be able to come back from this by assigning a non-trivial value to a section that was previously tuned to zero. This is why we keep such trivial sections and do not delete them, say from `explicit_model_sections`

or `classes_of_model_sections`

.

**Examples**

```
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> x1, x2, x3, x4 = gens(cox_ring(base_space(t)))
4-element Vector{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}}:
x1
x2
x3
x4
julia> my_choice = Dict("a1" => x1^4, "a2" => x1^8, "w" => x2 - x3)
Dict{String, MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}} with 3 entries:
"w" => x2 - x3
"a2" => x1^8
"a1" => x1^4
julia> tuned_t = tune(t, my_choice)
Global Tate model over a concrete base
julia> tate_section_a1(tuned_t) == x1^4
true
julia> x1, x2, x3, x4 = gens(cox_ring(base_space(tuned_t)))
4-element Vector{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}}:
x1
x2
x3
x4
julia> my_choice2 = Dict("a1" => x1^4, "a2" => zero(parent(x1)), "w" => x2 - x3)
Dict{String, MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}} with 3 entries:
"w" => x2 - x3
"a2" => 0
"a1" => x1^4
julia> tuned_t2 = tune(tuned_t, my_choice2)
Global Tate model over a concrete base
julia> is_zero(explicit_model_sections(tuned_t2)["a2"])
true
julia> x1, x2, x3, x4 = gens(cox_ring(base_space(tuned_t2)))
4-element Vector{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}}:
x1
x2
x3
x4
julia> my_choice3 = Dict("a1" => x1^4, "a2" => x1^8, "w" => x2 - x3)
Dict{String, MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}} with 3 entries:
"w" => x2 - x3
"a2" => x1^8
"a1" => x1^4
julia> tuned_t3 = tune(tuned_t2, my_choice3)
Global Tate model over a concrete base
julia> is_zero(explicit_model_sections(tuned_t3)["a2"])
false
```

This function is part of the experimental code in Oscar. Please read here for more details.

See also the `tune`

function described in Functionality for all F-theory models.

### Fiber study

In F-theory, it is standard to not work with the singular space directly. Rather, one resolves its singularities in order to obtain a smooth space instead. Subsequently, one performs computations on this smooth space.

In order to perform such a resolution, one wishes to analyze the fibration in detail. The following method aims at giving a first window into this analysis by working out the fiber components and their intersection pattern over a particular locus of the base.

`analyze_fibers`

— Method`analyze_fibers(model::GlobalTateModel, centers::Vector{<:Vector{<:Integer}})`

Determine the fiber of a (singular) global Tate model over a particular base locus. ```

This function is part of the experimental code in Oscar. Please read here for more details.