[SciPy-User] qr decompostion gives negative q, r ?
Virgil Stokes
vs at it.uu.se
Tue Nov 20 19:49:44 EST 2012
On 2012-11-21 00:55, Charles R Harris wrote:
>
>
> On Tue, Nov 20, 2012 at 4:26 PM, Virgil Stokes <vs at it.uu.se
> <mailto:vs at it.uu.se>> wrote:
>
> On 2012-11-21 00:11, Charles R Harris wrote:
>>
>>
>> On Tue, Nov 20, 2012 at 3:59 PM, Virgil Stokes <vs at it.uu.se
>> <mailto:vs at it.uu.se>> wrote:
>>
>> On 2012-11-20 23:43, Charles R Harris wrote:
>>>
>>>
>>> On Tue, Nov 20, 2012 at 3:03 PM, Virgil Stokes <vs at it.uu.se
>>> <mailto:vs at it.uu.se>> 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
>>> <vs at it.uu.se <mailto:vs at 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 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 at scipy.org <mailto:SciPy-User at scipy.org>
>>> >> http://mail.scipy.org/mailman/listinfo/scipy-user
>>> > _______________________________________________
>>> > SciPy-User mailing list
>>> > SciPy-User at scipy.org <mailto:SciPy-User at 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 recursions.
>>
>>
>> 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.
> No Chuck,
> You are referring to Bierman's factorization which is just one of
> the factorizations possible. I am using a standard and
> well-documented form of the so-called "square-root" Kalman filters
> (just Google on this and be enlightened). Again, there many
> papers/books that discuss the QR factorization implementation for
> both the Kalman filter and Kalman smoother.
>
>
> Yes I am familiar with square root Kalman filters, I've even written a
> few.
>
> Chuck
>
>
>
> _______________________________________________
> SciPy-User mailing list
> SciPy-User at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
Sorry,
It is now 01:49 in Stockholm and I need to get a few hours of sleep. I
will try to respond to further comments/questions on this topic tomorrow
morning.
Thanks for looking at this problem. I believe that this is a serious
issue that does deserve some attention.
Best, V
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20121121/a5ca4047/attachment.html>
More information about the SciPy-User
mailing list