Skip to content

Commit

Permalink
[FTheoryTools] Add check for Calabi-Yau condition
Browse files Browse the repository at this point in the history
  • Loading branch information
HereAround committed Aug 29, 2024
1 parent 55dec25 commit 869b9ba
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 0 deletions.
1 change: 1 addition & 0 deletions experimental/FTheoryTools/docs/src/generalities.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,7 @@ euler_characteristic(m::AbstractFTheoryModel; check::Bool = true)

```@docs
is_base_space_fully_specified(m::AbstractFTheoryModel)
is_calabi_yau(m::AbstractFTheoryModel; check::Bool = true)
is_partially_resolved(m::AbstractFTheoryModel)
verify_euler_characteristic_from_hodge_numbers(m::AbstractFTheoryModel; check::Bool = true)
```
Expand Down
31 changes: 31 additions & 0 deletions experimental/FTheoryTools/src/AbstractFTheoryModels/properties.jl
Original file line number Diff line number Diff line change
Expand Up @@ -149,3 +149,34 @@ function verify_euler_characteristic_from_hodge_numbers(m::AbstractFTheoryModel;
set_attribute!(m, :verify_euler_characteristic_from_hodge_numbers, h)
return h
end


@doc raw"""
is_calabi_yau(m::AbstractFTheoryModel; check::Bool = true)
Verify if the first Chern class of the tangent bundle of the F-theory geometry
$Y_n$ vanishes. If so, this confirms that this geometry is indeed Calabi-Yau,
as required by the reasoning of F-theory.
The implemented algorithm works for hypersurface, Weierstrass and global Tate models,
which are defined in a toric ambient space. It expresses $c_1(Y_n)$ as the restriction
of a cohomology class $h$ on the toric ambient space. This in turn requires that the
toric ambient space is simplicial and complete. We provide a switch to turn off
these computationally very demanding checks. This is demonstrated in the example below.
```jldoctest; setup = :(Oscar.LazyArtifacts.ensure_artifact_installed("QSMDB", Oscar.LazyArtifacts.find_artifacts_toml(Oscar.oscardir)))
julia> qsm_model = literature_model(arxiv_id = "1903.00009", model_parameters = Dict("k" => 4))
Hypersurface model over a concrete base
julia> is_calabi_yau(qsm_model, check = false)
true
```
"""
function is_calabi_yau(m::AbstractFTheoryModel; check::Bool = true)
@req (m isa WeierstrassModel || m isa GlobalTateModel || m isa HypersurfaceModel) "Verification of Euler characteristic of F-theory model supported for Weierstrass, global Tate and hypersurface models only"
@req base_space(m) isa NormalToricVariety "Verification of Euler characteristic of F-theory model currently supported only for toric base"
@req ambient_space(m) isa NormalToricVariety "Verification of Euler characteristic of F-theory model currently supported only for toric ambient space"
return get_attribute!(m, :is_calabi_yau) do
return is_trivial(chern_class(m, 1, check = check))
end
end
1 change: 1 addition & 0 deletions experimental/FTheoryTools/src/exports.jl
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ export hypersurface_model
export indices_of_trivial_ci_curves
export irrelevant_ideal
export is_base_space_fully_specified
export is_calabi_yau
export is_partially_resolved
export journal_doi
export journal_link
Expand Down

0 comments on commit 869b9ba

Please sign in to comment.