bugGNU Octave - Bugs: bug #41567, qr fails with two matrix inputs


bug #41567: qr fails with two matrix inputs

Submitted by:  Nir Krakauer <nir_krakauer>
Submitted on:  Wed 12 Feb 2014 01:45:41 PM UTC  
Category:  Octave Function Severity:  4 - Important
Priority:  5 - Normal Item Group:  Incorrect Result
Status:  Fixed Assigned to:  None
Originator Name:  Nir Krakauer Open/Closed:  Closed
Release:  dev Operating System:  GNU/Linux

Add a New Comment (Rich Markup)

You are not logged in

Please log in, so followups can be emailed to you.


( Jump to the original submission)

Mon 08 Aug 2016 01:36:03 AM UTC, comment #12: 

Verified fix, closing report.

Rik <rik5>
Project Administrator
Fri 05 Aug 2016 06:35:31 PM UTC, comment #11: 

I checked in the changeset from file #36374 here:


Can this report be closed?

John W. Eaton <jwe>
Project Administrator
Wed 06 Jul 2016 07:48:21 AM UTC, comment #10: 

Hi, I would like to help here, but which patch(es) should I apply to development? file #36374 applies smoothly, but afterwards I cannot apply file #36373 from bug #46912.

Marco Caliari <caliari>
Project Member
Mon 27 Jun 2016 06:22:31 AM UTC, comment #9: 

I've increased the importance of this bug to reflect that it silently produces completely bogus results -- a class of bugs that I consider fatal to a language.

I hope massimiliano's patch is one of those to make it into 4.2.

Lachlan Andrew <lachlan>
Thu 18 Feb 2016 05:05:43 AM UTC, comment #8: 

Here's a new patch to reflect jwe's recent changes.

(file #36374)

Lachlan Andrew <lachlan>
Sat 23 Jan 2016 05:40:52 AM UTC, comment #7: 

On closer inspection, there are a couple of minor issues with Massimiliano's patch.  (It doesn't support qr(A,B,0) for full A, and the variable b_mat is redundant given have_b.)  Both issues are fixed by the changeset at bug #46912.

Lachlan Andrew <lachlan>
Sat 23 Jan 2016 03:07:19 AM UTC, comment #6: 

Massimiliano's patch looks good to me.  I've updated it to reflect recent changes to the code base.

There are still some issues the the qr code; I'll submit another patch at bug #46912.

(file #36135)

Lachlan Andrew <lachlan>
Mon 18 Jan 2016 06:30:33 PM UTC, comment #5: 

Your patch has been noticed, we just have few patch review resources in Octave.

Mike Miller <mtmiller>
Project Administrator
Fri 12 Sep 2014 02:00:44 PM UTC, comment #4: 

I'm starting to think that my patch went unnoticed. That is why I'm pinging, as I was suggested to do on IRC.

Any feedback would be much appreciated.

Massimiliano Fasi <mfasi>
Sun 09 Mar 2014 04:11:13 PM UTC, comment #3: 

I have submitted a patch that should fix the bug, with relative tests.

(file #30836)

Massimiliano Fasi <mfasi>
Thu 13 Feb 2014 05:50:42 PM UTC, comment #2: 

The expected behavior, as per both the Octave and Matlab documentation, is to return Q'*B if B is a matrix, regardless of whether A is sparse.

Nir Krakauer <nir_krakauer>
Thu 13 Feb 2014 05:42:40 PM UTC, comment #1: 

Confirmed in version 3.8.0, although I am not sure what the expected behavior is here. The code for the qr function only uses the B argument if A is sparse. If A is not sparse, the second argument serves the same purpose as the documented '0' argument regardless of its value. Does the behavior or the documentation need fixing?

Mike Miller <mtmiller>
Project Administrator
Wed 12 Feb 2014 01:45:41 PM UTC, original submission:  

if, for example,
A = randn(3, 3); B = randn(3, 2);

[Q, R] = qr (A, 0);

works as expected, returning a QR decomposition with QR = A.

According to the documentation,

[C, R] = qr (A, B);

should return C = Q'*B -- but it actually just returns C = Q, which is quite different.

Nir Krakauer <nir_krakauer>


(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Attached Files
file #36374:  bug_41567.v2.cset added by lachlan (7KiB - application/octet-stream)
file #36135:  bug_41567.cset added by lachlan (7KiB - application/octet-stream)
file #30836:  bugfix_41567.patch added by mfasi (7KiB - text/x-diff)


Depends on the following items: None found

Items that depend on this one: None found


Carbon-Copy List
  • -email is unavailable- added by rik5 (Posted a comment)
  • -email is unavailable- added by jwe (Posted a comment)
  • -email is unavailable- added by caliari (Posted a comment)
  • -email is unavailable- added by lachlan (Updated the item)
  • -email is unavailable- added by jordigh (Updated the item)
  • -email is unavailable- added by mfasi (Updated the item)
  • -email is unavailable- added by mtmiller (Posted a comment)
  • -email is unavailable- added by nir_krakauer (Submitted the item)

    Do you think this task is very important?
    If so, you can add your encouragement to it.
    This task has 0 encouragements so far.

    Only project members can vote.




    Follow 11 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2016-08-08 rik5 StatusReady For Test => Fixed
        Open/ClosedOpen => Closed
    2016-08-05 jwe StatusPatch Submitted => Ready For Test
    2016-06-27 lachlan Severity3 - Normal => 4 - Important
    2016-02-18 lachlan Attached File- => Added bug_41567.v2.cset, #36374
    2016-01-23 lachlan Attached File- => Added bug_41567.cset, #36135
    2016-01-18 mtmiller Release3.6.2 => dev
    2014-03-18 jordigh StatusNeed Info => Patch Submitted
    2014-03-09 mfasi Attached File- => Added bugfix_41567.patch, #30836
    2014-02-13 mtmiller CategoryNone => Octave Function
        StatusNone => Need Info

    Back to the top

    Powered by Savane 3.7