sparse-linear-algebra
                                
                                
                                
                                    sparse-linear-algebra copied to clipboard
                            
                            
                            
                        Numerical computation in native Haskell
Making a note to keep an eye on this : https://github.com/lehins/massiv/issues/50
References : * A ROBUST AND EFFICIENT PARALLEL SVD SOLVER BASED ON RESTARTED LANCZOS BIDIAGONALIZATION - http://etna.mcs.kent.edu/vol.31.2008/pp68-85.dir/pp68-85.pdf
``` mat = sparsifySM $ fromListDenseSM 4 [0,1,1,0, 1,0,0,0, 1,0,0,1, 0,0,1,0] :: SpMatrix Double eigsQR 100 False mat *** Exception: Givens : no compatible rows for indices (3,2) ``` `eigen`...
Especially some basic ones. We should have (regression) tests for: - [x] issue #42 - [ ] issue #46 - [x] issue #50 - ... ?
see e.g. * HMatrix : https://hackage.haskell.org/package/hmatrix-0.18.1.0/docs/src/Internal-Static.html#Sized * Dimensions : * https://hackage.haskell.org/package/dimensions-0.3.2.0/docs/src/Numeric-Dimensions-Idx.html#Idx * https://hackage.haskell.org/package/dimensions-0.3.2.0/docs/src/Numeric-TypeLits.html * numhask-array : https://hackage.haskell.org/package/numhask-array-0.0.2/docs/src/NumHask-Array.html#Array
References: Sorensen, D. - Implicitly Restarted Arnoldi/Lanczos Methods For Large Scale Eigenvalue Calculations, 1996 - http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.8.2076
- [ ] Data parallelism for heavy operations such as mat-vec (which is currently implemented with two nested `fmap`s, so divide and conquer is straightforward). - [ ] Investigate `monad-par`...
* Zipper for updating a tree : https://stackoverflow.com/questions/19552214/rewriting-trees-in-haskell * Symbolic part of a sparse Cholesky factorization employs elimination tree: https://en.wikipedia.org/wiki/Symbolic_Cholesky_decomposition Note: * Updating sparse Cholesky in Matlab: Approximate minimum degree...