Tridiagonális mátrix
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.[1] 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.[2][3]
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
- ↑ Matrix Analysis. Cambridge University Press, 28. o. (1985). ISBN 0521386322
- ↑ da Fonseca, C.M. (2007. március 1.). „On the eigenvalues of some tridiagonal matrices” (English nyelven). Journal of Computational and Applied Mathematics 200 (1), 283–286. o. DOI:10.1016/j.cam.2005.08.047.
- ↑ Usmani, Riaz A. (1994. november 1.). „Inversion of a tridiagonal jacobi matrix” (English nyelven). Linear Algebra and its Applications 212-213, 413–414. o. DOI:10.1016/0024-3795(94)90414-6.
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) ISBN 978 973 610 763 4