Kaczmarz–Steinhaus-módszer

Innen: testwiki
Ugrás a navigációhoz Ugrás a kereséshez

A Kaczmarz–Steinhaus-módszer egy matematikai módszer bonyolultabb egyenletrendszerek számítógép segítségével történő megoldásához.

A módszer

A Kaczmarz módszer a lengyel származású Stefan Kaczmarz professzor munkáján alapszik. A módszer az Ax = b alakú lineáris egyenlet (vagy lineáris egyenletrendszer) megoldására szolgál. Ez egy ismétlődő algoritmus, melyet számos alkalmazási terület, köztük az orvosi képalkotás (computer tomography) és a digitális jelfeldolgozás (digital signal processing), alkalmaz.

A módszerhez szükségünk van egy invertálható A mátrixra (invertálható mátrix). Ellentétben más lineáris megoldó módszerekkel, nem szükséges, hogy ez a mátrix pozitív definit legyen. Ezen tulajdonsága miatt hasznos a felhasználási területeken. Ennek ellenére a többi ismétlődő algoritmus speciális esetekben jóval gyorsabb, mint a Kaczmarz-módszer.

Napjainkban a Kaczmarz-módszer egy változatát többismeretlenes, lineáris rendszereknél használnak, s mely módszert Thomas Strohmer és Roman Vershynin fejlesztett ki. Ezen megoldó nem függ az egyenlőség konstansaitól és felülmúl minden korábban ismert módszert. Egyszerűbb esetekben gyorsabb konvergenciára képes, mint a konjugált gradiens módszer.

Az általános (nem változtatott) algoritmus

Adjunk meg valós vagy komplex, m × n -es (n ≤ m) A mátrixot és egy valós vagy komplex b vektort. A következő iteráció jobb közelítésben kiszámolja x értékét:

xk+1=xk+biai,xkai2ai*

ahol ik(modm)+1 és ai az A mátrix i-edik sorbeli transzponáltja (transzponálás).

Kicsiny x a konvergencia szempontjából elhanyagolható, habár az a jobb, ha egy közelítő értéket választunk. A formula megadja a értékét. A teljes iterációt m -szer kell ismételni.

Szemléltetés és példák

Vegyük az egyenletrendszer mátrixos alakját:

[a11a12a1na21a22a2nam1am2amn][x1x2...xm]=[b1b2...bm]

A megoldás ezen hipersíkok metszete. Geometriailag a Kaczmarz módszer többszörös egymás utáni leképezést jelent sorrendben végighaladva az egyenletrendszer sorain. Például egy 2×1 –es mátrixra: Ax = b alak helyett a1,x=b1 illetve a2,x,=b2 alakot használjuk. V1 jelölje az első egyenesre való vetítést. V2 jelölje a második egyenesre való vetítést. x0 egy kezdeti pont, ahonnan indul az iteráció. A Kaczmarz–Steinhaus-módszer értelmében a következő ismétlődést kapjuk:

x0,V1(x0),V2(V1(x0)),V1(V2(V1(x0))),...

Számszerű példa:

Adott két egyenes, melyek ax+by=c alakban vannak megadva. Adott egy kezdeti pont: (3,0). A kérdés a két egyenes metszéspontjának helye.

Megoldás: a1x+b1y=c1 (adottak: a1=1,b1=1,c1=0 tehát: xy=0)

a2x+b2y=c2 (adottak: a2=1,b2=0,c2=1 tehát: x=1)

képlet alapján:

x1=[b1(b1x0a1y0)+a1c1]a12+b12=0,5
y1=[b1c1a1(b1x0a1y0)]a12+b12=0,5

ismételve:

x2=[b2(b2x1a2y1)+a2c2]a22+b22=0,75
y2=[b2c2a2(b2x1a2y1)]a22+b22=0,75

folytatva: xn=0,999999...

yn=0,999999...

Tehát az x = 1 és y = 1 megoldásai az egyenlet rendszernek.

Az újabb változatú algoritmus

E[1] link alatt található bővebb leírás. Ha i értéket véletlenszerűen választjuk, akkor jelentősen gyorsabb az algoritmus.

Források

  • S. Kaczmarz. Angenäherte Auflösung von Systemen linearer Gleichungen. Bull. Internat. Acad. Polon.Sci. Lettres A, pages 335-357, 1937.
  • W. Hackbusch Iterative Lösung großer schwachbesetzter Gleichungssysteme Teubner Studienbücher, 1993, pages 202-203
  • Stachó László: Bevezetés a numerikus matematikába fizikusoknak című előadása és gyakorlata Az előadó honlapja

Jegyzetek

Sablon:Jegyzetek

Fordítás

További információk

Sablon:Portál

  1. Thomas Strohmer and Roman Vershynin, A randomized solver for linear systems with exponential convergence [1] Sablon:Wayback