Skip to content

Commit d690784

Browse files
committed
[FTheoryTools] Make calabi_yau_hypersurface attribute of AbstractFTheoryModels
1 parent 25d0f62 commit d690784

File tree

8 files changed

+47
-80
lines changed

8 files changed

+47
-80
lines changed

experimental/FTheoryTools/docs/src/generalities.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ of functionality is shared across them. This page documents that common interfac
1616
## Model Geometry and Base Specification
1717

1818
These attributes describe the geometric building blocks of the F-theory model—its ambient space, fiber
19-
ambient space, and base.
19+
ambient space, base space and the Calabi–Yau hypersurface.
2020

2121
```@docs
2222
ambient_space(m::AbstractFTheoryModel)
2323
base_space(m::AbstractFTheoryModel)
2424
fiber_ambient_space(m::AbstractFTheoryModel)
25+
calabi_yau_hypersurface(m::AbstractFTheoryModel)
2526
```
2627

2728
You can also check whether the base space is fully specified as a concrete geometry, or whether it is

experimental/FTheoryTools/docs/src/hypersurface.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ The following attributes are **specific to hypersurface models** and do not gene
101101

102102
```@docs
103103
hypersurface_equation(h::HypersurfaceModel)
104-
calabi_yau_hypersurface(h::HypersurfaceModel)
105104
weierstrass_model(h::HypersurfaceModel)
106105
global_tate_model(h::HypersurfaceModel)
107106
```

experimental/FTheoryTools/docs/src/tate.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -191,7 +191,6 @@ tate_polynomial(t::GlobalTateModel)
191191
hypersurface_equation(t::GlobalTateModel)
192192
tate_ideal_sheaf(t::GlobalTateModel)
193193
weierstrass_model(t::GlobalTateModel)
194-
calabi_yau_hypersurface(t::GlobalTateModel)
195194
```
196195

197196
---

experimental/FTheoryTools/docs/src/weierstrass.md

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@ weierstrass_section_g(w::WeierstrassModel)
162162
weierstrass_polynomial(w::WeierstrassModel)
163163
hypersurface_equation(w::WeierstrassModel)
164164
weierstrass_ideal_sheaf(w::WeierstrassModel)
165-
calabi_yau_hypersurface(w::WeierstrassModel)
166165
```
167166

168167
---

experimental/FTheoryTools/src/AbstractFTheoryModels/Attributes/basic_attributes.jl

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,51 @@ function model_index(m::AbstractFTheoryModel)
7878
end
7979

8080

81+
@doc raw"""
82+
calabi_yau_hypersurface(m::AbstractFTheoryModel)
83+
84+
Return the Calabi–Yau hypersurface that defines the hypersurface model
85+
as a closed subvariety of its toric ambient space.
86+
87+
# Examples
88+
```jldoctest
89+
julia> w = weierstrass_model_over_projective_space(3)
90+
Weierstrass model over a concrete base
91+
92+
julia> calabi_yau_hypersurface(w)
93+
Closed subvariety of a normal toric variety
94+
95+
julia> t = global_tate_model_over_projective_space(2)
96+
Global Tate model over a concrete base
97+
98+
julia> calabi_yau_hypersurface(t)
99+
Closed subvariety of a normal toric variety
100+
101+
julia> b = projective_space(NormalToricVariety, 2);
102+
103+
julia> kb = anticanonical_divisor_class(b);
104+
105+
julia> fiber_ambient = weighted_projective_space(NormalToricVariety, [2, 3, 1]);
106+
107+
julia> set_coordinate_names(fiber_ambient, ["x", "y", "z"]);
108+
109+
julia> p = "x^3 - y^2 + x1^12 * x * z^4 + x2^18 * z^6 + 13 * x3^3*x*y*z";
110+
111+
julia> h = hypersurface_model(b, fiber_ambient, [2 * kb, 3 * kb], p; completeness_check=false)
112+
Hypersurface model over a concrete base
113+
114+
julia> calabi_yau_hypersurface(h)
115+
Closed subvariety of a normal toric variety
116+
```
117+
"""
118+
@attr ClosedSubvarietyOfToricVariety function calabi_yau_hypersurface(m::AbstractFTheoryModel)
119+
@req (m isa HypersurfaceModel || m isa WeierstrassModel || m isa GlobalTateModel) "Calabi-Yau hypersurface currently not supported for this model"
120+
@req base_space(m) isa NormalToricVariety "Calabi-Yau hypersurface currently only supported for toric varieties as base space"
121+
is_base_space_fully_specified(m) || @vprint :FTheoryModelPrinter 1 "Base space was not fully specified. Returning hypersurface in AUXILIARY ambient space.\n"
122+
return closed_subvariety_of_toric_variety(ambient_space(m), [hypersurface_equation(m)])
123+
end
124+
125+
81126
######################################################################################
82127
### Attributes for flux families (not exported, rather for serialization overhaul)
83128
######################################################################################

