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 +2/−0
- Numeric/Coalgebra/Categorical.hs +1/−1
- Numeric/Coalgebra/Geometric.hs +1/−0
- Numeric/Coalgebra/Incidence.hs +35/−0
- Numeric/Covector.hs +1/−1
- Numeric/Quadrance/Class.hs +1/−1
- Numeric/Ring/Local.hs +10/−0
- algebra.cabal +58/−43
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