DPPCO(3)

SYNOPSIS
SUBROUTINE DPPCO (AP, N, RCOND, Z, INFO)

NAME
dppco - Factor a symmetric positive definite matrix stored in packed form and estimate the condition number of the matrix.

LIBRARY
SLATEC (LINPACK)

CATEGORY
D2B1B

TYPE
DOUBLE PRECISION (SPPCO-S, DPPCO-D, CPPCO-C)

KEYWORDS
CONDITION NUMBER, LINEAR ALGEBRA, LINPACK, MATRIX FACTORIZATION, PACKED, POSITIVE DEFINITE

AUTHOR
Moler, C. B., (U. of New Mexico)

DESCRIPTION
DPPCO factors a double precision symmetric positive definite matrix stored in packed form and estimates the condition of the matrix. If RCOND is not needed, DPPFA is slightly faster. To solve A*X = B , follow DPPCO by DPPSL. To compute INVERSE(A)*C , follow DPPCO by DPPSL. To compute DETERMINANT(A) , follow DPPCO by DPPDI. To compute INVERSE(A) , follow DPPCO by DPPDI. On Entry AP DOUBLE PRECISION (N*(N+1)/2) the packed form of a symmetric matrix A . The columns of the upper triangle are stored sequentially in a one-dimensional array of length N*(N+1)/2 . See comments below for details. N INTEGER the order of the matrix A . On Return AP an upper triangular matrix R , stored in packed form, so that A = TRANS(R)*R . If INFO .NE. 0 , the factorization is not complete. RCOND DOUBLE PRECISION an estimate of the reciprocal condition of A . For the system A*X = B , relative perturbations in A and B of size EPSILON may cause relative perturbations in X of size EPSILON/RCOND . If RCOND is so small that the logical expression 1.0 + RCOND .EQ. 1.0 is true, then A may be singular to working precision. In particular, RCOND is zero if exact singularity is detected or the estimate underflows. If INFO .NE. 0 , RCOND is unchanged. Z DOUBLE PRECISION(N) a work vector whose contents are usually unimportant. If A is singular to working precision, then Z is an approximate null vector in the sense that NORM(A*Z) = RCOND*NORM(A)*NORM(Z) . If INFO .NE. 0 , Z is unchanged. INFO INTEGER = 0 for normal return. = K signals an error condition. The leading minor of order K is not positive definite. Packed Storage The following program segment will pack the upper triangle of a symmetric matrix. K = 0 DO 20 J = 1, N DO 10 I = 1, J K = K + 1 AP(K) = A(I,J) 10 CONTINUE 20 CONTINUE

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

ROUTINES CALLED
DASUM, DAXPY, DDOT, DPPFA, DSCAL

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)