1.0.1 • Published 5 years ago

tdma v1.0.1

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

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

Equations

where Equations and Equations.

Equations

Install

npm install tdma

Sample Code

Using coefficientMatrix

const tdma = require('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.solver(coefficientMatrix, rigthHandSideVector);
console.log(answer);

Using Diagonals

const tdma = require('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.tdma(a, b, c, d);
console.log(answer);

Method

The forward sweep consists of modifying the coefficients as follows, denoting the new coefficients with primes:

Equations

and

Equations

The solution is then obtained by back substitution:

Equations

Equations

The method above preserves the original coefficient vectors. If this is not required, then a much simpler form of the algorithm is

Equations

followed by the back substitution

Equations

Equations

Reference: https://en.wikipedia.org/wiki/Tridiagonal_matrix_algorithm