Find an orthogonal matrix that achieves a given vectorial transformation

475 Views Asked by At

Given a vector $\vec a\in\mathbb R^n$ and another $\alpha=(\|\vec a\|,0,\dots,0)$, how could I define an orthogonal matrix $M$ such that $M\vec a=\alpha$ and $M^{-1}=M^t$? For $\mathbb R^2$ I tried to use a generic matrix $\; Q=\left(\begin{array}{cc}a & c\\b & d\end{array}\right)$ and $M=Orthogonalize(Q)$ using Grahm-Shmidth, but apparently there are no possible $a,b,c,d$ values. Thanks in advance!

2

There are 2 best solutions below

6
On BEST ANSWER

Take any orthogonal basis $\{w_j\}$, $j=1\ldots n$ such that $w_1=\vec a/\|\vec a\|$.

Now take another orthogonal basis $\{v_j\}$, $j=1\ldots n$, such that $v_1=\vec \alpha/\|\vec\alpha\|$.

Now build a linear operator $M$ given by $$\forall j\quad Mw_j=v_j.$$

It is an orthogonal operator and $M\vec a=\vec \alpha$.

In terms of matrices, the simpliest case would be to take the matrix $A$ of coordinates of column vectors of the basis $\{w_j\}$, then of possible operators $M$ can be written as $M=A^{-1}$.

3
On

use reflection transformation $R = 2uu^T/u^Tu - I$ or $I - 2vv^T/v^Tv$ where $u = a + |a|e_1$ and $v = a - |a|e_1.$

these reflection matrices are sometimes called householder transformations.