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.
- 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
- 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 :: Ord ab => FreeMod coeff (Eta ab) -> FreeMod coeff (Omega ab)
- unsafeOmegaToEta :: 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.
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.
A monomial generator of Z[alpha,beta;gamma]/(...)
,
the cohomology ring of P^m
.
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 #
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