CQRDC(3)

SYNOPSIS
SUBROUTINE CQRDC (X, LDX, N, P, QRAUX, JPVT, WORK, JOB)

NAME
cqrdc - Use Householder transformations to compute the QR factorization of an N by P matrix. Column pivoting is a users option.

LIBRARY
SLATEC (LINPACK)

CATEGORY
D5

TYPE
COMPLEX (SQRDC-S, DQRDC-D, CQRDC-C)

KEYWORDS
LINEAR ALGEBRA, LINPACK, MATRIX, ORTHOGONAL TRIANGULAR, QR DECOMPOSITION

AUTHOR
Stewart, G. W., (U. of Maryland)

DESCRIPTION
CQRDC uses Householder transformations to compute the QR factorization of an N by P matrix X. Column pivoting based on the 2-norms of the reduced columns may be performed at the users option. On Entry X COMPLEX(LDX,P), where LDX .GE. N. X contains the matrix whose decomposition is to be computed. LDX INTEGER. LDX is the leading dimension of the array X. N INTEGER. N is the number of rows of the matrix X. P INTEGER. P is the number of columns of the matrix X. JVPT INTEGER(P). JVPT contains integers that control the selection of the pivot columns. The K-th column X(K) of X is placed in one of three classes according to the value of JVPT(K). If JVPT(K) .GT. 0, then X(K) is an initial column. If JVPT(K) .EQ. 0, then X(K) is a free column. If JVPT(K) .LT. 0, then X(K) is a final column. Before the decomposition is computed, initial columns are moved to the beginning of the array X and final columns to the end. Both initial and final columns are frozen in place during the computation and only free columns are moved. At the K-th stage of the reduction, if X(K) is occupied by a free column it is interchanged with the free column of largest reduced norm. JVPT is not referenced if JOB .EQ. 0. WORK COMPLEX(P). WORK is a work array. WORK is not referenced if JOB .EQ. 0. JOB INTEGER. JOB is an integer that initiates column pivoting. If JOB .EQ. 0, no pivoting is done. If JOB .NE. 0, pivoting is done. On Return X X contains in its upper triangle the upper triangular matrix R of the QR factorization. Below its diagonal X contains information from which the unitary part of the decomposition can be recovered. Note that if pivoting has been requested, the decomposition is not that of the original matrix X but that of X with its columns permuted as described by JVPT. QRAUX COMPLEX(P). QRAUX contains further information required to recover the unitary part of the decomposition. JVPT JVPT(K) contains the index of the column of the original matrix that has been interchanged into the K-th column, if pivoting was requested.

REFERENCES
J. J. Dongarra, J. R. Bunch, C. B. Moler, and G. W. Stewart, LINPACK Users' Guide, SIAM, 1979.

ROUTINES CALLED
CAXPY, CDOTC, CSCAL, CSWAP, SCNRM2

REVISION HISTORY (YYMMDD)
780814 DATE WRITTEN
890531 Changed all specific intrinsics to generic. (WRB)
890831 Modified array declarations. (WRB)
890831 REVISION DATE from Version 3.2
891214 Prologue converted to Version 4.0 format. (BAB)
900326 Removed duplicate information from DESCRIPTION section. (WRB)
920501 Reformatted the REFERENCES section. (WRB)