210 SUBROUTINE zpftrf( TRANSR, UPLO, N, A, INFO )
217 CHARACTER TRANSR, UPLO
228 parameter( one = 1.0d+0, cone = ( 1.0d+0, 0.0d+0 ) )
231 LOGICAL LOWER, NISODD, NORMALTRANSR
249 normaltransr = lsame( transr,
'N' )
250 lower = lsame( uplo,
'L' )
251 IF( .NOT.normaltransr .AND. .NOT.lsame( transr,
'C' ) )
THEN
253 ELSE IF( .NOT.lower .AND. .NOT.lsame( uplo,
'U' ) )
THEN
255 ELSE IF( n.LT.0 )
THEN
259 CALL xerbla(
'ZPFTRF', -info )
271 IF( mod( n, 2 ).EQ.0 )
THEN
294 IF( normaltransr )
THEN
304 CALL zpotrf(
'L', n1, a( 0 ), n, info )
307 CALL ztrsm(
'R',
'L',
'C',
'N', n2, n1, cone, a( 0 ), n,
309 CALL zherk(
'U',
'N', n2, n1, -one, a( n1 ), n, one,
311 CALL zpotrf(
'U', n2, a( n ), n, info )
321 CALL zpotrf(
'L', n1, a( n2 ), n, info )
324 CALL ztrsm(
'L',
'L',
'N',
'N', n1, n2, cone, a( n2 ), n,
326 CALL zherk(
'U',
'C', n2, n1, -one, a( 0 ), n, one,
328 CALL zpotrf(
'U', n2, a( n1 ), n, info )
344 CALL zpotrf(
'U', n1, a( 0 ), n1, info )
347 CALL ztrsm(
'L',
'U',
'C',
'N', n1, n2, cone, a( 0 ), n1,
349 CALL zherk(
'L',
'C', n2, n1, -one, a( n1*n1 ), n1, one,
351 CALL zpotrf(
'L', n2, a( 1 ), n1, info )
361 CALL zpotrf(
'U', n1, a( n2*n2 ), n2, info )
364 CALL ztrsm(
'R',
'U',
'N',
'N', n2, n1, cone, a( n2*n2 ),
366 CALL zherk(
'L',
'N', n2, n1, -one, a( 0 ), n2, one,
368 CALL zpotrf(
'L', n2, a( n1*n2 ), n2, info )
380 IF( normaltransr )
THEN
390 CALL zpotrf(
'L', k, a( 1 ), n+1, info )
393 CALL ztrsm(
'R',
'L',
'C',
'N', k, k, cone, a( 1 ), n+1,
395 CALL zherk(
'U',
'N', k, k, -one, a( k+1 ), n+1, one,
397 CALL zpotrf(
'U', k, a( 0 ), n+1, info )
407 CALL zpotrf(
'L', k, a( k+1 ), n+1, info )
410 CALL ztrsm(
'L',
'L',
'N',
'N', k, k, cone, a( k+1 ),
412 CALL zherk(
'U',
'C', k, k, -one, a( 0 ), n+1, one,
414 CALL zpotrf(
'U', k, a( k ), n+1, info )
430 CALL zpotrf(
'U', k, a( 0+k ), k, info )
433 CALL ztrsm(
'L',
'U',
'C',
'N', k, k, cone, a( k ), n1,
434 $ a( k*( k+1 ) ), k )
435 CALL zherk(
'L',
'C', k, k, -one, a( k*( k+1 ) ), k, one,
437 CALL zpotrf(
'L', k, a( 0 ), k, info )
447 CALL zpotrf(
'U', k, a( k*( k+1 ) ), k, info )
450 CALL ztrsm(
'R',
'U',
'N',
'N', k, k, cone,
451 $ a( k*( k+1 ) ), k, a( 0 ), k )
452 CALL zherk(
'L',
'N', k, k, -one, a( 0 ), k, one,
454 CALL zpotrf(
'L', k, a( k*k ), k, info )
subroutine xerbla(srname, info)
subroutine zherk(uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
ZHERK
subroutine zpftrf(transr, uplo, n, a, info)
ZPFTRF
subroutine zpotrf(uplo, n, a, lda, info)
ZPOTRF
subroutine ztrsm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
ZTRSM