[Numpy-discussion] Confused with qr decomposition function
Charles R Harris
charlesr.harris@gmail....
Mon Nov 19 17:30:53 CST 2012
On Mon, Nov 19, 2012 at 4:17 PM, Virgil Stokes <vs@it.uu.se> wrote:
> I am using the latest versions of numpy (from
> numpy-1.7.0b2-win32-superpack-python2.7.exe) and scipy (from
> scipy-0.11.0-win32-superpack-python2.7.exe ) on a windows 7 (32-bit)
> platform.
>
> I have used
>
> import numpy as np
> q,r = np.linalg.qr(A)
>
> and compared the results obtained from MATLAB (R2010B)
>
> [q,r] = qr(A)
>
> The q,r returned from numpy are both the negative of theq,r returned
> from MATLAB for the same matrix A. I believe that the q,r returned from
> MATLAB are correct. Why am I getting their negative from numpy?
>
> Note, I have tried this on several different matrices --- numpy always
> gives the negative of MATLAB's q,r values.
> [I mistakenly have already sent a similar email to the scipy list ---
> please excuse this mistake.]
>
They are both correct, the decomposition isn't unique. In particular, if
both algorithms use Housholder reflections there are two possible
reflection planes at each step, one of which is more numerically stable
than the other, and the two choices lead to different signs at each step.
That said, MATLAB may be normalizing the result in some way or using some
other algorithm.
Chuck
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/numpy-discussion/attachments/20121119/e326b009/attachment.html
More information about the NumPy-Discussion
mailing list