- Vector \(\mathbf w\) defining linear functional \(\mathbf w^{\scriptscriptstyle\mathsf{T}}\) (move this by dragging the head of the arrow)
- Vector \(\mathbf z\) NOT in hyperplane \(\operatorname{NS}(\mathbf w^{\scriptscriptstyle\mathsf{T}})\) (move this by dragging the head of the arrow)
- Reflection operator is \(W = I - \frac2{\mathbf w^{\scriptscriptstyle\mathsf{T}} \mathbf z} \mathbf z \mathbf w^{\scriptscriptstyle\mathsf{T}}\)
- Input vector \(\mathbf v\) (move this by dragging the head of the arrow)
- Output vector \(W\mathbf v\) (automatically computed for your convenience)

Please excuse the horrible Javascript and user interface design.