tdma

1.0.1 • Public • Published

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

Package Sidebar

Install

npm i tdma

Weekly Downloads

1

Version

1.0.1

License

MIT

Unpacked Size

97.5 kB

Total Files

17

Last publish

Collaborators

  • armanco