experimental/FTheoryTools/src/HypersurfaceModels/attributes.jl

Lines changed: 0 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -174,38 +174,6 @@ function global_tate_model(h::HypersurfaceModel)
174174
end
175175

176176

177-
@doc raw"""
178-
calabi_yau_hypersurface(h::HypersurfaceModel)
179-
180-
Return the Calabi–Yau hypersurface that defines the hypersurface model
181-
as a closed subvariety of its toric ambient space.
182-
183-
# Examples
184-
```jldoctest
185-
julia> b = projective_space(NormalToricVariety, 2);
186-
187-
julia> kb = anticanonical_divisor_class(b);
188-
189-
julia> fiber_ambient = weighted_projective_space(NormalToricVariety, [2, 3, 1]);
190-
191-
julia> set_coordinate_names(fiber_ambient, ["x", "y", "z"]);
192-
193-
julia> p = "x^3 - y^2 + x1^12 * x * z^4 + x2^18 * z^6 + 13 * x3^3*x*y*z";
194-
195-
julia> h = hypersurface_model(b, fiber_ambient, [2 * kb, 3 * kb], p; completeness_check=false)
196-
Hypersurface model over a concrete base
197-
198-
julia> calabi_yau_hypersurface(h)
199-
Closed subvariety of a normal toric variety
200-
```
201-
"""
202-
@attr ClosedSubvarietyOfToricVariety function calabi_yau_hypersurface(h::HypersurfaceModel)
203-
@req base_space(h) isa NormalToricVariety "Calabi-Yau hypersurface currently only supported for toric varieties as base space"
204-
is_base_space_fully_specified(h) || @vprint :FTheoryModelPrinter 1 "Base space was not fully specified. Returning hypersurface in AUXILIARY ambient space.\n"
205-
return closed_subvariety_of_toric_variety(ambient_space(h), [hypersurface_equation(h)])
206-
end
207-
208-
209177
@doc raw"""
210178
discriminant(h::HypersurfaceModel)
211179

experimental/FTheoryTools/src/TateModels/attributes.jl

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -165,28 +165,6 @@ function tate_ideal_sheaf(t::GlobalTateModel)
165165
end
166166

167167

168-
@doc raw"""
169-
calabi_yau_hypersurface(t::GlobalTateModel)
170-
171-
Return the Calabi–Yau hypersurface that defines the global Tate model
172-
as a closed subvariety of its toric ambient space.
173-
174-
# Examples
175-
```jldoctest
176-
julia> t = global_tate_model_over_projective_space(2)
177-
Global Tate model over a concrete base
178-
179-
julia> calabi_yau_hypersurface(t)
180-
Closed subvariety of a normal toric variety
181-
```
182-
"""
183-
@attr ClosedSubvarietyOfToricVariety function calabi_yau_hypersurface(t::GlobalTateModel)
184-
@req base_space(t) isa NormalToricVariety "Calabi-Yau hypersurface currently only supported for toric varieties as base space"
185-
is_base_space_fully_specified(t) || @vprint :FTheoryModelPrinter 1 "Base space was not fully specified. Returning hypersurface in AUXILIARY ambient space.\n"
186-
return closed_subvariety_of_toric_variety(ambient_space(t), [tate_polynomial(t)])
187-
end
188-
189-
190168
@doc raw"""
191169
weierstrass_model(t::GlobalTateModel)
192170

experimental/FTheoryTools/src/WeierstrassModels/attributes.jl

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -112,28 +112,6 @@ function weierstrass_ideal_sheaf(w::WeierstrassModel)
112112
end
113113

114114

115-
@doc raw"""
116-
calabi_yau_hypersurface(w::WeierstrassModel)
117-
118-
Return the Calabi–Yau hypersurface that defines the Weierstrass model
119-
as a closed subvariety of its toric ambient space.
120-
121-
# Examples
122-
```jldoctest
123-
julia> w = weierstrass_model_over_projective_space(3)
124-
Weierstrass model over a concrete base
125-
126-
julia> calabi_yau_hypersurface(w)
127-
Closed subvariety of a normal toric variety
128-
```
129-
"""
130-
@attr ClosedSubvarietyOfToricVariety function calabi_yau_hypersurface(w::WeierstrassModel)
131-
@req base_space(w) isa NormalToricVariety "Calabi-Yau hypersurface currently only supported for toric varieties as base space"
132-
is_base_space_fully_specified(w) || @vprint :FTheoryModelPrinter 1 "Base space was not fully specified. Returning hypersurface in AUXILIARY ambient space.\n"
133-
return closed_subvariety_of_toric_variety(ambient_space(w), [weierstrass_polynomial(w)])
134-
end
135-
136-
137115
@doc raw"""
138116
discriminant(w::WeierstrassModel)
139117

0 commit comments

Comments
 (0)