I'm dealing with large, sparse simultaneous equation matrices and am looking for the fastest algorithm to solve for the unknowns.
By large I mean the coefficient matrix is in the range of 50x50 up to 200x200.
By sparse I mean that as much as 98% of the coefficient matrix is zero.
The coefficient matrix is sometimes symmetric and sometimes not.
I've been using two algorithms; gaussian elimination, and crouts method with LU decomposition. There's no clear winner for speed between them, with the fastest decided on a matrix by matrix basis. Neither is as fast as I want (by a LOT), so I'm looking for alternatives.
Neither method uses the sparsity of the coefficient matrix in its algorithm, so that's something that looks like it could help speed the solution. I know there are sparse-matrix techniques and have started reading about them, but so far they look aimed more at reducing memory requirements (to store MASSIVE matrices) than to speed up the solution, though I'm still trying to get my head around them. Memory usage isn't a concern for me. I'll keep reading about this stuff, but if there's a particular method that sounds suited to my needs I'd love to hear about it.
I also wondered if the matrix could be simplified or optimized, to reduce its size. I haven't found anything that sounds worth trying yet.
I'm coming at this problem from a programming point of view, rather than a mathematical one. I'm more likely to understand an algorithm than a formula.
Any thoughts or nudges in the right direction appreciated.