CQRDC(3F)

CQRDC - 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.

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     CQRDC   - 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.


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

DESCRIPTION
     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.  LINPACK.  This version
     dated 08/14/78 .  Stewart, G. W., University of Maryland, Argonne
     National Lab.

     CQRDC uses the following functions and subprograms. BLAS
     CAXPY,CDOTC,CSCAL,CSWAP,SCNRM2 Fortran
     ABS,AIMAG,AMAX1,CABS,CMPLX,CSQRT,MIN0,REAL