Previous: chidi Up: ../linpack.html Next: chisl
SUBROUTINE CHIFA(A,LDA,N,KPVT,INFO) INTEGER LDA,N,KPVT(1),INFO COMPLEX A(LDA,1) C C CHIFA FACTORS A COMPLEX HERMITIAN MATRIX BY ELIMINATION C WITH SYMMETRIC PIVOTING. C C TO SOLVE A*X = B , FOLLOW CHIFA BY CHISL. C TO COMPUTE INVERSE(A)*C , FOLLOW CHIFA BY CHISL. C TO COMPUTE DETERMINANT(A) , FOLLOW CHIFA BY CHIDI. C TO COMPUTE INERTIA(A) , FOLLOW CHIFA BY CHIDI. C TO COMPUTE INVERSE(A) , FOLLOW CHIFA BY CHIDI. C C ON ENTRY C C A COMPLEX(LDA,N) C THE HERMITIAN MATRIX TO BE FACTORED. C ONLY THE DIAGONAL AND UPPER TRIANGLE ARE USED. C C LDA INTEGER C THE LEADING DIMENSION OF THE ARRAY A . C C N INTEGER C THE ORDER OF THE MATRIX A . C C ON RETURN C C A A BLOCK DIAGONAL MATRIX AND THE MULTIPLIERS WHICH C WERE USED TO OBTAIN IT. C THE FACTORIZATION CAN BE WRITTEN A = U*D*CTRANS(U) C WHERE U IS A PRODUCT OF PERMUTATION AND UNIT C UPPER TRIANGULAR MATRICES , CTRANS(U) IS THE C CONJUGATE TRANSPOSE OF U , AND D IS BLOCK DIAGONAL C WITH 1 BY 1 AND 2 BY 2 BLOCKS. C C KPVT INTEGER(N) C AN INTEGER VECTOR OF PIVOT INDICES. C C INFO INTEGER C = 0 NORMAL VALUE. C = K IF THE K-TH PIVOT BLOCK IS SINGULAR. THIS IS C NOT AN ERROR CONDITION FOR THIS SUBROUTINE, C BUT IT DOES INDICATE THAT CHISL OR CHIDI MAY C DIVIDE BY ZERO IF CALLED. C C LINPACK. THIS VERSION DATED 08/14/78 . C JAMES BUNCH, UNIV. CALIF. SAN DIEGO, ARGONNE NAT. LAB. C C SUBROUTINES AND FUNCTIONS C C BLAS CAXPY,CSWAP,ICAMAX C FORTRAN ABS,AIMAG,AMAX1,CMPLX,CONJG,REAL,SQRT