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 )