diff options
Diffstat (limited to 'lib/Numeric/LinearAlgebra/Algorithms.hs')
-rw-r--r-- | lib/Numeric/LinearAlgebra/Algorithms.hs | 6 |
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 | ||
97 | instance GenMat (Complex Double) where | 102 | instance 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@ |
110 | eigSH :: GenMat t => Matrix t -> (Vector Double, Matrix t) | 116 | eigSH :: GenMat t => Matrix t -> (Vector Double, Matrix t) |