| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Numeric.LinearAlgebra.SVD.SVDLIBC
Synopsis
- svd :: Int -> Matrix Double -> (Matrix Double, Vector Double, Matrix Double)
- svd' :: SVDParams -> Int -> Matrix Double -> (Matrix Double, Vector Double, Matrix Double)
- sparsify :: Matrix Double -> CSR
- sparseSvd :: Int -> CSR -> (Matrix Double, Vector Double, Matrix Double)
- sparseSvd' :: SVDParams -> Int -> CSR -> (Matrix Double, Vector Double, Matrix Double)
- data SVDParams = SVDParams {}
- defaultSVDParams :: SVDParams
Singular value decomposition
svd :: Int -> Matrix Double -> (Matrix Double, Vector Double, Matrix Double) Source #
svd rank a is the sparse SVD of matrix a with the given rank
This function handles the conversion to svdlibc's sparse representation.
Sparse SVD
sparseSvd :: Int -> CSR -> (Matrix Double, Vector Double, Matrix Double) Source #
sparseSvd rank a is the sparse SVD of matrix a with the given rank
This function handles the conversion to svdlibc's sparse representation,
but does not require making the whole matrix dense first
Parameters
defaultSVDParams :: SVDParams Source #
No iteration limit, exclude eigenvalues in range ((-10^{-30}, +10^{-30}),
kappa of 10^{-6}).