I changed the pivot method used by the gauss-jordan method to look for a maximum value in a column instead of a minimum. This is the pivot choice described in:
NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING (ISBN 0-521-43108-5)
This method produces much better results on my test data (previous method was accurate to one decimal place, this method is accurate to eight).
Comparisons were made to the algorithm implemented in numpy.linalg.solve
from numpy version 1.7.1
Test data included values ranging from 100 to 0.0001 in a single matrix
I changed the pivot method used by the gauss-jordan method to look for a maximum value in a column instead of a minimum. This is the pivot choice described in: NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING (ISBN 0-521-43108-5)
This method produces much better results on my test data (previous method was accurate to one decimal place, this method is accurate to eight). Comparisons were made to the algorithm implemented in
numpy.linalg.solve
from numpy version 1.7.1 Test data included values ranging from 100 to 0.0001 in a single matrix