packages feed

sparse-linear-algebra 0.2.9.3 → 0.2.9.4

raw patch · 2 files changed

+11/−10 lines, 2 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

sparse-linear-algebra.cabal view
@@ -1,5 +1,5 @@ name:                sparse-linear-algebra-version:             0.2.9.3+version:             0.2.9.4 synopsis:            Numerical computation in native Haskell description:   /Overview/
src/Numeric/LinearAlgebra/Sparse.hs view
@@ -57,7 +57,7 @@          fromListSV, toListSV,          -- ** From/to SpMatrix          fromListSM, toListSM,-         -- ** Packing/unpacking rows/columns of a sparse matrix+         -- ** Packing and unpacking, rows or columns of a sparse matrix          -- *** ", using lists as container          fromRowsL, toRowsL,          fromColsL, toColsL,@@ -313,7 +313,7 @@         Int      -> Bool           -- ^ Print debug information              -> SpMatrix a     -- ^ Operand matrix-     -> m (SpVector a) -- ^ Eigenvalues+     -> m (SpVector a) -- ^ Eigenvalues {λ_i} eigsQR nitermax debq m = pf <$> untilConvergedGM "eigsQR" c (const True) stepf m   where     pf = extractDiagDense@@ -344,13 +344,13 @@       return (b', mu')  --- | `eigsArnoldi n aa b` computes at most n iterations of the Arnoldi algorithm to find a Krylov subspace of (A, b), denoted Q, along with a Hessenberg matrix of coefficients H. After that, it computes the QR decomposition of H, denoted (O, R) and the eigenvalues of A are listed on the diagonal of the R factor.+-- | `eigsArnoldi n aa b` computes at most n iterations of the Arnoldi algorithm to find a Krylov subspace of (A, b), denoted Q, along with a Hessenberg matrix of coefficients H. After that, it computes the QR decomposition of H, denoted (O, R) and the eigenvalues {λ_i} of A are listed on the diagonal of the R factor. eigsArnoldi :: (Scalar (SpVector t) ~ t, MatrixType (SpVector t) ~ SpMatrix t,       Elt t, V (SpVector t), MatrixRing (SpMatrix t), Epsilon t, MonadThrow m) =>      Int      -> SpMatrix t      -> SpVector t-     -> m (SpMatrix t, SpMatrix t, SpVector t) -- ^ Q, O, R+     -> m (SpMatrix t, SpMatrix t, SpVector t) -- ^ Q, O, {λ_i} eigsArnoldi nitermax aa b = do   (q, h) <- arnoldi aa b nitermax   (o, r) <- qr h@@ -404,7 +404,8 @@  -- * Cholesky factorization --- | Given a positive semidefinite matrix A, returns a lower-triangular matrix L such that L L^T = A . This is an implementation of the Cholesky–Banachiewicz algorithm, i.e. proceeding row by row from the upper-left corner and initializing the diagonal of the L matrix to ones.+-- | Given a positive semidefinite matrix A, returns a lower-triangular matrix L such that L L^T = A . This is an implementation of the Cholesky–Banachiewicz algorithm, i.e. proceeding row by row from the upper-left corner.+-- | NB: The algorithm throws an exception if some diagonal element of A is zero. chol :: (Elt a, Epsilon a, MonadThrow m) =>         SpMatrix a      -> m (SpMatrix a)  -- ^ L@@ -462,7 +463,7 @@  -- * LU factorization --- | Given a matrix A, returns a pair of matrices (L, U) where L is lower triangular and U is upper triangular such that L U = A . Implements the Doolittle algorithm, which expects all diagonal entries of A to be nonzero. Apply pivoting (row or column permutation) otherwise.+-- | Given a matrix A, returns a pair of matrices (L, U) where L is lower triangular and U is upper triangular such that L U = A . Implements the Doolittle algorithm, which sets the diagonal of the L matrix to ones and expects all diagonal entries of A to be nonzero. Apply pivoting (row or column permutation) to enforce a nonzero diagonal of the A matrix (the algorithm throws an appropriate exception otherwise). lu :: (Scalar (SpVector t) ~ t, Elt t, VectorSpace (SpVector t), Epsilon t,         MonadThrow m) =>      SpMatrix t@@ -663,7 +664,7 @@ triLowerSolve :: (Scalar (SpVector t) ~ t, Elt t, InnerSpace (SpVector t),       Epsilon t, MonadThrow m) =>      SpMatrix t    -- ^ Lower triangular-     -> SpVector t+     -> SpVector t -- ^ r.h.s      -> m (SpVector t) triLowerSolve ll b = do   let q (_, i) = i == nb@@ -697,7 +698,7 @@ triUpperSolve :: (Scalar (SpVector t) ~ t, Elt t, InnerSpace (SpVector t),       Epsilon t, MonadThrow m) =>      SpMatrix t    -- ^ Upper triangular-     -> SpVector t+     -> SpVector t -- ^ r.h.s      -> m (SpVector t) triUpperSolve uu w = do    let q (_, i) = i == (- 1)@@ -900,7 +901,7 @@   -- * Moore-Penrose pseudoinverse--- | Least-squares approximation of a rectangular system of equaitons. Uses `(<\>)` for the linear solve+-- | Least-squares approximation of a rectangular system of equations. pinv :: (MatrixType v ~ SpMatrix a, LinearSystem v, Epsilon a,          MonadThrow m, MonadIO m) =>      SpMatrix a -> v -> m v