summaryrefslogtreecommitdiff
path: root/packages/base
diff options
context:
space:
mode:
Diffstat (limited to 'packages/base')
-rw-r--r--packages/base/hmatrix.cabal34
-rw-r--r--packages/base/src/Data/Packed/Internal/Numeric.hs1
-rw-r--r--packages/base/src/Data/Packed/Internal/Vector.hs1
-rw-r--r--packages/base/src/Data/Packed/Numeric.hs1
-rw-r--r--packages/base/src/Numeric/Chain.hs2
-rw-r--r--packages/base/src/Numeric/LinearAlgebra/Algorithms.hs5
-rw-r--r--packages/base/src/Numeric/LinearAlgebra/Static.hs28
-rw-r--r--packages/base/src/Numeric/LinearAlgebra/Util/CG.hs6
8 files changed, 25 insertions, 53 deletions
diff --git a/packages/base/hmatrix.cabal b/packages/base/hmatrix.cabal
index 3895dc1..350023f 100644
--- a/packages/base/hmatrix.cabal
+++ b/packages/base/hmatrix.cabal
@@ -1,5 +1,5 @@
1Name: hmatrix 1Name: hmatrix
2Version: 0.16.1.5 2Version: 0.17.0.0
3License: BSD3 3License: BSD3
4License-file: LICENSE 4License-file: LICENSE
5Author: Alberto Ruiz 5Author: Alberto Ruiz
@@ -39,7 +39,7 @@ flag openblas
39 39
40library 40library
41 41
42 Build-Depends: base >= 4 && < 5, 42 Build-Depends: base >= 4.8 && < 5,
43 binary, 43 binary,
44 array, 44 array,
45 deepseq, 45 deepseq,
@@ -51,27 +51,19 @@ library
51 51
52 hs-source-dirs: src 52 hs-source-dirs: src
53 53
54 exposed-modules: Data.Packed, 54 exposed-modules: Numeric.LinearAlgebra.Devel
55 Data.Packed.Vector,
56 Data.Packed.Matrix,
57 Data.Packed.Foreign,
58 Data.Packed.ST,
59 Data.Packed.Development,
60
61 Numeric.LinearAlgebra
62 Numeric.LinearAlgebra.LAPACK
63 Numeric.LinearAlgebra.Algorithms
64 Numeric.Container
65 Numeric.LinearAlgebra.Util
66
67 Numeric.LinearAlgebra.Devel
68 Numeric.LinearAlgebra.Data 55 Numeric.LinearAlgebra.Data
69 Numeric.LinearAlgebra.HMatrix 56 Numeric.LinearAlgebra.HMatrix
70 Numeric.LinearAlgebra.Static 57 Numeric.LinearAlgebra.Static
71 58 Numeric.LinearAlgebra.Util
72
73 59
74 other-modules: Data.Packed.Internal, 60 other-modules: Data.Packed,
61 Data.Packed.Vector
62 Data.Packed.Matrix
63 Data.Packed.Foreign
64 Data.Packed.ST
65 Data.Packed.Development
66 Data.Packed.Internal
75 Data.Packed.Internal.Common 67 Data.Packed.Internal.Common
76 Data.Packed.Internal.Signatures 68 Data.Packed.Internal.Signatures
77 Data.Packed.Internal.Vector 69 Data.Packed.Internal.Vector
@@ -83,6 +75,10 @@ library
83 Numeric.Matrix 75 Numeric.Matrix
84 Data.Packed.Internal.Numeric 76 Data.Packed.Internal.Numeric
85 Data.Packed.Numeric 77 Data.Packed.Numeric
78 Numeric.LinearAlgebra
79 Numeric.LinearAlgebra.LAPACK
80 Numeric.LinearAlgebra.Algorithms
81 Numeric.Container
86 Numeric.LinearAlgebra.Util.Convolution 82 Numeric.LinearAlgebra.Util.Convolution
87 Numeric.LinearAlgebra.Util.CG 83 Numeric.LinearAlgebra.Util.CG
88 Numeric.LinearAlgebra.Random 84 Numeric.LinearAlgebra.Random
diff --git a/packages/base/src/Data/Packed/Internal/Numeric.hs b/packages/base/src/Data/Packed/Internal/Numeric.hs
index 257ad73..7a4dd29 100644
--- a/packages/base/src/Data/Packed/Internal/Numeric.hs
+++ b/packages/base/src/Data/Packed/Internal/Numeric.hs
@@ -48,7 +48,6 @@ import Numeric.Conversion
48import Data.Packed.Development 48import Data.Packed.Development
49import Numeric.Vectorized 49import Numeric.Vectorized
50import Data.Complex 50import Data.Complex
51import Control.Applicative((<*>))
52 51
53import Numeric.LinearAlgebra.LAPACK(multiplyR,multiplyC,multiplyF,multiplyQ) 52import Numeric.LinearAlgebra.LAPACK(multiplyR,multiplyC,multiplyF,multiplyQ)
54import Data.Packed.Internal 53import Data.Packed.Internal
diff --git a/packages/base/src/Data/Packed/Internal/Vector.hs b/packages/base/src/Data/Packed/Internal/Vector.hs
index d0bc143..b49f379 100644
--- a/packages/base/src/Data/Packed/Internal/Vector.hs
+++ b/packages/base/src/Data/Packed/Internal/Vector.hs
@@ -35,7 +35,6 @@ import Foreign.Ptr(Ptr)
35import Foreign.Storable(Storable, peekElemOff, pokeElemOff, sizeOf) 35import Foreign.Storable(Storable, peekElemOff, pokeElemOff, sizeOf)
36import Foreign.C.Types 36import Foreign.C.Types
37import Data.Complex 37import Data.Complex
38import Control.Monad(when)
39import System.IO.Unsafe(unsafePerformIO) 38import System.IO.Unsafe(unsafePerformIO)
40 39
41#if __GLASGOW_HASKELL__ >= 605 40#if __GLASGOW_HASKELL__ >= 605
diff --git a/packages/base/src/Data/Packed/Numeric.hs b/packages/base/src/Data/Packed/Numeric.hs
index 6027f43..b2395f2 100644
--- a/packages/base/src/Data/Packed/Numeric.hs
+++ b/packages/base/src/Data/Packed/Numeric.hs
@@ -71,7 +71,6 @@ import Data.Packed
71import Data.Packed.Internal.Numeric 71import Data.Packed.Internal.Numeric
72import Data.Complex 72import Data.Complex
73import Numeric.LinearAlgebra.Algorithms(Field,linearSolveSVD) 73import Numeric.LinearAlgebra.Algorithms(Field,linearSolveSVD)
74import Data.Monoid(Monoid(mconcat))
75import Data.Packed.IO 74import Data.Packed.IO
76import Numeric.LinearAlgebra.Random 75import Numeric.LinearAlgebra.Random
77 76
diff --git a/packages/base/src/Numeric/Chain.hs b/packages/base/src/Numeric/Chain.hs
index 443bd28..64c09c0 100644
--- a/packages/base/src/Numeric/Chain.hs
+++ b/packages/base/src/Numeric/Chain.hs
@@ -1,3 +1,5 @@
1{-# LANGUAGE FlexibleContexts #-}
2
1----------------------------------------------------------------------------- 3-----------------------------------------------------------------------------
2-- | 4-- |
3-- Module : Numeric.Chain 5-- Module : Numeric.Chain
diff --git a/packages/base/src/Numeric/LinearAlgebra/Algorithms.hs b/packages/base/src/Numeric/LinearAlgebra/Algorithms.hs
index 02ac6a0..a113d48 100644
--- a/packages/base/src/Numeric/LinearAlgebra/Algorithms.hs
+++ b/packages/base/src/Numeric/LinearAlgebra/Algorithms.hs
@@ -935,10 +935,9 @@ relativeError' x y = dig (norm (x `sub` y) / norm x)
935 dig r = round $ -logBase 10 (realToFrac r :: Double) 935 dig r = round $ -logBase 10 (realToFrac r :: Double)
936 936
937 937
938relativeError :: (Normed c t, Num (c t)) => NormType -> c t -> c t -> Double 938relativeError :: Num a => (a -> Double) -> a -> a -> Double
939relativeError t a b = realToFrac r 939relativeError norm a b = r
940 where 940 where
941 norm = pnorm t
942 na = norm a 941 na = norm a
943 nb = norm b 942 nb = norm b
944 nab = norm (a-b) 943 nab = norm (a-b)
diff --git a/packages/base/src/Numeric/LinearAlgebra/Static.hs b/packages/base/src/Numeric/LinearAlgebra/Static.hs
index 3398e6a..4c3186f 100644
--- a/packages/base/src/Numeric/LinearAlgebra/Static.hs
+++ b/packages/base/src/Numeric/LinearAlgebra/Static.hs
@@ -1,5 +1,3 @@
1#if __GLASGOW_HASKELL__ >= 708
2
3{-# LANGUAGE DataKinds #-} 1{-# LANGUAGE DataKinds #-}
4{-# LANGUAGE KindSignatures #-} 2{-# LANGUAGE KindSignatures #-}
5{-# LANGUAGE GeneralizedNewtypeDeriving #-} 3{-# LANGUAGE GeneralizedNewtypeDeriving #-}
@@ -13,7 +11,6 @@
13{-# LANGUAGE TypeOperators #-} 11{-# LANGUAGE TypeOperators #-}
14{-# LANGUAGE ViewPatterns #-} 12{-# LANGUAGE ViewPatterns #-}
15{-# LANGUAGE GADTs #-} 13{-# LANGUAGE GADTs #-}
16{-# LANGUAGE OverlappingInstances #-}
17{-# LANGUAGE TypeFamilies #-} 14{-# LANGUAGE TypeFamilies #-}
18 15
19 16
@@ -184,8 +181,9 @@ a ¦ b = tr (tr a —— tr b)
184type Sq n = L n n 181type Sq n = L n n
185--type CSq n = CL n n 182--type CSq n = CL n n
186 183
187type GL = forall n m. (KnownNat n, KnownNat m) => L m n 184
188type GSq = forall n. KnownNat n => Sq n 185type GL = forall n m . (KnownNat n, KnownNat m) => L m n
186type GSq = forall n . KnownNat n => Sq n
189 187
190isKonst :: forall m n . (KnownNat m, KnownNat n) => L m n -> Maybe (ℝ,(Int,Int)) 188isKonst :: forall m n . (KnownNat m, KnownNat n) => L m n -> Maybe (ℝ,(Int,Int))
191isKonst s@(unwrap -> x) 189isKonst s@(unwrap -> x)
@@ -618,23 +616,3 @@ instance (KnownNat n', KnownNat m') => Testable (L n' m')
618 where 616 where
619 checkT _ = test 617 checkT _ = test
620 618
621#else
622
623{- |
624Module : Numeric.LinearAlgebra.Static
625Copyright : (c) Alberto Ruiz 2014
626License : BSD3
627Stability : experimental
628
629Experimental interface with statically checked dimensions.
630
631This module requires GHC >= 7.8
632
633-}
634
635module Numeric.LinearAlgebra.Static
636{-# WARNING "This module requires GHC >= 7.8" #-}
637where
638
639#endif
640
diff --git a/packages/base/src/Numeric/LinearAlgebra/Util/CG.hs b/packages/base/src/Numeric/LinearAlgebra/Util/CG.hs
index b82c74f..899a5bf 100644
--- a/packages/base/src/Numeric/LinearAlgebra/Util/CG.hs
+++ b/packages/base/src/Numeric/LinearAlgebra/Util/CG.hs
@@ -9,7 +9,7 @@ module Numeric.LinearAlgebra.Util.CG(
9import Data.Packed.Numeric 9import Data.Packed.Numeric
10import Numeric.Sparse 10import Numeric.Sparse
11import Numeric.Vector() 11import Numeric.Vector()
12import Numeric.LinearAlgebra.Algorithms(linearSolveLS, relativeError, NormType(..)) 12import Numeric.LinearAlgebra.Algorithms(linearSolveLS, relativeError, pnorm, NormType(..))
13import Control.Arrow((***)) 13import Control.Arrow((***))
14 14
15{- 15{-
@@ -142,13 +142,13 @@ instance Testable GMatrix
142 print s3; print d3 142 print s3; print d3
143 print s4; print d4 143 print s4; print d4
144 print s5; print d5 144 print s5; print d5
145 print $ relativeError Infinity s5 d5 145 print $ relativeError (pnorm Infinity) s5 d5
146 146
147 ok = s1==d1 147 ok = s1==d1
148 && s2==d2 148 && s2==d2
149 && s3==d3 149 && s3==d3
150 && s4==d4 150 && s4==d4
151 && relativeError Infinity s5 d5 < 1E-10 151 && relativeError (pnorm Infinity) s5 d5 < 1E-10
152 152
153 disp = putStr . dispf 2 153 disp = putStr . dispf 2
154 154