diff options
-rw-r--r-- | packages/base/hmatrix.cabal | 2 | ||||
-rw-r--r-- | packages/base/src/Numeric/Container.hs | 6 | ||||
-rw-r--r-- | packages/base/src/Numeric/LinearAlgebra/Compat.hs | 25 | ||||
-rw-r--r-- | packages/base/src/Numeric/LinearAlgebra/Random.hs | 3 | ||||
-rw-r--r-- | packages/gsl/src/Numeric/GSL/Random.hs | 8 | ||||
-rw-r--r-- | packages/tests/src/Numeric/LinearAlgebra/Tests.hs | 13 | ||||
-rw-r--r-- | packages/tests/src/Numeric/LinearAlgebra/Tests/Properties.hs | 10 |
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 | |||
59 | import Numeric.LinearAlgebra.Algorithms(Field,linearSolveSVD) | 64 | import Numeric.LinearAlgebra.Algorithms(Field,linearSolveSVD) |
60 | import Data.Monoid(Monoid(mconcat)) | 65 | import Data.Monoid(Monoid(mconcat)) |
61 | import Data.Packed.IO | 66 | import Data.Packed.IO |
67 | import 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 | {- | | ||
3 | Module : Numeric.LinearAlgebra.Compat | ||
4 | Copyright : (c) Alberto Ruiz 2006-14 | ||
5 | License : BSD3 | ||
6 | Maintainer : Alberto Ruiz | ||
7 | Stability : provisional | ||
8 | |||
9 | -} | ||
10 | ----------------------------------------------------------------------------- | ||
11 | {-# OPTIONS_HADDOCK hide #-} | ||
12 | |||
13 | module Numeric.LinearAlgebra.Compat ( | ||
14 | module Numeric.Container, | ||
15 | module Numeric.LinearAlgebra.Algorithms, | ||
16 | meanCov | ||
17 | ) where | ||
18 | |||
19 | import Numeric.Container | ||
20 | import Numeric.LinearAlgebra.Algorithms | ||
21 | import Numeric.Matrix() | ||
22 | import Numeric.Vector() | ||
23 | import 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 | ||
22 | import Numeric.Vectorized | 22 | import Numeric.Vectorized |
23 | import Numeric.Container | 23 | import Data.Packed |
24 | import Data.Packed.Internal.Numeric | ||
24 | import Numeric.LinearAlgebra.Algorithms | 25 | import Numeric.LinearAlgebra.Algorithms |
25 | import System.Random(randomIO) | 26 | import 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 | ||
23 | import Numeric.GSL.Vector | 23 | import Numeric.GSL.Vector |
24 | import Numeric.Container | 24 | import Numeric.LinearAlgebra(Seed,cholSH) |
25 | import Numeric.LinearAlgebra(Seed,RandDist(..),cholSH) | 25 | import Numeric.Container hiding ( |
26 | randomVector, | ||
27 | gaussianSample, | ||
28 | uniformSample | ||
29 | ) | ||
26 | import System.Random(randomIO) | 30 | import 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 |
28 | import Numeric.LinearAlgebra | 28 | import Numeric.LinearAlgebra.Compat |
29 | import Numeric.Container | 29 | import Numeric.LinearAlgebra.Util(row,col) |
30 | import Data.Packed | ||
30 | import Numeric.LinearAlgebra.LAPACK | 31 | import Numeric.LinearAlgebra.LAPACK |
31 | import Numeric.LinearAlgebra.Tests.Instances | 32 | import Numeric.LinearAlgebra.Tests.Instances |
32 | import Numeric.LinearAlgebra.Tests.Properties | 33 | import Numeric.LinearAlgebra.Tests.Properties |
@@ -67,10 +68,6 @@ a ~~ b = fromList a |~| fromList b | |||
67 | 68 | ||
68 | feye n = flipud (ident n) :: Matrix Double | 69 | feye n = flipud (ident n) :: Matrix Double |
69 | 70 | ||
70 | eps = peps :: Double | ||
71 | |||
72 | i = 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 | ||
46 | import Numeric.LinearAlgebra --hiding (real,complex) | 46 | import Numeric.LinearAlgebra.Compat --hiding (real,complex) |
47 | import Numeric.LinearAlgebra.Devel | ||
48 | import Numeric.Container | ||
49 | import Numeric.LinearAlgebra.LAPACK | 47 | import Numeric.LinearAlgebra.LAPACK |
50 | import Debug.Trace | 48 | import Debug.Trace |
51 | import Test.QuickCheck(Arbitrary,arbitrary,coarbitrary,choose,vector | 49 | import Test.QuickCheck(Arbitrary,arbitrary,coarbitrary,choose,vector |
@@ -95,13 +93,13 @@ positiveDefinite m = minimum (toList e) > 0 | |||
95 | 93 | ||
96 | upperTriang m = rows m == 1 || down == z | 94 | upperTriang 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 | ||
100 | upperHessenberg m = rows m < 3 || down == z | 98 | upperHessenberg 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 | ||
104 | zeros (r,c) = reshape c (constant 0 (r*c)) | 102 | zeros (r,c) = reshape c (konst 0 (r*c)) |
105 | 103 | ||
106 | ones (r,c) = zeros (r,c) + 1 | 104 | ones (r,c) = zeros (r,c) + 1 |
107 | 105 | ||