Numerical Instability in the Gram-Schmidt Algorithm
Requires a Wolfram Notebook System
Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.
The Gram–Schmidt process is an algorithm for converting a set of linearly independent vectors into a set of orthonormal vectors with the same span. The classical Gram–Schmidt algorithm is numerically unstable, which means that when implemented on a computer, round-off errors can cause the output vectors to be significantly non-orthogonal. This instability can be improved with a small adjustment to the algorithm. This Demonstration tests the two algorithms on two families of linearly independent vectors. Selecting "diagonal thousandths" tests the algorithm on the vectors that form the columns of the matrix:
[more]
Contributed by: Chris Boucher (March 2011)
Open content licensed under CC BY-NC-SA
Snapshots
Details
Permanent Citation