Skip to content

Commit 880fb10

Browse files
authored
Add exceptional classes and indices (#4779)
1 parent ea7db71 commit 880fb10

24 files changed

+160
-21
lines changed

experimental/FTheoryTools/docs/src/literature.md

+2
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,8 @@ weighted_resolution_zero_sections(m::AbstractFTheoryModel)
6666
zero_section(m::AbstractFTheoryModel)
6767
zero_section_class(m::AbstractFTheoryModel)
6868
zero_section_index(m::AbstractFTheoryModel)
69+
exceptional_classes(m::AbstractFTheoryModel)
70+
exceptional_divisor_indices(m::AbstractFTheoryModel)
6971
torsion_sections(m::AbstractFTheoryModel)
7072
```
7173

experimental/FTheoryTools/src/AbstractFTheoryModels/attributes.jl

+66
Original file line numberDiff line numberDiff line change
@@ -1096,6 +1096,72 @@ function zero_section_index(m::AbstractFTheoryModel)
10961096
end
10971097

10981098

1099+
@doc raw"""
1100+
exceptional_classes(m::AbstractFTheoryModel)
1101+
1102+
Return the cohomology classes of the exceptional toric divisors of a model as a vector of cohomology classes in the toric ambient space.
1103+
This information is only supported for models over a concrete base that is a normal toric variety, but is always available in this case.
1104+
After a toric blow up this information is updated.
1105+
1106+
```jldoctest
1107+
julia> B3 = projective_space(NormalToricVariety, 3)
1108+
Normal toric variety
1109+
1110+
julia> Kbar = anticanonical_divisor_class(B3)
1111+
Divisor class on a normal toric variety
1112+
1113+
julia> foah11_B3 = literature_model(arxiv_id = "1408.4808", equation = "3.142", type = "hypersurface", base_space = B3, defining_classes = Dict("s7" => Kbar, "s9" => Kbar))
1114+
Construction over concrete base may lead to singularity enhancement. Consider computing singular_loci. However, this may take time!
1115+
1116+
Hypersurface model over a concrete base
1117+
1118+
julia> exceptional_classes(foah11_B3)
1119+
4-element Vector{CohomologyClass}:
1120+
Cohomology class on a normal toric variety given by e1
1121+
Cohomology class on a normal toric variety given by e2
1122+
Cohomology class on a normal toric variety given by e3
1123+
Cohomology class on a normal toric variety given by e4
1124+
```
1125+
"""
1126+
function exceptional_classes(m::AbstractFTheoryModel)
1127+
@req base_space(m) isa NormalToricVariety "Exceptional divisor classes are only supported for models over a concrete base"
1128+
return get_attribute(m, :exceptional_classes, Vector{CohomologyClass}())
1129+
end
1130+
1131+
1132+
@doc raw"""
1133+
exceptional_divisor_indices(m::AbstractFTheoryModel)
1134+
1135+
Return the indices of the generators of the Cox ring of the ambient space which correspond to exceptional divisors.
1136+
This information is only supported for models over a concrete base that is a normal toric variety, but is always available in this case.
1137+
After a toric blow up this information is updated.
1138+
1139+
```jldoctest
1140+
julia> B3 = projective_space(NormalToricVariety, 3)
1141+
Normal toric variety
1142+
1143+
julia> Kbar = anticanonical_divisor_class(B3)
1144+
Divisor class on a normal toric variety
1145+
1146+
julia> foah11_B3 = literature_model(arxiv_id = "1408.4808", equation = "3.142", type = "hypersurface", base_space = B3, defining_classes = Dict("s7" => Kbar, "s9" => Kbar))
1147+
Construction over concrete base may lead to singularity enhancement. Consider computing singular_loci. However, this may take time!
1148+
1149+
Hypersurface model over a concrete base
1150+
1151+
julia> exceptional_divisor_indices(foah11_B3)
1152+
4-element Vector{Int64}:
1153+
8
1154+
9
1155+
10
1156+
11
1157+
```
1158+
"""
1159+
@attr Vector{Int} function exceptional_divisor_indices(m::AbstractFTheoryModel)
1160+
@req base_space(m) isa NormalToricVariety "Exceptional divisor indices are only supported for models over a concrete base"
1161+
return get_attribute(m, :exceptional_divisor_indices, Vector{Int}())
1162+
end
1163+
1164+
10991165
@doc raw"""
11001166
torsion_sections(m::AbstractFTheoryModel)
11011167

experimental/FTheoryTools/src/AbstractFTheoryModels/methods.jl

+51-12
Original file line numberDiff line numberDiff line change
@@ -43,10 +43,10 @@ julia> blow_up(w, ["x", "y", "x1"]; coordinate_name = "e1")
4343
Partially resolved Weierstrass model over a concrete base -- U(1) Weierstrass model based on arXiv paper 1208.2695 Eq. (B.19)
4444
```
4545
"""
46-
function blow_up(m::AbstractFTheoryModel, ideal_gens::Vector{String}; coordinate_name::String = "e")
46+
function blow_up(m::AbstractFTheoryModel, ideal_gens::Vector{String}; coordinate_name::String = "e", nr_of_current_blow_up::Int = 1, nr_blowups_in_sequence::Int = 1)
4747
R = cox_ring(ambient_space(m))
4848
I = ideal([eval_poly(k, R) for k in ideal_gens])
49-
return blow_up(m, I; coordinate_name = coordinate_name)
49+
return blow_up(m, I; coordinate_name = coordinate_name, nr_of_current_blow_up = nr_of_current_blow_up, nr_blowups_in_sequence = nr_blowups_in_sequence)
5050
end
5151

5252

@@ -82,8 +82,8 @@ julia> blow_up(t, ideal([x, y, x1]); coordinate_name = "e1")
8282
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)
8383
```
8484
"""
85-
function blow_up(m::AbstractFTheoryModel, I::MPolyIdeal; coordinate_name::String = "e")
86-
return blow_up(m, ideal_sheaf(ambient_space(m), I); coordinate_name = coordinate_name)
85+
function blow_up(m::AbstractFTheoryModel, I::MPolyIdeal; coordinate_name::String = "e", nr_of_current_blow_up::Int = 1, nr_blowups_in_sequence::Int = 1)
86+
return blow_up(m, ideal_sheaf(ambient_space(m), I); coordinate_name = coordinate_name, nr_of_current_blow_up = nr_of_current_blow_up, nr_blowups_in_sequence = nr_blowups_in_sequence)
8787
end
8888

8989
function _ideal_sheaf_to_minimal_supercone_coordinates(X::AbsCoveredScheme, I::AbsIdealSheaf; coordinate_name::String = "e")
@@ -156,7 +156,7 @@ julia> blow_up(t, blowup_center; coordinate_name = "e1")
156156
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)
157157
```
158158
"""
159-
function blow_up(m::AbstractFTheoryModel, I::AbsIdealSheaf; coordinate_name::String = "e")
159+
function blow_up(m::AbstractFTheoryModel, I::AbsIdealSheaf; coordinate_name::String = "e", nr_of_current_blow_up::Int = 1, nr_blowups_in_sequence::Int = 1)
160160

161161
# Cannot (yet) blowup if this is not a Tate or Weierstrass model
162162
entry_test = (m isa GlobalTateModel) || (m isa WeierstrassModel)
@@ -216,9 +216,34 @@ function blow_up(m::AbstractFTheoryModel, I::AbsIdealSheaf; coordinate_name::Str
216216
for (key, value) in model_attributes
217217
set_attribute!(model, key, value)
218218
end
219+
219220
set_attribute!(model, :partially_resolved, true)
220221
set_attribute!(model, :blow_down_morphism, bd)
221222

223+
if ambient_space(model) isa NormalToricVariety
224+
index = index_of_exceptional_ray(bd)
225+
@req index == ngens(cox_ring(ambient_space(model))) "Inconsistency encountered. Contact the authors"
226+
indices = exceptional_divisor_indices(model)
227+
push!(indices, index)
228+
set_attribute!(model, :exceptional_divisor_indices, indices)
229+
230+
#Update slow attributes only at the end of a blow up sequence, if possible
231+
if nr_of_current_blow_up == nr_blowups_in_sequence
232+
# Update exceptional classes and their indices
233+
divs = torusinvariant_prime_divisors(ambient_space(model))
234+
235+
indets = [lift(g) for g in gens(cohomology_ring(ambient_space(model), check = false))]
236+
coeff_ring = coefficient_ring(ambient_space(model))
237+
new_e_classes = Vector{CohomologyClass}()
238+
for i in indices
239+
poly = sum(coeff_ring(coefficients(divs[i])[k]) * indets[k] for k in 1:length(indets))
240+
push!(new_e_classes, CohomologyClass(ambient_space(model), cohomology_ring(ambient_space(model), check = false)(poly)))
241+
end
242+
243+
set_attribute!(model, :exceptional_classes, new_e_classes)
244+
end
245+
end
246+
222247
# Return the model
223248
return model
224249
end
@@ -677,15 +702,30 @@ function set_zero_section(m::AbstractFTheoryModel, desired_value::Vector{String}
677702
end
678703

679704
function set_zero_section_class(m::AbstractFTheoryModel, desired_value::String)
705+
desired_value = Symbol(desired_value)
680706
divs = torusinvariant_prime_divisors(ambient_space(m))
681707
cohomology_ring(ambient_space(m); check=false)
682-
cox_gens = string.(gens(cox_ring(ambient_space(m))))
708+
cox_gens = symbols(cox_ring(ambient_space(m)))
683709
@req desired_value in cox_gens "Specified zero section is invalid"
684710
index = findfirst(==(desired_value), cox_gens)
685711
set_attribute!(m, :zero_section_index => index::Int)
686712
set_attribute!(m, :zero_section_class => cohomology_class(divs[index]))
687713
end
688714

715+
function set_exceptional_classes(m::AbstractFTheoryModel, desired_value::Vector{String})
716+
divs = torusinvariant_prime_divisors(ambient_space(m))
717+
cohomology_ring(ambient_space(m); check=false)
718+
cox_gens = symbols(cox_ring(ambient_space(m)))
719+
@req issubset(Symbol.(desired_value), cox_gens) "Specified exceptional classes are invalid"
720+
exceptional_divisor_indices = Vector{Int}()
721+
for class in desired_value
722+
index = findfirst(==(Symbol(class)), cox_gens)
723+
push!(exceptional_divisor_indices, index)
724+
end
725+
set_attribute!(m, :exceptional_divisor_indices => exceptional_divisor_indices::Vector{Int})
726+
set_attribute!(m, :exceptional_classes => [cohomology_class(divs[index]) for index in exceptional_divisor_indices])
727+
end
728+
689729
function set_gauge_algebra(m::AbstractFTheoryModel, algebras::Vector{String})
690730
C = algebraic_closure(QQ)
691731
function _construct(g::String)
@@ -849,7 +889,7 @@ function resolve(m::AbstractFTheoryModel, resolution_index::Int)
849889
# Gather information for resolution
850890
centers, exceptionals = resolutions(m)[resolution_index]
851891
nr_blowups = length(centers)
852-
892+
853893
# Resolve the model
854894
resolved_model = m
855895
blow_up_chain = []
@@ -868,9 +908,8 @@ function resolve(m::AbstractFTheoryModel, resolution_index::Int)
868908
# Conduct the blowup
869909
if ambient_space(resolved_model) isa NormalToricVariety
870910
# Toric case is easy...
871-
resolved_model = blow_up(resolved_model, blow_up_center; coordinate_name = exceptionals[k])
911+
resolved_model = blow_up(resolved_model, blow_up_center; coordinate_name = exceptionals[k], nr_of_current_blow_up = k, nr_blowups_in_sequence = nr_blowups)
872912
else
873-
874913
# Compute proper transform of center generated by anything but exceptional divisors
875914
filtered_center = [c for c in blow_up_center if !(c in exceptionals)]
876915
initial_ambient_space = ambient_space(m)
@@ -929,7 +968,7 @@ function resolve(m::AbstractFTheoryModel, resolution_index::Int)
929968
# z^2 -> z^2 * m1
930969
# y * z -> y * z * m1
931970
as = ambient_space(resolved_model);
932-
bl = domain(blow_up(as, [0,0,0,1,0], coordinate_name = "m1"));
971+
bl = domain(blow_up(as, [0,0,0,1,0], coordinate_name = "m1", 1, 3));
933972
f = hypersurface_equation(resolved_model);
934973
my_mons = collect(monomials(f));
935974
pos_1 = findfirst(k -> k == "y", [string(a) for a in gens(cox_ring(as))])
@@ -959,7 +998,7 @@ function resolve(m::AbstractFTheoryModel, resolution_index::Int)
959998
# x^3 -> x^3 * m2^2
960999
# z^3 -> z^3 * m2
9611000
as = ambient_space(model_bl);
962-
bl = domain(blow_up(as, [0,0,0,-2,1], coordinate_name = "m2"));
1001+
bl = domain(blow_up(as, [0,0,0,-2,1], coordinate_name = "m2", 2, 3));
9631002
f = hypersurface_equation(model_bl);
9641003
my_mons = collect(monomials(f));
9651004
pos_1 = findfirst(k -> k == "x", [string(a) for a in gens(cox_ring(as))])
@@ -990,7 +1029,7 @@ function resolve(m::AbstractFTheoryModel, resolution_index::Int)
9901029
# m2^2 -> m2^2 * m3
9911030
# z^2 -> z^2 * m3
9921031
as = ambient_space(model_bl2);
993-
bl = domain(blow_up(as, [0,0,0,-1,1], coordinate_name = "m3"));
1032+
bl = domain(blow_up(as, [0,0,0,-1,1], coordinate_name = "m3", 3, 3));
9941033
f = hypersurface_equation(model_bl2);
9951034
my_mons = collect(monomials(f));
9961035
pos_1 = findfirst(k -> k == "m2", [string(a) for a in gens(cox_ring(as))])

experimental/FTheoryTools/src/FamilyOfG4Fluxes/special_constructors.jl

+2-2
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ function special_flux_family_with_default_algorithm(m::AbstractFTheoryModel; not
215215
ambient_space_flux_candidates_basis_indices = basis_of_h22_hypersurface_indices(m, check = check)
216216
list_of_divisor_pairs_to_be_considered = Oscar._ambient_space_divisor_pairs_to_be_considered(m)
217217
S = cox_ring(ambient_space(m))
218-
exceptional_divisor_positions = findall(x -> occursin(r"^e\d+(_\d+)?$", x), string.(symbols(S))) # TODO: This line is a bit fragile. Fix it!
218+
exceptional_divisor_positions = exceptional_divisor_indices(m)
219219
tds = torusinvariant_prime_divisors(ambient_space(m))
220220
cds = [cohomology_class(td) for td in tds]
221221
pt_class = cohomology_class(anticanonical_divisor_class(ambient_space(m)))
@@ -355,7 +355,7 @@ function special_flux_family_with_special_algorithm(m::AbstractFTheoryModel; not
355355
ambient_space_flux_candidates_basis_indices = basis_of_h22_hypersurface_indices(m, check = check)
356356
list_of_divisor_pairs_to_be_considered = Oscar._ambient_space_divisor_pairs_to_be_considered(m)
357357
# TODO: This line is a bit fragile. Fix it!
358-
exceptional_divisor_positions = findall(x -> occursin(r"^e\d+(_\d+)?$", x), string.(symbols(S)))
358+
exceptional_divisor_positions = exceptional_divisor_indices(m)
359359

360360

361361
# (5) Work out the relevant intersection numbers to tell if a flux passes the transversality constraints & (if desired) if the flux is not breaking the gauge group.

experimental/FTheoryTools/src/G4Fluxes/properties.jl

+1-1
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ G4-flux candidate
235235

236236
# Identify the cohomology classes of all exceptional divisors
237237
gS = gens(cox_ring(ambient_space(m)))
238-
exceptional_divisor_positions = findall(x -> occursin(r"^e\d+$", x), string.(symbols(cox_ring(ambient_space(m)))))
238+
exceptional_divisor_positions = exceptional_divisor_indices(m)
239239
exceptional_divisors = torusinvariant_prime_divisors(ambient_space(m))[exceptional_divisor_positions]
240240
c_ei = [polynomial(cohomology_class(d)) for d in exceptional_divisors]
241241

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-10.json

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
],
6464
"hypersurface_equation": "s1*e1^2*e2^4*e3^6*u^3 + s2*e1^2*e2^3*e3^4*u^2*v + s3*e1^2*e2^2*e3^2*u*v^2 + s4*e1^2*e2*v^3 + s5*e1*e2^2*e3^3*u^2*w + s6*e1*e2*e3*u*v*w + s8*u*w^2",
6565
"zero_section_class": "e3",
66+
"exceptional_classes": ["e1", "e2", "e3"],
6667
"zero_section": ["s4", "1", "1", "1", "-s8", "0"]
6768
},
6869
"associated_models": [

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-11.json

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
],
6565
"hypersurface_equation": "s1*e1^2*e2^2*e3*e4^4*u^3 + s2*e1*e2^2*e3^2*e4^2*u^2*v + s3*e2^2*e3^3*u*v^2 + s5*e1^2*e2*e4^3*u^2*w + s6*e1*e2*e3*e4*u*v*w + s9*e1*v*w^2",
6666
"zero_section_class": "v",
67+
"exceptional_classes": ["e1", "e2", "e3", "e4"],
6768
"zero_section": ["1", "0", "s1", "1", "1", "-s5", "1"],
6869
"generating_sections": [
6970
["s9", "1", "1", "-s3", "1", "1", "0"]

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-12.json

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
],
6565
"hypersurface_equation": "s1*e1^2*e2^2*e3*e4*u^3 + s2*e1*e2^2*e3^2*u^2*v + s5*e1^2*e2*e4^2*u^2*w + s6*e1*e2*e3*e4*u*v*w + s7*e2*e3^2*v^2*w + s9*e1*e4^2*v*w^2",
6666
"zero_section_class": "u",
67+
"exceptional_classes": ["e1", "e2", "e3", "e4"],
6768
"zero_section": ["0", "1", "1", "s7", "-s9", "1", "1"],
6869
"generating_sections": [
6970
["1", "s5", "1", "1", "-s9", "0", "1"],

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-13.json

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
],
6565
"hypersurface_equation": "s1*e1^2*e2^2*e3*e5^4*u^3 + s2*e1*e2^2*e3^2*e4^2*e5^2*u^2*v + s3*e2^2*e3^3*e4^4*u*v^2 + s6*e1*e2*e3*e4*e5*u*v*w + s9*e1*v*w^2",
6666
"zero_section_class": "e4",
67+
"exceptional_classes": ["e1", "e2", "e3", "e4", "e5"],
6768
"zero_section": ["1", "s1", "1", "1", "1", "-s9", "0", "1"],
6869
"torsion_sections": [
6970
["s9", "1", "1", "-s3", "1", "1", "1", "0"]

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-14.json

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
],
6565
"hypersurface_equation": "s1*e1^2*e2^2*e3*e4*u^3 + s5*e1^2*e2*e4^2*e5^2*u^2*w + s6*e1*e2*e3*e4*e5*u*v*w + s7*e2*e3^2*v^2*w + s9*e1*e4^2*e5^3*v*w^2",
6666
"zero_section_class": "u",
67+
"exceptional_classes": ["e1", "e2", "e3", "e4", "e5"],
6768
"zero_section": ["0", "1", "1", "s7", "-s9", "1", "1", "1"],
6869
"generating_sections": [
6970
["1", "1", "s1", "1", "1", "1", "-s7", "0"]

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-15.json

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
],
6565
"hypersurface_equation": "s2*e1*e2^2*e3^2*u^2*v + s5*e1^2*e2*e4^2*u^2*w + s6*e1*e2*e3*e4*e5*u*v*w + s7*e2*e3^2*e5^2*v^2*w + s9*e1*e4^2*e5^2*v*w^2",
6666
"zero_section_class": "u",
67+
"exceptional_classes": ["e1", "e2", "e3", "e4", "e5"],
6768
"zero_section": ["0", "1", "1", "s7", "-s9", "1", "1", "1"],
6869
"generating_sections": [
6970
["1", "1", "s2", "-s7", "1", "1", "0", "1"]

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-16.json

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
],
6565
"hypersurface_equation": "s1*e1^2*e2^2*e3*e4*u^3 + s6*e1*e2*e3*e4*e5*e6*u*v*w + s7*e2*e3^2*e6^3*v^2*w + s9*e1*e4^2*e5^3*v*w^2",
6666
"zero_section_class": "u",
67+
"exceptional_classes": ["e1", "e2", "e3", "e4", "e5", "e6"],
6768
"zero_section": ["0", "1", "1", "s7", "-s9", "1", "1", "1", "1"],
6869
"torsion_sections": [
6970
["1", "1", "s1", "1", "1", "1", "-s7", "0", "1"],

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-3.json

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
],
6464
"hypersurface_equation": "s1*u^3*e1^2 + s2*u^2*v*e1^2 + s3*u*v^2*e1^2 + s4*v^3*e1^2 + s5*u^2*w*e1 + s6*u*v*w*e1 + s7*v^2*w*e1 + s8*u*w^2 + s9*v*w^2",
6565
"zero_section_class": "e1",
66+
"exceptional_classes": ["e1"],
6667
"zero_section": ["s9", "-s8", "1", "0"],
6768
"generating_sections": [
6869
["-s9", "s8", "s1 * s9^3 - s4 * s8^3 + s3 * s9 * s8^2 - s2 * s9^2 * s8", "s7 * s8^2 - s6 * s9 * s8 + s5 * s9^2"]

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-4.json

+1
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
"fiber_ambient_space_rays": [[-1, 1], [1, 0], [-1, -1], [-1, 0]],
5757
"fiber_ambient_space_max_cones": [[1, 2], [2, 3], [3, 4], [1, 4]],
5858
"fiber_ambient_space_coordinates": ["X", "Z", "Y", "e1"],
59+
"exceptional_classes": ["e1"],
5960
"fiber_ambient_space_name": "P^{F_4}",
6061
"fiber_twist_matrix": [
6162
[-1, 0, -1, 0],

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-5.json

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
],
6464
"hypersurface_equation": "s1*e2^2*e1^2*u^3 + s2*e2^2*e1*u^2*v + s3*e2^2*u*v^2 + s5*e2*e1^2*u^2*w + s6*e2*e1*u*v*w + s7*e2*v^2*w + s8*e1^2*u*w^2 + s9*e1*v*w^2",
6565
"zero_section_class": "e2",
66+
"exceptional_classes": ["e1", "e2"],
6667
"zero_section": ["s9", "-s8", "1", "1", "0"],
6768
"generating_sections": [
6869
["s7", "1", "-s3", "0", "1"],

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-6.json

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
],
6565
"hypersurface_equation": "s1*e1^2*e2^4*u^3 + s2*e1^2*e2^3*u^2*v + s3*e1^2*e2^2*u*v^2 + s4*e1^2*e2*v^3 + s5*e1*e2^2*u^2*w + s6*e1*e2*u*v*w + s7*e1*v^2*w + s8*u*w^2",
6666
"zero_section_class": "e2",
67+
"exceptional_classes": ["e1", "e2"],
6768
"zero_section": ["-s7", "1", "s8", "1", "0"],
6869
"generating_sections": [
6970
["0", "1", "s4", "1", "-s7"]

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-7.json

+1
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@
6363
],
6464
"hypersurface_equation": "s2*e1*e3^2*u^2*v + s3*e2*e3^2*u*v^2 + s5*e1^2*e3*u^2*w + s6*e1*e2*e3*u*v*w + s7*e2^2*e3*v^2*w + s8*e1^2*e2*u*w^2 + s9*e1*e2^2*w^2*v",
6565
"zero_section_class": "u",
66+
"exceptional_classes": ["e1", "e2", "e3"],
6667
"zero_section": ["0", "1", "1", "s7", "1", "-s9"],
6768
"generating_sections": [
6869
["s7", "1", "-s3", "0", "1", "1"],

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-8.json

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
],
6565
"hypersurface_equation": "s1*e1^2*e2^4*e3^2*u^3 + s2*e1^2*e2^3*e3*u^2*v + s3*e1^2*e2^2*u*v^2 + s5*e1*e2^2*e3^2*u^2*w + s6*e1*e2*e3*u*v*w + s7*e1*v^2*w + s8*e3^2*u*w^2",
6666
"zero_section_class": "e2",
67+
"exceptional_classes": ["e1", "e2", "e3"],
6768
"zero_section": ["s7", "1", "1", "-s8", "0", "1"],
6869
"generating_sections": [
6970
["s7", "1", "-s3", "1", "1", "0"]

experimental/FTheoryTools/src/LiteratureModels/Models/model1408_4808-9.json

+1
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@
6464
],
6565
"hypersurface_equation": "s1*e1^2*e2^2*e3*u^3 + s2*e1*e2^2*e3^2*u^2*v + s3*e2^2*e3^3*u*v^2 + s5*e1^2*e2*u^2*w + s6*e1*e2*e3*u*v*w + s7*e2*e3^2*v^2*w + s9*e1*v*w^2",
6666
"zero_section_class": "u",
67+
"exceptional_classes": ["e1", "e2", "e3"],
6768
"zero_section": ["0", "1", "1", "s7", "-s9", "1"],
6869
"generating_sections": [
6970
["1", "s5", "1", "1", "-s9", "0"],

experimental/FTheoryTools/src/LiteratureModels/Models/model1903_00009.json

+2-1
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@
6060
"D1": [0, 0],
6161
"D2": [0, 0],
6262
"hypersurface_equation": "s1*e1^2*e2^2*e3*e4^4*u^3+s2*e1*e2^2*e3^2*e4^2*u^2*v+s3*e2^2*e3^3*u*v^2+s5*e1^2*e2*e4^3*u^2*w+s6*e1*e2*e3*e4*u*v*w+s9*e1*v*w^2",
63-
"zero_section_class": "v"
63+
"zero_section_class": "v",
64+
"exceptional_classes": ["e1", "e2", "e3", "e4"]
6465
}
6566
}

0 commit comments

Comments
 (0)