101 SUBROUTINE spotrf ( UPLO, N, A, LDA, INFO )
120 parameter( one = 1.0e+0 )
142 upper =
lsame( uplo,
'U' )
143 IF( .NOT.upper .AND. .NOT.
lsame( uplo,
'L' ) )
THEN
145 ELSE IF( n.LT.0 )
THEN
147 ELSE IF( lda.LT.max( 1, n ) )
THEN
151 CALL
xerbla(
'SPOTRF', -info )
162 nb =
ilaenv( 1,
'SPOTRF', uplo, n, -1, -1, -1 )
163 IF( nb.LE.1 .OR. nb.GE.n )
THEN
167 CALL
spotf2( uplo, n, a, lda, info )
181 jb = min( nb, n-
j+1 )
183 CALL
spotf2(
'Upper', jb, a(
j,
j ), lda, info )
192 CALL
strsm(
'Left',
'Upper',
'Transpose',
'Non-unit',
193 $ jb, n-
j-jb+1, one, a(
j,
j ), lda,
194 $ a(
j,
j+jb ), lda )
195 CALL
ssyrk(
'Upper',
'Transpose', n-
j-jb+1, jb, -one,
197 $ one, a(
j+jb,
j+jb ), lda )
210 jb = min( nb, n-
j+1 )
212 CALL
spotf2(
'Lower', jb, a(
j,
j ), lda, info )
221 CALL
strsm(
'Right',
'Lower',
'Transpose',
'Non-unit',
222 $ n-
j-jb+1, jb, one, a(
j,
j ), lda,
223 $ a(
j+jb,
j ), lda )
225 CALL
ssyrk(
'Lower',
'No Transpose', n-
j-jb+1, jb,
226 $ -one, a(
j+jb,
j ), lda,
227 $ one, a(
j+jb,
j+jb ), lda )
subroutine spotf2(UPLO, N, A, LDA, INFO)
SPOTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite matrix (unblock...
LOGICAL function lsame(CA, CB)
LSAME
subroutine ssyrk(UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C, LDC)
SSYRK
subroutine xerbla(SRNAME, INFO)
XERBLA
INTEGER function ilaenv(ISPEC, NAME, OPTS, N1, N2, N3, N4)
subroutine sgemm(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
SGEMM
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
subroutine strsm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
STRSM
subroutine spotrf(UPLO, N, A, LDA, INFO)
SPOTRF