210 SUBROUTINE cpftrf( TRANSR, UPLO, N, A, INFO )
217 CHARACTER TRANSR, UPLO
228 parameter( one = 1.0e+0, cone = ( 1.0e+0, 0.0e+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(
'CPFTRF', -info )
271 IF( mod( n, 2 ).EQ.0 )
THEN
294 IF( normaltransr )
THEN
304 CALL cpotrf(
'L', n1, a( 0 ), n, info )
307 CALL ctrsm(
'R',
'L',
'C',
'N', n2, n1, cone, a( 0 ), n,
309 CALL cherk(
'U',
'N', n2, n1, -one, a( n1 ), n, one,
311 CALL cpotrf(
'U', n2, a( n ), n, info )
321 CALL cpotrf(
'L', n1, a( n2 ), n, info )
324 CALL ctrsm(
'L',
'L',
'N',
'N', n1, n2, cone, a( n2 ), n,
326 CALL cherk(
'U',
'C', n2, n1, -one, a( 0 ), n, one,
328 CALL cpotrf(
'U', n2, a( n1 ), n, info )
344 CALL cpotrf(
'U', n1, a( 0 ), n1, info )
347 CALL ctrsm(
'L',
'U',
'C',
'N', n1, n2, cone, a( 0 ), n1,
349 CALL cherk(
'L',
'C', n2, n1, -one, a( n1*n1 ), n1, one,
351 CALL cpotrf(
'L', n2, a( 1 ), n1, info )
361 CALL cpotrf(
'U', n1, a( n2*n2 ), n2, info )
364 CALL ctrsm(
'R',
'U',
'N',
'N', n2, n1, cone, a( n2*n2 ),
366 CALL cherk(
'L',
'N', n2, n1, -one, a( 0 ), n2, one,
368 CALL cpotrf(
'L', n2, a( n1*n2 ), n2, info )
380 IF( normaltransr )
THEN
390 CALL cpotrf(
'L', k, a( 1 ), n+1, info )
393 CALL ctrsm(
'R',
'L',
'C',
'N', k, k, cone, a( 1 ), n+1,
395 CALL cherk(
'U',
'N', k, k, -one, a( k+1 ), n+1, one,
397 CALL cpotrf(
'U', k, a( 0 ), n+1, info )
407 CALL cpotrf(
'L', k, a( k+1 ), n+1, info )
410 CALL ctrsm(
'L',
'L',
'N',
'N', k, k, cone, a( k+1 ),
412 CALL cherk(
'U',
'C', k, k, -one, a( 0 ), n+1, one,
414 CALL cpotrf(
'U', k, a( k ), n+1, info )
430 CALL cpotrf(
'U', k, a( 0+k ), k, info )
433 CALL ctrsm(
'L',
'U',
'C',
'N', k, k, cone, a( k ), n1,
434 $ a( k*( k+1 ) ), k )
435 CALL cherk(
'L',
'C', k, k, -one, a( k*( k+1 ) ), k, one,
437 CALL cpotrf(
'L', k, a( 0 ), k, info )
447 CALL cpotrf(
'U', k, a( k*( k+1 ) ), k, info )
450 CALL ctrsm(
'R',
'U',
'N',
'N', k, k, cone,
451 $ a( k*( k+1 ) ), k, a( 0 ), k )
452 CALL cherk(
'L',
'N', k, k, -one, a( 0 ), k, one,
454 CALL cpotrf(
'L', k, a( k*k ), k, info )
subroutine xerbla(srname, info)
subroutine cherk(uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
CHERK
subroutine cpftrf(transr, uplo, n, a, info)
CPFTRF
subroutine cpotrf(uplo, n, a, lda, info)
CPOTRF
subroutine ctrsm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
CTRSM