Antaa vuoronsa

Kokeneet kirjoittajat eivät ole vielä tarkistaneet sivun nykyistä versiota, ja se voi poiketa merkittävästi 7.11.2021 tarkistetusta versiosta . tarkastukset vaativat 2 muokkausta .

Annettu rotaatio - lineaarisessa algebrassa , lineaarinen operaattori vektorin kiertämiseksi tietyllä kulmalla .

Annettu matriisi [1] [2] [3]

Givens-matriisilla on seuraava muoto:

Tämä matriisi eroaa identiteettimatriisista vain alimatriisin suhteen

sijaitsevat riveillä ja sarakkeilla, joissa on numerot ja . On ortogonaalinen.

Jos vektori , annetaan , niin valitsee

cos ⁡ ϕ = a k a k 2 + a l 2 {\displaystyle \cos {\phi }={\frac {a_{k}}{\sqrt {a_{k}^{2}+a_{l}^{2))))} synti ⁡ ϕ = − a l a k 2 + a l 2 {\displaystyle \sin {\phi }={\frac {-a_{l}}{\sqrt {a_{k}^{2}+a_{l}^{2))))}

voit asettaa vektorin :nnen komponentin nollaksi :

[ cos ⁡ ϕ − synti ⁡ ϕ synti ⁡ ϕ cos ⁡ ϕ ] [ a k a l ] = [ cos ⁡ ϕ ⋅ a k − synti ⁡ ϕ ⋅ a l synti ⁡ ϕ ⋅ a k + cos ⁡ ϕ ⋅ a l ] = [ a k 2 + a l 2 a k 2 + a l 2 − a l ⋅ a k + a k ⋅ a l a k 2 + a l 2 ] = [ a k 2 + a l 2 0 ] {\displaystyle {\begin{bmatrix}\cos {\phi }&-\sin {\phi }\\\sin {\phi }&\cos {\phi }\end{bmatrix)){\begin{bmatrix} a_{k}\\a_{l}\end{bmatrix}}={\begin{bmatrix}\cos {\phi }\cdot a_{k}-\sin {\phi }\cdot a_{l}\\ \sin {\phi }\cdot a_{k}+\cos {\phi }\cdot a_{l}\end{bmatrix))={\begin{bmatrix}{\frac {a_{k}^{2} +a_{l}^{2}}{\sqrt {a_{k}^{2}+a_{l}^{2}}}}\\{\frac {-a_{l}\cdot a_{k }+a_{k}\cdot a_{l}}{\sqrt {a_{k}^{2}+a_{l}^{2}}}}\end{bmatrix}}={\begin{bmatrix} {\sqrt {a_{k}^{2}+a_{l}^{2}}}\\0\end{bmatrix}}}

Givensin rotaatioiden avulla voidaan laskea matriisien QR-hajoaminen ja piirtää hermiittiset matriisit kolmikulmaiseen muotoon .

Givens-matriisien käyttö tridiagonalisointiin

Haluamme pelkistää symmetrisen matriisin kolmikulmaiseen muotoon:

Missä . Sitten kerromme sen Givensin rotaatiomatriisilla: . on transponoitu matriisi. Tämä muuttaa vain elementit , ja

Tässä alkuluku tarkoittaa elementtiä, joka tulee näkyviin kierron jälkeen. Valitaan kertoimet ja niin, että diagonaalista poikkeava elementti asetetaan nollaan ja suhde ja kanssa ja

Sitten:

Tällaista kiertoa sovelletaan peräkkäin kaikkien ensimmäisen rivin elementtien nollaamiseksi kahta ensimmäistä lukuun ottamatta. Eli (1,2), (1,3), (1,4)...(1,n) Sitten rinnakkain toinen rivi (2,3),(2, 4)...(2 ,n )

C++ koodi:

for ( etumerkitön int i = 0 ; i < N -1 ; ++ i ) { for ( etumerkitön int j = i + 2 ; j < N ; ++ j ) { t = 2 * matr [ i ][ j ] / ( matr [ i ][ i ] - matr [ j ][ j ]); phi = 0,5 * atan ( t ); c = cos ( phi ); s = sin ( phi ); bii = c * c * matr [ i ][ i ] + 2 * c * s * matr [ i ][ j ] + s * s * matr [ j ][ j ]; bij = s * c * ( matr [ j ][ j ] - matr [ i ][ i ]) + matr [ i ][ j ] * ( c * c - s * s ); bjj = s * s * matr [ i ][ i ] + c * c * matr [ j ][ j ] - 2 * c * s * matr [ i ][ j ]; bji = bij ; matr [ i ][ i ] = bii ; matr [ i ][ j ] = bij ; matr [ j ][ i ] = bji ; matr [ j ][ j ] = bjj ; } }

Muistiinpanot

  1. Tyrtyshnikov E. E. Numeerisen analyysin menetelmät. - M. , 2006. - S. 73-74.
  2. Björck, Åke, 1934-. Numeeriset menetelmät vähintään neliösumma - tehtäville . - Philadelphia: SIAM, 1996. - S. 121-123. — xvii, 408 sivua, s. - ISBN 0-89871-360-9 , 978-0-89871-360-2.
  3. Demmel, James W. Sovellettu numeerinen lineaarinen algebra . - Philadelphia: Society for Industrial and Applied Mathematics, 1997. - S. 53-56. — xi, 419 sivua s. - ISBN 0-89871-389-7 , 978-0-89871-389-3, 0-89871-361-7, 978-0-89871-361-9.