213 SUBROUTINE zpftri( TRANSR, UPLO, N, A, INFO )
221 CHARACTER TRANSR, UPLO
232 parameter ( one = 1.d0, cone = ( 1.d0, 0.d0 ) )
235 LOGICAL LOWER, NISODD, NORMALTRANSR
253 normaltransr = lsame( transr,
'N' )
254 lower = lsame( uplo,
'L' )
255 IF( .NOT.normaltransr .AND. .NOT.lsame( transr,
'C' ) )
THEN
257 ELSE IF( .NOT.lower .AND. .NOT.lsame( uplo,
'U' ) )
THEN
259 ELSE IF( n.LT.0 )
THEN
263 CALL xerbla(
'ZPFTRI', -info )
274 CALL ztftri( transr, uplo,
'N', n, a, info )
281 IF( mod( n, 2 ).EQ.0 )
THEN
305 IF( normaltransr )
THEN
315 CALL zlauum(
'L', n1, a( 0 ), n, info )
316 CALL zherk(
'L',
'C', n1, n2, one, a( n1 ), n, one,
318 CALL ztrmm(
'L',
'U',
'N',
'N', n2, n1, cone, a( n ), n,
320 CALL zlauum(
'U', n2, a( n ), n, info )
328 CALL zlauum(
'L', n1, a( n2 ), n, info )
329 CALL zherk(
'L',
'N', n1, n2, one, a( 0 ), n, one,
331 CALL ztrmm(
'R',
'U',
'C',
'N', n1, n2, cone, a( n1 ), n,
333 CALL zlauum(
'U', n2, a( n1 ), n, info )
346 CALL zlauum(
'U', n1, a( 0 ), n1, info )
347 CALL zherk(
'U',
'N', n1, n2, one, a( n1*n1 ), n1, one,
349 CALL ztrmm(
'R',
'L',
'N',
'N', n1, n2, cone, a( 1 ), n1,
351 CALL zlauum(
'L', n2, a( 1 ), n1, info )
358 CALL zlauum(
'U', n1, a( n2*n2 ), n2, info )
359 CALL zherk(
'U',
'C', n1, n2, one, a( 0 ), n2, one,
361 CALL ztrmm(
'L',
'L',
'C',
'N', n2, n1, cone, a( n1*n2 ),
363 CALL zlauum(
'L', n2, a( n1*n2 ), n2, info )
373 IF( normaltransr )
THEN
383 CALL zlauum(
'L', k, a( 1 ), n+1, info )
384 CALL zherk(
'L',
'C', k, k, one, a( k+1 ), n+1, one,
386 CALL ztrmm(
'L',
'U',
'N',
'N', k, k, cone, a( 0 ), n+1,
388 CALL zlauum(
'U', k, a( 0 ), n+1, info )
396 CALL zlauum(
'L', k, a( k+1 ), n+1, info )
397 CALL zherk(
'L',
'N', k, k, one, a( 0 ), n+1, one,
399 CALL ztrmm(
'R',
'U',
'C',
'N', k, k, cone, a( k ), n+1,
401 CALL zlauum(
'U', k, a( k ), n+1, info )
415 CALL zlauum(
'U', k, a( k ), k, info )
416 CALL zherk(
'U',
'N', k, k, one, a( k*( k+1 ) ), k, one,
418 CALL ztrmm(
'R',
'L',
'N',
'N', k, k, cone, a( 0 ), k,
419 $ a( k*( k+1 ) ), k )
420 CALL zlauum(
'L', k, a( 0 ), k, info )
428 CALL zlauum(
'U', k, a( k*( k+1 ) ), k, info )
429 CALL zherk(
'U',
'C', k, k, one, a( 0 ), k, one,
430 $ a( k*( k+1 ) ), k )
431 CALL ztrmm(
'L',
'L',
'C',
'N', k, k, cone, a( k*k ), k,
433 CALL zlauum(
'L', k, a( k*k ), k, info )
subroutine ztftri(TRANSR, UPLO, DIAG, N, A, INFO)
ZTFTRI
subroutine zlauum(UPLO, N, A, LDA, INFO)
ZLAUUM computes the product UUH or LHL, where U and L are upper or lower triangular matrices (blocked...
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ztrmm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
ZTRMM
subroutine zpftri(TRANSR, UPLO, N, A, INFO)
ZPFTRI
subroutine zherk(UPLO, TRANS, N, K, ALPHA, A, LDA, BETA, C, LDC)
ZHERK