Previous: saxpy Up: ../linpack.html Next: schdd
SUBROUTINE SCHDC(A,LDA,P,WORK,JPVT,JOB,INFO)
INTEGER LDA,P,JPVT(1),JOB,INFO
REAL A(LDA,1),WORK(1)
C
C SCHDC COMPUTES THE CHOLESKY DECOMPOSITION OF A POSITIVE DEFINIT
C MATRIX. A PIVOTING OPTION ALLOWS THE USER TO ESTIMATE THE
C CONDITION OF A POSITIVE DEFINITE MATRIX OR DETERMINE THE RANK
C OF A POSITIVE SEMIDEFINITE MATRIX.
C
C ON ENTRY
C
C A REAL(LDA,P).
C A CONTAINS THE MATRIX WHOSE DECOMPOSITION IS TO
C BE COMPUTED. ONLT THE UPPER HALF OF A NEED BE STORE
C THE LOWER PART OF THE ARRAY A IS NOT REFERENCED.
C
C LDA INTEGER.
C LDA IS THE LEADING DIMENSION OF THE ARRAY A.
C
C P INTEGER.
C P IS THE ORDER OF THE MATRIX.
C
C WORK REAL.
C WORK IS A WORK ARRAY.
C
C JPVT INTEGER(P).
C JPVT CONTAINS INTEGERS THAT CONTROL THE SELECTION
C OF THE PIVOT ELEMENTS, IF PIVOTING HAS BEEN REQUESTE
C EACH DIAGONAL ELEMENT A(K,K)
C IS PLACED IN ONE OF THREE CLASSES ACCORDING TO THE
C VALUE OF JPVT(K).
C
C IF JPVT(K) .GT. 0, THEN X(K) IS AN INITIAL
C ELEMENT.
C
C IF JPVT(K) .EQ. 0, THEN X(K) IS A FREE ELEMENT.
C
C IF JPVT(K) .LT. 0, THEN X(K) IS A FINAL ELEMENT.
C
C BEFORE THE DECOMPOSITION IS COMPUTED, INITIAL ELEMEN
C ARE MOVED BY SYMMETRIC ROW AND COLUMN INTERCHANGES T
C THE BEGINNING OF THE ARRAY A AND FINAL
C ELEMENTS TO THE END. BOTH INITIAL AND FINAL ELEMENT
C ARE FROZEN IN PLACE DURING THE COMPUTATION AND ONLY
C FREE ELEMENTS ARE MOVED. AT THE K-TH STAGE OF THE
C REDUCTION, IF A(K,K) IS OCCUPIED BY A FREE ELEMENT
C IT IS INTERCHANGED WITH THE LARGEST FREE ELEMENT
C A(L,L) WITH L .GE. K. JPVT IS NOT REFERENCED IF
C JOB .EQ. 0.
C
C JOB INTEGER.
C JOB IS AN INTEGER THAT INITIATES COLUMN PIVOTING.
C IF JOB .EQ. 0, NO PIVOTING IS DONE.
C IF JOB .NE. 0, PIVOTING IS DONE.
C
C ON RETURN
C
C A A CONTAINS IN ITS UPPER HALF THE CHOLESKY FACTOR
C OF THE MATRIX A AS IT HAS BEEN PERMUTED BY PIVOTING.
C
C JPVT JPVT(J) CONTAINS THE INDEX OF THE DIAGONAL ELEMENT
C OF A THAT WAS MOVED INTO THE J-TH POSITION,
C PROVIDED PIVOTING WAS REQUESTED.
C
C INFO CONTAINS THE INDEX OF THE LAST POSITIVE DIAGONAL
C ELEMENT OF THE CHOLESKY FACTOR.
C
C FOR POSITIVE DEFINITE MATRICES INFO = P IS THE NORMAL RETURN.
C FOR PIVOTING WITH POSITIVE SEMIDEFINITE MATRICES INFO WILL
C IN GENERAL BE LESS THAN P. HOWEVER, INFO MAY BE GREATER THAN
C THE RANK OF A, SINCE ROUNDING ERROR CAN CAUSE AN OTHERWISE ZERO
C ELEMENT TO BE POSITIVE. INDEFINITE SYSTEMS WILL ALWAYS CAUSE
C INFO TO BE LESS THAN P.
C
C LINPACK. THIS VERSION DATED 03/19/79 .
C J.J. DONGARRA AND G.W. STEWART, ARGONNE NATIONAL LABORATORY AND
C UNIVERSITY OF MARYLAND.
C
C
C BLAS SAXPY,SSWAP
C FORTRAN SQRT
C