Matrice di rotazione

Da testwiki.
Vai alla navigazione Vai alla ricerca
Rotazione delle unità vettoriali quando il sistema di coordinate subisce una rotazione

Nell'algebra lineare, una matrice di rotazione è una matrice di trasformazione utilizzata per eseguire una rotazione nello spazio euclideo. Per esempio, utilizzando la seguente convenzione, la matrice

R=[cosθsinθsinθcosθ]

ruota i punti nel piano xy in senso antiorario di un angolo θ rispetto all'origine di un sistema di riferimento cartesiano bidimensionale. Per ruotare un punto nel piano con coordinate standard 𝐯=(x,y), si deve moltiplicare la matrice R per il vettore colonna, ottenendo:

R𝐯=[cosθsinθsinθcosθ][xy]=[xcosθysinθxsinθ+ycosθ].

Se x e y rappresentano le coordinate finali di un vettore, dove x è il coseno e y è il seno, allora le equazioni precedenti diventano l'identità trigonometrica. Infatti, una matrice di rotazione può essere letta come le formule di addizione trigonometriche in forma di matrice. Un modo per comprenderlo è ipotizzare di avere un vettore con un angolo di 30° rispetto all'asse x e ruotarlo di altri 45°. Si ottengono le coordinate del punto finale del vettore a 75°.

Gli esempi riportati si applicato alle rotazioni attive di vettori in senso antiorario in un sistema di coordinate destrorso (con y in senso antiorario rispetto a x) mediante pre-moltiplicazione (con la matrice R sulla sinistra). Se uno di questi viene modificato (per esempio, ruotando gli assi in luogo dei vettori, si ha una trasformazione passiva), in quel caso si dovrebbe usare l'inversa della matrice di esempio, che coincide con la sua trasposta.

Una matrice quadrata R è di rotazione se e solo se è ortogonale con numeri reali, (con R𝖳=R1 e detR=1).

