QR factorization

Moritz Borgmann octave at moriborg.de
Fri Mar 28 15:04:48 CDT 2008


>Hi all.
>
>If you try the following with Octave 3.0.0+
>
>octave:1> A=ones(3,4);
>octave:2> [Q,R]=qr(A);
>
>you get
>
>octave:3> Q
>Q =
>
>    -0.57735   0.81650   0.00000
>    -0.57735  -0.40825  -0.70711
>    -0.57735  -0.40825   0.70711
>
>With the other program, you get
>
>Q =
>
>     -0.5774   -0.5774   -0.5774
>     -0.5774    0.7887   -0.2113
>     -0.5774   -0.2113    0.7887
>
>and the same R. Both the factorizations satisfy Q*R=A and Q'*Q=eye(3) and
>both the programs claim to use the LAPACK routines DGEQRF and DORGQR.
>Where could be the difference?

look at the R matrix. Because A is rank-1, R has only one nonzero row 
(the first). Thus, the second and third columns of Q can be chosen 
arbitrarily as long as the columns of Q are orthonormal. There is 
simply no unique solution.

-M


More information about the Help-octave mailing list