Asse di rotazione di una matrice simmetrica ortogonale

billyballo2123
Ciao a tutti!
Dati tre vettori ortonormali $\mathbf{u}$, $\mathbf{v}$ e $\mathbf{w}$, se la matrice ortogonale
\[
R=
\begin{bmatrix}
u_1 & v_1 & w_1 \\
u_2 & v_2 & w_2 \\
u_3 & v_3 & w_3
\end{bmatrix}
\]
ha determinante uno, allora è una rotazione e fissa uno e un solo asse. Per trovare l'asse ho letto questo procedimento:
Per ogni matrice $3\times 3$ antisimmetrica, del tipo
\[
A=
\begin{bmatrix}
0 & a & b \\
-a & 0 & c \\
-b & -c & 0
\end{bmatrix},
\]
esiste un vettore $\mathbf{a}$ tale che $A\mathbf{x}=\mathbf{a}\wedge\mathbf{x}$ per ogni $\mathbf{x}\in\mathbb{R}^3$; inoltre si ha che $\mathbf{a}=[-c \ \ b \ \ -a]^T$.
A questo punto ponendo $A=R-R^T$ (che è antisimmetrica e manda ogni vettore dell'asse fissato nell'origine), si ottiene $\mathbf{a}=[-(w_2-v_3) \ \ w_1-u_3 \ \ -(v_1-u_2)]^T$, e dato che $(R-R^T)\mathbf{x}=\mathbf{0}$ se e solo se $\mathbf{a}\wedge\mathbf{x}=\mathbf{0}$ se e solo se $\mathbf{x}=\lambda\mathbf{a}$, si ha che l'asse fissato ha direzione $\mathbf{a}$.
Ora arrivo alla domanda :-D
Tutto il ragionamento sopra fila a meno che $R$ sia simmetrica. In quel caso infatti si avrebbe $\mathbf{a}=\mathbf{0}$. Qualcuno di voi sa una formula per trovare l'asse nel caso in cui la matrice fosse simmetrica? So che in un esercizio specifico basta trovare l'autovettore relativo all'autovalore uno, ma quello che volevo io è una formula come quella sopra, cioè data una matrice che ha per vettori colonna $\mathbf{u}$, $\mathbf{v}$ e $\mathbf{w}$, l'asse di rotazione è $\mathbf{a}=[-(w_2-v_3) \ \ w_1-u_3 \ \ -(v_1-u_2)]^T$.

Risposte
billyballo2123
Ok come non detto... risolto :-D :-D

dissonance
Ti posso chiedere come hai risolto? E' interessante. Non ho mai pensato che ci fosse un metodo più veloce che calcolare l'autovettore di $1$.

