190 SUBROUTINE spftri( TRANSR, UPLO, N, A, INFO )
197 CHARACTER TRANSR, UPLO
207 parameter( one = 1.0e+0 )
210 LOGICAL LOWER, NISODD, NORMALTRANSR
228 normaltransr = lsame( transr,
'N' )
229 lower = lsame( uplo,
'L' )
230 IF( .NOT.normaltransr .AND. .NOT.lsame( transr,
'T' ) )
THEN
232 ELSE IF( .NOT.lower .AND. .NOT.lsame( uplo,
'U' ) )
THEN
234 ELSE IF( n.LT.0 )
THEN
238 CALL xerbla(
'SPFTRI', -info )
249 CALL stftri( transr, uplo,
'N', n, a, info )
256 IF( mod( n, 2 ).EQ.0 )
THEN
280 IF( normaltransr )
THEN
290 CALL slauum(
'L', n1, a( 0 ), n, info )
291 CALL ssyrk(
'L',
'T', n1, n2, one, a( n1 ), n, one,
293 CALL strmm(
'L',
'U',
'N',
'N', n2, n1, one, a( n ), n,
295 CALL slauum(
'U', n2, a( n ), n, info )
303 CALL slauum(
'L', n1, a( n2 ), n, info )
304 CALL ssyrk(
'L',
'N', n1, n2, one, a( 0 ), n, one,
306 CALL strmm(
'R',
'U',
'T',
'N', n1, n2, one, a( n1 ), n,
308 CALL slauum(
'U', n2, a( n1 ), n, info )
321 CALL slauum(
'U', n1, a( 0 ), n1, info )
322 CALL ssyrk(
'U',
'N', n1, n2, one, a( n1*n1 ), n1, one,
324 CALL strmm(
'R',
'L',
'N',
'N', n1, n2, one, a( 1 ), n1,
326 CALL slauum(
'L', n2, a( 1 ), n1, info )
333 CALL slauum(
'U', n1, a( n2*n2 ), n2, info )
334 CALL ssyrk(
'U',
'T', n1, n2, one, a( 0 ), n2, one,
336 CALL strmm(
'L',
'L',
'T',
'N', n2, n1, one, a( n1*n2 ),
338 CALL slauum(
'L', n2, a( n1*n2 ), n2, info )
348 IF( normaltransr )
THEN
358 CALL slauum(
'L', k, a( 1 ), n+1, info )
359 CALL ssyrk(
'L',
'T', k, k, one, a( k+1 ), n+1, one,
361 CALL strmm(
'L',
'U',
'N',
'N', k, k, one, a( 0 ), n+1,
363 CALL slauum(
'U', k, a( 0 ), n+1, info )
371 CALL slauum(
'L', k, a( k+1 ), n+1, info )
372 CALL ssyrk(
'L',
'N', k, k, one, a( 0 ), n+1, one,
374 CALL strmm(
'R',
'U',
'T',
'N', k, k, one, a( k ), n+1,
376 CALL slauum(
'U', k, a( k ), n+1, info )
390 CALL slauum(
'U', k, a( k ), k, info )
391 CALL ssyrk(
'U',
'N', k, k, one, a( k*( k+1 ) ), k, one,
393 CALL strmm(
'R',
'L',
'N',
'N', k, k, one, a( 0 ), k,
394 $ a( k*( k+1 ) ), k )
395 CALL slauum(
'L', k, a( 0 ), k, info )
403 CALL slauum(
'U', k, a( k*( k+1 ) ), k, info )
404 CALL ssyrk(
'U',
'T', k, k, one, a( 0 ), k, one,
405 $ a( k*( k+1 ) ), k )
406 CALL strmm(
'L',
'L',
'T',
'N', k, k, one, a( k*k ), k,
408 CALL slauum(
'L', k, a( k*k ), k, info )
subroutine xerbla(srname, info)
subroutine ssyrk(uplo, trans, n, k, alpha, a, lda, beta, c, ldc)
SSYRK
subroutine slauum(uplo, n, a, lda, info)
SLAUUM computes the product UUH or LHL, where U and L are upper or lower triangular matrices (blocked...
subroutine spftri(transr, uplo, n, a, info)
SPFTRI
subroutine stftri(transr, uplo, diag, n, a, info)
STFTRI
subroutine strmm(side, uplo, transa, diag, m, n, alpha, a, lda, b, ldb)
STRMM