TDMA (Tridiagonal matrix algorithm)
In numerical linear algebra, the tridiagonal matrix algorithm, also known as the Thomas algorithm (named after Llewellyn Thomas), is a simplified form of Gaussian elimination that can be used to solve tridiagonal systems of equations. A tridiagonal system for n unknowns may be written as
where and
.
Install
npm install tdma
Sample Code
Using coefficientMatrix
const tdma = ; const coefficientMatrix = 2 3 0 0 6 3 9 0 0 2 5 2 0 0 4 3;const rigthHandSideVector = 21 69 34 22; const answer = tdma;console;
Using Diagonals
const tdma = ; const a = 0 6 2 4;const b = 2 3 5 3;const c = 3 9 2 0;const d = 21 69 34 22; const answer = tdma;console;
Method
The forward sweep consists of modifying the coefficients as follows, denoting the new coefficients with primes:
and
The solution is then obtained by back substitution:
The method above preserves the original coefficient vectors. If this is not required, then a much simpler form of the algorithm is
followed by the back substitution
Reference: https://en.wikipedia.org/wiki/Tridiagonal_matrix_algorithm