Safe Haskell | None |
---|
- type Complex b r = [Lin b b r]
- type GradedComplex b r = Map Int (Complex b r)
- cohomology :: (NFData b, NFData r, Basis b, Field r, Eq r) => Complex b r -> [Int]
- cohomologyGraded :: (NFData b, NFData r, Basis b, Field r, Eq r) => GradedComplex b r -> Map Int [Int]
- mx :: (Enum b, Enum c, Eq r, Basis b, Basis c, AbelianGroup r, Ring b, Ring c) => c -> b -> [[r]] -> Lin b c r
- indexify :: (Enum b', Eq r', Basis b', AbelianGroup r', Ring b') => [r'] -> Free b' r'
- purify :: (Eq r', AbelianGroup r') => Free b' r' -> Free b' r'
- purifyLin :: (Eq r, Basis c, AbelianGroup r) => Lin b c r -> Lin b c r
- sampleComplex :: Complex Int Rational
- isComplex :: (Basis b, RingEq r) => Complex b r -> Bool
- steps :: Lin k a b -> [a]
- omit :: Basis b => [b] -> Free b r -> Free b r
- omitColumns :: Basis b => [b] -> Lin b c r -> Lin b c r
- gaussComplex :: (NFData b, NFData r, Basis b, Field r, Eq r) => Complex b r -> Complex b r
- type C r = Graded (Complex [B] r)
- ooo :: RingEq r => C r -> C r -> C r
- oooo :: (Eq r, Basis a, Basis b, Basis c, Default r, Ring r) => [Lin b c r] -> [Lin a b r] -> [Lin a c r]
- khCx_Q :: Ord a => Maybe a -> PD a -> GradedComplex IntPair Rational
- khCx_Z :: Ord a => Maybe a -> PD a -> GradedComplex IntPair Integer
- khCx_F2 :: Ord a => Maybe a -> PD a -> GradedComplex IntPair F2
- groupByKeySize :: [Int] -> Map (Set a1) a -> [Map (Set a1) a]
- example :: Ord a => PD a -> [Int]
- khCx :: (Eq r, Ord a, Default r, Ring r) => Maybe a -> [Node a] -> GradedComplex IntPair r
- conv :: (Eq r, Default r, Ring r) => [ElMo] -> Map Int [Lin [B] [B] r]
- hash :: (Set Int, [B]) -> IntPair
- bitfield :: (Foldable t, Integral b, Ring a) => t b -> a
- hashInComplex :: GradedComplex (Set Int, [B]) r -> GradedComplex IntPair r
Documentation
type GradedComplex b r = Map Int (Complex b r)Source
cohomology :: (NFData b, NFData r, Basis b, Field r, Eq r) => Complex b r -> [Int]Source
Compute cohomology ranks of a complex
cohomologyGraded :: (NFData b, NFData r, Basis b, Field r, Eq r) => GradedComplex b r -> Map Int [Int]Source
Compute cohomology ranks of a graded complex
mx :: (Enum b, Enum c, Eq r, Basis b, Basis c, AbelianGroup r, Ring b, Ring c) => c -> b -> [[r]] -> Lin b c rSource
isComplex :: (Basis b, RingEq r) => Complex b r -> BoolSource
Check whether the differential squares to zero
steps :: Lin k a b -> [a]Source
The basis vectors in the domain that actually occur. In other words, the basis vectors that correspond to (potentially) non-zero columns.
Assuming the morphism to be given in column echelon form, this counts steps.
omitColumns :: Basis b => [b] -> Lin b c r -> Lin b c rSource
gaussComplex :: (NFData b, NFData r, Basis b, Field r, Eq r) => Complex b r -> Complex b rSource
Elementary column transformations, stepping through the complex from left to right. The resulting complex has the same cohomology and has all matrices in column echelon form.
oooo :: (Eq r, Basis a, Basis b, Basis c, Default r, Ring r) => [Lin b c r] -> [Lin a b r] -> [Lin a c r]Source
example :: Ord a => PD a -> [Int]Source
Example: Compute rational Khovanov homology and print ungraded results.
hashInComplex :: GradedComplex (Set Int, [B]) r -> GradedComplex IntPair rSource