Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

6 Commits

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

consttdma=require('tdma');constcoefficientMatrix=[[2,3,0,0],[6,3,9,0],[0,2,5,2],[0,0,4,3]];constrigthHandSideVector=[21,69,34,22];constanswer=tdma.solver(coefficientMatrix,rigthHandSideVector);console.log(answer);

Using Diagonals

consttdma=require('tdma');consta=[0,6,2,4];constb=[2,3,5,3];constc=[3,9,2,0];constd=[21,69,34,22];constanswer=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