Gram-Schmidt 3D without normalization
This is the variant of the Gram-Schmidt process that stops at orthogonalization: starting from three vectors in , it produces three mutually orthogonal vectors that are not of length (the final normalization step is missing). The tips of the vectors can be dragged in “Edit v₁ v₂ v₃” mode.
The process, step by step
Section titled “The process, step by step”Step 1. The first resulting vector coincides with : nothing needs to be subtracted or normalized.
Step 2. The projection of onto is subtracted. Since is not a unit vector, the projection coefficient is (the dot product alone is not enough, as it would be with a unit vector):
Step 3. Both projections are subtracted from , onto and onto , using the same kind of coefficient normalized by the squared norm of the vector being projected onto:
Pressing “Compute & keep” animates this sequence on the simulator, color by color, in the same order described above. The “slow motion” slider allows following it at a gentler pace, without changing the final result.
Checking orthogonality
Section titled “Checking orthogonality”Below the simulator’s buttons, four numeric rows are always kept up to date:
- the coordinates of the starting vectors (also editable by typing them directly, in “Edit v₁ v₂ v₃” mode);
- the coordinates of the resulting vectors , which appear one at a time during “Compute & keep”, in sync with the animation;
- the norms , marked as “not necessarily 1” because, unlike the orthonormalized version, they are not generally expected to equal : the length of the resulting vectors depends on the starting vectors (for some particular starting triples they may still turn out to be : that is a special case, not the rule);
- the cross dot products , which should instead stay at (the resulting vectors are pairwise orthogonal, even though not unit length).
A zero dot product is, on its own, the defining property of orthogonality: that live number offers a way to check, for any linearly independent starting triple, that the process worked correctly, regardless of the length of the resulting vectors.