[SciPy-User] qr decompostion gives negative q, r ?
Charles R Harris
Tue Nov 20 17:11:12 CST 2012
On Tue, Nov 20, 2012 at 3:59 PM, Virgil Stokes <email@example.com> wrote:
> On 2012-11-20 23:43, Charles R Harris wrote:
> On Tue, Nov 20, 2012 at 3:03 PM, Virgil Stokes <firstname.lastname@example.org> wrote:
>> On 2012-11-20 22:33, Daπid wrote:
>> > The QR descomposition is finding two matrices with certain properties
>> such that:
>> > A = Q·R
>> > But, if both Q and R are multiplied by -1, (-Q)·(-R) = Q·R = A, still
>> > the same matrix. If Q is orthogonal, -Q is also. The sign is,
>> > therefore, arbitrary.
>> > On Tue, Nov 20, 2012 at 12:01 AM, Virgil Stokes <email@example.com> 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 to what I get from MATLAB (R2010B)
>> >> [q,r] = qr(A)
>> >> The q,r returned from numpy are both the negative of the q,r returned
>> >> from MATLAB for the same matrix A. I believe that theq,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.
>> >> _______________________________________________
>> >> SciPy-User mailing list
>> >> SciPy-User@scipy.org
>> >> http://mail.scipy.org/mailman/listinfo/scipy-user
>> > _______________________________________________
>> > SciPy-User mailing list
>> > SciPy-User@scipy.org
>> > http://mail.scipy.org/mailman/listinfo/scipy-user
>> Thanks David,
>> I am well aware of this; but, I am using the QR decomposition for a
>> convariance (PD matrix) and the negative R is not very useful in this
>> case and the numpy result, IMHO should not be the default.
> What is your application?
> My application is the propagation of the factorized R matrix in the Kalman
> filter, where the QR factorization is for the covariance matrix in the KF
That is what I suspected. However, the factorized matrices are usually
U^t*D*U or U^t * U, so I think you are doing something wrong.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-User