Notifiche
Cancella tutti

[Risolto] matrici ortonormali

  

0

Come creare una matrice ortonormale? (I mezzi di cui dispongo sono quelli di un ragazzo di 4°).

Ho capito che sia il prodotto scalare delle righe che quello delle colonne deve essere 1. Quindi a11^2+a12^2=1; a11^1+a21^2=1 ecc.

Ho anche capito che per verificare rapidamente se una matrice è ortonormale, il determinamente dev'essere ±1.

Però non ho capito come devo fare per assicurare la perpendicolarità della matrice, e quindi come fare col prodotto vettoriale.

Per concludere, mi pare di aver capito che in sostanza una volta che ho "creato" a11 e a12, io posso fare che a21=a12 e a22=a11, invertendo però in uno dei due casi il segno. È giusto?

Autore
Etichette discussione
2 Risposte



1

E' quasi giusto.
Ad esempio, con la tua procedure, io ho "creato"
* A = {{3, - 4}, {4, 3}}
* det[A] = 25
* trs[A] = A' = {{3, 4}, {- 4, 3}}
* inv[A] = {{3, 4}, {- 4, 3}}/25
---------------
Per verificare/confutare la normalità si deve vedere se A e A' commutino
* A.A' = {{3, - 4}, {4, 3}}.{{3, 4}, {- 4, 3}} = {{25, 0}, {0, 25}}
* A'.A = {{3, 4}, {- 4, 3}}.{{3, - 4}, {4, 3}} = {{25, 0}, {0, 25}}
quindi, assodato che A.A' = A'.A, si verifica che A è normale pur essendo diversa dalla trasposta.
---------------
Per verificare/confutare l'ortogonalità si deve vedere se A.A' = I, cioè se A' = inv[A].
Per ispezione si vede che A non è ortogonale per un fattore di scala k != 1 (A != A' = k*inv[A]).
---------------
Però con
* A = {{3, - 4}, {4, 3}}
* det[A] = 25
* n = |{3, - 4}| = |{4, 3}| = 5
* B = A/n = {{3/5, - 4/5}, {4/5, 3/5}}
* det[A] = 1
* trs[B] = {{3/5, 4/5}, {- 4/5, 3/5}}
* inv[B] = {{3/5, 4/5}, {- 4/5, 3/5}}
e quindi la B è ortonormale.



1

Se la matrice é una 2x2 allora basta porre

 

[ cos @   sin @ ]

[ - sin @ cos @ ]

con @ qualunque.

 

Ad esempio

[ 1/2   rad(3)/2 ]

[ -rad(3)/2  1/2 ]

 

rispetta i requisiti di ortonormalità.



Risposta




SOS Matematica

4.6
SCARICA