# What is the difference between Gram-Smith QR decomposition procedure and qr.m function in Matlab?

6 views (last 30 days)
Osama Al-Shalali on 28 Sep 2020
Commented: Christine Tobler on 22 Oct 2020
Hi everyone!
I want to know what is the differnce between the Gram-Smith procedure and qr.m function in matlab. Why there is a fourth coulmn resulting from using qr.m function? The photo is attached for the Gram-Smith procedure .Any help will be so appreciated.
The code is
A=[1 -2 -1; 2 0 1; 2 -4 2;4 0 0];
[Q,R] = qr(A)
The result is
Q =
-0.2000 0.4000 0.8000 -0.4000
-0.4000 -0.2000 -0.4000 -0.8000
-0.4000 0.8000 -0.4000 0.2000
-0.8000 -0.4000 0.2000 0.4000
R =
-5.0000 2.0000 -1.0000
0 -4.0000 1.0000
0 0 -2.0000
0 0 0

Christine Tobler on 28 Sep 2020
MATLAB's QR decomposition is computed using Householder transformations, which is generally more numerically advantageous.

Osama Al-Shalali on 28 Sep 2020
Thanks a lot!
f on 22 Oct 2020
Just a tiny detail: Matlab's qr does not ensure that det(Q)=1. The determinant of Q may be 1 or -1; it is data-dependent, since it is (-1)^(number_of_nontrivial_reflectors_used). So it cannot be used in a straightforward way to determine the sign of det(A).
Christine Tobler on 22 Oct 2020
Good point, det(R) will only tell you the absolute value of the original matrix, otherwise you would have to construct the complete Q matrix to compute the sign of its determinant.

### Community Treasure Hunt

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

Start Hunting!

Translated by