A matematika lineáris algebra nevű ágában tridiagonális mátrix (esetleg kontinuánsmátrix) a neve az olyan négyzetes mátrixnak, amelyben csak a főátlón és a mellette található két átló mentén vannak nullától különböző elemek.

Például a következő mátrix tridiagonális:

Matematikai nyelven úgy mondjuk, hogy aij = 0 minden olyan (i, j) esetén, melyekre teljesül az |i − j| > 1 feltétel.

A tridiagonális mátrix voltaképpen egy felső és alsó Hessenberg-mátrix.

Ilyen mátrixok lépnek fel például a parciális differenciálegyenletek végeselem diszkretizációjánál.

Tulajdonságok Determináns Egy n-dimenziós tridiagonális T mátrix determinánsát

a következő rekurzív képlet segítségével lehet kiszámítani:

ahol f0 = 1 és f-1 = 0.

Inverz

Egy adott T nem szinguláris tridiagonális mátrix

inverzét a következőképpen lehet kiszámolni:

ahol θi teljesíti az alábbi rekurzív feltételt:

θ0 = 1, θ1 = a1 kezdőállapottal. ϕi pedig teljesíti a

feltételt ϕn+1 = 1 és ϕn = an kezdőállapottal.

Numerikus megoldás Szemléletesen, legyen adott az alábbi egyenlet.

Az ilyen típusú egyenletrendszereket legkönnyebb a Thomas-algoritmussal megoldani, ami tulajdonképpen a Gauss-kiküszöbölés tridiagonális mátrixra egyszerűsített változata. Először sorrendben eltüntetjük az átló alatti elemeket, és az átlón levő elemeket egységnyire normalizáljuk. Első lépésben: . Ezután, a többi elemre végrehajtjuk a transzformációkat. Ezek eredményeképpen a

rendszert kapjuk, melyet hátulról előre haladva könnyen megoldhatunk: .

Ha figyelembe vesszük, hogy a mátrixban elfoglalt helyek alapján és , akkor a fenti módszert a következő algoritmussal valósíthatjuk meg: 1: function Thomas( in: (aij ),(bi) out: (xi) i, j = 1, n ) 2: a12 ← a12/a11 3: b1 ← b1/a11 4: for i ← 2 to n − 1 do 5: aii+1 ← aii+1 / (aii − aii−1 ai-1i) 6: bi ← (bi − aii−1 bi−1)/(aii − aii−1 ai−1i) 7: aii−1 ← 0 8: end for 9: bn ← (bn − ann−1 bn−1)/(ann − ann−1 an−1n) 10: xn ← bn 11: for i ← n − 1 to 1 do 12: xi = bi − xi+1 aii+1 13: end for 14: return (xi) 15: end function

Memóriakihasználás szempontjából természetesen célszerűbb, ha nem az egész mátrixot, hanem csak a nemnulla c, d és e elemeket tároljuk. Ebben az esetben az algoritmus a következőképpen alakul:

1: function THOMAS2( in: (ci),(di),(ei),(bi) out: (xi) i, j = 1, n ) 2: c1 ← c1/d1 3: b1 ← b1/d1 4: for i ← 2 to n do 5: ci ← ci/(di − ei ci−1) 6: bi ← (bi − ei bi−1)/(di − ei ci−1) 7: end for 8: xn ← bn 9: for i ← n − 1 to 1 do 10: xi = bi − xi+1 ci 11: end for 12: return (xi) 13: end function

Megjegyezzük, hogy a Thomas-algoritmus könnyen általánosítható szélesebb sávos mátrixokra is.

Példa Példaképpen tekintsük a

tridiagonális rendszert. A Thomas-algoritmus alkalmazásával átalakíthatjuk ezt egy

egyszerűen megoldható rendszerré. A visszahelyettesítések alapján megoldásnak az

értékeket kapjuk.

Jegyzetek

Források Lázár Zsolt – Lázár József – Járai-Szabó Ferenc: Numerikus módszerek (Kolozsvári Egyetemi Kiadó, Kolozsvár, 2008)

Kategória:Mátrixok Kategória:Numerikus analízis