summaryrefslogtreecommitdiff
path: root/packages/base/src/Numeric
diff options
context:
space:
mode:
Diffstat (limited to 'packages/base/src/Numeric')
-rw-r--r--packages/base/src/Numeric/LinearAlgebra/LAPACK.hs7
1 files changed, 6 insertions, 1 deletions
diff --git a/packages/base/src/Numeric/LinearAlgebra/LAPACK.hs b/packages/base/src/Numeric/LinearAlgebra/LAPACK.hs
index d96e14f..219d996 100644
--- a/packages/base/src/Numeric/LinearAlgebra/LAPACK.hs
+++ b/packages/base/src/Numeric/LinearAlgebra/LAPACK.hs
@@ -14,7 +14,7 @@
14 14
15module Numeric.LinearAlgebra.LAPACK ( 15module Numeric.LinearAlgebra.LAPACK (
16 -- * Matrix product 16 -- * Matrix product
17 multiplyR, multiplyC, multiplyF, multiplyQ, 17 multiplyR, multiplyC, multiplyF, multiplyQ, multiplyI,
18 -- * Linear systems 18 -- * Linear systems
19 linearSolveR, linearSolveC, 19 linearSolveR, linearSolveC,
20 mbLinearSolveR, mbLinearSolveC, 20 mbLinearSolveR, mbLinearSolveC,
@@ -58,6 +58,7 @@ foreign import ccall unsafe "multiplyR" dgemmc :: CInt -> CInt -> TMMM
58foreign import ccall unsafe "multiplyC" zgemmc :: CInt -> CInt -> TCMCMCM 58foreign import ccall unsafe "multiplyC" zgemmc :: CInt -> CInt -> TCMCMCM
59foreign import ccall unsafe "multiplyF" sgemmc :: CInt -> CInt -> TFMFMFM 59foreign import ccall unsafe "multiplyF" sgemmc :: CInt -> CInt -> TFMFMFM
60foreign import ccall unsafe "multiplyQ" cgemmc :: CInt -> CInt -> TQMQMQM 60foreign import ccall unsafe "multiplyQ" cgemmc :: CInt -> CInt -> TQMQMQM
61foreign import ccall unsafe "multiplyI" c_multiplyI :: CInt -> CInt -> (CM CInt (CM CInt (CM CInt (IO CInt))))
61 62
62isT Matrix{order = ColumnMajor} = 0 63isT Matrix{order = ColumnMajor} = 0
63isT Matrix{order = RowMajor} = 1 64isT Matrix{order = RowMajor} = 1
@@ -88,6 +89,10 @@ multiplyF a b = multiplyAux sgemmc "sgemmc" a b
88multiplyQ :: Matrix (Complex Float) -> Matrix (Complex Float) -> Matrix (Complex Float) 89multiplyQ :: Matrix (Complex Float) -> Matrix (Complex Float) -> Matrix (Complex Float)
89multiplyQ a b = multiplyAux cgemmc "cgemmc" a b 90multiplyQ a b = multiplyAux cgemmc "cgemmc" a b
90 91
92multiplyI :: Matrix CInt -> Matrix CInt -> Matrix CInt
93multiplyI = multiplyAux c_multiplyI "c_multiplyI"
94
95
91----------------------------------------------------------------------------- 96-----------------------------------------------------------------------------
92foreign import ccall unsafe "svd_l_R" dgesvd :: TMMVM 97foreign import ccall unsafe "svd_l_R" dgesvd :: TMMVM
93foreign import ccall unsafe "svd_l_C" zgesvd :: TCMCMVCM 98foreign import ccall unsafe "svd_l_C" zgesvd :: TCMCMVCM