Interesting, a direct sparse solver (for structured sparse matrices?). The name "clique" implies graph theory, so I was expecting to see distributed iterative SVD. I've yet to see a good distributed SVD for huge real-world/power-law graphs.
Sparse-direct solvers use graph theory to exploit nonzeros. In particular, Clique uses recursive nodal bisection ("nested dissection") for this purpose. The separators from this process end up (more-or-less) becoming cliques in the graph implied by the factored sparse matrix. Each of these cliques ends up corresponding to a dense matrix, which I then factor/solve-against using Elemental.
Yes, I should have mentioned this. SLEPc has the only distributed implementation of partial reorthogonalization (the key component of high-performance Krylov SVD and Hermitian eigensolvers) that I'm aware of.
Comments
Thanks! I actually work on a lot of fast/sparse linear algebra. For example, see Clique: http://github.com/poulson/Clique
Interesting, a direct sparse solver (for structured sparse matrices?). The name "clique" implies graph theory, so I was expecting to see distributed iterative SVD. I've yet to see a good distributed SVD for huge real-world/power-law graphs.
Sparse-direct solvers use graph theory to exploit nonzeros. In particular, Clique uses recursive nodal bisection ("nested dissection") for this purpose. The separators from this process end up (more-or-less) becoming cliques in the graph implied by the factored sparse matrix. Each of these cliques ends up corresponding to a dense matrix, which I then factor/solve-against using Elemental.
SLEPc, http://www.grycap.upv.es/slepc/, has distributed SVD for sparse matrices.
Yes, I should have mentioned this. SLEPc has the only distributed implementation of partial reorthogonalization (the key component of high-performance Krylov SVD and Hermitian eigensolvers) that I'm aware of.