Boost logo

Ublas :

Subject: [ublas] Fwd: [GSOC2015] uBLAS Matrix Solver Project
From: Rajaditya Mukherjee (rajaditya.mukherjee_at_[hidden])
Date: 2015-03-06 10:30:32


Hi,

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.