Skip to content

Latest commit

 

History

6 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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.

Topics

Resources

Stars

9 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages