rankqr — rank revealing QR factorization
[Q,R,JPVT,RANK,SVAL]=rankqr(A, [RCOND,JPVT])
real or complex matrix
real number used to determine the effective rank of
A, which is defined as the order of the largest leading
triangular submatrix R11 in the QR factorization with
pivoting ofA, whose estimated condition number <
1/RCOND.
integer vector on entry, if JPVT(i) is not 0, the
i-th column of A is permuted to the front
of AP, otherwise column i is a free
column. On exit, if JPVT(i) = k, then the
i-th column of A*P was the
k-th column of A.
the effective rank of A, i.e., the order of the
submatrix R11. This is the same as the order of the
submatrix T1 in the complete orthogonal factorization
of A.
real vector with 3 components; The estimates of some of the
singular values of the triangular factor R.
SVAL(1) is the largest singular value of
R(1:RANK,1:RANK);
SVAL(2) is the
smallest singular value of R(1:RANK,1:RANK);
SVAL(3) is the smallest singular value of
R(1:RANK+1,1:RANK+1), if RANK < MIN(M,N),
or of R(1:RANK,1:RANK), otherwise.
To compute (optionally) a rank-revealing QR factorization of a real
general M-by-N real or complex matrix A, which may be
rank-deficient, and estimate its effective rank using incremental
condition estimation.
The routine uses a QR factorization with column pivoting:
A * P = Q * R, where R = [ R11 R12 ],
[ 0 R22 ]
with R11 defined as the largest leading submatrix whose
estimated condition number is less than 1/RCOND. The
order of R11, RANK, is the effective rank of
A.
If the triangular factorization is a rank-revealing one (which will be
the case if the leading columns were well- conditioned), then
SVAL(1) will also be an estimate for the largest singular
value of A, and SVAL(2) and
SVAL(3) will be estimates for the RANK-th
and (RANK+1)-st singular values of A,
respectively.
By examining these values, one can confirm that the
rank is well defined with respect to the chosen value of
RCOND. The ratio SVAL(1)/SVAL(2) is an
estimate of the condition number of R(1:RANK,1:RANK).