Timeline for How does LAPACK solve tridiagonal systems and why?
Current License: CC BY-SA 3.0
7 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Mar 5, 2012 at 17:45 | vote | accept | tiam | ||
Mar 5, 2012 at 17:45 | vote | accept | tiam | ||
Mar 5, 2012 at 17:45 | |||||
Mar 5, 2012 at 17:24 | comment | added | tiam | I see what you mean, I get advantage from my knowledge about the systems I am solving. Do other implementations of LAPACK give performance boosts due to adaptation to specific architecture or does it go beyond that? | |
Mar 5, 2012 at 17:11 | comment | added | Jed Brown | It is exactly the same algorithm (Gaussian elimination specialized for a tridiagonal matrix), but your implementation does not do partial pivoting, so it may be numerically unstable. That pivoting is not free and your are comparing to the reference implementation. The reference implementation is not optimized for performance and the partial pivoting is not free. | |
Mar 5, 2012 at 16:44 | comment | added | tiam | The TDMA is what I implemented in my code. The question is why would the super-fast Lapack use the partial pivoting procedure in such a particular matrix, which is solved faster by such an easy method as TDMA. | |
Mar 5, 2012 at 16:31 | comment | added | Inquest | I'm a bit curious. Gaussian Elim with PP would work for all matrices including TriDiagonal. In CFD, we use a special method for FVM 1D cases called TDMA. Which do you reckon would be faster for the case he is discussing? Although, I am not entirely sure his matrices are diagonally dominant. | |
Mar 5, 2012 at 16:26 | history | answered | Jed Brown | CC BY-SA 3.0 |