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.hs6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/Numeric/LinearAlgebra/Algorithms.hs b/lib/Numeric/LinearAlgebra/Algorithms.hs
index 1345975..7f8e84c 100644
--- a/lib/Numeric/LinearAlgebra/Algorithms.hs
+++ b/lib/Numeric/LinearAlgebra/Algorithms.hs
@@ -35,6 +35,8 @@ module Numeric.LinearAlgebra.Algorithms (
35 chol, 35 chol,
36-- ** Hessenberg 36-- ** Hessenberg
37 hess, 37 hess,
38-- ** Schur
39 schur,
38-- * Nullspace 40-- * Nullspace
39 nullspacePrec, 41 nullspacePrec,
40 nullVector, 42 nullVector,
@@ -79,6 +81,8 @@ class (Linear Matrix t) => GenMat t where
79 qr :: Matrix t -> (Matrix t, Matrix t) 81 qr :: Matrix t -> (Matrix t, Matrix t)
80 -- | Hessenberg factorization using lapack's dgehrd or zgehrd. 82 -- | Hessenberg factorization using lapack's dgehrd or zgehrd.
81 hess :: Matrix t -> (Matrix t, Matrix t) 83 hess :: Matrix t -> (Matrix t, Matrix t)
84 -- | Schur factorization using lapack's dgees or zgees.
85 schur :: Matrix t -> (Matrix t, Matrix t)
82 -- | Conjugate transpose. 86 -- | Conjugate transpose.
83 ctrans :: Matrix t -> Matrix t 87 ctrans :: Matrix t -> Matrix t
84 88
@@ -93,6 +97,7 @@ instance GenMat Double where
93 cholSH = cholS 97 cholSH = cholS
94 qr = GSL.unpackQR . qrR 98 qr = GSL.unpackQR . qrR
95 hess = unpackHess hessR 99 hess = unpackHess hessR
100 schur = schurR
96 101
97instance GenMat (Complex Double) where 102instance GenMat (Complex Double) where
98 svd = svdC 103 svd = svdC
@@ -105,6 +110,7 @@ instance GenMat (Complex Double) where
105 cholSH = cholH 110 cholSH = cholH
106 qr = unpackQR . qrC 111 qr = unpackQR . qrC
107 hess = unpackHess hessC 112 hess = unpackHess hessC
113 schur = schurC
108 114
109-- | Eigenvalues and Eigenvectors of a complex hermitian or real symmetric matrix using lapack's dsyev or zheev. If @(s,v) = eigSH m@ then @m == v \<> diag s \<> ctrans v@ 115-- | Eigenvalues and Eigenvectors of a complex hermitian or real symmetric matrix using lapack's dsyev or zheev. If @(s,v) = eigSH m@ then @m == v \<> diag s \<> ctrans v@
110eigSH :: GenMat t => Matrix t -> (Vector Double, Matrix t) 116eigSH :: GenMat t => Matrix t -> (Vector Double, Matrix t)