212 SUBROUTINE cpftrf( TRANSR, UPLO, N, A, INFO )
220 CHARACTER TRANSR, UPLO
231 parameter( one = 1.0e+0, cone = ( 1.0e+0, 0.0e+0 ) )
234 LOGICAL LOWER, NISODD, NORMALTRANSR
252 normaltransr = lsame( transr,
'N' )
253 lower = lsame( uplo,
'L' )
254 IF( .NOT.normaltransr .AND. .NOT.lsame( transr,
'C' ) )
THEN
256 ELSE IF( .NOT.lower .AND. .NOT.lsame( uplo,
'U' ) )
THEN
258 ELSE IF( n.LT.0 )
THEN
262 CALL
xerbla(
'CPFTRF', -info )
274 IF( mod( n, 2 ).EQ.0 )
THEN
297 IF( normaltransr )
THEN
307 CALL
cpotrf(
'L', n1, a( 0 ), n, info )
310 CALL
ctrsm(
'R',
'L',
'C',
'N', n2, n1, cone, a( 0 ), n,
312 CALL
cherk(
'U',
'N', n2, n1, -one, a( n1 ), n, one,
314 CALL
cpotrf(
'U', n2, a( n ), n, info )
324 CALL
cpotrf(
'L', n1, a( n2 ), n, info )
327 CALL
ctrsm(
'L',
'L',
'N',
'N', n1, n2, cone, a( n2 ), n,
329 CALL
cherk(
'U',
'C', n2, n1, -one, a( 0 ), n, one,
331 CALL
cpotrf(
'U', n2, a( n1 ), n, info )
347 CALL
cpotrf(
'U', n1, a( 0 ), n1, info )
350 CALL
ctrsm(
'L',
'U',
'C',
'N', n1, n2, cone, a( 0 ), n1,
352 CALL
cherk(
'L',
'C', n2, n1, -one, a( n1*n1 ), n1, one,
354 CALL
cpotrf(
'L', n2, a( 1 ), n1, info )
364 CALL
cpotrf(
'U', n1, a( n2*n2 ), n2, info )
367 CALL
ctrsm(
'R',
'U',
'N',
'N', n2, n1, cone, a( n2*n2 ),
369 CALL
cherk(
'L',
'N', n2, n1, -one, a( 0 ), n2, one,
371 CALL
cpotrf(
'L', n2, a( n1*n2 ), n2, info )
383 IF( normaltransr )
THEN
393 CALL
cpotrf(
'L', k, a( 1 ), n+1, info )
396 CALL
ctrsm(
'R',
'L',
'C',
'N', k, k, cone, a( 1 ), n+1,
398 CALL
cherk(
'U',
'N', k, k, -one, a( k+1 ), n+1, one,
400 CALL
cpotrf(
'U', k, a( 0 ), n+1, info )
410 CALL
cpotrf(
'L', k, a( k+1 ), n+1, info )
413 CALL
ctrsm(
'L',
'L',
'N',
'N', k, k, cone, a( k+1 ),
415 CALL
cherk(
'U',
'C', k, k, -one, a( 0 ), n+1, one,
417 CALL
cpotrf(
'U', k, a( k ), n+1, info )
433 CALL
cpotrf(
'U', k, a( 0+k ), k, info )
436 CALL
ctrsm(
'L',
'U',
'C',
'N', k, k, cone, a( k ), n1,
437 $ a( k*( k+1 ) ), k )
438 CALL
cherk(
'L',
'C', k, k, -one, a( k*( k+1 ) ), k, one,
440 CALL
cpotrf(
'L', k, a( 0 ), k, info )
450 CALL
cpotrf(
'U', k, a( k*( k+1 ) ), k, info )
453 CALL
ctrsm(
'R',
'U',
'N',
'N', k, k, cone,
454 $ a( k*( k+1 ) ), k, a( 0 ), k )
455 CALL
cherk(
'L',
'N', k, k, -one, a( 0 ), k, one,
457 CALL
cpotrf(
'L', k, a( k*k ), k, info )
subroutine cpftrf(TRANSR, UPLO, N, A, INFO)
CPFTRF
subroutine ctrsm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
CTRSM
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine cpotrf(UPLO, N, A, LDA, INFO)
CPOTRF
subroutine cherk(UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C, LDC)
CHERK