Safe Haskell | None |
---|---|
Language | Haskell2010 |
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}).