SCHDC(3F)

SCHDC - SCHDC computes the Cholesky decomposition of a positive definite matrix. A pivoting option allows the user to estimate the condition of a positive definite matrix or determine the rank of a positive semidefinite matrix.

As shipped in IRIX 6.5.15. Unchanged since IRIX 6.5.

NAME
     SCHDC   - SCHDC computes the Cholesky decomposition of a positive
     definite matrix.  A pivoting option allows the user to estimate the
     condition of a positive definite matrix or determine the rank of a
     positive semidefinite matrix.


SYNOPSYS
      SUBROUTINE SCHDC(A,LDA,P,WORK,JPVT,JOB,INFO)

DESCRIPTION
     On Entry

     A REAL(LDA,P).
        A contains the matrix whose decomposition is to
        be computed.  Only the upper half of A need be stored.
        The lower part of the array A is not referenced.

     LDA INTEGER.
        LDA is the leading dimension of the array A.

     P INTEGER.
        P is the order of the matrix.

     WORK REAL.
        WORK is a work array.

     JPVT INTEGER(P).
        JPVT contains integers that control the selection
        of the pivot elements, if pivoting has been requested.
        Each diagonal element A(K,K)
        is placed in one of three classes according to the
        value of JPVT(K).
        If JPVT(K) .GT. 0, then X(K) is an initial
        element.
        If JPVT(K) .EQ. 0, then X(K) is a free element.
        If JPVT(K) .LT. 0, then X(K) is a final element.
        Before the decomposition is computed, initial elements
        are moved by symmetric row and column interchanges to
        the beginning of the array A and final
        elements to the end.  Both initial and final elements
        are frozen in place during the computation and only
        free elements are moved.  At the K-th stage of the
        reduction, if A(K,K) is occupied by a free element
        it is interchanged with the largest free element
        A(L,L) with L .GE. K.  JPVT 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
     A A contains in its upper half the Cholesky factor
        of the matrix A as it has been permuted by pivoting.

     JPVT JPVT(J) contains the index of the diagonal element
        of a that was moved into the J-th position,
        provided pivoting was requested.

     INFO contains the index of the last positive diagonal
        element of the Cholesky factor.  For positive definite matrices INFO =
     P is the normal return.  For pivoting with positive semidefinite matrices
     INFO will in general be less than P.  However, INFO may be greater than
     the rank of A, since rounding error can cause an otherwise zero element
     to be positive.  Indefinite systems will always cause

     INFO to be less than P. LINPACK.  This version dated 03/19/79 .

     J University of Maryland.  BLAS SAXPY,SSWAP Fortran SQRT