My name is Raj and I am Phd student in Computer Graphics. I am interested in tackling the problem of uBLAS Matrix Solver and in order to write my proposal, I am looking for inputs for which of the following algorithms will be most useful for prospective users in boost-numeric library. Here is a categorical list of all the prospective ones which will bring uBLAS updated to other commercial libraries like Eigen/Armadillo. Please let me know your preferences....
David Bellot : As a potential mentor, do you have any specific additions or deletions for this list? This could also be useful for other candidates pursuing this project.
DENSE SOLVERS AND DECOMPOSITION :
1) QR Decomposition - (Must have) For orthogonalization of column spaces and solutions to linear systems. (Bonus : Also rank revealing..)
2) Cholesky Decomposition - (Must have) For symmetric Positive Definite systems often encountered in PDE for FEM Systems...
3) Householder Method - Conversion to tridiagonal form for eigen solvers.
SPARSE SOLVERS AND PRECONDITIONERS :
1) Conjugate Gradient - (Must have) For symmetric Positive Definite systems, this is the kryvlov space method of choice. Both general and preconditioned variants need to be implemented for convergence issues. 2) BiCGSTAB (Needs introspection) - For non symmetric systems..
3) Incomplete Cholesky Decomposition (Good to have) - For symmetric Positive definite sparse matrices, to be used as preconditioner as extension to (1) for preconditioned CG Methods ...
4) Jacobi Preconditioner (Must have) - As prerequisite for step(1).
EIGEN DECOMPOSITION MODULES (ONLY FOR DENSE MODULES)**:
1) Symmetric Eigen Values - (Must have) Like SSYEV Module in Lapack - That is first reduction to a tridiagonal form using Householder then using QR Algorithm for Eigen Value computation.
2) NonSymmetric Eigen Values - (Good to have) Like SGEEV module in Lapack - using Schur decompositions as an intermediate step in the above algorithm.
3) Generalized Eigen Values - (needs introspection) I use this in my research a lot and its a good thing to have..
** Computing Eigen Decomposition of sparse modules needs special robust numerical treatment using implicitly restarted arnoldi iterations and may be treated as optional extensions.