diff options
Diffstat (limited to 'lib/Numeric/LinearAlgebra')
-rw-r--r-- | lib/Numeric/LinearAlgebra/Algorithms.hs | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Numeric/LinearAlgebra/Algorithms.hs b/lib/Numeric/LinearAlgebra/Algorithms.hs index 2c5f44c..00a0ab0 100644 --- a/lib/Numeric/LinearAlgebra/Algorithms.hs +++ b/lib/Numeric/LinearAlgebra/Algorithms.hs | |||
@@ -143,8 +143,12 @@ instance Field (Complex Double) where | |||
143 | #if defined(WORKAROUND) | 143 | #if defined(WORKAROUND) |
144 | multiply = mulCW | 144 | multiply = mulCW |
145 | #else | 145 | #else |
146 | #if defined(EXPOSEBUG) | ||
147 | multiply = multiplyC | ||
148 | #else | ||
146 | multiply = multiplyC3 | 149 | multiply = multiplyC3 |
147 | #endif | 150 | #endif |
151 | #endif | ||
148 | 152 | ||
149 | -- | Eigenvalues and Eigenvectors of a complex hermitian or real symmetric matrix using lapack's dsyev or zheev. | 153 | -- | Eigenvalues and Eigenvectors of a complex hermitian or real symmetric matrix using lapack's dsyev or zheev. |
150 | -- | 154 | -- |
@@ -664,7 +668,9 @@ cmultiply f st a b | |||
664 | = unsafePerformIO $ do | 668 | = unsafePerformIO $ do |
665 | s <- createMatrix RowMajor (rows a) (cols b) | 669 | s <- createMatrix RowMajor (rows a) (cols b) |
666 | app3 f mat a mat b mat s st | 670 | app3 f mat a mat b mat s st |
667 | if toLists s== toLists s then return s else error $ "BRUTAL " ++ (show (toLists s)) | 671 | if toLists s== toLists s |
672 | then return s | ||
673 | else error $ "NaN FOUND!! " ++ (show (toLists s)) | ||
668 | -- return s | 674 | -- return s |
669 | -- | otherwise = error $ st ++ " (matrix product) of nonconformant matrices" | 675 | -- | otherwise = error $ st ++ " (matrix product) of nonconformant matrices" |
670 | 676 | ||