|
153 | 153 | end
|
154 | 154 |
|
155 | 155 |
|
156 |
| -############################################################################## |
157 |
| -# 3 Struct for Quadrillion F-theory Standard Models when read in from database |
158 |
| -############################################################################## |
159 |
| - |
160 |
| -struct QSMModel |
161 |
| - # Information about the polytope underlying the F-theory QSM. |
162 |
| - vertices::Vector{Vector{QQFieldElem}} |
163 |
| - poly_index::Int |
164 |
| - |
165 |
| - # We build toric 3-fold from triangulating the lattice points in said polytope. |
166 |
| - # Oftentimes, there are a lot of such triangulations (up to 10^15 for the case at hand), which we cannot |
167 |
| - # hope to enumerate in a reasonable time in a computer. The following gives us metadata, to gauge how hard |
168 |
| - # this triangulation task is. First, the boolean triang_quick tells if we can hope to enumerate all |
169 |
| - # triangulations in a reasonable time. This in turn is linked to the question if we can find |
170 |
| - # fine regular triangulations of all facets, the difficulty of which scales primarily with the number of |
171 |
| - # lattice points. Hence, we also provide the maximal number of lattice points in a facet of the polytope in question |
172 |
| - # in the integer max_lattice_pts_in_facet. On top of this, an estimate for the total number of triangulations |
173 |
| - # is provided by the big integer estimated_number_oftriangulations. This estimate is exact if triang_quick = true. |
174 |
| - triang_quick::Bool |
175 |
| - max_lattice_pts_in_facet::Int |
176 |
| - estimated_number_of_triangulations::Int |
177 |
| - |
178 |
| - # We select one of the many triangulations, construct a 3d toric base B3 and thereby the hypersurface model in question, |
179 |
| - # that is then the key object of study of this F-theory construction. |
180 |
| - hs_model::HypersurfaceModel |
181 |
| - |
182 |
| - # As per usual, topological data of this geometry is important. Key is the triple intersection number of the |
183 |
| - # anticanonical divisor of the 3-dimensional toric base, as well as its Hodge numbers. |
184 |
| - Kbar3::Int |
185 |
| - h11::Int |
186 |
| - h12::Int |
187 |
| - h13::Int |
188 |
| - h22::Int |
189 |
| - |
190 |
| - # Recall that B3 is 3-dimensional toric variety. Let s in H^0(B3, Kbar_B3), then V(s) is a K3-surface. |
191 |
| - # Moreover, let xi the coordinates of the Cox ring of B3. Then V(xi) is a divisor in B3. |
192 |
| - # Furthermore, Ci = V(xi) cap V(s) is a divisor in the K3-surface V(s). We study these curves Ci in large detail. |
193 |
| - # Here is some information about these curves: |
194 |
| - genus_ci::Dict{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}, Int} |
195 |
| - degree_of_Kbar_of_tv_restricted_to_ci::Dict{MPolyDecRingElem{QQFieldElem, QQMPolyRingElem}, Int} |
196 |
| - intersection_number_among_ci_cj::Matrix{Int} |
197 |
| - index_facet_interior_divisors::Vector{Int} |
198 |
| - intersection_number_among_nontrivial_ci_cj::Matrix{Int} |
199 |
| - |
200 |
| - # The collection of the Ci form a nodal curve. To every nodal curve one can associate a (dual) graph. In this graph, |
201 |
| - # every irreducible component of the nodal curve becomes a node/vertex of the dual graph, and every |
202 |
| - # nodal singularity of the nodal curve turns into an edge of the dual graph. Here this is rather simple. |
203 |
| - # Every Ci above is an irreducible component of the nodal curve in question and the topological intersection numbers |
204 |
| - # among the Ci tell us how many nodal singularities link the Ci. Hence, we construct the dual graph as follows: |
205 |
| - # 1. View the Ci as nodes of an undirected graph G. |
206 |
| - # 2. If the top. intersection number of Ci and Cj is zero, there is no edge between the nodes of G corresponding to Ci and Cj. |
207 |
| - # 3. If the top. intersection number of Ci and Cj is n (> 0), then there are n edges between the nodes of G corresponding to Ci and Cj. |
208 |
| - # The following lists the information about this dual graph. |
209 |
| - # Currently, we cannot label the nodes/vertices of a OSCAR graph. However, it is important to remember what vertex/node in the |
210 |
| - # dual graph corresponds to which geometric locus V(xi, s). Therefore, we keep the labels that link the node of the OSCAR graph |
211 |
| - # to the geometric loci V(xi, s) in the vector components_of_dual_graph::Vector{String}. At least for now. |
212 |
| - # Should it ever be possible (favorable?) to directly attach these labels to the graph, one can remove components_of_dual_graph. |
213 |
| - dual_graph::Graph{Undirected} |
214 |
| - components_of_dual_graph::Vector{String} |
215 |
| - degree_of_Kbar_of_tv_restricted_to_components_of_dual_graph::Dict{String, Int64} |
216 |
| - genus_of_components_of_dual_graph::Dict{String, Int64} |
217 |
| - |
218 |
| - # In our research, we conduct certain combinatoric computations based on this graph, the data in |
219 |
| - # degree_of_Kbar_of_tv_restricted_to_components_of_dual_graph, genus_of_components_of_dual_graph and a bit more meta data |
220 |
| - # that is not currently included (yet). These computations are hard. It turns out, that one can replace the graph with another |
221 |
| - # graph, so that the computations are easier (a.k.a. the runtimes are a lot shorter). In a nutshell, this means to remove |
222 |
| - # a lot of nodes, and adjust the edges accordingly. Let me not go into more details here. A full description can e.g. be found in |
223 |
| - # https://arxiv.org/abs/2104.08297 and the follow-up papers thereof. Here we collect the information of said simplified graph, |
224 |
| - # by mirroring the strategy for the above dual graph. |
225 |
| - simplified_dual_graph::Graph{Undirected} |
226 |
| - components_of_simplified_dual_graph::Vector{String} |
227 |
| - degree_of_Kbar_of_tv_restricted_to_components_of_simplified_dual_graph::Dict{String, Int64} |
228 |
| - genus_of_components_of_simplified_dual_graph::Dict{String, Int64} |
229 |
| - |
230 |
| -end |
231 |
| - |
232 | 156 |
|
233 | 157 | ################################################
|
234 |
| -# 4: The julia type for G4-fluxes |
| 158 | +# 3: The julia type for G4-fluxes |
235 | 159 | ################################################
|
236 | 160 |
|
237 | 161 | @attributes mutable struct G4Flux
|
|
243 | 167 |
|
244 | 168 |
|
245 | 169 | ################################################
|
246 |
| -# 5 The julia type for a family of G4-fluxes |
| 170 | +# 4 The julia type for a family of G4-fluxes |
247 | 171 | ################################################
|
248 | 172 |
|
249 | 173 | @attributes mutable struct FamilyOfG4Fluxes
|
|
0 commit comments