-
Notifications
You must be signed in to change notification settings - Fork 112
/
standard_constructions.jl
144 lines (108 loc) · 4.26 KB
/
standard_constructions.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
#####################################################
# 1. Models over projective space
#####################################################
@doc raw"""
global_tate_model_over_projective_space(d::Int)
This method constructs a global Tate model over the projective space.
# Examples
```jldoctest
julia> global_tate_model_over_projective_space(3)
Global Tate model over a concrete base
```
"""
global_tate_model_over_projective_space(d::Int) = global_tate_model(projective_space(NormalToricVariety, d); completeness_check = false)
@doc raw"""
weierstrass_model_over_projective_space(d::Int)
This method constructs a Weierstrass model over the projective space.
# Examples
```jldoctest
julia> weierstrass_model_over_projective_space(3)
Weierstrass model over a concrete base
```
"""
weierstrass_model_over_projective_space(d::Int) = weierstrass_model(projective_space(NormalToricVariety, d); completeness_check = false)
#####################################################
# 2. Models over hirzebruch surfaces
#####################################################
@doc raw"""
global_tate_model_over_hirzebruch_surface(r::Int)
This method constructs a global Tate model over a Hirzebruch surface.
# Examples
```jldoctest
julia> global_tate_model_over_hirzebruch_surface(1)
Global Tate model over a concrete base
```
"""
global_tate_model_over_hirzebruch_surface(r::Int) = global_tate_model(hirzebruch_surface(NormalToricVariety, r); completeness_check = false)
@doc raw"""
weierstrass_model_over_hirzebruch_surface(r::Int)
This method constructs a Weierstrass model over a Hirzebruch surface.
# Examples
```jldoctest
julia> weierstrass_model_over_hirzebruch_surface(1)
Weierstrass model over a concrete base
```
"""
weierstrass_model_over_hirzebruch_surface(r::Int) = weierstrass_model(hirzebruch_surface(NormalToricVariety, r); completeness_check = false)
#####################################################
# 3. Models over del pezzo surface
#####################################################
@doc raw"""
global_tate_model_over_del_pezzo_surface(b::Int)
This method constructs a global Tate model over a del-Pezzo surface.
# Examples
```jldoctest
julia> global_tate_model_over_del_pezzo_surface(3)
Global Tate model over a concrete base
```
"""
global_tate_model_over_del_pezzo_surface(b::Int) = global_tate_model(del_pezzo_surface(NormalToricVariety, b); completeness_check = false)
@doc raw"""
weierstrass_model_over_del_pezzo_surface(b::Int)
This method constructs a Weierstrass model over a del-Pezzo surface.
# Examples
```jldoctest
julia> weierstrass_model_over_del_pezzo_surface(3)
Weierstrass model over a concrete base
```
"""
weierstrass_model_over_del_pezzo_surface(b::Int) = weierstrass_model(del_pezzo_surface(NormalToricVariety, b); completeness_check = false)
#####################################################
# 4. Literature models
#####################################################
@doc raw"""
su5_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](@cite) and references therein.
```jldoctest
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
```
"""
function su5_tate_model_over_arbitrary_3d_base()
auxiliary_base_ring, (a10, a21, a32, a43, a65, w) = QQ["a10", "a21", "a32", "a43", "a65", "w"];
auxiliary_base_grading = [1 2 3 4 6 0; 0 -1 -2 -3 -5 1]
a1 = a10
a2 = a21 * w
a3 = a32 * w^2
a4 = a43 * w^3
a6 = a65 * w^5
ais = [a1, a2, a3, a4, a6]
return global_tate_model(auxiliary_base_ring, auxiliary_base_grading, 3, ais)
end
@doc raw"""
su5_weierstrass_model_over_arbitrary_3d_base()
Return the SU(5) Weierstrass model over an arbitrary
3-dimensional base space. For more details see
e.g. [Wei18](@cite) and references therein.
```jldoctest
julia> tm = su5_weierstrass_model_over_arbitrary_3d_base()
Assuming that the first row of the given grading is the grading under Kbar
Weierstrass model over a not fully specified base
```
"""
su5_weierstrass_model_over_arbitrary_3d_base() = weierstrass_model(su5_tate_model_over_arbitrary_3d_base())