This project has moved and is read-only. For the latest updates, please go here.

Linear Algebra Provider and non-Factored LAPACK routines

Feb 25, 2011 at 1:24 PM

Hi All,

For the matrix decomp solvers and LU inverse we have two sets of methods XXSolve and XXSolveFactored. With LAPACK, you first factor the matrix and then call the solve routine using the factored matrix (so our XXFactor and XXSolveFactored methods). XXFactor overwrites the original matrix.The XXSolve methods does the factorization and solve in one step. The question is should the XXSolve (and LUInverse) method overwrite the original matrix or not? Should we leave it to the users to clone the matrix first if they want to preserve the matrix? 

The current managed provider overwrites the matrix. I'm leaning towards not overwriting. The reason against is that users probably aren't expecting that behavior. The reason for is performance and memory use since we'd have to clone the matrix prior to factoring it (but users could use the two step method if these are a concern).

What does everyone else think?


Mar 1, 2011 at 10:08 PM

I also think we should make the API as intuitive as possible first. It sounds like overwriting the matrix could be a source of much confusion to first time suers. Power users should be able to figure out that they can do the two step method if they want better perf and memory usage.

Just my 2 cents. Cheers, Jurgen