209 SUBROUTINE cpftri( TRANSR, UPLO, N, A, INFO )
216 CHARACTER TRANSR, UPLO
227 parameter( one = 1.0e+0, cone = ( 1.0e+0, 0.0e+0 ) )
230 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(
'CPFTRI', -info )
270 CALL ctftri( transr, uplo,
'N', n, a, info )
277 IF( mod( n, 2 ).EQ.0 )
THEN
301 IF( normaltransr )
THEN
311 CALL clauum(
'L', n1, a( 0 ), n, info )
312 CALL cherk(
'L',
'C', n1, n2, one, a( n1 ), n, one,
314 CALL ctrmm(
'L',
'U',
'N',
'N', n2, n1, cone, a( 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 ),
331 CALL clauum(
'U', n2, a( n1 ), n, info )
344 CALL clauum(
'U', n1, a( 0 ), n1, info )
345 CALL cherk(
'U',
'N', n1, n2, one, a( n1*n1 ), n1,
348 CALL ctrmm(
'R',
'L',
'N',
'N', n1, n2, cone, a( 1 ),
351 CALL clauum(
'L', n2, a( 1 ), n1, info )
358 CALL clauum(
'U', n1, a( n2*n2 ), n2, info )
359 CALL cherk(
'U',
'C', n1, n2, one, a( 0 ), n2, one,
361 CALL ctrmm(
'L',
'L',
'C',
'N', n2, n1, cone,
364 CALL clauum(
'L', n2, a( n1*n2 ), n2, info )
374 IF( normaltransr )
THEN
384 CALL clauum(
'L', k, a( 1 ), n+1, info )
385 CALL cherk(
'L',
'C', k, k, one, a( k+1 ), n+1, one,
387 CALL ctrmm(
'L',
'U',
'N',
'N', k, k, cone, a( 0 ),
390 CALL clauum(
'U', k, a( 0 ), n+1, info )
398 CALL clauum(
'L', k, a( k+1 ), n+1, info )
399 CALL cherk(
'L',
'N', k, k, one, a( 0 ), n+1, one,
401 CALL ctrmm(
'R',
'U',
'C',
'N', k, k, cone, a( k ),
404 CALL clauum(
'U', k, a( k ), n+1, info )
418 CALL clauum(
'U', k, a( k ), k, info )
419 CALL cherk(
'U',
'N', k, k, one, a( k*( k+1 ) ), k,
422 CALL ctrmm(
'R',
'L',
'N',
'N', k, k, cone, a( 0 ), k,
423 $ a( k*( k+1 ) ), k )
424 CALL clauum(
'L', k, a( 0 ), k, info )
432 CALL clauum(
'U', k, a( k*( k+1 ) ), k, info )
433 CALL cherk(
'U',
'C', k, k, one, a( 0 ), k, one,
434 $ a( k*( k+1 ) ), k )
435 CALL ctrmm(
'L',
'L',
'C',
'N', k, k, cone, a( k*k ),
438 CALL clauum(
'L', k, a( k*k ), k, info )
subroutine cherk(uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
CHERK
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 ctrmm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
CTRMM