SPBCO(3F)

SPBCO - SPBCO factors a real symmetric positive definite matrix stored in band form and estimates the condition of the matrix.

As shipped in IRIX 6.5.5. Unchanged since IRIX 6.5.

NAME
     SPBCO   - SPBCO factors a real symmetric positive definite matrix stored
     in band form and estimates the condition of the matrix.

     If  RCOND  is not needed, SPBFA is slightly faster.  To solve  A*X = B ,
     follow SPBCO by SPBSL.  To compute  INVERSE(A)*C , follow SPBCO by SPBSL.
     To compute  DETERMINANT(A) , follow SPBCO by SPBDI.


SYNOPSYS
      SUBROUTINE SPBCO(ABD,LDA,N,M,RCOND,Z,INFO)

DESCRIPTION
     On Entry

     ABD REAL(LDA, N)
        the matrix to be factored.  The columns of the upper
        triangle are stored in the columns of ABD and the
        diagonals of the upper triangle are stored in the
        rows of ABD .  See the comments below for details.

     LDA INTEGER
        the leading dimension of the array  ABD .
        LDA must be .GE. M + 1 .

     N INTEGER
        the order of the matrix  A .

     M INTEGER
        the number of diagonals above the main diagonal.
        0 .LE. M .LT. N .  On Return

     ABD an upper triangular matrix  R , stored in band
        form, so that  A = TRANS(R)*R .
        If  INFO .NE. 0 , the factorization is not complete.

     RCOND REAL
        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 REAL(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.  Band Storage
        If  A  is a symmetric positive definite band matrix,
        the following program segment will set up the input.
        M = (band width above diagonal)
        DO 20 J = 1, N
        I1 = MAX0(1, J-M)
        DO 10 I = I1, J
        K = I-J+M+1
        ABD(K,J) = A(I,J)
        10    CONTINUE
        20 CONTINUE
        This uses  M + 1  rows of  A , except for the  M by M
        upper left triangle, which is ignored.  Example:  If the original
     matrix is
        11 12 13  0  0  0
        12 22 23 24  0  0
        13 23 33 34 35  0
        0 24 34 44 45 46
        0  0 35 45 55 56
        0  0  0 46 56 66 then  N = 6 , M = 2  and  ABD  should contain
        *  * 13 24 35 46
        * 12 23 34 45 56
        11 22 33 44 55 66 LINPACK.  This version dated 08/14/78 .  Cleve
     Moler, University of New Mexico, Argonne National Lab.  Subroutines and
     Functions LINPACK SPBFA BLAS SAXPY,SDOT,SSCAL,SASUM Fortran
     ABS,AMAX1,MAX0,MIN0,REAL,SIGN