Givens-forgatás

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

A lineáris algebrában egy Givens-forgatás (Wallace Givens után) adott két koordináta által kifeszített síkban végzett forgatás. Néha Jacobi-forgatásnak is nevezik (Carl Gustav Jacobi).

A numerikus algebrában például QR-felbontás előállítására és sajátértékek meghatározására használják. Ezeket az alkalmazásokat az 1950-es években vezették be, amikor Givens az Oak Ridge National Laboratory munkatársa volt. Ezeket a forgatásokat a régebbi Jacobi-eljárásban (1846) is használták, de gyakorlati alkalmazásuk a számítógépekkel terjedt el.

Leírás

A transzformáció alakja egy ortogonális mátrix:

G(i,k,θ)=[10000cs00sc00001]

ahol c=cos(θ), s=sin(θ) az i-edik és a k-adik sorban és oszlopban helyezkedik el. Formálisan,

G(i,k,θ)j,l={cosθ ha j=i,l=i vagy j=k,l=ksinθ ha j=i,l=ksinθ ha j=k,l=i1 ha j=l,ji,jk0 különben. 

A GT(i,k,θ)x mátrix-vektor szorzat az x vektor θ szögű forgatását ábrázolja az (i,k) síkban, ezt Givens-forgatásnak nevezik.

A Givens-forgatás fő alkalmazási területe a numerikus lineáris algebrában vektorok és mátrixok koordinátáinak kinullázása. Ez felhasználható mátrixok QR-felbontásának elkészítéséhez és Jacobi-eljárással sajátértékek megtalálásához.

QR-felbontás Givens-forgatásokkal

  • Az eljárás stabil. Pivot kiválasztásra nincs szükség.
  • Rugalmasan figyelembe veszi a strukturált mátrixok nulla koordinátáit. Ez különösen a ritka mátrixok esetén fontos a feltöltődés elkerülésére.
  • A főátló alatti elemeket sorra kinullázza azzal, hogy a mátrixot balról szorozza Givens-mátrixokkal. A sorrend oszloponként felülről lefelé halad.
  • A szükséges mátrixszorzások száma 𝒪(mn). Mivel szorzásonként legfeljebb 2n érték változik, azért egy telt m×n-es mátrix felbontásának teljes költsége 𝒪(mn2). A mátrixban már eleve meglevő nullák esetén nem kell transzformációt végezni, így ritka mátrixok esetén az algoritmus gyorsabb.
  • Ha egy (i,j) pozíció koordinátát akarunk kinullázni, akkor c=ajj/ρ, s=aij/ρ, ahol ρ=sgn(ajj)ajj2+aij2.

Példa

Legyen

G2,4G1,4[35020045]=G2,4[57020001]=[57050000]

ahol

G1,4=[35004501000010450035], G2,4=[10000250150010015025]

Végül megkapjuk a QR-felbontást:

Q=(G2,4G1,4)T=(G1,4TG2,4T)=[3545508550250150010453550655],R=[57050000],QR=[35020045]

Algoritmus

Egy A=(ai,j)i,jm×n,mn mátrix QR-felbontása:

Forgassuk meg az A mátrix a,1 első oszlopát:

G1,mA=[****0**]

ahol G1,m-hoz c,s,ρ választása:

ρ=sgn(a1,1)a1,12+am,12,c=a1,1ρ,s=am,1ρ.

Hasonlóan járunk el a következő elemmel, és G1,i,i=2,,m-re eltároljuk a G1 mátrixban:

G1A=[**0*0**]aholG1:=G1,2G1,m.

Figyelembe kell vennünk, hogy az újabb átalakítás nem az eredeti, hanem az addig átalakított mátrixra vonatkozik: G1,i+1G1,mA.

Hasonlóan kell feldolgozni a következő oszlopot, és így kapjuk a Gi,i=2,,n mátrixokat, így a Gi1G1A mátrix i-edik oszlopa nulla értékeket tartalmaz az i-edik érték alatt.

Speciális eset

Háromdimenziós térben háromféle Givens-mátrix létezik:

RX(θ)=(1000cosθsinθ0sinθcosθ)
RY(θ)=(cosθ0sinθ010sinθ0cosθ)
RZ(θ)=(cosθsinθ0sinθcosθ0001)

Ezekkel a mátrixokkal a Davenport's chained rotation theorem (Davenport láncolt forgatási tétele) szerint minden forgatómátrix előállítható három dimenzióban. Ez azt jelenti, hogy a vektortér standard bázisa a tér bármely ortogonális bázisába beforgatható.

Ez a mátrix nem a θ szöghöz, hanem a -θ szöghöz tartozó Givens-mátrix, amit a komputergrafikában használnak a jobbkézszabály miatt:

RY(θ)=[cosθ0sinθ010sinθ0cosθ]

Források

  • Gene H. Golub, Charles F. van Loan: Matrix Computations. 2nd Edition. The Johns Hopkins University Press, 1989.
  • Martin Hermann: Numerische Mathematik, Band 1: Algebraische Probleme. 4., überarbeitete und erweiterte Auflage, Walter de Gruyter Verlag, Berlin und Boston 2020, Sablon:ISBN.
  • W. Dahmen, A. Reusken: Numerik für Ingenieure und Naturwissenschaftler. Springer-Verlag Berlin Heidelberg, 2006, Sablon:ISBN

Fordítás

Sablon:Fordítás