packages feed

np-extras 0.3.0.1 → 0.3.1

raw patch · 3 files changed

+18/−11 lines, 3 filesPVP: major bump suggested

API removals or changes: PVP suggests a major version bump

API changes (from Hackage documentation)

- MathObj.FactoredRational: instance C T
- MathObj.FactoredRational: instance Eq T
- MathObj.FactoredRational: instance Ord T
- MathObj.FactoredRational: instance Show T
- MathObj.Monomial: coeff :: T a -> a
- MathObj.Monomial: instance (C a, C a) => C (T a)
- MathObj.Monomial: instance (C a, C a, Eq a) => C (T a)
- MathObj.Monomial: instance (C a, C a, Eq a, Show a) => Show (T a)
- MathObj.Monomial: instance C a => C (T a)
- MathObj.Monomial: instance Eq (T a)
- MathObj.Monomial: instance Eq a => Eq (Rev a)
- MathObj.Monomial: instance Ord (T a)
- MathObj.Monomial: instance Ord a => Ord (Rev a)
- MathObj.Monomial: powers :: T a -> Map Integer Integer
- MathObj.MultiVarPolynomial: instance (C a, C a) => C (T a)
- MathObj.MultiVarPolynomial: instance (C a, C a, Ord a, Show a) => Show (T a)
+ MathObj.FactoredRational: instance Algebra.Absolute.C MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance Algebra.Additive.C MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance Algebra.Field.C MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance Algebra.IntegralDomain.C MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance Algebra.RealIntegral.C MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance Algebra.Ring.C MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance Algebra.ToInteger.C MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance Algebra.ToRational.C MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance Algebra.ZeroTestable.C MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance GHC.Classes.Eq MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance GHC.Classes.Ord MathObj.FactoredRational.T
+ MathObj.FactoredRational: instance GHC.Show.Show MathObj.FactoredRational.T
+ MathObj.Monomial: [coeff] :: T a -> a
+ MathObj.Monomial: [powers] :: T a -> Map Integer Integer
+ MathObj.Monomial: instance (Algebra.Additive.C a, Algebra.ZeroTestable.C a) => Algebra.Additive.C (MathObj.Monomial.T a)
+ MathObj.Monomial: instance (Algebra.Ring.C a, Algebra.ZeroTestable.C a) => Algebra.Ring.C (MathObj.Monomial.T a)
+ MathObj.Monomial: instance (Algebra.ZeroTestable.C a, Algebra.Field.C a, GHC.Classes.Eq a) => Algebra.Field.C (MathObj.Monomial.T a)
+ MathObj.Monomial: instance (Algebra.ZeroTestable.C a, Algebra.Ring.C a) => Algebra.Differential.C (MathObj.Monomial.T a)
+ MathObj.Monomial: instance (Algebra.ZeroTestable.C a, Algebra.Ring.C a, GHC.Classes.Eq a, GHC.Show.Show a) => GHC.Show.Show (MathObj.Monomial.T a)
+ MathObj.Monomial: instance Algebra.ZeroTestable.C a => Algebra.ZeroTestable.C (MathObj.Monomial.T a)
+ MathObj.Monomial: instance GHC.Classes.Eq (MathObj.Monomial.T a)
+ MathObj.Monomial: instance GHC.Classes.Eq a => GHC.Classes.Eq (MathObj.Monomial.Rev a)
+ MathObj.Monomial: instance GHC.Classes.Ord (MathObj.Monomial.T a)
+ MathObj.Monomial: instance GHC.Classes.Ord a => GHC.Classes.Ord (MathObj.Monomial.Rev a)
+ MathObj.MultiVarPolynomial: instance (Algebra.Additive.C a, Algebra.ZeroTestable.C a) => Algebra.Additive.C (MathObj.MultiVarPolynomial.T a)
+ MathObj.MultiVarPolynomial: instance (Algebra.Ring.C a, Algebra.ZeroTestable.C a) => Algebra.Ring.C (MathObj.MultiVarPolynomial.T a)
+ MathObj.MultiVarPolynomial: instance (Algebra.ZeroTestable.C a, Algebra.Ring.C a) => Algebra.Differential.C (MathObj.MultiVarPolynomial.T a)
+ MathObj.MultiVarPolynomial: instance (Algebra.ZeroTestable.C a, Algebra.Ring.C a, GHC.Classes.Ord a, GHC.Show.Show a) => GHC.Show.Show (MathObj.MultiVarPolynomial.T a)
- MathObj.Monomial: x :: C a => Integer -> T a
+ MathObj.Monomial: x :: (C a) => Integer -> T a
- MathObj.MultiVarPolynomial: x :: C a => Integer -> T a
+ MathObj.MultiVarPolynomial: x :: (C a) => Integer -> T a

Files

+ CHANGES.md view
@@ -0,0 +1,4 @@+0.3.1 (4 March, 2016)+=====================++- bug fix: differentiation of monomials
MathObj/Monomial.hs view
@@ -17,17 +17,17 @@      ) where -import qualified Algebra.Additive as Additive-import qualified Algebra.Ring as Ring-import qualified Algebra.ZeroTestable as ZeroTestable+import qualified Algebra.Additive     as Additive import qualified Algebra.Differential as Differential-import qualified Algebra.Field as Field+import qualified Algebra.Field        as Field+import qualified Algebra.Ring         as Ring+import qualified Algebra.ZeroTestable as ZeroTestable -import qualified Data.Map as M-import Data.Ord (comparing)-import Data.List (sort, intercalate)+import           Data.List            (intercalate, sort)+import qualified Data.Map             as M+import           Data.Ord             (comparing) -import NumericPrelude+import           NumericPrelude  -- | A monomial is a map from variable indices to integer powers, --   paired with a (polymorphic) coefficient.  Note that negative@@ -134,9 +134,11 @@ -- Partial differentiation with respect to x1. instance (ZeroTestable.C a, Ring.C a) => Differential.C (T a) where   differentiate (Cons a m)-    | Just 1 <- M.lookup 1 m = Cons a M.empty-    | Just p <- M.lookup 1 m = Cons (a*fromInteger p) (M.adjust (subtract 1) 1 m)+    | Just p <- M.lookup 1 m = Cons (a*fromInteger p) (M.update powerPred 1 m)     | otherwise              = Cons zero M.empty+    where+      powerPred 1 = Nothing+      powerPred p = Just (p-1)  instance (ZeroTestable.C a, Field.C a, Eq a) => Field.C (T a) where   recip (Cons a pows) = if isZero a
np-extras.cabal view
@@ -1,5 +1,5 @@ name:           np-extras-version:        0.3.0.1+version:        0.3.1 license:        BSD3 license-file:   LICENSE build-type:     Simple@@ -12,6 +12,7 @@ synopsis:       NumericPrelude extras description:    Various extras to extend the NumericPrelude, including                 multivariate polynomials and factored rationals.+extra-source-files: CHANGES.md source-repository head   type:     darcs   location: http://hub.darcs.net/byorgey/np-extras