summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/base/hmatrix.cabal2
-rw-r--r--packages/base/src/Numeric/Container.hs6
-rw-r--r--packages/base/src/Numeric/LinearAlgebra/Compat.hs25
-rw-r--r--packages/base/src/Numeric/LinearAlgebra/Random.hs3
-rw-r--r--packages/gsl/src/Numeric/GSL/Random.hs8
-rw-r--r--packages/tests/src/Numeric/LinearAlgebra/Tests.hs13
-rw-r--r--packages/tests/src/Numeric/LinearAlgebra/Tests/Properties.hs10
7 files changed, 50 insertions, 17 deletions
diff --git a/packages/base/hmatrix.cabal b/packages/base/hmatrix.cabal
index 5f3c48e..1948897 100644
--- a/packages/base/hmatrix.cabal
+++ b/packages/base/hmatrix.cabal
@@ -46,6 +46,8 @@ library
46 Numeric.LinearAlgebra 46 Numeric.LinearAlgebra
47 Numeric.LinearAlgebra.Devel 47 Numeric.LinearAlgebra.Devel
48 Numeric.LinearAlgebra.Data 48 Numeric.LinearAlgebra.Data
49
50 Numeric.LinearAlgebra.Compat
49 51
50 other-modules: Data.Packed.Internal, 52 other-modules: Data.Packed.Internal,
51 Data.Packed.Internal.Common, 53 Data.Packed.Internal.Common,
diff --git a/packages/base/src/Numeric/Container.hs b/packages/base/src/Numeric/Container.hs
index c715dac..264a619 100644
--- a/packages/base/src/Numeric/Container.hs
+++ b/packages/base/src/Numeric/Container.hs
@@ -40,6 +40,11 @@ module Numeric.Container (
40 optimiseMult, 40 optimiseMult,
41 mXm,mXv,vXm,LSDiv(..), 41 mXm,mXv,vXm,LSDiv(..),
42 outer, kronecker, 42 outer, kronecker,
43 -- * Random numbers
44 RandDist(..),
45 randomVector,
46 gaussianSample,
47 uniformSample,
43 -- * Element conversion 48 -- * Element conversion
44 Convert(..), 49 Convert(..),
45 Complexable(), 50 Complexable(),
@@ -59,6 +64,7 @@ import Data.Complex
59import Numeric.LinearAlgebra.Algorithms(Field,linearSolveSVD) 64import Numeric.LinearAlgebra.Algorithms(Field,linearSolveSVD)
60import Data.Monoid(Monoid(mconcat)) 65import Data.Monoid(Monoid(mconcat))
61import Data.Packed.IO 66import Data.Packed.IO
67import Numeric.LinearAlgebra.Random
62 68
63------------------------------------------------------------------ 69------------------------------------------------------------------
64 70
diff --git a/packages/base/src/Numeric/LinearAlgebra/Compat.hs b/packages/base/src/Numeric/LinearAlgebra/Compat.hs
new file mode 100644
index 0000000..7b43365
--- /dev/null
+++ b/packages/base/src/Numeric/LinearAlgebra/Compat.hs
@@ -0,0 +1,25 @@
1-----------------------------------------------------------------------------
2{- |
3Module : Numeric.LinearAlgebra.Compat
4Copyright : (c) Alberto Ruiz 2006-14
5License : BSD3
6Maintainer : Alberto Ruiz
7Stability : provisional
8
9-}
10-----------------------------------------------------------------------------
11{-# OPTIONS_HADDOCK hide #-}
12
13module Numeric.LinearAlgebra.Compat (
14 module Numeric.Container,
15 module Numeric.LinearAlgebra.Algorithms,
16 meanCov
17) where
18
19import Numeric.Container
20import Numeric.LinearAlgebra.Algorithms
21import Numeric.Matrix()
22import Numeric.Vector()
23import Numeric.LinearAlgebra.Util(meanCov)
24
25
diff --git a/packages/base/src/Numeric/LinearAlgebra/Random.hs b/packages/base/src/Numeric/LinearAlgebra/Random.hs
index 7afd658..b66988e 100644
--- a/packages/base/src/Numeric/LinearAlgebra/Random.hs
+++ b/packages/base/src/Numeric/LinearAlgebra/Random.hs
@@ -20,7 +20,8 @@ module Numeric.LinearAlgebra.Random (
20) where 20) where
21 21
22import Numeric.Vectorized 22import Numeric.Vectorized
23import Numeric.Container 23import Data.Packed
24import Data.Packed.Internal.Numeric
24import Numeric.LinearAlgebra.Algorithms 25import Numeric.LinearAlgebra.Algorithms
25import System.Random(randomIO) 26import System.Random(randomIO)
26 27
diff --git a/packages/gsl/src/Numeric/GSL/Random.hs b/packages/gsl/src/Numeric/GSL/Random.hs
index 2872b17..2594d27 100644
--- a/packages/gsl/src/Numeric/GSL/Random.hs
+++ b/packages/gsl/src/Numeric/GSL/Random.hs
@@ -21,8 +21,12 @@ module Numeric.GSL.Random (
21) where 21) where
22 22
23import Numeric.GSL.Vector 23import Numeric.GSL.Vector
24import Numeric.Container 24import Numeric.LinearAlgebra(Seed,cholSH)
25import Numeric.LinearAlgebra(Seed,RandDist(..),cholSH) 25import Numeric.Container hiding (
26 randomVector,
27 gaussianSample,
28 uniformSample
29 )
26import System.Random(randomIO) 30import System.Random(randomIO)
27 31
28 32
diff --git a/packages/tests/src/Numeric/LinearAlgebra/Tests.hs b/packages/tests/src/Numeric/LinearAlgebra/Tests.hs
index e4f0846..55a805a 100644
--- a/packages/tests/src/Numeric/LinearAlgebra/Tests.hs
+++ b/packages/tests/src/Numeric/LinearAlgebra/Tests.hs
@@ -25,8 +25,9 @@ module Numeric.LinearAlgebra.Tests(
25) where 25) where
26 26
27--import Data.Packed.Random 27--import Data.Packed.Random
28import Numeric.LinearAlgebra 28import Numeric.LinearAlgebra.Compat
29import Numeric.Container 29import Numeric.LinearAlgebra.Util(row,col)
30import Data.Packed
30import Numeric.LinearAlgebra.LAPACK 31import Numeric.LinearAlgebra.LAPACK
31import Numeric.LinearAlgebra.Tests.Instances 32import Numeric.LinearAlgebra.Tests.Instances
32import Numeric.LinearAlgebra.Tests.Properties 33import Numeric.LinearAlgebra.Tests.Properties
@@ -67,10 +68,6 @@ a ~~ b = fromList a |~| fromList b
67 68
68feye n = flipud (ident n) :: Matrix Double 69feye n = flipud (ident n) :: Matrix Double
69 70
70eps = peps :: Double
71
72i = 0 :+ 1 :: Complex Double
73
74 71
75----------------------------------------------------------- 72-----------------------------------------------------------
76 73
@@ -466,10 +463,10 @@ kroneckerTest = utest "kronecker" ok
466 x = (4><2) [3,5..] 463 x = (4><2) [3,5..]
467 b = (2><5) [0,5..] 464 b = (2><5) [0,5..]
468 v1 = vec (a <> x <> b) 465 v1 = vec (a <> x <> b)
469 v2 = (trans b `kronecker` a) <> vec x 466 v2 = (trans b `kronecker` a) <.> vec x
470 s = trans b <> b 467 s = trans b <> b
471 v3 = vec s 468 v3 = vec s
472 v4 = dup 5 <> vech s 469 v4 = (dup 5 :: Matrix Double) <.> vech s
473 ok = v1 == v2 && v3 == v4 470 ok = v1 == v2 && v3 == v4
474 && vtrans 1 a == trans a 471 && vtrans 1 a == trans a
475 && vtrans (rows a) a == asColumn (vec a) 472 && vtrans (rows a) a == asColumn (vec a)
diff --git a/packages/tests/src/Numeric/LinearAlgebra/Tests/Properties.hs b/packages/tests/src/Numeric/LinearAlgebra/Tests/Properties.hs
index 81cbf61..70d36e8 100644
--- a/packages/tests/src/Numeric/LinearAlgebra/Tests/Properties.hs
+++ b/packages/tests/src/Numeric/LinearAlgebra/Tests/Properties.hs
@@ -43,9 +43,7 @@ module Numeric.LinearAlgebra.Tests.Properties (
43 linearSolveProp, linearSolveProp2 43 linearSolveProp, linearSolveProp2
44) where 44) where
45 45
46import Numeric.LinearAlgebra --hiding (real,complex) 46import Numeric.LinearAlgebra.Compat --hiding (real,complex)
47import Numeric.LinearAlgebra.Devel
48import Numeric.Container
49import Numeric.LinearAlgebra.LAPACK 47import Numeric.LinearAlgebra.LAPACK
50import Debug.Trace 48import Debug.Trace
51import Test.QuickCheck(Arbitrary,arbitrary,coarbitrary,choose,vector 49import Test.QuickCheck(Arbitrary,arbitrary,coarbitrary,choose,vector
@@ -95,13 +93,13 @@ positiveDefinite m = minimum (toList e) > 0
95 93
96upperTriang m = rows m == 1 || down == z 94upperTriang m = rows m == 1 || down == z
97 where down = fromList $ concat $ zipWith drop [1..] (toLists (ctrans m)) 95 where down = fromList $ concat $ zipWith drop [1..] (toLists (ctrans m))
98 z = constant 0 (dim down) 96 z = konst 0 (dim down)
99 97
100upperHessenberg m = rows m < 3 || down == z 98upperHessenberg m = rows m < 3 || down == z
101 where down = fromList $ concat $ zipWith drop [2..] (toLists (ctrans m)) 99 where down = fromList $ concat $ zipWith drop [2..] (toLists (ctrans m))
102 z = constant 0 (dim down) 100 z = konst 0 (dim down)
103 101
104zeros (r,c) = reshape c (constant 0 (r*c)) 102zeros (r,c) = reshape c (konst 0 (r*c))
105 103
106ones (r,c) = zeros (r,c) + 1 104ones (r,c) = zeros (r,c) + 1
107 105