diff options
Diffstat (limited to 'lib/Numeric/LinearAlgebra')
-rw-r--r-- | lib/Numeric/LinearAlgebra/Algorithms.hs | 2 | ||||
-rw-r--r-- | lib/Numeric/LinearAlgebra/LAPACK.hs | 2 | ||||
-rw-r--r-- | lib/Numeric/LinearAlgebra/Tests.hs | 27 |
3 files changed, 28 insertions, 3 deletions
diff --git a/lib/Numeric/LinearAlgebra/Algorithms.hs b/lib/Numeric/LinearAlgebra/Algorithms.hs index 5bc9ca5..f2f5473 100644 --- a/lib/Numeric/LinearAlgebra/Algorithms.hs +++ b/lib/Numeric/LinearAlgebra/Algorithms.hs | |||
@@ -76,8 +76,6 @@ module Numeric.LinearAlgebra.Algorithms ( | |||
76 | 76 | ||
77 | import Data.Packed.Internal hiding ((//)) | 77 | import Data.Packed.Internal hiding ((//)) |
78 | import Data.Packed.Matrix | 78 | import Data.Packed.Matrix |
79 | import Data.Complex | ||
80 | |||
81 | import Numeric.LinearAlgebra.LAPACK as LAPACK | 79 | import Numeric.LinearAlgebra.LAPACK as LAPACK |
82 | import Data.List(foldl1') | 80 | import Data.List(foldl1') |
83 | import Data.Array | 81 | import Data.Array |
diff --git a/lib/Numeric/LinearAlgebra/LAPACK.hs b/lib/Numeric/LinearAlgebra/LAPACK.hs index 288439f..cb48571 100644 --- a/lib/Numeric/LinearAlgebra/LAPACK.hs +++ b/lib/Numeric/LinearAlgebra/LAPACK.hs | |||
@@ -43,7 +43,7 @@ module Numeric.LinearAlgebra.LAPACK ( | |||
43 | 43 | ||
44 | import Data.Packed.Internal | 44 | import Data.Packed.Internal |
45 | import Data.Packed.Matrix | 45 | import Data.Packed.Matrix |
46 | import Data.Complex | 46 | --import Data.Complex |
47 | import Numeric.Conversion | 47 | import Numeric.Conversion |
48 | import Numeric.GSL.Vector(vectorMapValR, FunCodeSV(Scale)) | 48 | import Numeric.GSL.Vector(vectorMapValR, FunCodeSV(Scale)) |
49 | import Foreign | 49 | import Foreign |
diff --git a/lib/Numeric/LinearAlgebra/Tests.hs b/lib/Numeric/LinearAlgebra/Tests.hs index 426700b..2d5b0da 100644 --- a/lib/Numeric/LinearAlgebra/Tests.hs +++ b/lib/Numeric/LinearAlgebra/Tests.hs | |||
@@ -271,6 +271,31 @@ normsMTest = TestList [ | |||
271 | 271 | ||
272 | --------------------------------------------------------------------- | 272 | --------------------------------------------------------------------- |
273 | 273 | ||
274 | sumprodTest = TestList [ | ||
275 | utest "sumCD" $ sumElements z == 6 | ||
276 | , utest "sumCF" $ sumElements (single z) == 6 | ||
277 | , utest "sumD" $ sumElements v == 6 | ||
278 | , utest "sumF" $ sumElements (single v) == 6 | ||
279 | |||
280 | , utest "prodCD" $ prodProp z | ||
281 | , utest "prodCF" $ prodProp (single z) | ||
282 | , utest "prodD" $ prodProp v | ||
283 | , utest "prodF" $ prodProp (single v) | ||
284 | ] where v = fromList [1,2,3] :: Vector Double | ||
285 | z = fromList [1,2-i,3+i] | ||
286 | prodProp x = prodElements x == product (toList x) | ||
287 | |||
288 | --------------------------------------------------------------------- | ||
289 | |||
290 | chainTest = utest "chain" $ foldl1' (<>) ms |~| chain ms where | ||
291 | ms = [ diag (fromList [1,2,3 :: Double]) | ||
292 | , konst 3 (3,5) | ||
293 | , (5><10) [1 .. ] | ||
294 | , konst 5 (10,2) | ||
295 | ] | ||
296 | |||
297 | --------------------------------------------------------------------- | ||
298 | |||
274 | conjuTest m = mapVector conjugate (flatten (trans m)) == flatten (ctrans m) | 299 | conjuTest m = mapVector conjugate (flatten (trans m)) == flatten (ctrans m) |
275 | 300 | ||
276 | --------------------------------------------------------------------- | 301 | --------------------------------------------------------------------- |
@@ -439,6 +464,8 @@ runTests n = do | |||
439 | , utest "offset" offsetTest | 464 | , utest "offset" offsetTest |
440 | , normsVTest | 465 | , normsVTest |
441 | , normsMTest | 466 | , normsMTest |
467 | , sumprodTest | ||
468 | , chainTest | ||
442 | ] | 469 | ] |
443 | return () | 470 | return () |
444 | 471 | ||