packages feed

algebra 0.8.0 → 0.9.0.1

raw patch · 8 files changed

+109/−46 lines, 8 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

- Numeric.Quadrance.Class: instance [incoherent] (Quadrance r a, Quadrance r b) => Quadrance r (a, b)
- Numeric.Quadrance.Class: instance [incoherent] (Quadrance r a, Quadrance r b, Quadrance r c) => Quadrance r (a, b, c)
- Numeric.Quadrance.Class: instance [incoherent] (Quadrance r a, Quadrance r b, Quadrance r c, Quadrance r d) => Quadrance r (a, b, c, d)
- Numeric.Quadrance.Class: instance [incoherent] (Quadrance r a, Quadrance r b, Quadrance r c, Quadrance r d, Quadrance r e) => Quadrance r (a, b, c, d, e)
- Numeric.Quadrance.Class: instance [incoherent] Monoidal r => Quadrance r ()
- Numeric.Quadrance.Class: instance [incoherent] Quadrance () a
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Bool
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Int
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Int16
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Int32
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Int64
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Int8
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Integer
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Natural
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Word
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Word16
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Word32
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Word64
- Numeric.Quadrance.Class: instance [incoherent] Rig r => Quadrance r Word8
+ Numeric.Algebra: class Ring r => LocalRing r
+ Numeric.Coalgebra.Incidence: Interval' :: a -> a -> Interval' a
+ Numeric.Coalgebra.Incidence: data Interval' a
+ Numeric.Coalgebra.Incidence: instance (Eq a, Bounded a, Commutative r, Monoidal r, Semiring r) => CounitalCoalgebra r (Interval' a)
+ Numeric.Coalgebra.Incidence: instance (Eq a, Commutative r, Monoidal r, Semiring r) => Coalgebra r (Interval' a)
+ Numeric.Coalgebra.Incidence: instance Data a => Data (Interval' a)
+ Numeric.Coalgebra.Incidence: instance Eq a => Eq (Interval' a)
+ Numeric.Coalgebra.Incidence: instance Ord a => Ord (Interval' a)
+ Numeric.Coalgebra.Incidence: instance Read a => Read (Interval' a)
+ Numeric.Coalgebra.Incidence: instance Show a => Show (Interval' a)
+ Numeric.Coalgebra.Incidence: instance Typeable1 Interval'
+ Numeric.Coalgebra.Incidence: moebius' :: (Ring r, LocallyFiniteOrder a) => Interval' a -> r
+ Numeric.Coalgebra.Incidence: zeta' :: Unital r => Interval' a -> r
+ Numeric.Quadrance.Class: instance (Quadrance r a, Quadrance r b) => Quadrance r (a, b)
+ Numeric.Quadrance.Class: instance (Quadrance r a, Quadrance r b, Quadrance r c) => Quadrance r (a, b, c)
+ Numeric.Quadrance.Class: instance (Quadrance r a, Quadrance r b, Quadrance r c, Quadrance r d) => Quadrance r (a, b, c, d)
+ Numeric.Quadrance.Class: instance (Quadrance r a, Quadrance r b, Quadrance r c, Quadrance r d, Quadrance r e) => Quadrance r (a, b, c, d, e)
+ Numeric.Quadrance.Class: instance Monoidal r => Quadrance r ()
+ Numeric.Quadrance.Class: instance Quadrance () a
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Bool
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Int
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Int16
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Int32
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Int64
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Int8
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Integer
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Natural
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Word
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Word16
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Word32
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Word64
+ Numeric.Quadrance.Class: instance Rig r => Quadrance r Word8
+ Numeric.Ring.Local: class Ring r => LocalRing r

Files

Numeric/Algebra.hs view
@@ -53,6 +53,7 @@   -- * Rings   , Ring(..)   -- ** Division Rings+  , LocalRing   , DivisionRing   , Field @@ -165,5 +166,6 @@ import Numeric.Rig.Ordered import Numeric.Rng.Class import Numeric.Ring.Class+import Numeric.Ring.Local import Numeric.Ring.Division import Numeric.Field.Class
Numeric/Coalgebra/Categorical.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, GeneralizedNewtypeDeriving, DeriveDataTypeable #-}+{-# LANGUAGE FlexibleInstances, MultiParamTypeClasses, GeneralizedNewtypeDeriving, DeriveDataTypeable, PatternGuards #-} module Numeric.Coalgebra.Categorical    ( Morphism(..)   ) where
Numeric/Coalgebra/Geometric.hs view
@@ -6,6 +6,7 @@     DeriveDataTypeable,     FlexibleInstances,     TypeFamilies,+    PatternGuards,     UndecidableInstances,     ScopedTypeVariables #-} 
+ Numeric/Coalgebra/Incidence.hs view
@@ -0,0 +1,35 @@+{-# LANGUAGE MultiParamTypeClasses+           , FlexibleInstances+           , UndecidableInstances+           , DeriveDataTypeable+           #-}++module Numeric.Coalgebra.Incidence+  ( Interval'(..)+  , zeta'+  , moebius'+  ) where++import Data.Data+import Numeric.Algebra.Class+import Numeric.Algebra.Unital+import Numeric.Algebra.Commutative+import Numeric.Ring.Class+import Numeric.Order.LocallyFinite++-- | the dual incidence algebra basis+data Interval' a = Interval' a a deriving (Eq,Ord,Show,Read,Data,Typeable)++instance (Eq a, Commutative r, Monoidal r, Semiring r) => Coalgebra r (Interval' a) where+  comult f (Interval' a b) (Interval' b' c) +    | b == b' = f (Interval' a c)+    | otherwise = zero++instance (Eq a, Bounded a, Commutative r, Monoidal r, Semiring r) => CounitalCoalgebra r (Interval' a) where+  counit f = f (Interval' minBound maxBound)+  +zeta' :: Unital r => Interval' a -> r+zeta' = const one++moebius' :: (Ring r, LocallyFiniteOrder a) => Interval' a -> r+moebius' (Interval' a b) = moebiusInversion a b
Numeric/Covector.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE ImplicitParams, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts #-}+{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances, FlexibleContexts #-} module Numeric.Covector    ( Covector(..)   -- * Covectors as linear functionals
Numeric/Quadrance/Class.hs view
@@ -1,4 +1,4 @@-{-# LANGUAGE MultiParamTypeClasses, IncoherentInstances, OverlappingInstances, FlexibleInstances #-}+{-# LANGUAGE MultiParamTypeClasses, FlexibleInstances #-} module Numeric.Quadrance.Class   ( Quadrance(..)   ) where
+ Numeric/Ring/Local.hs view
@@ -0,0 +1,10 @@+module Numeric.Ring.Local +  ( LocalRing +  ) where++import Numeric.Ring.Class++-- forall x in r, either x or 1 - x is a unit.+-- if a finite sum is a unit then so are some of its terms, so the empty sum is not a unit, and one /= zero.+class Ring r => LocalRing r+
algebra.cabal view
@@ -1,6 +1,6 @@ name:          algebra category:      Math, Algebra-version:       0.8.0+version:       0.9.0.1 license:       BSD3 cabal-version: >= 1.6 license-file:  LICENSE@@ -18,6 +18,20 @@   location: git://github.com/ekmett/algebra.git  library+  other-extensions:+    TypeOperators+    MultiParamTypeClasses+    FlexibleInstances+    FlexibleContexts+    MultiParamTypeClasses+    BangPatterns+    ScopedTypeVariables+    UndecidableInstances+    PatternGuards+    DeriveDataTypeable+    RebindableSyntax+    GeneralizedNewtypeDeriving+   build-depends:      array >= 0.3.0.2 && < 0.4,     base >= 4 && < 4.4,@@ -35,68 +49,69 @@     void >= 0.5.4 && < 0.6    exposed-modules:+    Numeric.Additive.Class+    Numeric.Additive.Group     Numeric.Algebra-    Numeric.Covector-    Numeric.Natural--    Numeric.Algebra.Distinguished.Class+    Numeric.Algebra.Class+    Numeric.Algebra.Commutative     Numeric.Algebra.Complex     Numeric.Algebra.Complex.Class+    Numeric.Algebra.Distinguished.Class+    Numeric.Algebra.Division     Numeric.Algebra.Dual     Numeric.Algebra.Dual.Class-    Numeric.Algebra.Quaternion-    Numeric.Algebra.Quaternion.Class+    Numeric.Algebra.Factorable+    Numeric.Algebra.Hopf     Numeric.Algebra.Hyperbolic+    Numeric.Algebra.Idempotent     Numeric.Algebra.Incidence+    Numeric.Algebra.Involutive+    Numeric.Algebra.Quaternion+    Numeric.Algebra.Quaternion.Class+    Numeric.Algebra.Unital+    Numeric.Band.Class+    Numeric.Band.Rectangular+    Numeric.Coalgebra.Categorical     Numeric.Coalgebra.Dual+    Numeric.Coalgebra.Geometric     Numeric.Coalgebra.Hyperbolic     Numeric.Coalgebra.Hyperbolic.Class+    Numeric.Coalgebra.Quaternion+    Numeric.Coalgebra.Incidence     Numeric.Coalgebra.Trigonometric     Numeric.Coalgebra.Trigonometric.Class-    Numeric.Coalgebra.Geometric-    Numeric.Coalgebra.Quaternion-    Numeric.Coalgebra.Categorical-    Numeric.Band.Rectangular+    Numeric.Covector+    Numeric.Decidable.Associates+    Numeric.Decidable.Units+    Numeric.Decidable.Zero+    Numeric.Dioid.Class     Numeric.Exp+    Numeric.Field.Class     Numeric.Log     Numeric.Map-    Numeric.Natural.Internal-    Numeric.Rng.Zero-    Numeric.Ring.Rng-    Numeric.Ring.Opposite-    Numeric.Ring.Endomorphism-    Numeric.Partial.Semigroup-    Numeric.Partial.Monoid-    Numeric.Partial.Group-    Numeric.Additive.Class-    Numeric.Additive.Group-    Numeric.Algebra.Class-    Numeric.Algebra.Involutive-    Numeric.Algebra.Idempotent-    Numeric.Algebra.Division-    Numeric.Algebra.Unital-    Numeric.Algebra.Commutative-    Numeric.Algebra.Factorable-    Numeric.Algebra.Hopf-    Numeric.Decidable.Zero-    Numeric.Decidable.Units-    Numeric.Decidable.Associates-    Numeric.Field.Class     Numeric.Module.Class     Numeric.Module.Representable-    Numeric.Semiring.Integral-    Numeric.Semiring.Involutive-    Numeric.Band.Class-    Numeric.Dioid.Class+    Numeric.Natural+    Numeric.Natural.Internal+    Numeric.Order.Additive+    Numeric.Order.Class+    Numeric.Order.LocallyFinite+    Numeric.Partial.Group+    Numeric.Partial.Monoid+    Numeric.Partial.Semigroup     Numeric.Quadrance.Class+    Numeric.Rig.Characteristic     Numeric.Rig.Class-    Numeric.Rng.Class+    Numeric.Rig.Ordered     Numeric.Ring.Class     Numeric.Ring.Division-    Numeric.Rig.Ordered-    Numeric.Rig.Characteristic-    Numeric.Order.Class-    Numeric.Order.Additive-    Numeric.Order.LocallyFinite+    Numeric.Ring.Endomorphism+    Numeric.Ring.Local+    Numeric.Ring.Opposite+    Numeric.Ring.Rng+    Numeric.Rng.Class+    Numeric.Rng.Zero+    Numeric.Semiring.Integral+    Numeric.Semiring.Involutive    ghc-options: -Wall