Poiché la moltiplicazione di matrici non ha effetto sul vettore nullo (le coordinate dell'origine), le matrici di rotazione descrivono le rotazioni attorno all'origine, fornendo una descrizione algebrica di tali rotazioni e sono ampiamente utilizzate per calcoli in geometria, fisica e computer grafica. In alcuni testi, il termine "rotazione" viene generalizzato includendo le rotazioni improprie, con determinante 1 (invece di +1). Questi combinano rotazioni "proprie" con "riflessioni" (che invertono l'orientamento). In altri casi, dove le riflessioni vengono trascurate, la dicitura vera e propria può essere omessa. Qui verrà fatta quest'ipotesi.

L'insieme di tutte le matrici ortogonali di dimensione n con determinante +1 è una rappresentazione di un gruppo noto come gruppo ortogonale speciale SO(n), un esempio è il gruppo di rotazione tridimensionale SO(3). L'insieme di tutte le matrici ortogonali di dimensione n con determinante +1 o 1 è una rappresentazione del gruppo ortogonale (generale) O(n).

In due dimensioni

Una rotazione antioraria di un vettore attraverso l'angolo θ. Il vettore è inizialmente allineato con l'asse x.

Nel piano, la matrice di rotazione standard ha la seguente forma:

R(θ)=[cosθsinθsinθcosθ].

Ruota i vettori colonna mediante il seguente prodotto matriciale:

[xy]=[cosθsinθsinθcosθ][xy].

Pertanto, le nuove coordinate (x,y) di un punto (x,y), dopo la rotazione, sono

{x=xcosθysinθy=xsinθ+ycosθ.

Esempi

Quando il vettore

𝐱^=[10]

viene ruotato di un angolo θ, le sue coordinate diventano

[cosθsinθ],

e quando il vettore

𝐲^=[01]

viene ruotato di un angolo θ, le sue coordinate diventano

[sinθcosθ].

Direzione

La direzione di rotazione del vettore è antioraria se θ è positivo (per esempio 90°), oraria se θ è negativo (per esempio −90°) per R(θ). Pertanto, la matrice di rotazione in senso orario si ottiene con

R(θ)=[cosθsinθsinθcosθ].

Il caso bidimensionale è l'unico non banale (non unidimensionale) dove il gruppo di matrici di rotazione è commutativo: non ha importanza l'ordine con cui eseguite rotazioni multiple. Una convenzione alternativa prevede l'uso di assi rotanti,[1] dove le matrici di cui sopra rappresentano una rotazione degli assi in senso orario di un angolo θ.

Orientamento non standard del sistema di coordinate

Una rotazione di un angolo θ con assi non standard.

Se si utilizza un sistema di riferimento destrorso, con l'asse

x

a destra e l'asse

y

in alto, la rotazione

R(θ)

avviene in senso antiorario. Viceversa, con un sistema di coordinate cartesiane sinistrorso, dove l'asse

x

è sempre orientato verso destra ma l'asse

y

è rivolto verso il basso,

R(θ)

produce una rotazione in senso orario. Questi orientamenti sono utilizzati raramente in matematica, ma sono tipici della computer grafica bidimensionale, dove sovente si fissa l'origine degli assi in alto a sinistra con l'asse

y

rivolto verso il basso dello schermo o della pagina.[2]

Di seguito sono riportate altre convenzioni che possono alterare il senso di rotazione prodotto da una matrice di rotazione.

Rotazioni bidimensionali tipiche

Particolarmente utili sono le matrici

[0110],[1001],[0110],

le quali rappresentano, rispettivamente, le rotazioni in senso antiorario di 90°, 180° e 270°.Template:Immagine multipla

Relazione con il piano complesso

Da

[0110]2=[1001]=I,

le matrici della forma

[xyyx]

generano un anello isomorfo al campo dei numeri complessi . Sotto questo isomorfismo, le matrici di rotazione equivalgono al gruppo circolare della circonferenza unitaria dei numeri complessi di modulo unitario.

Identificando 2 con attraverso la trasformazione lineare (a,b)a+ib, l'azione di una matrice di rotazione sui vettori di 2 corrisponde alla moltiplicazione per il numero complesso x+iy, e le rotazioni corrispondono alla moltiplicazione per numeri complessi di modulo 1.

Poiché ogni matrice di rotazione può essere scritta come

[costsintsintcost],

la corrispondenza di cui sopra associa tale matrice al numero complesso

cost+isint=eit.

Quest'ultima identità è nota come formula di Eulero.

In tre dimensioni

Template:Immagine multipla

Rotazioni tridimensionali di base

Una rotazione tridimensionale di base (detta anche rotazione elementare) è una rotazione attorno a uno degli assi del sistema di coordinate. Le tre matrici di rotazione seguenti ruotano i vettori di un angolo θ attorno all'asse x, y o z, nelle tre dimensioni, utilizzando la regola della mano destra, la quale codifica i loro segni alternati. Si noti che la regola della mano destra funziona solo quando si moltiplica Rx . (Le stesse matrici possono anche rappresentare una rotazione oraria degli assi.[nb 1])

Rx(θ)=[1000cosθsinθ0sinθcosθ]Ry(θ)=[cosθ0sinθ010sinθ0cosθ]Rz(θ)=[cosθsinθ0sinθcosθ0001].

Per vettori colonna, ciascuna di queste rotazioni di base avviene in senso antiorario quando l'asse, attorno al quale si verifica, punta verso l'osservatore. Il sistema di coordinate è destrorso e l'angolo θ è positivo. Rz, per esempio, ruoterebbe un vettore allineato all'asse y verso l'asse x, come si può verificare operando con Rz sul vettore (1,0,0):

Rz(90)[100]=[cos90sin900sin90cos900001][100]=[010100001][100]=[010].

Ciò è simile alla rotazione prodotta dalla matrice di rotazione bidimensionale sopra menzionata. Di seguito sono riportate convenzioni alternative che potrebbero apparentemente o realmente invertire il senso della rotazione prodotta da queste matrici.

Rotazioni tridimensionali generalizzate

Una rotazione completa dell'asteroide Vesta vista dalla sonda Dawn.

Da queste tre rotazioni di base si possono ottenere altre matrici di rotazione tridimensionali, utilizzando la moltiplicazione di matrici. Per esempio, il prodotto

R=Rz(α)Ry(β)Rx(γ)=[cosαsinα0sinαcosα0001]imbardata[cosβ0sinβ010sinβ0cosβ]beccheggio[1000cosγsinγ0sinγcosγ]rollio=[cosαcosβcosαsinβsinγsinαcosγcosαsinβcosγ+sinαsinγsinαcosβsinαsinβsinγ+cosαcosγsinαsinβcosγcosαsinγsinβcosβsinγcosβcosγ]

rappresenta una rotazione i cui angoli di imbardata, beccheggio e rollio sono rispettivamente α, β e γ. Più formalmente, si tratta di una rotazione intrinseca i cui angoli di Eulero sono α, β e γ, rispetto agli assi x, y e z. Similmente, il prodotto

R=Rz(γ)Ry(β)Rx(α)=[cosγsinγ0sinγcosγ0001][cosβ0sinβ010sinβ0cosβ][1000cosαsinα0sinαcosα]=[cosβcosγsinαsinβcosγcosαsinγcosαsinβcosγ+sinαsinγcosβsinγsinαsinβsinγ+cosαcosγcosαsinβsinγsinαcosγsinβsinαcosβcosαcosβ]

rappresenta una rotazione estrinseca i cui angoli di Eulero (impropri) sono α, β e γ, attorno agli assi x, y e z.

Queste matrici producono l'effetto desiderato solo se vengono utilizzate per moltiplicare vettori colonna e (poiché in generale il prodotto tra matrici non gode della proprietà commutativa) solo se vengono applicate nell'ordine specificato (si veda Ambiguità per maggiori dettagli). L'ordine delle operazioni di rotazione è da destra a sinistra; la matrice adiacente al vettore colonna è la prima a essere applicata, poi quella a sinistra.[3]

Conversione da matrice di rotazione ad asse-angolo

Ogni rotazione in tre dimensioni è definita dal suo asse (un vettore lungo quest'asse non cambia con la rotazione) e dal suo angolo, la quantità di rotazione attorno all'asse (teorema di Eulero sulla rotazione).

Esistono diversi metodi per calcolare l'asse e l'angolo di una matrice di rotazione (si veda anche la rappresentazione asse-angolo). Qui si descrive solo il metodo basato sul calcolo degli autovettori e autovalori della matrice di rotazione. È anche possibile utilizzare la traccia della matrice di rotazione.

Determinazione dell'asse

Una rotazione R attorno all'asse 𝐮 può essere scomposta utilizzando 3 endomorfismi 𝐏, (𝐈𝐏) e 𝐐 (clicca per ingrandire)

Data una matrice di rotazione R di ordine 3, un vettore 𝐮 parallelo all'asse di rotazione deve soddisfare

R𝐮=𝐮,

affinché la rotazione di 𝐮 attorno all'asse di rotazione risulti in 𝐮. L'equazione precedente può essere risolta per 𝐮 che è unica a meno di un fattore di scala R=I.

Inoltre, l'equazione può essere riscritta

R𝐮=I𝐮(RI)𝐮=0,

la quale mostra che 𝐮 giace nello spazio nullo RI.

Osservato da un altro punto di vista, 𝐮 è un autovettore di R corrispondente all'autovalore λ=1. Ogni matrice di rotazione deve avere questo autovalore, mentre gli altri due autovalori sono complessi coniugati l'uno dell'altro. Ne consegue che una matrice di rotazione in tre dimensioni ha, a meno di una costante moltiplicativa, un solo autovettore reale.

Un modo per determinare l'asse di rotazione è dimostrare che:

0=R𝖳0+0=R𝖳(RI)𝐮+(RI)𝐮=(R𝖳RR𝖳+RI)𝐮=(IR𝖳+RI)𝐮=(RR𝖳)𝐮

Poiché (RR𝖳) è una matrice antisimmetrica, si può scegliere 𝐮 tale che

[𝐮]×=(RR𝖳).

Il prodotto matrice-vettore diventa un prodotto vettoriale di un vettore con se stesso, assicurando il risultato nullo:

(RR𝖳)𝐮=[𝐮]×𝐮=𝐮×𝐮=0.

Pertanto, se

R=[abcdefghi],

si ha

𝐮=[hfcgdb].

Il modulo di 𝐮 così calcolato è 𝐮=2sinθ, dove θ è l'angolo di rotazione.

Questo non funziona se R è simmetrica. Soprattutto, se RR𝖳 è nulla, in questo caso tutti i passaggi successivi non sono validi ed è necessario diagonalizzare R e trovare l'autovettore corrispondente all'autovalore 1.

Determinazione dell'angolo

Per trovare l'angolo di rotazione, una volta noto l'asse di rotazione, si considera un vettore 𝐯 perpendicolare all'asse. Pertanto, l'angolo di rotazione è l'angolo tra 𝐯 e R𝐯.

Un metodo più diretto, tuttavia, consiste semplicemente nel calcolare la traccia: la somma degli elementi diagonali della matrice di rotazione. Occorre fare attenzione nel selezionare il segno giusto affinché l'angolo θ corrisponda all'asse scelto:

tr(R)=1+2cosθ,

da cui segue che il valore assoluto dell'angolo è

|θ|=arccos(tr(R)12).

Per l'asse di rotazione 𝐧=(n1,n2,n3), si può ottenere l'angolazione corretta da[4]

{cosθ=tr(R)12sinθ=tr(KnR)2

dove

Kn=[0n3n2n30n1n2n10].

Matrice di rotazione da asse e angolo

La matrice di una rotazione propria R di un angolo θ attorno all'asse 𝐮=(ux,uy,uz), avente vettore unitario ux2+uy2+uz2=1, è data da:[5][6][7][8]

R=[ux2(1cosθ)+cosθuxuy(1cosθ)uzsinθuxuz(1cosθ)+uysinθuxuy(1cosθ)+uzsinθuy2(1cosθ)+cosθuyuz(1cosθ)uxsinθuxuz(1cosθ)uysinθuyuz(1cosθ)+uxsinθuz2(1cosθ)+cosθ].

Una derivazione di questa matrice dai primi principi può essere trovata qui.[9] L'idea di base per ricavare questa matrice è quella di suddividere il problema in pochi semplici passaggi noti.

  1. Si ruota l'asse dato e il punto così che l'asse si trovi in uno dei piani coordinati (xy, yz o zx).
  2. Si ruota l'asse dato e il punto allineando l'asse con uno dei due assi coordinati per quel particolare piano coordinato (x, y o z).
  3. Si utilizza una delle matrici di rotazione fondamentali per ruotare il punto in base all'asse delle coordinate con cui è allineato l'asse di rotazione.
  4. Si ruota in senso inverso la coppia asse-punto così da raggiungere la configurazione finale come nel passaggio 2 (annullamento del passaggio 2).
  5. Si inverte la rotazione della coppia asse-punto eseguita nel passaggio 1 (annullando il passaggio 1).

Il tutto può essere scritto in modo più conciso come[10]

R=(cosθ)I+(sinθ)[𝐮]×+(1cosθ)(𝐮𝐮),

dove [𝐮]x è la matrice del prodotto vettoriale di 𝐮; l'espressione 𝐮𝐮 è il prodotto diadico e I è la matrice identità. In alternativa, le voci della matrice sono:

Rjk={cos2θ2+sin2θ2(2uj21),se j=k2ujuksin2θ2εjklulsinθ,se jk

dove εjkl è il simbolo di Levi-Civita con ε123=1. Questa è una forma matriciale della formula di Rodrigues con[nb 2]

𝐮𝐮=𝐮𝐮𝖳=[ux2uxuyuxuzuxuyuy2uyuzuxuzuyuzuz2],[𝐮]×=[0uzuyuz0uxuyux0].

In 3 la rotazione di un vettore 𝐱 attorno all'asse 𝐮 di un angolo θ può essere scritta come:

R𝐮(θ)𝐱=𝐮(𝐮𝐱)+cos(θ)(𝐮×𝐱)×𝐮+sin(θ)(𝐮×𝐱)

o, equivalentemente:

R𝐮(θ)𝐱=𝐱cosθ+𝐮(𝐱𝐮)(1cosθ)𝐱×𝐮sinθ.

Questo può anche essere scritto in notazione tensoriale come:[11]

(R𝐮(θ)𝐱)i=(R𝐮(θ))ij𝐱j,con(R𝐮(θ))ij=δijcosθ+𝐮i𝐮j(1cosθ)sinθεijk𝐮k.

Se lo spazio tridimensionale è destrorso e θ>0, questa rotazione avverrà in senso antiorario quando 𝐮 punta verso l'osservatore (regola della mano destra). In modo esplicito, con (α,β,𝐮) una base ortonormale destrorsa,

R𝐮(θ)α=cos(θ)α+sin(θ)β,R𝐮(θ)β=sin(θ)α+cos(θ)β,R𝐮(θ)𝐮=𝐮.

Si noti la differenza meramente apparente alla formulazione algebrica dell'equivalenza di Lie mostrata in seguito.

Proprietà

Una proiezione 3D di un'immagine a 8 celle che esegue una rotazione attorno a un piano che divide la figura da sinistra a destra e dall'alto verso il basso.

Ogni matrice di rotazione R n-dimensionale che agisce su n è una matrice ortogonale

R𝖳=R1

di conseguenza:

detR=±1.

Una rotazione si definisce propria se detR=1, impropria (o roto-riflettente) se detR=1. Per dimensioni pari, con n=2k, gli n autovalori λ di una rotazione propria sono coppie di complessi coniugati i quali si presentano come radici dell'unità: λ=e±iθj per j=1,,k, reale solo per λ=±1. Pertanto, non esistono vettori fissi per la rotazione (λ=1) e non vi è quindi nemmeno un asse di rotazione. Tutti gli autovettori fissi si presentano in coppie e l'asse di rotazione è un sottospazio di dimensione pari.

Per dimensioni dispari n=2k+1, una rotazione propria R avrà un numero dispari di autovalori, con almeno un λ=1 e l'asse di rotazione sarà un sottospazio di dimensione dispari. Dimostrazione:

det(RI)=det(R𝖳)det(RI)=det(R𝖳RR𝖳)=det(IR𝖳)=det(IR)=(1)ndet(RI)=det(RI),

dove I è la matrice identità e det(R𝖳)=det(R)=1, così come (1)n=1 per n dispari. Pertanto, det(RI)=0, questo implica che esiste un vettore diverso da zero 𝐯 con (RI)𝐯=0, ossia R𝐯=𝐯, un autovettore fisso. Possono anche esserci coppie di autovettori fissi nel sottospazio di dimensione pari ortogonali a 𝐯, pertanto, la dimensione totale degli autovettori fissi è dispari.

Per esempio, nello spazio bidimensionale n=2, una rotazione di un angolo θ ha autovalori λ=eiθ e λ=eiθ, quindi non c'è alcun asse di rotazione, tranne quando θ=0: caso della rotazione nulla. Nello spazio tridimensionale n=3, l'asse di una rotazione propria non nulla è sempre una retta univoca e una rotazione attorno a questo asse di un angolo θ ha autovalori λ=1,eiθ,eiθ. Nello spazio quadridimensionale n=4, i quattro autovalori sono della forma e±iθ,e±iφ. La rotazione nulla ha θ=φ=0. Il caso di θ=0,φ0 è noto come rotazione semplice, con due autovalori unitari che formano un piano assiale, e rotazione bidimensionale ortogonale al piano assiale. Il caso di θ=φ è noto come rotazione isoclina, in quanto gli autovalori e±iθ sono ripetuti due volte e ogni vettore viene ruotato di un angolo θ.

La traccia di una matrice di rotazione è uguale alla somma dei suoi autovalori. Per n=2, una rotazione di angolo θ ha traccia 2cosθ. Per n=3, una rotazione attorno a un asse qualsiasi di un angolo θ ha traccia 1+2cosθ. Per n=4 la traccia è 2(cosθ+cosφ), la quale, per una rotazione isoclina, diventa 4cosθ.

Esempi

Template:Colonne

  • La matrice di rotazione 2×2
Q=[0110]
corrisponde a una rotazione sul piano di 90° in senso orario intorno all'origine.
M=[0,9360,3520,3520,936]
è la sua inversa ma, poiché il suo determinante è -1, non si tratta di una matrice di rotazione vera e propria; è una riflessione attraverso la retta 11y=2x.
  • La matrice di rotazione 3×3
Q=[1000321201232]=[1000cos30sin300sin30cos30]
corrisponde a una rotazione di −30° attorno all'asse x nello spazio tridimensionale.
  • La matrice di rotazione 3×3
Q=[0,360,480,800,800,600,000,480,640,60]
corrisponde a una rotazione di circa −74° attorno all'asse (12,1,1) nello spazio tridimensionale.
P=[001100010]
è una matrice di rotazione, come lo è la matrice di qualsiasi permutazione pari, e ruota di 120° attorno all'asse z=y=z.

Template:Colonne spezza

  • La matrice 3×3
M=[341537926]
ha determinante +1, ma non è ortogonale (la sua trasposta non è uguale alla sua inversa), pertanto non è una matrice di rotazione.
  • La matrice 4×3
M=[0,50,10,70,10,50,50,70,50,50,50,70,1]
non è quadrata, pertanto non può essere una matrice di rotazione; anche se M𝖳M genera una matrice identità 3×3 (le cui colonne sono ortonormali).
  • La matrice 4×4
Q=I=[1000010000100001]
descrive una rotazione isoclina in quattro dimensioni, una rotazione di angoli uguali (180°) attraverso due piani ortogonali.
  • La matrice di rotazione 5×5
Q=[0100010000001000001000001]
ruota i vettori nel piano dei primi due assi coordinati di 90°, ruota i vettori nel piano dei due assi successivi di 180° e lascia inalterato l'ultimo asse coordinato.

Template:Colonne fine

Geometria

Nella geometria euclidea, una rotazione è un esempio di isometria: una trasformazione che sposta i punti senza modificarne le distanze tra loro. Le rotazioni si distinguono dalle altre isometrie per due proprietà aggiuntive: lasciano (almeno) un punto fisso e lasciano invariata la chiralità. Diversamente, una traslazione sposta ogni punto, una riflessione scambia l'ordinamento sinistrorso con quello destrorso, un'antitraslazione compie entrambe le cose e una rotazione impropria combina un cambio di chiralità con una rotazione normale.

Se si considera punto fisso come origine di un sistema di riferimento cartesiano, allora a ogni punto possono essere assegnate coordinate come spostamento dall'origine. In questo modo è possibile lavorare con lo spazio vettoriale degli spostamenti invece che con i punti stessi. Supponendo, per ipotesi che (p1,,pn) siano le coordinate del vettore 𝐩 dall'origine O al punto P. Se si sceglie una base ortonormale per le coordinate, la distanza al quadrato da P, per il teorema di Pitagora, è:

d2(O,P)=𝐩2=r=1npr2

la quale può essere calcolata utilizzando il prodotto matriciale

𝐩2=[p1pn][p1pn]=𝐩𝖳𝐩.

Una rotazione geometrica trasforma linee in linee e mantiene i rapporti delle distanze tra i punti. Da queste proprietà si evince che una rotazione è una trasformazione lineare dei vettori e, pertanto, può essere scritta in forma matriciale, Q𝐩. Il fatto che una rotazione preservi non solo i rapporti, ma anche le distanze stesse, si afferma con

𝐩𝖳𝐩=(Q𝐩)𝖳(Q𝐩),

o

𝐩𝖳I𝐩=(𝐩𝖳Q𝖳)(Q𝐩)=𝐩𝖳(Q𝖳Q)𝐩.

Poiché questa equazione vale per tutti i vettori, 𝐩, si conclude che ogni matrice di rotazione Q soddisfa la condizione di ortogonalità,[12]

Q𝖳Q=I.

Le rotazioni preservano la proprietà della mano destra perché non possono cambiare l'ordine degli assi, il che implica la condizione di matrice "speciale":

detQ=+1.

Altrettanto importante è dimostrare che qualsiasi matrice che soddisfi queste due condizioni genera una rotazione.

Prodotto

L'inversa di una matrice di rotazione è la sua trasposta, che è a sua volta una matrice di rotazione:

(Q𝖳)𝖳(Q𝖳)=QQ𝖳=IdetQ𝖳=detQ=+1.

Il prodotto di due matrici di rotazione è una matrice di rotazione:

(Q1Q2)𝖳(Q1Q2)=Q2𝖳(Q1𝖳Q1)Q2=Idet(Q1Q2)=(detQ1)(detQ2)=+1.

Per n>2, il prodotto delle matrici di rotazione n×n generalmente non è commutativo.

Q1=[010100001]Q2=[001010100]Q1Q2=[010001100]Q2Q1=[001100010].

Notando che ogni matrice identità è una matrice di rotazione e che la moltiplicazione di matrici è associativa, è possibile riassumere tutte queste proprietà dicendo che le matrici di rotazione n×n formano un gruppo, che per n>2 è noto come gruppo ortogonale speciale e indicato con SO(n), SO(n,), SOn, o SOn(), il gruppo delle matrici di rotazione n×n è isomorfo al gruppo delle rotazioni in uno spazio n-dimensionale. Ciò significa che la moltiplicazione delle matrici di rotazione corrisponde alla composizione delle rotazioni, applicate in ordine da sinistra a destra delle matrici corrispondenti.

Ambiguità

Rotazioni di alias e alibi

L'interpretazione di una matrice di rotazione può essere soggetta a numerose ambiguità.

Nella maggior parte dei casi l'effetto dell'ambiguità è equivalente all'effetto di una inversione della matrice di rotazione (per queste matrici ortogonali equivale alla matrice trasposta).

Trasformazione di alias o alibi (passiva o attiva)
Le coordinate di un punto P possono cambiare a causa di una rotazione del sistema di coordinate CS (alias), o di una rotazione del punto P (alibi). Nel secondo caso, la rotazione di P produce anche una rotazione del vettore 𝐯 il quale rappresenta P. In altre parole, o P e 𝐯 sono fissi mentre CS ruota (alias), o CS è fisso mentre P e 𝐯 ruotano (alibi). Ogni data rotazione può essere legittimamente descritta in entrambi i modi, poiché vettori e sistemi di riferimento ruotano effettivamente l'uno rispetto all'altro, attorno allo stesso asse ma in direzioni opposte. In questo caso si è scelto l'approccio alibi per descrivere le rotazioni. Per esempio
R(θ)=[cosθsinθsinθcosθ]
rappresenta una rotazione in senso antiorario di un vettore 𝐯 di un angolo θ, o una rotazione di CS dello stesso angolo ma nella direzione opposta (ossia in senso orario). Le trasformazioni alibi e alias sono anche note rispettivamente come trasformazioni attive e passive.
Pre-moltiplicazione e post-moltiplicazione
Lo stesso punto P può essere rappresentato sia da un vettore colonna 𝐯 come da un vettore riga 𝐰. Le matrici di rotazione possono pre-moltiplicare i vettori colonna R𝐯, come post-moltiplicare i vettori riga 𝐰R. Tuttavia, R𝐯 produce una rotazione nella direzione opposta rispetto a 𝐰R. Qui, le rotazioni prodotte sui vettori colonna sono descritte mediante una pre-moltiplicazione. Per ottenere esattamente la stessa rotazione (ossia le stesse coordinate finali del punto P), il vettore riga equivalente deve essere post-moltiplicato per la matrice trasposta di R (ossia 𝐰R𝖳).
Coordinate destrorse e sinistrorse
La matrice e il vettore possono essere rappresentati, rispetto a un sistema di coordinate destrorso o sinistrorso. In questo articolo, salvo diversa indicazione, si conviene che l'approccio sia destrorso.
Vettori e forme
Lo spazio vettoriale ha uno spazio duale di funzioni lineari e la matrice può agire sia sui vettori, sia sulle forme.

Decomposizioni

Piani indipendenti

Si consideri la matrice di rotazione 3×3

Q=[0,360,480,800,800,600,000,480,640,60].

Se Q agisce in una data direzione 𝐯, semplicemente come una scala di un fattore λ, allora si ha

Q𝐯=λ𝐯,

poiché

𝟎=(λIQ)𝐯.

Pertanto λ è una radice del polinomio caratteristico per Q,

0=det(λIQ)=λ33925λ2+3925λ1=(λ1)(λ21425λ+1).

Due caratteristiche sono degne di nota. Innanzitutto, una delle radici (o autovalori) è 1, questo dimostra che una data direzione non è interessata dalla matrice di rotazione. Per le rotazioni in tre dimensioni, questo coincide con l'asse di rotazione (un concetto che non ha significato in nessun'altra dimensione). In secondo luogo, le altre due radici sono una coppia di complessi coniugati, il cui prodotto è 1 (il termine costante della quadratica) e la cui somma è 2cosθ (il termine lineare negativo). Questa fattorizzazione è interessante per le matrici di rotazione 3×3 poiché per tutte avviene la medesima cosa. (Come nei casi particolari, dove in una rotazione nulla i "complessi coniugati" sono entrambi 1, e per una rotazione di 180° sono entrambi 1.) Inoltre, una fattorizzazione simile rimane valida per qualsiasi matrice di rotazione n×n. Se la dimensione n è dispari, ci sarà un autovalore "sospeso" uguale a 1; e per qualsiasi dimensione, il resto del polinomio si scompone in termini quadratici come quello con i due casi speciali indicati. Si ha la garanzia che il polinomio caratteristico avrà grado n con n autovalori. E, poiché una matrice di rotazione commuta con la sua trasposta, è una matrice normale, quindi può essere diagonalizzata. In conclusione, ogni matrice di rotazione, quando viene espressa in un opportuno sistema di coordinate, si suddivide in rotazioni indipendenti di sottospazi bidimensionali, di non più n2 di loro.

La somma degli elementi sulla diagonale principale di una matrice è detta traccia; non cambia se si riorienta il sistema di coordinate ed è sempre uguale alla somma degli autovalori. Quest'implicazione risulta utile per le matrici di rotazione 2×2 e 3×3 poiché la traccia rivela l'angolo di rotazione θ, nello spazio bidimensionale (o sottospazio). Per una matrice 2×2 la traccia è 2cosθ, e per una matrice 3×3 è 1+2cosθ. Nel caso tridimensionale, il sottospazio è costituito da tutti i vettori perpendicolari all'asse di rotazione (direzione invariante, con autovalore 1). È pertanto possibile estrarre da qualsiasi matrice di rotazione 3×3 un asse di rotazione e un angolo, e questi determinano completamente la rotazione.

Angoli sequenziali

I vincoli su una matrice di rotazione 2×2 implicano che debba avere la forma

Q=[abba]

con a2+b2=1. Pertanto, è possibile porre a=cosθ e b=sinθ, per un dato angolo θ. Per ricavare θ non è sufficiente considerare solo a o b; vanno considerati assieme per posizionare l'angolo nel giusto quadrante, utilizzando la funzione arcotangente2.

Considerando la prima colonna della matrice di rotazione 3×3,

[abc].

Sebbene a2+b2 probabilmente non sarà uguale a 1, ma a un valore r2<1, è possibile usare una leggera variazione del calcolo precedente per trovare la cosiddetta rotazione di Givens che trasforma la colonna in

[r0c],

azzerando b. Ciò agisce sul sottospazio compreso tra gli assi x e y. È possibile ripetere il processo per il sottospazio xy fino ad azzerare c.[13] Agendo sulla matrice completa, queste due rotazioni producono la forma schematica

QxzQxyQ=[10000].

Spostando l'attenzione sulla seconda colonna, una rotazione di Givens del sottospazio yz può ora azzerare il valore z. Ciò porta la matrice completa alla forma

QyzQxzQxyQ=[100010001],

che è una matrice identità. Pertanto, si è scomposto Q come

Q=Qxy1Qxz1Qyz1.

Una matrice di rotazione n×n avrà

(n1)+(n2)++2+1=k=1n1k=12n(n1)

termini sotto la diagonale nulla. È possibile azzerarli estendendo la stessa idea di passare attraverso le colonne con una serie di rotazioni in una sequenza fissa di piani. Si conclude che l'insieme delle matrici di rotazione n×n ciascuna delle quali ha n2 termini, può essere parametrizzato da 12n(n1) angoli.

xzxw xzyw xyxw xyzw
yxyw yxzw yzyw yzxw
zyzw zyxw zxzw zxyw
xzxb yzxb xyxb zyxb
yxyb zxyb yzyb xzyb
zyzb xyzb zxzb yxzb

Nelle tre dimensioni ciò ripropone in forma matriciale un'osservazione fatta da Eulero, per cui i matematici chiamano la sequenza ordinata di tre angoli angoli di Eulero. Tuttavia la situazione è più complicata di quanto finora indicato. Nonostante le piccole dimensioni, si ha una notevole libertà nella sequenza delle coppie di assi che si utilizzano; oltre a una certa libertà nella scelta degli angoli. Pertanto si hanno molte convenzioni diverse impiegate quando le rotazioni tridimensionali vengono parametrizzate nella fisica, medicina, chimica e altre discipline. Includendo l'opzione degli assi del mondo o degli assi del corpo, sono possibili 24 sequenze differenti. Mentre alcune discipline chiamano qualsiasi sequenza, angoli di Eulero, altre usano nomi diversi alle diverse sequenze (Cardano, Tait–Bryan, rollio-beccheggio-imbardata).

Uno dei motivi per cui ci sono così tante opzioni è che le rotazioni in tre dimensioni (e superiori) non commutano. Se si inverte una determinata sequenza di rotazioni, si ottiene un risultato differente. Ciò implica anche che non si possono comporre due rotazioni sommando i loro angoli corrispondenti. Quindi gli angoli di Eulero non sono vettori, nonostante la somiglianza nell'aspetto come una terna di numeri.

Dimensioni nidificate

Template:Vedi anche Una matrice di rotazione 3×3 come

Q3×3=[cosθsinθ0sinθcosθ0001]

ricorda la matrice di rotazione 2×2,

Q2×2=[cosθsinθsinθcosθ],

incorporato nell'angolo in alto a sinistra:

Q3×3=[Q2×2𝟎𝟎𝖳1].

Questa non è un'illusione: non una, ma molte coppie di rotazioni n-dimensionali che si trovano all'interno di rotazioni di sottogruppi (n+1)-dimensionali. Ogni inserimento lascia fissa una direzione, che nel caso delle matrici 3×3 è l'asse di rotazione. per esempio, si ha

Q𝐱(θ)=[1000cosθsinθ0sinθcosθ],[8px]Q𝐲(θ)=[cosθ0sinθ010sinθ0cosθ],[8px]Q𝐳(θ)=[cosθsinθ0sinθcosθ0001],

fissando rispettivamente l'asse x l'asse y e l'asse z. L'asse di rotazione non deve essere necessariamente un asse di coordinate; se 𝐮=(x,y,z) è un vettore unitario nella direzione desiderata, allora

Q𝐮(θ)=[0zyz0xyx0]sinθ+(I𝐮𝐮𝖳)cosθ+𝐮𝐮𝖳[8px]=[(1x2)cθ+x2zsθxycθ+xyysθxzcθ+xzzsθxycθ+xy(1y2)cθ+y2xsθyzcθ+yzysθxzcθ+xzxsθyzcθ+yz(1z2)cθ+z2][8px]=[x2(1cθ)+cθxy(1cθ)zsθxz(1cθ)+ysθxy(1cθ)+zsθy2(1cθ)+cθyz(1cθ)xsθxz(1cθ)ysθyz(1cθ)+xsθz2(1cθ)+cθ],

dove cθ=cosθ, sθ=sinθ, è una rotazione dell'angolo θ che lascia inalterato l'asse 𝐮.

Una direzione nello spazio (n+1)-dimensionale sarà un vettore di modulo unitario, che può essere considerato un punto su una sfera generalizzata, Sn. Pertanto è naturale descrivere il gruppo di rotazione SO(n+1) come combinazione di SO(n) e Sn. Un formalismo adatto è il fibrato,

SO(n)SO(n+1)Sn,

dove per ogni direzione nello spazio di base, Sn, la fibra su di essa nello spazio totale, SO(n+1), è una copia dello spazio della fibra, SO(n), vale a dire le rotazioni che mantengono fissa quella direzione.

Si può costruire una matrice di rotazione n×n partendo da una matrice 2×2 puntando il suo asse fisso su S2 (la sfera ordinaria nello spazio tridimensionale), puntando la rotazione risultante su S3, e così via fino a Sn1. Un punto su Sn può essere selezionato utilizzando n numeri, quindi abbiamo di nuovo 12n(n1) numeri per ogni n×n matrice di rotazione.

In effetti, è possibile vedere la decomposizione angolare sequenziale, discussa in precedenza, come l'inversione di questo processo. La composizione di n1 rotazioni di Givens porta la prima colonna (e riga) a (1,0,0), così che, il resto della matrice è una matrice di rotazione di dimensione inferiore di uno, incorporata in modo da lasciare (1,0,,0) fisso.

Parametri di inclinazione tramite la formula di Cayley

Quando una matrice di rotazione Q di ordine n non ha 1 come autovalore, quindi nessuna delle rotazioni planari che comprende è una rotazione di 180°, allora Q+I è una matrice invertibile. La maggior parte delle matrici di rotazione si adattano a questa descrizione, e per esse si può dimostrare che (QI)(Q+I)1 è una matrice antisimmetrica, A. Quindi A𝖳=A; e poiché la diagonale è necessariamente zero, e poiché il triangolo superiore determina quello inferiore A contiene 12n(n1) termini indipendenti.

Convenientemente, IA è invertibile ogni volta che A è antisimmetrica; quindi possiamo recuperare la matrice originale usando la trasformata di Cayley,[14]

A(I+A)(IA)1,

che mappa qualsiasi matrice antisimmetrica A in una matrice di rotazione. Infatti, tolte le eccezioni menzionate, è possibile produrre qualsiasi matrice di rotazione con questo metodo. Sebbene nelle applicazioni pratiche difficilmente è possibile permettersi di ignorare le rotazioni di 180°, la trasformata di Cayley rimane uno strumento potenzialmente utile, poiché fornisce una parametrizzazione della maggior parte delle matrici di rotazione senza funzioni trigonometriche.

In tre dimensioni, per esempio, si ha

[0zyz0xyx0]11+x2+y2+z2[1+x2y2z22xy2z2y+2xz2xy+2z1x2+y2z22yz2x2xz2y2x+2yz1x2y2+z2].

Se si considerano le voci oblique in un vettore, (x,y,z), si produce una rotazione di 90° attorno all'asse x per (1,0,0), attorno all'asse y per (0,1,0), e attorno all'asse z per (0,0,1). Le rotazioni di 180° sono appena fuori portata; infatti, nel limite per x, (x,0,0) si avvicina a una rotazione di 180° attorno all'asse x e similmente per le altre direzioni.

Decomposizioni trasvezionali

Per il caso bidimensionale, una matrice di rotazione può essere scomposta in tre matrici di trasvezione:[15]

R(θ)=[1tanθ201][10sinθ1][1tanθ201].

Ciò è utile, per esempio, nella computer grafica, poiché le trasvezioni possono essere implementate con meno moltiplicazioni rispetto alla rotazioni dirette di una bitmap. Nei computer moderni questo aspetto può avere scarsa importanza, ma nei dispositivi mobili rimane importante, poiché legato al consumo della batteria.

Una rotazione può anche essere scritta come due trasvezioni e una scalatura:[16]

R(θ)=[10tanθ1][1sinθcosθ01][cosθ001cosθ].

Teoria dei gruppi

Di seguito sono riportati alcuni fatti fondamentali sul ruolo dell'insieme di tutte le matrici di rotazione di dimensione fissa (qui principalmente 3) in matematica e in fisica, dove la simmetria rotazionale è un requisito di ogni legge veramente fondamentale (per l'assunzione di isotropia dello spazio) e dove la stessa simmetria, quando presente, è una proprietà esemplificativa di molti problemi di natura meno fondamentale. Gli esempi abbondano nella meccanica classica e nella meccanica quantistica. La conoscenza della parte delle soluzioni relativa a questa simmetria si applica (con delle qualifiche) a tutti questi problemi e può essere estrapolata da un problema specifico in questione, riducendone la complessità. Un esempio – in matematica e fisica – è la teoria delle armoniche sferiche. Il loro ruolo nella teoria dei gruppi di rotazione è essere uno spazio di rappresentazione per l'intero insieme di rappresentazioni irriducibili di dimensione finita del gruppo di rotazione SO(3).

Guppo di Lie

Le matrici di rotazione n×n per ogni n formano un gruppo, il gruppo ortogonale speciale, SO(n). Questa struttura algebrica è accoppiata con una spazio topologico ereditato da GLn() così che le operazioni di prodotto e inversione siano funzioni analitiche degli elementi della matrice. Pertanto SO(n) è per ogni n un gruppo di Lie. È compatto e connesso, ma non semplicemente connesso. È anche un gruppo semi-semplice, in effetti un gruppo semplice con l'eccezione SO(4).[17] La rilevanza di ciò è che tutti i teoremi e tutti i meccanismi della teoria delle varietà analitiche (le varietà analitiche sono in particolare varietà differenziabili) sono applicabili e la ben sviluppata teoria delle rappresentazioni dei gruppi semisemplici compatti è pronta per l'uso.

Algebra di Lie

Template:Vedi anche L'algebra di Lie 𝔰𝔬(n) di SO(n) è data da

𝔰𝔬(n)=𝔬(n)={XMn()X=X𝖳},

ed è lo spazio delle matrici antisimmetriche di dimensione n, vedere gruppo classico, dove 𝔬(n) è l'algebra di Lie di O(n), il gruppo ortogonale. Per riferimento, la base più comune per 𝔰𝔬(3) è[18]

L𝐱=[000001010],L𝐲=[001000100],L𝐳=[010100000].

Mappa esponenziale

Template:Vedi anche Collegando l'algebra di Lie al gruppo di Lie si ottiene la mappa esponenziale, definita ricorrendo alla serie delle matrici esponenziali standard per eA.[19] Per qualsiasi matrice antisimmetrica A, exp(A) è sempre una matrice di rotazione.[nb 3]

Un esempio importante è il caso 3×3. Nel gruppo di rotazione SO(3), si dimostra che è possibile identificare ogni A𝔰𝔬(3) con un vettore di Eulero ω=θ𝐮, dove 𝐮=(x,y,z) è un vettore avente modulo unitaria.

Per le proprietà dell'identificazione 𝐬𝐮(2)3, 𝐮 è nello spazio nullo di A. Pertanto, 𝐮 è lasciato invariante da exp(A) ed è quindi un asse di rotazione.

Con la formula di Rodrigues sulla rotazione matriciale, si ottiene,

exp(A)=exp(θ(𝐮𝐋))=exp([0zθyθzθ0xθyθxθ0])=I+sinθ 𝐮𝐋+(1cosθ)(𝐮𝐋)2,

dove

𝐮𝐋=[0zyz0xyx0].

Questa è la matrice per una rotazione attorno all'asse 𝐮 dell'angolo θ.

Formula di Baker–Campbell–Hausdorff

La formula BCH fornisce un'espressione esplicita per Z=log(eXeY) in termini di un'espansione in serie di commutatori annidati di X e Y.[20][21] Questa espansione generale si sviluppa come[nb 4]

Z=C(X,Y)=X+Y+12[X,Y]+112[X,[X,Y]]112[Y,[X,Y]]+

Nel caso 3×3, lo sviluppo infinito generale ha una forma compatta,[22]

Z=αX+βY+γ[X,Y].

Come identità di gruppo, quanto sopra vale per tutte le rappresentazioni fedeli, compresa quella del doppietto (rappresentazione spinor), che è più semplice. La stessa formula esplicita segue quindi direttamente attraverso le matrici di Pauli; si veda la derivazione 2×2 per SU(2). Per un caso generale n×n un approfondimento è su questo articolo.[23]

Gruppo di rotazione

Il gruppo di Lie SO(n) delle matrici di rotazione n×n non è uno spazio semplicemente connesso, pertanto la teoria di Lie dice che è un'immagine omomorfa di un gruppo di rivestimento universale. Spesso il gruppo di rivestimento, che in questo caso è chiamato gruppo di rotazione indicato con Spin(n) è il più semplice e naturale da usare.[17]

Nel caso di rotazioni nel piano, SO(2) topologicamente è una circonferenza, S1. Il suo gruppo di rivestimento universale, Spin(2), è isomorfo alla retta dei numeri reali, R, rispetto all'addizione. Ogni volta che vengono utilizzati angoli di ampiezza arbitraria si sfrutta la praticità del rivestimento universale. Ogni matrice di rotazione 2×2 è prodotta da un'infinità numerabile di angoli, separati da multipli interi di 2π. Di conseguenza, il gruppo fondamentale di SO(2) è isomorfo agli interi, 𝐙.

Nel caso di rotazioni spaziali, SO(3) è topologicamente equivalente allo spazio proiettivo reale tridimensionale, 𝐑𝐏3. Il suo gruppo di rivestimento universale Spin(3) è isomorfo alla sfera tridimensionale S3. Ogni matrice di rotazione 3×3 è prodotta da due punti opposti sulla sfera. Di conseguenza, il gruppo fondamentale di SO(3) è isomorfo al gruppo di due elementi, 𝐙2.

È possibile descrivere Spin(3) isomorfo ai quaternioni di norma unitaria rispetto alla moltiplicazione, o a certe matrici reali 4×4, o a matrici unitarie speciali complesse 2×2, note come SU(2). I rivestimenti per il primo e l'ultimo caso sono dati da

{q:q=1}w+𝐢x+𝐣y+𝐤z[12y22z22xy2zw2xz+2yw2xy+2zw12x22z22yz2xw2xz2yw2yz+2xw12x22y2]SO(3),

e

SU(2)[αββα][12(α2β2+α2β2)i2(α2β2+α2+β2)αβαβi2(α2β2α2+β2)i2(α2+β2+α2+β2)i(+αβαβ)αβ+αβi(αβ+αβ)ααββ]SO(3).

Molte caratteristiche di questi casi sono le stesse anche per dimensioni superiori. I rivestimenti sono tutti due-a-uno, con SO(n), n>2, aventi gruppo fondamentale 𝐙2. L'ambiente naturale per questi gruppi si trova all'interno di un'algebra di Clifford. Un tipo di azione delle rotazioni è prodotto da una specie di "panino", indicato con qq*. Ancora più importante nelle applicazioni alla fisica è il fatto che la rappresentazione dello spin corrispondente dell'algebra di Lie si trova all'interno dell'algebra di Clifford. Può essere elevato a potenza nel modo consueto per fornire una rappresentazione a due valori, detta rappresentazione proiettiva del gruppo di rotazione. Questo è il caso di SO(3) e SU(2), dove la rappresentazione a due valori può essere letta come un "inverso" del rivestimento. In base alle proprietà dei rivestimenti, l'inverso può essere scelto uno a uno come sezione locale, ma non globalmente.

Rotazioni infinitesimali

Le matrici nell'algebra di Lie non sono di per sé rotazioni; le matrici antisimmetriche sono derivate, differenze proporzionali di rotazioni. Una vera e propria "rotazione differenziale", o "matrice di rotazione infinitesimale" assume la forma

I+Adθ,

dove dθ è infinitamente piccolo e A𝐬𝐨(n), per esempio con A=Lx,

dLx=[10001dθ0dθ1].

Le regole per il calcolo sono le stesse, fatta eccezione per il fatto che gli infinitesimi di second'ordine vengono sistematicamente eliminati. Con queste regole, queste matrici non soddisfano tutte le stesse proprietà delle matrici di rotazione finite ordinarie sotto il trattamento usuale degli infinitesimi.[24] Si scopre che l'ordine in cui vengono applicate le rotazioni infinitesimali è irrilevante.

Conversioni

Si è osservata l'esistenza di numerose scomposizioni che si applicano a qualsiasi dimensione, vale a dire a piani indipendenti, angoli sequenziali e dimensioni nidificate. In tutti questi casi è possibile scomporre una matrice o costruirne una. Si è inoltre prestato particolare attenzione alle matrici di rotazione 3×3 che meritano ulteriore attenzione in entrambe le direzioni.[25]

Quaternioni

Template:Vedi anche Dato il quaternione unitario 𝐪=w+x𝐢+y𝐣+z𝐤, la matrice di rotazione 3×3 pre-moltiplicata equivalente (da utilizzare con vettori colonna) è[26]

Q=[12y22z22xy2zw2xz+2yw2xy+2zw12x22z22yz2xw2xz2yw2yz+2xw12x22y2].

Ora ogni componente quaternionica appare moltiplicata per due in un termine di grado due e, se tutti questi termini sono nulli, ciò che resta è la matrice identità. Ciò porta a una conversione efficiente e robusta da qualsiasi quaternione, sia unitario, sia non unitario, a una matrice di rotazione. Dato:

n=w×w+x×x+y×y+z×zs={0se n=02ndiversamente

si può calcolare

Q=[1s(yy+zz)s(xywz)s(xz+wy)s(xy+wz)1s(xx+zz)s(yzwx)s(xzwy)s(yz+wx)1s(xx+yy)].

Senza la necessità di un quaternione unitario, si scopre che i quaternioni non nulli agiscono come coordinate omogenee per matrici di rotazione 3×3. La trasformata di Cayley, discussa in precedenza, si ottiene scalando il quaternione così che la sua componente w sia 1. Per una rotazione di 180° attorno a qualsiasi asse, w sarà nullo, il che mostra le limitazioni di Cayley.

La somma degli elementi lungo la diagonale principale (la traccia), più uno, è pari a 44(x2+y2+z2), ossia 4w2. Si può quindi scrivere la traccia stessa come 2w2+2w21; e dalla versione precedente della matrice si vede come i valori della diagonale abbiano la stessa forma: 2x2+2w21, 2y2+2w21, e 2z2+2w21. È quindi possibile confrontare agevolmente le grandezze di tutte e quattro le componenti del quaternione ricorrendo alla diagonale della matrice. È infatti possibile ottenere tutte e quattro le grandezze utilizzando le somme e le radici quadrate, nonché scegliere segni coerenti utilizzando la parte di simmetria obliqua dei valori esterni alla diagonale:

t=trQ=Qxx+Qyy+Qzz(della traccia di Q)r=1+tw=12rx=sgn(QzyQyz)|121+QxxQyyQzz|y=sgn(QxzQzx)|121Qxx+QyyQzz|z=sgn(QyxQxy)|121QxxQyy+Qzz|.

Alternativamente, utilizzare una singola radice quadrata e divisione

t=trQ=Qxx+Qyy+Qzzr=1+ts=12rw=12rx=(QzyQyz)sy=(QxzQzx)sz=(QyxQxy)s.

Questo è numericamente stabile fintanto che la traccia, t, non è negativa; in questo caso, si rischia di dividere (quasi) per zero. In tal caso, supponendo che Qxx sia l'elemento diagonale più grande, allora x avrà il modulo maggiore (gli altri casi sono derivati dalla permutazione ciclica); pertanto, quanto segue è sicuro.

r=1+QxxQyyQzzs=12rw=(QzyQyz)sx=12ry=(Qxy+Qyx)sz=(Qzx+Qxz)s.

Se la matrice contiene un errore significativo, come un errore numerico accumulato, è possibile costruire una matrice simmetrica 4×4,

K=13[QxxQyyQzzQyx+QxyQzx+QxzQzyQyzQyx+QxyQyyQxxQzzQzy+QyzQxzQzxQzx+QxzQzy+QyzQzzQxxQyyQyxQxyQzyQyzQxzQzxQyxQxyQxx+Qyy+Qzz],

e trovare l'autovettore, (x,y,z,w), del suo autovalore di modulo maggiore. Se Q è davvero una matrice di rotazione, quel valore sarà 1. Il quaternione così ottenuto corrisponderà alla matrice di rotazione più vicina alla matrice data[27] (Nota: la formulazione dell'articolo citato è post-moltiplicata, pertanto funziona con vettori riga).

Decomposizione polare

Se la matrice M di ordine n è non singolare, le sue colonne sono vettori linearmente indipendenti; quindi l'ortogonalizzazione di Gram-Schmidt può adattarle per essere una base ortonormale. Espresso in termini di algebra lineare numerica, si converte M in una matrice ortogonale, Q, utilizzando la decomposizione QR. Tuttavia, spesso è preferibile una Q più vicina a M, cosa che questo metodo non riesce a realizzare. Per questo, lo strumento che si utilizza è la decomposizione polare.[28][29]

Per misurare la vicinanza, è possibile utilizzare qualsiasi norma matriciale invariante rispetto alle trasformazioni ortogonali. Una scelta conveniente è la norma di Frobenius QM𝖥, al quadrato, che è la somma dei quadrati delle differenze degli elementi. Scrivendo questo in termini di traccia, Tr, l'obiettivo è

Trovare Q che minimizzi Tr((QM)𝖳(QM)), soggetto a Q𝖳Q=I.

Attraverso la scrittura in termini matriciali, la funzione obiettivo si riduce a un polinomio quadratico. Può essere minimizzata nel solito modo, trovando il punto dove la sua derivata si annulla. Per una matrice 3×3, il vincolo di ortogonalità implica sei uguaglianze scalari che gli elementi di Q devono soddisfare. Per incorporare i vincoli, è possibile impiegare una tecnica standard, il metodo dei moltiplicatori di Lagrange, assemblati come una matrice simmetrica, Y. Pertanto il metodo è:

Differenziare Tr((QM)𝖳(QM)+(Q𝖳QI)Y) rispetto (agli elementi di) Q, ed eguagliarla a zero.

Si consideri un esempio 2×2. Inclusi i vincoli, si vuole minimizzare

(QxxMxx)2+(QxyMxy)2+(QyxMyx)2+(QyyMyy)2+(Qxx2+Qyx21)Yxx+(Qxy2+Qyy21)Yyy+2(QxxQxy+QyxQyy)Yxy.

Derivando a turno rispetto a Qxx, Qxy, Qyx, Qyy, si ottiene la una matrice

2[QxxMxx+QxxYxx+QxyYxyQxyMxy+QxxYxy+QxyYyyQyxMyx+QyxYxx+QyyYxyQyyMyy+QyxYxy+QyyYyy]

In generale, si ottiene l'equazione

0=2(QM)+2QY,

tale che

M=Q(I+Y)=QS,

dove Q è ortogonale e S simmetrica. Per garantire un minimo, la matrice Y (e, pertanto, S) devono essere definite positive. L'algebra lineare definisce QS la decomposizione polare di M, con S la radice quadrata positiva di S2=M𝖳M.

S2=(Q𝖳M)𝖳(Q𝖳M)=M𝖳QQ𝖳M=M𝖳M.

Quando M è non singolare, i fattori Q e S della decomposizione polare sono univocamente determinati. Tuttavia, il determinante di S è positivo poiché S è definita positiva, pertanto Q eredita il segno del determinante di M. Questo garantisce soltanto che Q sia ortogonale, non che sia una matrice di rotazione. Ciò è inevitabile: una M con determinante negativo non ha una matrice di rotazione più vicina definita in modo univoco.

Asse e angolo

Visualizzazione di una rotazione rappresentata tramite asse e angolo di Eulero.

Per costruire efficientemente una matrice di rotazione

Q

da un angolo

θ

e un asse unitario

𝐮

, si sfrutta la simmetria e l'antisimmetria all'interno dei suoi termini. Se

x

,

y

, e

z

sono le componenti del vettore unitario che rappresenta l'asse, e

c=cosθs=sinθC=1c

si ha

Q(θ)=[xxC+cxyCzsxzC+ysyxC+zsyyC+cyzCxszxCyszyC+xszzC+c].

La determinazione di un asse e di un angolo, come la determinazione di un quaternione, è possibile solo a meno del segno; ossia (𝐮,θ) e (𝐮,θ) corrispondono alla stessa matrice di rotazione, come q e q. Inoltre, l'estrazione asse-angolo presenta ulteriori difficoltà. L'angolo può essere limitato da 0° a 180°, ma formalmente gli angoli sono ambigui per multipli di 360°. Quando l'angolo è nullo, l'asse non è definito. Quando l'angolo è 180°, la matrice è simmetrica, il che ha implicazioni nell'estrazione dell'asse. In prossimità di multipli di 180°, si deve fare attenzione nell'evitare problemi numerici: nell'estrazione dell'angolo, un'arcotangente a due argomenti atan2(sinθ,cosθ) pari a θ evita l'insensibilità della funzione arcocoseno; nel calcolo dell'ampiezza dell'asse per forzare l'ampiezza unitaria, un approccio basato sulla forza bruta potrebbe perdere accuratezza per effetto dello scarto di flusso.[30]

Un approccio parziale è il seguente:

x=QzyQyzy=QxzQzxz=QyxQxyr=x2+y2+z2t=Qxx+Qyy+Qzzθ=atan2(r,t1).

Le componenti x, y e z dell'asse verrebbero pertanto divise per r. Un approccio completamente robusto utilizza un algoritmo differente quando la traccia t, della matrice Q, è negativa, come nell'estrazione dei quaternioni. Quando r è nullo poiché l'angolo è zero, si deve fornire un asse da una sorgente diversa dalla matrice.

Angoli di Eulero

La complessità della conversione aumenta con gli angoli di Eulero (qui utilizzati in senso lato). La prima difficoltà consiste nello stabilire quale delle ventiquattro varianti dell'ordine degli assi cartesiani verrà utilizzata. Supponiamo che i tre angoli siano θ1, θ2, θ3; fisici e chimici possono interpretarli come

Q(θ1,θ2,θ3)=Q𝐳(θ1)Q𝐲(θ2)Q𝐳(θ3),

mentre nel campo della dinamica dei velivoli si può utilizzare

Q(θ1,θ2,θ3)=Q𝐳(θ3)Q𝐲(θ2)Q𝐱(θ1).

Un approccio sistematico inizia con la scelta dell'asse più a destra. Tra tutte le permutazioni di (z,y,z), solo due pongono quell'asse per primo; una è una permutazione pari e l'altra dispari. A parità di scelta è determinato l'asse centrale. Restano due possibilità per la scelta dell'asse più a sinistra: duplicare il primo oppure no. Queste tre scelte forniscono 3×2×2=12 varianti; è possibile raddoppiarle a 24 scegliendo assi statici o rotanti.

Questo è sufficiente per costruire una matrice di angoli, ma le terne differiscono in molti modi e possono produrre la medesima matrice di rotazione. Per esempio, si supponga di utilizzare la convenzione xyz di cui sopra; si avranno le seguenti coppie equivalenti:

(90°, 45°, −105°) (−270°, −315°, 255°) multipli di 360°
(72°, 0°, 0°) (40°, 0°, 32°) allineamento univoco
(45°, 60°, −30°) (−135°, −60°, 150°) capovolgimento bidirezionale

Gli angoli per qualsiasi ordine possono essere trovati utilizzando un algoritmo semplice ed efficiente.[31][32]

Il problema dell'allineamento univoco, l'analogo matematico del blocco cardanico fisico, si verifica quando la rotazione centrale allinea gli assi della prima e dell'ultima rotazione. Affligge ogni ordine degli assi, sia a multipli pari, sia dispari di 90°. Queste singolarità non sono caratteristiche della matrice di rotazione in quanto tale e si verificano solo con l'utilizzo degli angoli di Eulero.

Le singolarità vengono evitate quando si considera e si manipola la matrice di rotazione come vettori di riga ortonormali (nelle applicazioni tridimensionali spesso denominati vettore destro, vettore superiore e vettore esterno) anziché come angoli. Anche quando si lavora con i quaternioni si evitano le singolarità.

Formulazione da vettore a vettore

In alcuni casi è interessante descrivere la rotazione specificando come un vettore viene mappato in un altro attraverso il percorso più breve (angolo più piccolo). In 3 questo descrive completamente la matrice di rotazione associata. In generale, dato x,y𝕊n, la matrice

R:=I+yx𝖳xy𝖳+11+x,y(yx𝖳xy𝖳)2

appartiene a SO(n+1) e mappa x su y.[33]

Matrice di rotazione casuale uniforme

Talvolta si rende necessario generare una matrice di rotazione casuale uniformemente distribuita. Sembra intuitivamente chiaro in due dimensioni che ciò significa che l'angolo di rotazione è distribuito uniformemente tra 0 e 2π. Questa intuizione è corretta, ma non è valida per le dimensioni superiori. Per esempio, se si scompongono le matrici di rotazione 3×3 nella forma asse-angolo, l'angolo non dovrebbe essere distribuito uniformemente; la probabilità che (la grandezza) dell'angolo sia al massimo θ dovrebbe essere 1π(θsinθ), per 0θπ.

Poiché SO(n) è un gruppo di Lie connesso e localmente compatto, si ha un semplice criterio standard per l'uniformità, vale a dire che la distribuzione non cambia quando composta da una qualsiasi rotazione arbitraria (una "traslazione" del gruppo di Lie). Questa definizione corrisponde a quella che viene chiamata misura di Haar. Nell'articolo citato viene mostrato come utilizzare la trasformata di Cayley per generare e testare matrici secondo questo criterio.[34]

È pure possibile generare una distribuzione uniforme in qualsiasi dimensione utilizzando l'algoritmo dei sottogruppi.[35] Ciò sfrutta ricorsivamente la struttura del gruppo di dimensioni nidificate di SO(n), come segue. Genera un angolo uniforme e costruisce una matrice di rotazione 2×2. Per passare da n a n+1, si genera un vettore 𝐯 distribuito uniformemente sulla n-sfera Sn, quindi si incorpora la matrice n×n nella dimensione immediatamente più grande con l'ultima colonna (0,,0,1), e si ruota la matrice più grande così che l'ultima colonna diventi 𝐯.

Come al solito, si hanno delle alternative speciali per il caso 3×3. Ciascuno di questi metodi parte con tre scalari casuali indipendenti, distribuiti uniformemente sull'intervallo unitario[36] sfrutta la dimensione dispari per ottenere una rotazione tramite una trasformazione di Householder per negazione e la utilizza per puntare l'asse di una rotazione planare uniforme.

Un altro metodo utilizza i quaternioni unitari. La moltiplicazione delle matrici di rotazione è omomorfa alla moltiplicazione dei quaternioni e la moltiplicazione per un quaternione unitario ruota la sfera unitaria. Poiché l'omomorfismo è un'isometria locale, si conclude immediatamente che per produrre una distribuzione uniforme su SO(3) è possibile utilizzare una distribuzione uniforme su S3. In pratica: creare un vettore di quattro elementi dove ciascuno di essi è un campionamento di una distribuzione normale. Normalizzando la sua lunghezza, si ottiene un quaternione unitario casuale uniformemente campionato che rappresenta una rotazione casuale uniformemente campionata. Si noti che quanto detto sopra si applica solo alle rotazioni in dimensione 3. Per un'idea generalizzata dei quaternioni, è necessario esaminare i rotori.

Si possono usare anche gli angoli di Eulero, anche se non con ogni angolo distribuito uniformemente.[37] Per la forma asse-angolo, l'asse è distribuito uniformemente sulla sfera unitaria delle direzioni, S2, mentre l'angolo ha la distribuzione non uniforme su [0,π].[38]

Note

Note al testo
  1. Si noti che se, invece di ruotare i vettori, è il quadro di riferimento a essere ruotato, i segni dei termini sinθ verranno invertiti. Se il quadro di riferimento A viene ruotato in senso antiorario attorno all'origine di un angolo θ per creare il quadro di riferimento B, allora Rx (con i segni invertiti) trasformerà un vettore descritto in coordinate del quadro di riferimento A in coordinate del quadro di riferimento B. Nella robotica e in altri campi del settore aerospaziale, le trasformazioni dei quadri di coordinate vengono spesso eseguite utilizzando questa interpretazione della matrice di rotazione.
  2. Si noti che
    𝐮𝐮=([𝐮]×)2+𝐈
    il quale, nella notazione di Rodrigues, equivale a
    𝐑=𝐈+(sinθ)[𝐮]×+(1cosθ)([𝐮]×)2.
  3. Si noti che questa mappa esponenziale di matrici asimmetriche a matrici di rotazione è molto diversa dalla trasformata di Cayley discussa in precedenza, che differisce al terzo ordine.
  4. Per una derivazione dettagliata, si veda Derivata della mappa esponenziale. I problemi di convergenza di questa serie all'elemento destro dell'algebra di Lie vengono qui ignorati. La convergenza è garantita quando X+Y<log2 e Z<log2. Se queste condizioni non sono soddisfatte, la serie può comunque convergere.
Fonti

Voci correlate

Template:Div col

Template:Div col end

Altri progetti

Template:Interprogetto

Collegamenti esterni

Template:Algebra lineare Template:Portale Template:Voce di qualità