summaryrefslogtreecommitdiff
path: root/lib/Numeric/LinearAlgebra
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Numeric/LinearAlgebra')
-rw-r--r--lib/Numeric/LinearAlgebra/Algorithms.hs2
-rw-r--r--lib/Numeric/LinearAlgebra/LAPACK.hs2
-rw-r--r--lib/Numeric/LinearAlgebra/Tests.hs27
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
77import Data.Packed.Internal hiding ((//)) 77import Data.Packed.Internal hiding ((//))
78import Data.Packed.Matrix 78import Data.Packed.Matrix
79import Data.Complex
80
81import Numeric.LinearAlgebra.LAPACK as LAPACK 79import Numeric.LinearAlgebra.LAPACK as LAPACK
82import Data.List(foldl1') 80import Data.List(foldl1')
83import Data.Array 81import 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
44import Data.Packed.Internal 44import Data.Packed.Internal
45import Data.Packed.Matrix 45import Data.Packed.Matrix
46import Data.Complex 46--import Data.Complex
47import Numeric.Conversion 47import Numeric.Conversion
48import Numeric.GSL.Vector(vectorMapValR, FunCodeSV(Scale)) 48import Numeric.GSL.Vector(vectorMapValR, FunCodeSV(Scale))
49import Foreign 49import 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
274sumprodTest = 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
290chainTest = 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
274conjuTest m = mapVector conjugate (flatten (trans m)) == flatten (ctrans m) 299conjuTest 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