summaryrefslogtreecommitdiff
path: root/lib/Numeric/LinearAlgebra/Algorithms.hs
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Numeric/LinearAlgebra/Algorithms.hs')
-rw-r--r--lib/Numeric/LinearAlgebra/Algorithms.hs5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/Numeric/LinearAlgebra/Algorithms.hs b/lib/Numeric/LinearAlgebra/Algorithms.hs
index f4f8bca..dd93db2 100644
--- a/lib/Numeric/LinearAlgebra/Algorithms.hs
+++ b/lib/Numeric/LinearAlgebra/Algorithms.hs
@@ -392,7 +392,7 @@ eps = 2.22044604925031e-16
392 392
393-- | 1 + 0.5*peps == 1, 1 + 0.6*peps /= 1 393-- | 1 + 0.5*peps == 1, 1 + 0.6*peps /= 1
394peps :: RealFloat x => x 394peps :: RealFloat x => x
395peps = x where x = 2.0**(fromIntegral $ 1-floatDigits x) 395peps = x where x = 2.0 ** fromIntegral (1 - floatDigits x)
396 396
397 397
398-- | The imaginary unit: @i = 0.0 :+ 1.0@ 398-- | The imaginary unit: @i = 0.0 :+ 1.0@
@@ -553,8 +553,7 @@ epslist = [ (fromIntegral k, golubeps k k) | k <- [1..]]
553geps delta = head [ k | (k,g) <- epslist, g<delta] 553geps delta = head [ k | (k,g) <- epslist, g<delta]
554 554
555expGolub m = iterate msq f !! j 555expGolub m = iterate msq f !! j
556 where j = max 0 $ floor $ log2 $ pnorm Infinity m 556 where j = max 0 $ floor $ logBase 2 $ pnorm Infinity m
557 log2 x = log x / log 2
558 a = m */ fromIntegral ((2::Int)^j) 557 a = m */ fromIntegral ((2::Int)^j)
559 q = geps eps -- 7 steps 558 q = geps eps -- 7 steps
560 eye = ident (rows m) 559 eye = ident (rows m)