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:
![{\displaystyle {\begin{pmatrix}1&4&0&0\\3&4&1&0\\0&2&3&4\\0&0&1&3\\\end{pmatrix}}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/353a4862130008599653ed68ed0e2ae49cc2c455)
- Tridiagonális mátrixok a numerikus analízis ágában. Matematikai nyelven úgy mondjuk, hogy aij = 0 minden olyan (ij) esetén, melyekre teljesül a |i − j| > 1 feltétel. Szemléletesen, adott az alábbi egyenlet. Ilyen mátrixok lépnek fel például a parciális differenciálegyenletek végeselem diszkretizációjánál:
![{\displaystyle {\begin{pmatrix}d_{1}&c_{1}&0&0&...&0&0&0\\e_{1}&d_{2}&c_{2}&0&...&0&0&0\\0&e_{2}&d_{3}&c_{3}&...&0&0&0\\...&...&...&...&...&...&...&...\\...&...&...&...&...&...&...&...\\0&0&0&0&...&e_{n-2}&d_{n-1}&c_{n-1}\\0&0&0&0&...&0&e_{n-1}&d_{n}\\\end{pmatrix}}{\begin{pmatrix}x_{1}\\x_{2}\\x_{3}\\...\\x_{n-1}\\x_{n}\end{pmatrix}}={\begin{pmatrix}b_{1}\\b_{2}\\b_{3}\\...\\b_{n-1}\\b_{n}\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b446051e115ed233b9a7ac35c2cdce063da8e479)
- 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.
Tulajdonságok
A tridiagonális mátrix voltaképpen egy felső és alsó Hessenberg-mátrix.[1]
Determináns
Egy n dimenziós tridiagonális T mátrix determinánsát
![{\displaystyle f_{n}={\begin{vmatrix}a_{1}&b_{1}\\c_{1}&a_{2}&b_{2}\\&c_{2}&\ddots &\ddots \\&&\ddots &\ddots &b_{n-1}\\&&&c_{n-1}&a_{n}\end{vmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b723df177f7b2e93719f44fbb19a1bd5ef40770a)
a következő rekurzív képlet segítségével lehet kiszámítani:
![{\displaystyle f_{n}=a_{n}f_{n-1}-c_{n-1}b_{n-1}f_{n-2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d173ac4664b9990b20db77dc0fa5b88f7353906f)
ahol f0 = 1 és f-1 = 0.
Inverz
Egy adott T, nem szinguláris tridiagonális mátrix
![{\displaystyle T={\begin{pmatrix}a_{1}&b_{1}\\c_{1}&a_{2}&b_{2}\\&c_{2}&\ddots &\ddots \\&&\ddots &\ddots &b_{n-1}\\&&&c_{n-1}&a_{n}\end{pmatrix}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/47bb996cd5cd95b3d1c9bf5c63a22cf592448fbe)
inverzét a következőképpen lehet kiszámolni:
![{\displaystyle (T^{-1})_{ij}={\begin{cases}(-1)^{i+j}b_{i}\cdots b_{j-1}\theta _{i-1}\phi _{j+1}/\theta _{n}&{\text{ ha }}i\leq j\\(-1)^{i+j}c_{j}\cdots c_{i-1}\theta _{j-1}\phi _{i+1}/\theta _{n}&{\text{ ha }}i>j\\\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/b17d229ae6288572904aa1832ffc772f7e861ac9)
ahol θi teljesíti az alábbi rekurzív feltételt:
![{\displaystyle \theta _{i}=a_{i}\theta _{i-1}-b_{i-1}c_{i-1}\theta _{i-2}\quad {\text{ , }}i=2,3,\ldots ,n}](https://wikimedia.org/api/rest_v1/media/math/render/svg/bb721dd466ee8c7f2eaffd440ecbaf7be412fe4c)
θ0 = 1, θ1 = a1 kezdőállapottal. ϕi pedig teljesíti a
![{\displaystyle \phi _{i}=a_{i}\phi _{i+1}-b_{i}c_{i}\phi _{i+2}\quad {\text{ , }}i=n-1,\ldots ,1}](https://wikimedia.org/api/rest_v1/media/math/render/svg/55502bacdd0874be51ba53275e8d658682d38af5)
feltételt ϕn+1 = 1 és ϕn = an kezdőállapottal.[2][3]
Példák
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” (angol 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” (angol nyelven). Linear Algebra and its Applications 212-213, 413–414. o. DOI:10.1016/0024-3795(94)90414-6.
Források