DQRFAC(3)

SYNOPSIS
SUBROUTINE DQRFAC (M, N, A, LDA, PIVOT, IPVT, LIPVT, SIGMA, + ACNORM, WA)

NAME
dqrfac - Subsidiary to DNLS1, DNLS1E, DNSQ and DNSQE

LIBRARY
SLATEC

TYPE
DOUBLE PRECISION (QRFAC-S, DQRFAC-D)

AUTHOR
(UNKNOWN)

DESCRIPTION
**** Double Precision version of QRFAC **** This subroutine uses Householder transformations with column pivoting (optional) to compute a QR factorization of the M by N matrix A. That is, DQRFAC determines an orthogonal matrix Q, a permutation matrix P, and an upper trapezoidal matrix R with diagonal elements of nonincreasing magnitude, such that A*P = Q*R. The Householder transformation for column K, K = 1,2,...,MIN(M,N), is of the form T I - (1/U(K))*U*U where U has zeros in the first K-1 positions. The form of this transformation and the method of pivoting first appeared in the corresponding LINPACK subroutine. The subroutine statement is SUBROUTINE DQRFAC(M,N,A,LDA,PIVOT,IPVT,LIPVT,SIGMA,ACNORM,WA) where M is a positive integer input variable set to the number of rows of A. N is a positive integer input variable set to the number of columns of A. A is an M by N array. On input A contains the matrix for which the QR factorization is to be computed. On output the strict upper trapezoidal part of A contains the strict upper trapezoidal part of R, and the lower trapezoidal part of A contains a factored form of Q (the non-trivial elements of the U vectors described above). LDA is a positive integer input variable not less than M which specifies the leading dimension of the array A. PIVOT is a logical input variable. If pivot is set .TRUE., then column pivoting is enforced. If pivot is set .FALSE., then no column pivoting is done. IPVT is an integer output array of length LIPVT. IPVT defines the permutation matrix P such that A*P = Q*R. Column J of P is column IPVT(J) of the identity matrix. If pivot is .FALSE., IPVT is not referenced. LIPVT is a positive integer input variable. If PIVOT is SIGMA is an output array of length N which contains the diagonal elements of R. ACNORM is an output array of length N which contains the norms of the corresponding columns of the input matrix A. If this information is not needed, then ACNORM can coincide with SIGMA. WA is a work array of length N. If pivot is .FALSE., then WA can coincide with SIGMA.

SEE ALSO
DNLS1, DNLS1E, DNSQ, DNSQE

ROUTINES CALLED
D1MACH, DENORM

REVISION HISTORY (YYMMDD)
800301 DATE WRITTEN
890531 Changed all specific intrinsics to generic. (WRB)
890831 Modified array declarations. (WRB)
891214 Prologue converted to Version 4.0 format. (BAB)
900326 Removed duplicate information from DESCRIPTION section. (WRB)
900328 Added TYPE section. (WRB)