Coherent sheaves on Finite Sets
Coherent sheaves on a finite set $X$ are characterized by the stalks of the the elements $x \in X$. I.e. a coherent sheaf on $X$ is a collection of vector spaces $V_x$ for each $x\in X$. More generally for a group $G$ and a G-set $X$ we can define consider $G$-equivariant sheaves on $X$. In this case a sheaf is specified by representations of the stabilizers of representatives for the orbits.
Equivariant Coherent Sheaves
We provide the datatype
CoherentSheafObject <: Object
The category of equivariant coherent sheaves has type
CohSheaves <: MultiTensorCategory
and can be constructed via
TensorCategories.CohSheaves
— TypeCohSheaves(X::GSet,F::Field)
The category of $G$-equivariant coherent sheafes on $X$.
CohSheaves(X, F::Field)
The category of coherent sheafes on $X$.
Morphisms are given by morphisms of representations of the stalks and are of type
CohSheafMorphism{T,G} <: Morphism
TensorCategories.CohSheaves
— MethodCohSheaves(X, F::Field)
The category of coherent sheafes on $X$.
TensorCategories.CohSheaves
— MethodCohSheaves(X::GSet,F::Field)
The category of $G$-equivariant coherent sheafes on $X$.
AbstractAlgebra.compose
— Methodcompose(f::CohSheafMorphism, g::CohSheafMorphism)
Return the composition g∘f
.
AbstractAlgebra.direct_sum
— Methoddirect_sum(f::CohSheafMorphism, g::CohSheafMorphism)
Return the direct sum of morphisms of sheaves.
AbstractAlgebra.direct_sum
— Methoddirect_sum(X::CohSheafObject, Y::CohSheafObject)
Return the direct sum of sheaves. Return also the inclusion and projection.
AbstractAlgebra.is_isomorphic
— Methodis_isomorphic(X::CohSheafObject, Y::CohSheafObject)
Check whether $X$and $Y$ are isomorphic and the isomorphism if possible.
AbstractAlgebra.kernel
— Methodkernel(f::CohSheafMorphism)
Return a tuple (K,k)
where K
is the kernel object and k
is the inclusion.
Base.inv
— Methodinv(f::CohSheafMorphism)
Retrn the inverse morphism of f
.
Base.one
— Methodone(C::CohSheaves)
Return the one object in $C$.
Base.zero
— Methodzero(C::CohSheaves)
Return the zero sheaf on the $G$-set.
Hecke.cokernel
— Methodcokernel(f::CohSheafMorphism)
Return a tuple (C,c)
where C
is the kernel object and c
is the projection.
Hecke.decompose
— Methoddecompose(X::CohSheafObject)
Decompose $X$ into a direct sum of simple objects with multiplicity.
Hecke.dual
— Methoddual(X::CohSheafObject)
Return the dual object of X
.
Hecke.id
— Methodid(X::CohSheafObject)
Return the identity on X
.
Hecke.is_semisimple
— Methodis_semisimple(C::CohSheaves)
Return whether $C$is semisimple.
Hecke.tensor_product
— Methodtensor_product(f::CohSheafMorphism, g::CohSheafMorphism)
Return the tensor product of morphisms of equivariant coherent sheaves.
Hecke.tensor_product
— Methodtensor_product(X::CohSheafObject, Y::CohSheafObject)
Return the tensor product of equivariant coherent sheaves.
TensorCategories.Hom
— MethodHom(X::CohSheafObject, Y::CohSheafObject)
Return Hom($X,Y$) as a vector space.
TensorCategories.Pullback
— MethodPullback(C::CohSheaves, D::CohSheaves, f::Function)
Return the pullback functor C → D
defined by the G
-set map f::X → Y
.
TensorCategories.Pushforward
— MethodPushforward(C::CohSheaves, D::CohSheaves, f::Function)
Return the push forward functor C → D
defined by the G
-set map f::X → Y
.
TensorCategories.associator
— Methodassociator(X::CohSheafObject, Y::CohSheafObject, Z::CohSheafObject)
Return the associator isomorphism (X⊗Y)⊗Z → X⊗(Y⊗Z)
.
TensorCategories.braiding
— Methodbraiding(X::cohSheaf, Y::CohSheafObject)
Return the braiding isomoephism X⊗Y → Y⊗X
.
TensorCategories.coev
— Methodcoev(X::CohSheafObject)
Return the coevaluation morphism 1 → X⊗X∗
.
TensorCategories.ev
— Methodev(X::CohSheafObject)
Return the evaluation morphism X∗⊗X → 1
.
TensorCategories.simples
— Methodsimples(C::CohSheaves)
Return the simple objects of $C$.
TensorCategories.spherical
— Methodspherical(X::CohSheafObject)
Return the spherical structure isomorphism X → X∗∗
.
TensorCategories.stalks
— Methodstalks(X::CohSheafObject)
Return the stalks of $X$.
TensorCategories.zero_morphism
— Methodzero_morphism(X::CohSheafObject, Y::CohSheafObject)
Return the zero morphism 0:X → Y
.
Convolution Category
The objects of this category are again $G$-equivariant coherent sheaves on a finite $G$-set $X\times X$. But we endow them with a different monoidal product.
Let $p_{ij}: X\times X\times X \to X \times X$ be the canonical projections. Then we define the monoidal product of two coherent sheaves $x$ and $y$
\[\begin{aligned} x\otimes y = p_{13}_\ast(p_{12}^\ast(x)\otimes' p_{23}^\ast(y)) \end{aligned}\]
where $\otimes'$is the monoidal product of $Coh(X\times X\times X)$. Similar for morphisms.
Objects in this category are of type
ConvolutionObject <: Object
while the convolution category is of type
ConvolutionCategory <: MultiTensorCategory
and can be constructed by
TensorCategories.ConvolutionCategory
— TypeConvolutionCategory(X::GSet, K::Field)
Return the category of equivariant coherent sheaves on $X$ with convolution product.
ConvolutionCategory(X, K::Field)
Return the category of coherent sheaves on $X$ with convolution product.
Morphisms are just morphisms of coherent sheaves with the new tensor product.
ConvolutionMorphism <: Morphism
TensorCategories.ConvolutionCategory
— MethodConvolutionCategory(X, K::Field)
Return the category of coherent sheaves on $X$ with convolution product.
TensorCategories.ConvolutionCategory
— MethodConvolutionCategory(X::GSet, K::Field)
Return the category of equivariant coherent sheaves on $X$ with convolution product.
AbstractAlgebra.direct_sum
— Methoddirect_sum(f::ConvolutionMorphism, g::ConvolutionMorphism)
Return the direct sum of morphisms of coherent sheaves (with convolution product).
AbstractAlgebra.direct_sum
— Methoddirect_sum(X::ConvolutionObject, Y::ConvolutionObject, morphisms::Bool = false)
documentation
AbstractAlgebra.is_isomorphic
— Methodis_isomorphic(X::ConvolutionObject, Y::ConvolutionObject)
Check whether $X$and $Y$are isomorphic. Return the isomorphism if true.
Base.one
— Methodone(C::ConvolutionCategory)
Return the one object in Conv($X$).
Base.zero
— Methodzero(C::ConvolutionCategory)
Return the zero object in Conv($X$).
Hecke.decompose
— Methoddecompose(X::ConvolutionObject)
Decompose $X$ into a direct sum of simple objects with multiplicities.
Hecke.is_semisimple
— Methodis_semisimple(C::ConvolutionCategory)
Check whether $C$ semisimple.
Hecke.tensor_product
— Methodtensor_product(f::ConvolutionMorphism, g::ConvolutionMorphism)
Return the convolution product of morphisms of coherent sheaves.
Hecke.tensor_product
— Methodtensor_product(X::ConvolutionObject, Y::ConvolutionObject)
Return the convolution product of coherent sheaves.
TensorCategories.Hom
— MethodHom(X::ConvolutionObject, Y::ConvolutionObject)
Return Hom($X,Y$) as a vector space.
TensorCategories.orbit_stabilizers
— Methodorbit_stabilizers(C::ConvolutionCategory)
Return the stabilizers of representatives of the orbits.
TensorCategories.simples
— Methodsimples(C::ConvolutionCategory)
Return a list of simple objects in Conv($X$).
TensorCategories.stalks
— Methodstalks(X::ConvolutionObject)
Return the stalks of the sheaf $X$.