Solution to the system of linear equations (Ax=b) with a tridiagonal matrix A
I'm using ZGTSV routine in order to solve a system of linear equations (Ax=b), where A is a tridiagonal matrix which may not be diagonally dominant (depends on initial values). For a while now I have detected some errors regarding the method used in the ?GTSV routines. Specially I have found that Gauss elimination loses precision due to accumulated round-off errors. I believe that this is my case since the amplitude of the errors increases from x(N) to x(1) (maybe due to backsubstitution?). To test this I actually placed in the x array the data backwards x(N:1) and made the necessary changes to the A matrix and vector b.
Now I was thinking of using iterative methods (Jacobi or Gauss-Seidel) instead of direct method (Gauss elimination) but I couldn't find any routine that would do this for me. Is there one?
BTW: does anyone know any better method to solve my problem?