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

34 Downloads

Updated 21 Dec 2016

View Version History

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

Cite As

Reza Ahmadzadeh (2020). Stabilized Gram-Schmidt Orthonormal Method (https://www.mathworks.com/matlabcentral/fileexchange/51467-stabilized-gram-schmidt-orthonormal-method), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)

Raul Jimenez

Hi, I have a question this method is Modified Gram Schmitt or the standar is beacuase I need to reduce the error in the Gram Schmitt process

Hooman

Felipe Serrenho

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

Hai Dang Nguyen

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

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!