Skip to content

Commit

Permalink
[FTheoryTools] Extend resolve method to non-toric blowups
Browse files Browse the repository at this point in the history
  • Loading branch information
HereAround committed Apr 2, 2024
1 parent 2a34ab6 commit 92849f8
Show file tree
Hide file tree
Showing 19 changed files with 521 additions and 145 deletions.
13 changes: 9 additions & 4 deletions docs/src/AlgebraicGeometry/ToricVarieties/BlowdownMorphisms.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,18 +37,23 @@ For our most specialized blow-up method, we focus on the n-th cone in the fan of
This cone need not be maximal! The ensuing star subdivision will subdivide this cone about its "diagonal"
(the sum of all its rays). The result of this will always be a toric variety:
```@docs
blow_up(v::NormalToricVarietyType, n::Int; coordinate_name::String = "e")
blow_up(v::NormalToricVariety, n::Int; coordinate_name::String = "e")
```
More generally, we can provide a primitive element in the fan of the variety in question. The resulting
star subdivision leads to a polyhedral fan, or put differently, the blow-up along this center is always toric:
```@docs
blow_up(v::NormalToricVarietyType, new_ray::AbstractVector{<:IntegerUnion}; coordinate_name::String = "e")
blow_up(v::NormalToricVariety, new_ray::AbstractVector{<:IntegerUnion}; coordinate_name::String = "e")
```
Finally, and most generally, we encode the blowup center by a homogeneous ideal in the Cox ring.
Most generally, we encode the blowup center by a homogeneous ideal in the Cox ring.
Such blowups center may easily lead to non-toric blowups, i.e. the return value of the following method
could well be non-toric.
```@docs
blow_up(v::NormalToricVarietyType, I::MPolyIdeal; coordinate_name::String = "e")
blow_up(v::NormalToricVariety, I::MPolyIdeal; coordinate_name::String = "e")
```
Instead of providing the ideal, it is possible to turn a homogeneous ideal in the Cox ring into an
ideal sheaf. Consequently, we also provide the support for the following method.
```@docs
blow_up(m::NormalToricVariety, I::ToricIdealSheafFromCoxRingIdeal; coordinate_name::String = "e")
```


Expand Down
3 changes: 2 additions & 1 deletion experimental/Experimental.jl
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const oldexppkgs = [
"ModStd",
"Rings",
"Schemes",
"FTheoryTools" # Must be loaded after the schemes.
]
# DEVELOPER OPTION:
# If an experimental package A depends on another experimental package B, one
Expand All @@ -18,7 +19,7 @@ const oldexppkgs = [
# For more background, see https://github.com/oscar-system/Oscar.jl/issues/2300.
const orderedpkgs = [
"LieAlgebras",
"BasisLieHighestWeight", # nees code from LieAlgebras
"BasisLieHighestWeight", # needs code from LieAlgebras
]
exppkgs = filter(x->isdir(joinpath(expdir, x)) && !(x in oldexppkgs) && !(x in orderedpkgs), readdir(expdir))
append!(exppkgs, orderedpkgs)
Expand Down
1 change: 1 addition & 0 deletions experimental/FTheoryTools/FTheoryTools.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
include("src/FTheoryTools.jl")
2 changes: 2 additions & 0 deletions experimental/FTheoryTools/docs/src/generalities.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,8 @@ is_partially_resolved(m::AbstractFTheoryModel)

```@docs
blow_up(m::AbstractFTheoryModel, ideal_gens::Vector{String}; coordinate_name::String = "e")
blow_up(m::AbstractFTheoryModel, I::MPolyIdeal; coordinate_name::String = "e")
blow_up(m::AbstractFTheoryModel, I::AbsIdealSheaf; coordinate_name::String = "e")
tune(m::AbstractFTheoryModel, p::MPolyRingElem; completeness_check::Bool = true)
put_over_concrete_base(m::AbstractFTheoryModel, concrete_data::Dict{String, <:Any}; completeness_check::Bool = true)
```
1 change: 1 addition & 0 deletions experimental/FTheoryTools/docs/src/tate.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ tate_section_a3(t::GlobalTateModel)
tate_section_a4(t::GlobalTateModel)
tate_section_a6(t::GlobalTateModel)
tate_polynomial(t::GlobalTateModel)
tate_ideal_sheaf(t::GlobalTateModel)
```
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
Expand Down
1 change: 1 addition & 0 deletions experimental/FTheoryTools/docs/src/weierstrass.md
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,7 @@ the following attributes:
weierstrass_section_f(w::WeierstrassModel)
weierstrass_section_g(w::WeierstrassModel)
weierstrass_polynomial(w::WeierstrassModel)
weierstrass_ideal_sheaf(w::WeierstrassModel)
```
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
Expand Down
Loading

0 comments on commit 92849f8

Please sign in to comment.