![]() |
LAPACK
3.9.0
LAPACK: Linear Algebra PACKage
|
| subroutine cgeqpf | ( | integer | M, |
| integer | N, | ||
| complex, dimension( lda, * ) | A, | ||
| integer | LDA, | ||
| integer, dimension( * ) | JPVT, | ||
| complex, dimension( * ) | TAU, | ||
| complex, dimension( * ) | WORK, | ||
| real, dimension( * ) | RWORK, | ||
| integer | INFO | ||
| ) |
CGEQPF
Download CGEQPF + dependencies [TGZ] [ZIP] [TXT]
This routine is deprecated and has been replaced by routine CGEQP3. CGEQPF computes a QR factorization with column pivoting of a complex M-by-N matrix A: A*P = Q*R.
| [in] | M | M is INTEGER
The number of rows of the matrix A. M >= 0. |
| [in] | N | N is INTEGER
The number of columns of the matrix A. N >= 0 |
| [in,out] | A | A is COMPLEX array, dimension (LDA,N)
On entry, the M-by-N matrix A.
On exit, the upper triangle of the array contains the
min(M,N)-by-N upper triangular matrix R; the elements
below the diagonal, together with the array TAU,
represent the unitary matrix Q as a product of
min(m,n) elementary reflectors. |
| [in] | LDA | LDA is INTEGER
The leading dimension of the array A. LDA >= max(1,M). |
| [in,out] | JPVT | JPVT is INTEGER array, dimension (N)
On entry, if JPVT(i) .ne. 0, the i-th column of A is permuted
to the front of A*P (a leading column); if JPVT(i) = 0,
the i-th column of A 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. |
| [out] | TAU | TAU is COMPLEX array, dimension (min(M,N))
The scalar factors of the elementary reflectors. |
| [out] | WORK | WORK is COMPLEX array, dimension (N) |
| [out] | RWORK | RWORK is REAL array, dimension (2*N) |
| [out] | INFO | INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value |
The matrix Q is represented as a product of elementary reflectors
Q = H(1) H(2) . . . H(n)
Each H(i) has the form
H = I - tau * v * v**H
where tau is a complex scalar, and v is a complex vector with
v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i).
The matrix P is represented in jpvt as follows: If
jpvt(j) = i
then the jth column of P is the ith canonical unit vector.
Partial column norm updating strategy modified by
Z. Drmac and Z. Bujanovic, Dept. of Mathematics,
University of Zagreb, Croatia.
-- April 2011 --
For more details see LAPACK Working Note 176. Definition at line 150 of file cgeqpf.f.