Note
For the high-dimensional rotation/alignment work, Householder reflections are closer to the target use case than a chain of coordinate Givens rotations.
The motivating operation is:
then align the distinguished direction with the first axis,
while retaining an explicit orthogonal change of basis that can also be applied to accompanying vectors/data.
A single Householder reflection can perform this dense high-dimensional alignment directly. If a proper rotation is required rather than a reflection, compose two reflections; the result has determinant +1.
This is especially natural to keep in Coxeter because reflections are the primitive objects here, rather than treating them merely as a numerical-linear-algebra trick.
Comparison to preserve
Keep Givens rotations as a useful comparison and atomic plane-rotation test, especially for sparse/local updates. But do not let the Givens formulation define the main high-dimensional workload by accident.
Useful experiments later:
- Householder alignment of dense n-vectors;
- two-reflection proper rotation carrying other vectors along;
- Givens-chain implementation of the same alignment as a comparison;
- numerical error, operation count, parallel/GPU lowering, and representation cost;
- relationship between these concrete orthogonal transformations and the reflection/Coxeter-group viewpoint.
No claim yet that Householder is universally optimal; this records the mathematical direction of interest and the target workload.
Note
For the high-dimensional rotation/alignment work, Householder reflections are closer to the target use case than a chain of coordinate Givens rotations.
The motivating operation is:
then align the distinguished direction with the first axis,
while retaining an explicit orthogonal change of basis that can also be applied to accompanying vectors/data.
A single Householder reflection can perform this dense high-dimensional alignment directly. If a proper rotation is required rather than a reflection, compose two reflections; the result has determinant +1.
This is especially natural to keep in Coxeter because reflections are the primitive objects here, rather than treating them merely as a numerical-linear-algebra trick.
Comparison to preserve
Keep Givens rotations as a useful comparison and atomic plane-rotation test, especially for sparse/local updates. But do not let the Givens formulation define the main high-dimensional workload by accident.
Useful experiments later:
No claim yet that Householder is universally optimal; this records the mathematical direction of interest and the target workload.