ad 3.2.1 → 3.2.2
raw patch · 3 files changed
+13/−1 lines, 3 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
+ Numeric.AD: conjugateGradientAscent :: (Traversable f, Fractional a, Ord a) => (forall s. Mode s => f (AD s a) -> AD s a) -> f a -> [f a]
+ Numeric.AD: conjugateGradientDescent :: (Traversable f, Fractional a, Ord a) => (forall s. Mode s => f (AD s a) -> AD s a) -> f a -> [f a]
+ Numeric.AD: gradientAscent :: (Traversable f, Fractional a, Ord a) => (forall s. Mode s => f (AD s a) -> AD s a) -> f a -> [f a]
+ Numeric.AD: gradientDescent :: (Traversable f, Fractional a, Ord a) => (forall s. Mode s => f (AD s a) -> AD s a) -> f a -> [f a]
Files
- CHANGELOG.markdown +4/−0
- ad.cabal +1/−1
- src/Numeric/AD.hs +8/−0
CHANGELOG.markdown view
@@ -1,3 +1,7 @@+3.2.2+-----+* Export of the `conjugateGradientDescent` and `gradientDescent` from `Numeric.AD`+ 3.2.1 --- * `conjugateGradientDescent` now stops before it starts returning NaN results.
ad.cabal view
@@ -1,5 +1,5 @@ name: ad-version: 3.2.1+version: 3.2.2 license: BSD3 license-File: LICENSE copyright: (c) Edward Kmett 2010-2012,
src/Numeric/AD.hs view
@@ -108,6 +108,12 @@ -- * Maclaurin Series (Tower) , maclaurin , maclaurin0++ -- * Gradient Descent+ , gradientDescent+ , gradientAscent+ , conjugateGradientDescent+ , conjugateGradientAscent ) where import Data.Traversable (Traversable)@@ -136,6 +142,8 @@ import qualified Numeric.AD.Mode.Sparse as Sparse import Numeric.AD.Mode.Sparse ( grads, jacobians, hessian', hessianF')++import Numeric.AD.Newton -- | Calculate the Jacobian of a non-scalar-to-non-scalar function, automatically choosing between forward and reverse mode AD based on the number of inputs and outputs. --