billyballo2123
Ok! :-)
Se la matrice è simmetrica, allora per il teorema spettrale la si può diagonalizzare mediante una matrice ortogonale $B$ (con determinante uno). Se
\[
B=
\begin{bmatrix}
x_1 & y_1 & z_1 \\
x_2 & y_2 & z_2 \\
x_3 & y_3 & z_3
\end{bmatrix},
\]
allora $B^{-1} R B$ (o equivalentemente $B^T R B$) sarebbe una delle seguenti tre matrici (a meno che $R$ sia l'identità):
\[
\begin{bmatrix}
1 & 0 & 0 \\
0 & -1 & 0 \\
0 & 0 & -1
\end{bmatrix},
\begin{bmatrix}
-1 & 0 & 0 \\
0 & 1 & 0 \\
0 & 0 & -1
\end{bmatrix},
\begin{bmatrix}
-1 & 0 & 0 \\
0 & -1 & 0 \\
0 & 0 & 1
\end{bmatrix}
\]
(infatti una matrice diagonale, ortogonale e con determinante uno può avere solo quella forma se $R$ non è l'identità).
Questo significa che (supponiamo che $B^T R B$ sia la prima delle tre matrici)
\[
R=
\begin{bmatrix}
x_1 & y_1 & z_1 \\
x_2 & y_2 & z_2 \\
x_3 & y_3 & z_3
\end{bmatrix}
\begin{bmatrix}
1 & 0 & 0 \\
0 & -1 & 0 \\
0 & 0 & -1
\end{bmatrix}
\begin{bmatrix}
x_1 & x_2 & x_3 \\
y_1 & y_2 & y_3 \\
z_1 & z_2 & z_3
\end{bmatrix}.
\]
Scrivendola in questo modo, si deduce che $R$ fissa $\mathbf{x}$, dunque per trovare l'asse dobbiamo trovare $\mathbf{x}$. Facendo i conti viene
\[
R=
\begin{bmatrix}
2x_1^2-1 & 2x_1x_2 & 2x_1x_3 \\
2x_1x_2 & 2x_2^2-1 & 2x_2x_3 \\
2x_1x_3 & 2x_2x_3 & 2x_3^2-1
\end{bmatrix},
\]
dunque $x_1^2={u_1+1}/2$, $x_2^2={v_2+1}/2$ e $x_3^2={w_3+1}/2$ (in realtà dato che non ci interessa che $\mathbf{x}$ abbia norma uno, il "fratto due" lo possiamo buttare). Per trovare gli $x_i$, basta estrarre la radice, e scegliere il segno in base a $u_2=2x_1x_2$, $u_3=x_1x_3$ e $v_3=x_2x_3$. Il segno non è unico, nel senso che bisogna decidere il segno di una coordinata (che non sia nulla), e a quel punto gli altri sono automaticamente determinati, così da ottenere $\mathbf{x}$ (o $-\mathbf{x}$: infatti non cambierebbe nulla).

dissonance
(Scusa il ritardo)

Sono formule interessanti: grazie! Penso che la formula nel caso simmetrico si dovrebbe poter ottenere anche come limite della formula generale (tenendo il vincolo che l'asse di rotazione abbia modulo $1$, altrimenti quando uno passa al limite trova il vettore nullo). Però non ho trovato il modo di farlo esplicitamente. Il tuo ragionamento invece fila e mi piace.

billyballo2123
Ciao! Ho pensato anche io di cercare l'asse passando al limite nel caso simmetrico. Il fatto è che le matrici simmetriche ortogonali rappresentano sempre rotazioni di angolo $\pi$ attorno ad un asse. Infatti (come dice wikipedia) una rotazione di angolo $\vartheta$ attorno ad un asse con direzione $\mathbf{x}=[x_1,x_2,x_3]^T$ (con $\|\mathbf{x}\|=1$) è
\[
\begin{bmatrix}
x_1^2+\cos\vartheta(1-x_1^2) & (1-\cos\vartheta)x_1x_2 -x_3\sin\vartheta & (1-\cos\vartheta)x_1x_3 +x_2\sin\vartheta \\
(1-\cos\vartheta)x_1x_2 +x_3\sin\vartheta & x_2^2+\cos\vartheta(1-x_2^2) & (1-\cos\vartheta)x_2x_3 -x_1\sin\vartheta \\
(1-\cos\vartheta)x_1x_3 -x_2\sin\vartheta & (1-\cos\vartheta)x_2x_3 +x_1\sin\vartheta & x_3^2+\cos\vartheta(1-x_3^2)
\end{bmatrix}
\]
che è simmetrica se e solo se $\sin\vartheta=0$.

Se l'angolo di rotazione è $0< \vartheta<\pi$, allora $\mathbf{a}=[−(w_2−v_3) \ \ w_1−u_3 \ \ −(v_1−u_2)]T$ ha un certo verso, mentre per $\pi<\vartheta<2\pi$ ha il verso opposto. Man mano che $\vartheta$ tende a $\pi$, il modulo di $\mathbf{a}$ diventa sempre più piccolo e in $\vartheta=\pi$ $\mathbf{a}$ diventa il vettore nullo, quindi non è possibile trovare l'asse facendo il limite di $\mathbf{a}$. :wink:

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.