>> >> A = rand(6,4); >> >> >> help cgsa 'cgsa' is a function from the file /home/saad/5304/matlab/TODAY/cgsa.m [Q,R] = cgsa (A) classical Gram Schmidt QR factorization of A Additional help for built-in functions and operators is available in the online version of the manual. Use the command 'doc ' to search the manual index. Help and information about Octave is also available on the WWW at http://www.octave.org and via the help@octave.org mailing list. >> >> >> >> [Q, R] = cgsa(A); >> >> >> >> >> Q Q = 0.514911 -0.011041 0.193736 -0.651907 0.024142 0.566614 0.710473 -0.090784 0.546807 -0.146096 -0.278177 -0.044764 0.532414 0.024314 -0.065683 0.145592 0.349273 -0.217326 0.421244 0.697812 0.172710 0.780808 -0.445591 0.237978 >> R R = 1.77281 1.18791 1.14016 0.62448 0.00000 0.69358 0.47250 0.95599 0.00000 0.00000 0.64662 0.07560 0.00000 0.00000 0.00000 0.43566 >> norm(A-Q*R) ans = 1.8390e-16 >> >> >> >> norm(Q'*Q-eye(4)) ans = 2.5548e-15 >> >> [Q, R] = mgsa(A); >> norm(A-Q*R) ans = 1.6251e-16 >> norm(Q'*Q-eye(4)) ans = 1.0515e-15 >> ExBj >> A A = 1.00000 1.00000 1.00000 1.00000 0.00000 0.00000 0.00000 1.00000 0.00000 0.00000 0.00000 1.00000 0.00000 0.00000 0.00000 1.00000 >> format long >> A A = 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000000000 0.000000000100000 0.000000000000000 0.000000000000000 1.000000000000000 0.000000000000000 0.000000000100000 0.000000000000000 1.000000000000000 0.000000000000000 0.000000000000000 0.000000000100000 1.000000000000000 >> >> >> [Q, R] = cgsa(A); >> [Q, R] = cgsa(A); Q = 1.000000000000000 0.000000000100000 0.000000000000000 0.000000000000000 R = 1 Q = 1.000000000000000 0.000000000000000 0.000000000100000 -0.707106781186547 0.000000000000000 0.707106781186547 0.000000000000000 0.000000000000000 R = 1.000000000000000 1.000000000000000 0.000000000000000 0.000000000141421 Q = 1.000000000000000 0.000000000000000 0.000000000000000 0.000000000100000 -0.707106781186547 -0.707106781186547 0.000000000000000 0.707106781186547 0.000000000000000 0.000000000000000 0.000000000000000 0.707106781186547 R = 1.000000000000000 1.000000000000000 1.000000000000000 0.000000000000000 0.000000000141421 0.000000000000000 0.000000000000000 0.000000000000000 0.000000000141421 Q = 1.000000000000000 0.000000000000000 0.000000000000000 -0.000000000057735 0.000000000100000 -0.707106781186547 -0.707106781186547 0.577350269151136 0.000000000000000 0.707106781186547 0.000000000000000 0.577350269208871 0.000000000000000 0.000000000000000 0.707106781186547 0.577350269208871 R = 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000100000 0.000000000000000 0.000000000141421 0.000000000000000 0.000000000000000 0.000000000000000 0.000000000000000 0.000000000141421 0.000000000000000 0.000000000000000 0.000000000000000 0.000000000000000 1.732050807511142 >> >> >> >> Q'*Q ans = Columns 1 through 3: 1.00000000000000e+00 -7.07106781186548e-11 -7.07106781186548e-11 -7.07106781186548e-11 1.00000000000000e+00 5.00000000000000e-01 -7.07106781186548e-11 5.00000000000000e-01 1.00000000000000e+00 -4.78279104957016e-18 4.08248624977986e-11 4.08248624977986e-11 Column 4: -4.78279104957016e-18 4.08248624977986e-11 4.08248624977986e-11 1.00000000000000e+00 >> norm(Q'*Q-eye(4)) ans = 0.500000000000000 >> >> >> >> >> [Q, R] = mgsa(A); Q = 1.000000000000000 0.000000000100000 0.000000000000000 0.000000000000000 R = 1 Q = 1.000000000000000 0.000000000000000 0.000000000100000 -0.707106781186547 0.000000000000000 0.707106781186547 0.000000000000000 0.000000000000000 R = 1.000000000000000 1.000000000000000 0.000000000000000 0.000000000141421 Q = 1.000000000000000 0.000000000000000 0.000000000000000 0.000000000100000 -0.707106781186547 -0.408248290463863 0.000000000000000 0.707106781186547 -0.408248290463863 0.000000000000000 0.000000000000000 0.816496580927726 R = 1.000000000000000 1.000000000000000 1.000000000000000 0.000000000000000 0.000000000141421 0.000000000070711 0.000000000000000 0.000000000000000 0.000000000122474 Q = 1.000000000000000 0.000000000000000 0.000000000000000 -0.000000000057735 0.000000000100000 -0.707106781186547 -0.408248290463863 0.577350269189626 0.000000000000000 0.707106781186547 -0.408248290463863 0.577350269189626 0.000000000000000 0.000000000000000 0.816496580927726 0.577350269189626 R = 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000100000 0.000000000000000 0.000000000141421 0.000000000070711 0.000000000070711 0.000000000000000 0.000000000000000 0.000000000122474 0.000000000040825 0.000000000000000 0.000000000000000 0.000000000000000 1.732050807511142 >> >> >> >> >> norm(A-Q*R) ans = 1.11022302462516e-16 >> norm(Q'*Q-eye(4)) ans = 8.16496859924991e-11 >> [Q, R] = cgsa(A); Q = 1.000000000000000 0.000000000100000 0.000000000000000 0.000000000000000 R = 1 Q = 1.000000000000000 0.000000000000000 0.000000000100000 -0.707106781186547 0.000000000000000 0.707106781186547 0.000000000000000 0.000000000000000 R = 1.000000000000000 1.000000000000000 0.000000000000000 0.000000000141421 Q = 1.000000000000000 0.000000000000000 0.000000000000000 0.000000000100000 -0.707106781186547 -0.707106781186547 0.000000000000000 0.707106781186547 0.000000000000000 0.000000000000000 0.000000000000000 0.707106781186547 R = 1.000000000000000 1.000000000000000 1.000000000000000 0.000000000000000 0.000000000141421 0.000000000000000 0.000000000000000 0.000000000000000 0.000000000141421 Q = 1.000000000000000 0.000000000000000 0.000000000000000 -0.000000000057735 0.000000000100000 -0.707106781186547 -0.707106781186547 0.577350269151136 0.000000000000000 0.707106781186547 0.000000000000000 0.577350269208871 0.000000000000000 0.000000000000000 0.707106781186547 0.577350269208871 R = 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000100000 0.000000000000000 0.000000000141421 0.000000000000000 0.000000000000000 0.000000000000000 0.000000000000000 0.000000000141421 0.000000000000000 0.000000000000000 0.000000000000000 0.000000000000000 1.732050807511142 >> >> >> norm(A-Q*R) ans = 8.76898242132352e-27 >> [Q, R] = mgsa(A); Q = 1.000000000000000 0.000000000100000 0.000000000000000 0.000000000000000 R = 1 Q = 1.000000000000000 0.000000000000000 0.000000000100000 -0.707106781186547 0.000000000000000 0.707106781186547 0.000000000000000 0.000000000000000 R = 1.000000000000000 1.000000000000000 0.000000000000000 0.000000000141421 Q = 1.000000000000000 0.000000000000000 0.000000000000000 0.000000000100000 -0.707106781186547 -0.408248290463863 0.000000000000000 0.707106781186547 -0.408248290463863 0.000000000000000 0.000000000000000 0.816496580927726 R = 1.000000000000000 1.000000000000000 1.000000000000000 0.000000000000000 0.000000000141421 0.000000000070711 0.000000000000000 0.000000000000000 0.000000000122474 Q = 1.000000000000000 0.000000000000000 0.000000000000000 -0.000000000057735 0.000000000100000 -0.707106781186547 -0.408248290463863 0.577350269189626 0.000000000000000 0.707106781186547 -0.408248290463863 0.577350269189626 0.000000000000000 0.000000000000000 0.816496580927726 0.577350269189626 R = 1.000000000000000 1.000000000000000 1.000000000000000 1.000000000100000 0.000000000000000 0.000000000141421 0.000000000070711 0.000000000070711 0.000000000000000 0.000000000000000 0.000000000122474 0.000000000040825 0.000000000000000 0.000000000000000 0.000000000000000 1.732050807511142 >> >> >> >> >> norm(A-Q*R) ans = 1.11022302462516e-16 >> diary off