Skip to content

8d1h/IntersectionTheory

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

IntersectionTheory

Binder

IntersectionTheory is an early stage Julia package for doing computations in intersection theory, built using the components of Oscar (Nemo, Singular.jl, and GAP.jl).

It's heavily inspired by the Macaulay2 package Schubert2 and the Sage library Chow. Some functionalities from Schubert3 are also implemented. Compared to these, the advantage is the vast improvement in performance due to the efficiency of Julia and Oscar.

Installation

Hopefully this will be shipped with Oscar in the future. Right now it can be installed as follows.

julia> using Pkg
julia> Pkg.add(url="https://github.com/8d1h/IntersectionTheory")

To use it, type the following and wait for the package to load.

julia> using IntersectionTheory

Some examples

julia> chern(proj(4))
1 + 5*h + 10*h^2 + 10*h^3 + 5*h^4

julia> todd(2)
1 + 1//2*c₁ + 1//12*c₁^2 + 1//12*c₂

julia> C, d = curve("g", param="d")
(AbsVariety of dim 1, d)

julia> chi(OO(C, d*C.point))
-g + d + 1

julia> B = blowup_points(2, proj(2))
AbsVariety of dim 2

julia> canonical_class(B)
e₂ + e₁ - 3*h

julia> intersection_matrix(basis(1, B))
[1    0    0]
[0   -1    0]
[0    0   -1]

julia> S = complete_intersection(proj(3), 4)
AbsVariety of dim 2

julia> hilbert_polynomial(S)
2*t^2 + 2

julia> signature(S)
-16

julia> integral(ctop(symmetric_power(3, dual(bundles(grassmannian(2, 4))[1]))))
27

Functionalities

  • ChRing and ChRingElem for handling graded rings with weights, and their quotients;
  • Basic constructions for doing intersection theory, including AbsVariety represented by the Chow ring, AbsBundle represented by Chern characters, AbsVarietyHom for morphisms, and various operators that can be used on them;
  • Blowing up subvarieties;
  • Constructors for projective spaces, Grassmannians, flag varieties, and their relative versions;
  • Constructors for moduli spaces of matrices, and parameter spaces of twisted cubics;
  • Some basic functionalities for computing integrals using Bott's formula, including TnVariety for varieties with a torus action, and TnBundle for equivariant bundles;
  • Constructors for Grassmannians and flag varieties as TnVariety.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published