Wed 30 Nov 2011 04:57:14 PM UTC, original submission:
This pertains to a bug with respect to the function 'qrdelete'.
The version of octave that I'm using is 3.2.4. The operating system that I use is linux-ubuntu-10.10 (maverick).
A sample code fragment is as follows:
A = randn(7,5); [Q,R] = qr(A);
[Q1,R1] = qrdelete(Q,R,7,'row');
The error that I get is as follows:
- On entry to DQRDER parameter number 7 had an illegal value
error: exception encountered in Fortran subroutine dqrder_
I think that this is a bug, since I get the same error when I try to delete a row from a
factorization with m > n (m being the number of rows and n being the number of columns -- Q is of dimension m x m and R is of dimension m x n). I did try on both 32 and 64 bit versions
of linux and I get the same error.
Also there is an issue with the help file/ documentation with qrdelete:
Typing 'help qrdelete' gives me the following (partly shown below):
-- Loadable Function: [Q1, R1] = qrdelete (Q, R, J, ORIENT)
Given a QR factorization of a real or complex matrix A = Q*R,
Q unitary and R upper trapezoidal, return the QR factorization of
[A(:,1:j-1) A(:,j+1:n)], i.e., A with one column deleted (if
ORIENT is "col"), or the QR factorization of
[A(1:j-1,:);A(:,j+1:n)], i.e., A with one row deleted (if ORIENT
is "row").
***************
***************
In the line before the last "[A(1:j-1,:);A(:,j+1:n)]" it should be
[A(1:j-1,:);A(j+1:n,:)]
I presume the error is due to something similar with j > n (Consider a matrix A -- m x n -- the operation should be with m and not n).
|