211 SUBROUTINE cpftri( TRANSR, UPLO, N, A, INFO )
218 CHARACTER TRANSR, UPLO
229 parameter( one = 1.0e+0, cone = ( 1.0e+0, 0.0e+0 ) )
232 LOGICAL LOWER, NISODD, NORMALTRANSR
250 normaltransr = lsame( transr,
'N' )
251 lower = lsame( uplo,
'L' )
252 IF( .NOT.normaltransr .AND. .NOT.lsame( transr,
'C' ) )
THEN 254 ELSE IF( .NOT.lower .AND. .NOT.lsame( uplo,
'U' ) )
THEN 256 ELSE IF( n.LT.0 )
THEN 260 CALL xerbla(
'CPFTRI', -info )
271 CALL ctftri( transr, uplo,
'N', n, a, info )
278 IF( mod( n, 2 ).EQ.0 )
THEN 302 IF( normaltransr )
THEN 312 CALL clauum(
'L', n1, a( 0 ), n, info )
313 CALL cherk(
'L',
'C', n1, n2, one, a( n1 ), n, one,
315 CALL ctrmm(
'L',
'U',
'N',
'N', n2, n1, cone, a( n ), n,
317 CALL clauum(
'U', n2, a( n ), n, info )
325 CALL clauum(
'L', n1, a( n2 ), n, info )
326 CALL cherk(
'L',
'N', n1, n2, one, a( 0 ), n, one,
328 CALL ctrmm(
'R',
'U',
'C',
'N', n1, n2, cone, a( n1 ), n,
330 CALL clauum(
'U', n2, a( n1 ), n, info )
343 CALL clauum(
'U', n1, a( 0 ), n1, info )
344 CALL cherk(
'U',
'N', n1, n2, one, a( n1*n1 ), n1, one,
346 CALL ctrmm(
'R',
'L',
'N',
'N', n1, n2, cone, a( 1 ), n1,
348 CALL clauum(
'L', n2, a( 1 ), n1, info )
355 CALL clauum(
'U', n1, a( n2*n2 ), n2, info )
356 CALL cherk(
'U',
'C', n1, n2, one, a( 0 ), n2, one,
358 CALL ctrmm(
'L',
'L',
'C',
'N', n2, n1, cone, a( n1*n2 ),
360 CALL clauum(
'L', n2, a( n1*n2 ), n2, info )
370 IF( normaltransr )
THEN 380 CALL clauum(
'L', k, a( 1 ), n+1, info )
381 CALL cherk(
'L',
'C', k, k, one, a( k+1 ), n+1, one,
383 CALL ctrmm(
'L',
'U',
'N',
'N', k, k, cone, a( 0 ), n+1,
385 CALL clauum(
'U', k, a( 0 ), n+1, info )
393 CALL clauum(
'L', k, a( k+1 ), n+1, info )
394 CALL cherk(
'L',
'N', k, k, one, a( 0 ), n+1, one,
396 CALL ctrmm(
'R',
'U',
'C',
'N', k, k, cone, a( k ), n+1,
398 CALL clauum(
'U', k, a( k ), n+1, info )
412 CALL clauum(
'U', k, a( k ), k, info )
413 CALL cherk(
'U',
'N', k, k, one, a( k*( k+1 ) ), k, one,
415 CALL ctrmm(
'R',
'L',
'N',
'N', k, k, cone, a( 0 ), k,
416 $ a( k*( k+1 ) ), k )
417 CALL clauum(
'L', k, a( 0 ), k, info )
425 CALL clauum(
'U', k, a( k*( k+1 ) ), k, info )
426 CALL cherk(
'U',
'C', k, k, one, a( 0 ), k, one,
427 $ a( k*( k+1 ) ), k )
428 CALL ctrmm(
'L',
'L',
'C',
'N', k, k, cone, a( k*k ), k,
430 CALL clauum(
'L', k, a( k*k ), k, info )
subroutine cpftri(TRANSR, UPLO, N, A, INFO)
CPFTRI
subroutine cherk(UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C, LDC)
CHERK
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ctrmm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
CTRMM
subroutine clauum(UPLO, N, A, LDA, INFO)
CLAUUM computes the product UUH or LHL, where U and L are upper or lower triangular matrices (blocked...
subroutine ctftri(TRANSR, UPLO, DIAG, N, A, INFO)
CTFTRI