Safe Haskell | None |
---|---|
Language | Haskell2010 |
Bases in the cohomology of the spaces appearing in the computations.
We have three different spaces:
Q^n = P^1 x P^1 x ... x P^1
(n
times;m = length lambda
)Q^m = P^1 x P^1 x ... x P^1 x P^1
(m
times,m = sum lambda >= n
)P^m = P(Sym^m C^2)
Furthermore, we have GL2
acting naturally on these spaces.
Synopsis
- newtype U = U Int
- newtype H = H Int
- newtype G = G Int
- newtype US = US [U]
- newtype HS = HS [H]
- data Omega ab = Omega ![Int] !ab
- data Eta ab = Eta ![Int] !ab
- data Gam ab = Gam !Int !ab
- class Functor f => Equivariant f where
- injectMonom :: x -> f x
- projectMonom :: f x -> x
- injectZMod :: (Equivariant f, ChernBase base, Ord (f base)) => ZMod base -> ZMod (f base)
- forgetGamma :: Ord base => ZMod (Gam base) -> ZMod base
- forgetEquiv :: ChernBase base => ZMod (Gam base) -> ZMod G
- convertOmega :: (Ord ab, Ord cd) => (ZMod ab -> ZMod cd) -> ZMod (Omega ab) -> ZMod (Omega cd)
- convertEta :: (Ord ab, Ord cd) => (ZMod ab -> ZMod cd) -> ZMod (Eta ab) -> ZMod (Eta cd)
- convertGam :: (Ord ab, Ord cd) => (ZMod ab -> ZMod cd) -> ZMod (Gam ab) -> ZMod (Gam cd)
- convertEach :: forall f x y ab cd. (Functor f, Ord ab, Ord cd, Ord (f ab), Ord (f cd), Ord x) => (forall y. f y -> x) -> (forall y. f y -> y) -> (forall y. x -> y -> f y) -> (ZMod ab -> ZMod cd) -> ZMod (f ab) -> ZMod (f cd)
- unsafeEtaToOmega :: (Eq coeff, Num coeff, Ord ab) => FreeMod coeff (Eta ab) -> FreeMod coeff (Omega ab)
- unsafeOmegaToEta :: (Eq coeff, Num coeff, Ord ab) => FreeMod coeff (Omega ab) -> FreeMod coeff (Eta ab)
The non-equivariant case
a (ring) generator of H^*(Q^n)
(note that u_i^2 = 0
)
(a ring) generator of H^*(Q^m)
(note that h_i^2 = 0
)
the generator of H^*(P^n)
(with g^(n+1) = 0
)
A monomial in u_i
(encoded as a subset of [1..n]
, as u_i^2=0
)
A monomial in h_i
(encoded as a subset of [1..m]
, as h_i^2=0
)
The equivariant case
A monomial generator of Z[alpha,beta;u1,u2,...,u_nd]/(...)
,
the cohomology ring of Q^n
.
The encoding is that the list is the list of indices of u
which appear.
Instances
Functor Omega Source # | |
Equivariant Omega Source # | |
Defined in Math.RootLoci.Geometry.Cohomology injectMonom :: x -> Omega x Source # projectMonom :: Omega x -> x Source # | |
Eq ab => Eq (Omega ab) Source # | |
Ord ab => Ord (Omega ab) Source # | |
Defined in Math.RootLoci.Geometry.Cohomology | |
Show ab => Show (Omega ab) Source # | |
Semigroup ab => Semigroup (Omega ab) Source # | |
Monoid ab => Monoid (Omega ab) Source # | |
(Pretty ab, Monoid ab, Eq ab) => Pretty (Omega ab) Source # | |
Defined in Math.RootLoci.Geometry.Cohomology | |
Graded ab => Graded (Omega ab) Source # | |
A monomial generator of Z[alpha,beta;eta1,eta2...eta_m]/(...)
,
he cohomology ring of Q^m
.
The encoding is that the list is the list of indices of eta
which appear.
Instances
Functor Eta Source # | |
Equivariant Eta Source # | |
Defined in Math.RootLoci.Geometry.Cohomology injectMonom :: x -> Eta x Source # projectMonom :: Eta x -> x Source # | |
Eq ab => Eq (Eta ab) Source # | |
Ord ab => Ord (Eta ab) Source # | |
Show ab => Show (Eta ab) Source # | |
Semigroup ab => Semigroup (Eta ab) Source # | |
Monoid ab => Monoid (Eta ab) Source # | |
(Pretty ab, Monoid ab, Eq ab) => Pretty (Eta ab) Source # | |
Defined in Math.RootLoci.Geometry.Cohomology | |
Graded ab => Graded (Eta ab) Source # | |
A monomial generator of Z[alpha,beta;gamma]/(...)
,
the cohomology ring of P^m
.
Instances
Functor Gam Source # | |
Equivariant Gam Source # | |
Defined in Math.RootLoci.Geometry.Cohomology injectMonom :: x -> Gam x Source # projectMonom :: Gam x -> x Source # | |
Eq ab => Eq (Gam ab) Source # | |
Ord ab => Ord (Gam ab) Source # | |
Show ab => Show (Gam ab) Source # | |
Semigroup ab => Semigroup (Gam ab) Source # | |
Monoid ab => Monoid (Gam ab) Source # | |
(Pretty ab, Monoid ab, Eq ab) => Pretty (Gam ab) Source # | |
Defined in Math.RootLoci.Geometry.Cohomology | |
Graded ab => Graded (Gam ab) Source # | |
class Functor f => Equivariant f where Source #
Class of monomial bases which form modules over the H^*(BGL2)
injectMonom :: x -> f x Source #
projectMonom :: f x -> x Source #
Instances
Equivariant Gam Source # | |
Defined in Math.RootLoci.Geometry.Cohomology injectMonom :: x -> Gam x Source # projectMonom :: Gam x -> x Source # | |
Equivariant Eta Source # | |
Defined in Math.RootLoci.Geometry.Cohomology injectMonom :: x -> Eta x Source # projectMonom :: Eta x -> x Source # | |
Equivariant Omega Source # | |
Defined in Math.RootLoci.Geometry.Cohomology injectMonom :: x -> Omega x Source # projectMonom :: Omega x -> x Source # |
injectZMod :: (Equivariant f, ChernBase base, Ord (f base)) => ZMod base -> ZMod (f base) Source #
Conversion between different bases
convertOmega :: (Ord ab, Ord cd) => (ZMod ab -> ZMod cd) -> ZMod (Omega ab) -> ZMod (Omega cd) Source #
convertEach :: forall f x y ab cd. (Functor f, Ord ab, Ord cd, Ord (f ab), Ord (f cd), Ord x) => (forall y. f y -> x) -> (forall y. f y -> y) -> (forall y. x -> y -> f y) -> (ZMod ab -> ZMod cd) -> ZMod (f ab) -> ZMod (f cd) Source #
A generic function which can convert the GL2
representations