Safe Haskell | None |
---|---|
Language | Haskell2010 |
Mobius inversion for the coarsening poset of partitions
- newtype Partition :: * = Partition [Int]
- coarserThan :: Partition -> Partition -> Bool
- finerThan :: Partition -> Partition -> Bool
- (.==.) :: Partition -> Partition -> Bool
- (./=.) :: Partition -> Partition -> Bool
- (.<=.) :: Partition -> Partition -> Bool
- (.>=.) :: Partition -> Partition -> Bool
- (.<.) :: Partition -> Partition -> Bool
- (.>.) :: Partition -> Partition -> Bool
- fastClosure :: Partition -> Set Partition
- fastAntiClosure :: Partition -> Set Partition
- closureSet :: Partition -> Set Partition
- closureSet' :: Partition -> Set Partition
- zetaOf :: Partition -> ZMod Partition
- mobiusOf :: Partition -> ZMod Partition
- firstLevelDown :: Partition -> [Partition]
- firstLevelUp :: Partition -> [Partition]
- closureSetOfSetPartition :: SetPartition -> Set SetPartition
- firstLevelDownSetP :: SetPartition -> [SetPartition]
Documentation
A partition of an integer. The additional invariant enforced here is that partitions
are monotone decreasing sequences of positive integers. The Ord
instance is lexicographical.
The refinement poset of partitions
closures
fastAntiClosure :: Partition -> Set Partition Source #
Fast computation of a single "anticlosure" (opposite poset)
closureSet :: Partition -> Set Partition Source #
Caches and reuses all closures (lazily), this is the fastest version
Mobius function
helpers
firstLevelDown :: Partition -> [Partition] Source #
Merging two parts
firstLevelUp :: Partition -> [Partition] Source #
Splitting one part into two