# Reflection matrix about a plane

How do you construct a matrix in $$\mathbb{R}^3$$ that reflects about the plane $$y=z$$? And is there a way to construct a reflection matrix about any plane in general?

Any plane can be specified by a unit vector perpendicular to the plane. If the vector is $$v \in\mathbb{R}^3$$, then the matrix that reflects about the plane is

$$R_v = I - 2 vv^T.$$

It is easy to check that $$R_v$$ flips the sign of any vector which is a multiple of $$v$$ and acts as identity on any vector perpendicular to $$v$$. See Householder transformation for more details.

In particular, the plane $$y=z$$ is perpendicular to $$(0, \frac{1}{\sqrt{2}}, -\frac{1}{\sqrt{2}})^T \in \mathbb{R}^3$$, so the matrix is

$$R_{y=z}=\begin{pmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix} - 2\cdot\begin{pmatrix} 0 & 0 & 0 \\ 0 & \frac{1}{2} & -\frac{1}{2} \\ 0 & -\frac{1}{2} & \frac{1}{2} \end{pmatrix} = \begin{pmatrix} 1 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix}$$

which leaves the $$x$$ coordinate unchanged and swaps the $$y$$ and $$z$$ coordinates as expected.

To answer the first question. Look what the reflection does to the unit vectors in $$\mathbb{R}^{3}$$. $$(1, 0, 0)$$ will be mapped to $$(1, 0, 0)$$, $$(0, 1, 0)$$ will be mapped to $$(0, 0, 1)$$ and $$(0, 0, 1)$$ will be mapped to $$(0, 1, 0)$$. This defines the linear mapping and therefore will tell you how the matrix looks like.

To answer the second part of your question, I offer a visual way to show that such a reflection matrix exists for any plane.

Suppose there exists a linear transformation $$L$$ that reflects all (column, let's use column for consistency) vectors about a certain plane.

Pick a vector $$\vec{v}_1$$ that lies on the plane. Next, pick another vector $$\vec{v}_2$$ that lies on the plane, such that there does not exist $$k$$ is real, $$k\vec{v}_1 = \vec{v}_2$$. (If you're a bit more hardworking, you can find a $$\vec{v}_2$$ that's perpendicular to $$\vec{v}_1$$.) It should be pretty easy for you to find $$\vec{v}_1$$ and $$\vec{v}_2$$ because the plane is usually defined as $$\vec{r} = a + b\vec{v}_1 + c\vec{v}_2$$, where $$a$$, $$b$$, and $$c$$ are real. We know that $$L\vec{v}_1 = \vec{v}_1$$ and $$L\vec{v}_2 = \vec{v}_2$$ because they lie on the plane, and vectors that lie on the plane remain the same after being transformed by $$L$$.

Next, we find $$\vec{v}_3$$ that's perpendicular to the plane. Since we already have $$\vec{v}_1$$ and $$\vec{v}_2$$ on the plane, we can easily define $$\vec{v}_3$$ as the cross product of $$\vec{v}_1$$ and $$\vec{v}_2$$, as the cross product must be perpendicular to both $$\vec{v}_1$$ and $$\vec{v}_2$$. It will be tough* to find $$L\vec{v}_3$$, but once you get it, you're almost done!

As $$\vec{v}_1$$, $$\vec{v}_2$$ and $$\vec{v}_3$$ are linearly independent, $$\begin{pmatrix}\vec{v}_1 & \vec{v}_2 & \vec{v}_3\end{pmatrix}$$ is invertible.

$$L\begin{pmatrix}\vec{v}_1 & \vec{v}_2 & \vec{v}_3\end{pmatrix} = \begin{pmatrix}\vec{v}_1 & \vec{v}_2 & L\vec{v}_3\end{pmatrix}$$

$$L = \begin{pmatrix}\vec{v}_1 & \vec{v}_2 & L\vec{v}_3\end{pmatrix} \begin{pmatrix}\vec{v}_1 & \vec{v}_2 & \vec{v}_3\end{pmatrix}^{-1}$$

*Simply find the distance from $$\vec{v}_3$$ to the plane, and then subtract $$2$$ times of that vector.

I'm not very good in linear algebra, but I picture that it could be solved in this manner. Do correct me if I'm wrong.