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:

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:
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ágokSzerkesztés

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

DeterminánsSzerkesztés

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.

InverzSzerkesztés

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]

PéldákSzerkesztés

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.

JegyzetekSzerkesztés

  1. Matrix Analysis. Cambridge University Press, 28. o. (1985). ISBN 0521386322 
  2. 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.  
  3. 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ásokSzerkesztés