File Exchange

image thumbnail

Stabilized Gram-Schmidt Orthonormal Method

version 1.2.0.0 (1.31 KB) by Reza Ahmadzadeh
Stabilized Gram-Schmidt Orthonormal Method

39 Downloads

Updated 21 Dec 2016

View License

This is an implementation of Stabilized Gram-Schmidt Orthonormal Approach.
This algorithm receives a set of linearly independent vectors and generates a set of orthonormal vectors. For instance consider two vectors u = [2 2], v=[3 1], the output of the algorithm is e1 = [-0.3162 0.9487], e2= [0.9487 0.3162], which are two orthonormal vectors.
The input to the code is the set of vectors that should be given in a column-wise matrix. For instance, for the above-mentioned example the input would be:
V = [3 2;1 2]
and then we can run the code as
A = GramSchmidt(V)
and the result would be
A =
0.9487 -0.3162
0.3162 0.9487
This also works for k vectors (k>2) each one with n elements.
Another example is :
GramSchmidt([1 2 3;4 5 6;0 1 5;6 0 7;7 2 6])
ans =
0.0990 0.3569 0.1677
0.3961 0.7776 -0.1358
0 0.2167 0.8662
0.5941 -0.4589 0.3674
0.6931 -0.1020 -0.2612

Comments and Ratings (3)

Hooman

Change line:
w = (dot(v,u) / dot(u,u)) * u;
for
w = (dot(u,v) / dot(u,u)) * u;
So it work with complex vectors as well

Updates

1.2.0.0

Added a help to the test file.

1.1.0.0

A test script has been added to show the usage of the function both in 2D and 3D.

MATLAB Release Compatibility
Created with R2012a
Compatible with any release
Platform Compatibility
Windows macOS Linux