Jacobi rotation

I numerisk linjär algebra är en Jacobi-rotation en rotation , Qkℓ , av ett 2-dimensionellt linjärt delrum av ett n- dimensionellt inre produktrum , valt att nollställa ett symmetriskt par off- en diagonala ingångar av n × n reell symmetri matris , A , när den tillämpas som en likhetstransformation :

Det är kärnoperationen i Jacobis egenvärdealgoritm , som är numeriskt stabil och väl lämpad för implementering på parallella processorer [ citat behövs ] .

Endast raderna k och ℓ och kolumnerna k och ℓ i A kommer att påverkas, och den A kommer att förbli symmetrisk. Dessutom beräknas en explicit matris för Qkℓ sällan ; istället beräknas hjälpvärden och A uppdateras på ett effektivt och numeriskt stabilt sätt. Men som referens kan vi skriva matrisen som

Det vill säga, Q k är en identitetsmatris förutom fyra poster, två på diagonalen ( q kk och q ℓℓ , båda lika med c ) och två symmetriskt placerade utanför diagonalen ( q k och q k , lika med s och − s , respektive). Här är c ​​= cos θ och s = sin θ för någon vinkel θ; men för att applicera rotationen krävs inte själva vinkeln. Med hjälp av Kronecker deltanotation kan matrisposterna skrivas

Antag att h är ett annat index än k eller ℓ (som i sig måste vara distinkt). Sedan producerar likhetsuppdateringen, algebraiskt,

Numeriskt stabil beräkning

För att bestämma de kvantiteter som behövs för uppdateringen måste vi lösa ekvationen utanför diagonalen för noll ( Golub & Van Loan 1996, §8.4). Detta betyder att

Sätt β till hälften av denna kvantitet,

Om en k är noll kan vi stoppa utan att utföra en uppdatering, så vi dividerar aldrig med noll. Låt t vara tan θ. Sedan med några trigonometriska identiteter reducerar vi ekvationen till

För stabilitet väljer vi lösningen

Från detta kan vi få c och s as

Även om vi nu skulle kunna använda de algebraiska uppdateringsekvationerna som gavs tidigare, kan det vara bättre att skriva om dem. Låta

så att ρ = tan(θ/2). Då är de reviderade uppdateringsekvationerna

Som tidigare påpekats behöver vi aldrig explicit beräkna rotationsvinkeln θ. Faktum är att vi kan reproducera den symmetriska uppdateringen som bestäms av Qkℓ genom att endast behålla de tre värdena k , ℓ och t , till med t satt noll för en nollrotation.

Se även

  •   Golub, Gene H .; Van Loan, Charles F. (1996), Matrix Computations (3:e upplagan), Baltimore: Johns Hopkins University Press, ISBN 978-0-8018-5414-9