222 SUBROUTINE ctftri( TRANSR, UPLO, DIAG, N, A, INFO )
230 CHARACTER transr, uplo, diag
241 parameter( cone = ( 1.0e+0, 0.0e+0 ) )
244 LOGICAL lower, nisodd, normaltransr
262 normaltransr =
lsame( transr,
'N' )
263 lower =
lsame( uplo,
'L' )
264 IF( .NOT.normaltransr .AND. .NOT.
lsame( transr,
'C' ) )
THEN
266 ELSE IF( .NOT.lower .AND. .NOT.
lsame( uplo,
'U' ) )
THEN
268 ELSE IF( .NOT.
lsame( diag,
'N' ) .AND. .NOT.
lsame( diag,
'U' ) )
271 ELSE IF( n.LT.0 )
THEN
275 CALL
xerbla(
'CTFTRI', -info )
287 IF( mod( n, 2 ).EQ.0 )
THEN
311 IF( normaltransr )
THEN
321 CALL
ctrtri(
'L', diag, n1, a( 0 ), n, info )
324 CALL
ctrmm(
'R',
'L',
'N', diag, n2, n1, -cone, a( 0 ),
326 CALL
ctrtri(
'U', diag, n2, a( n ), n, info )
331 CALL
ctrmm(
'L',
'U',
'C', diag, n2, n1, cone, a( n ), n,
340 CALL
ctrtri(
'L', diag, n1, a( n2 ), n, info )
343 CALL
ctrmm(
'L',
'L',
'C', diag, n1, n2, -cone, a( n2 ),
345 CALL
ctrtri(
'U', diag, n2, a( n1 ), n, info )
350 CALL
ctrmm(
'R',
'U',
'N', diag, n1, n2, cone, a( n1 ),
364 CALL
ctrtri(
'U', diag, n1, a( 0 ), n1, info )
367 CALL
ctrmm(
'L',
'U',
'N', diag, n1, n2, -cone, a( 0 ),
368 $ n1, a( n1*n1 ), n1 )
369 CALL
ctrtri(
'L', diag, n2, a( 1 ), n1, info )
374 CALL
ctrmm(
'R',
'L',
'C', diag, n1, n2, cone, a( 1 ),
375 $ n1, a( n1*n1 ), n1 )
382 CALL
ctrtri(
'U', diag, n1, a( n2*n2 ), n2, info )
385 CALL
ctrmm(
'R',
'U',
'C', diag, n2, n1, -cone,
386 $ a( n2*n2 ), n2, a( 0 ), n2 )
387 CALL
ctrtri(
'L', diag, n2, a( n1*n2 ), n2, info )
392 CALL
ctrmm(
'L',
'L',
'N', diag, n2, n1, cone,
393 $ a( n1*n2 ), n2, a( 0 ), n2 )
402 IF( normaltransr )
THEN
412 CALL
ctrtri(
'L', diag, k, a( 1 ), n+1, info )
415 CALL
ctrmm(
'R',
'L',
'N', diag, k, k, -cone, a( 1 ),
416 $ n+1, a( k+1 ), n+1 )
417 CALL
ctrtri(
'U', diag, k, a( 0 ), n+1, info )
422 CALL
ctrmm(
'L',
'U',
'C', diag, k, k, cone, a( 0 ), n+1,
431 CALL
ctrtri(
'L', diag, k, a( k+1 ), n+1, info )
434 CALL
ctrmm(
'L',
'L',
'C', diag, k, k, -cone, a( k+1 ),
436 CALL
ctrtri(
'U', diag, k, a( k ), n+1, info )
441 CALL
ctrmm(
'R',
'U',
'N', diag, k, k, cone, a( k ), n+1,
454 CALL
ctrtri(
'U', diag, k, a( k ), k, info )
457 CALL
ctrmm(
'L',
'U',
'N', diag, k, k, -cone, a( k ), k,
458 $ a( k*( k+1 ) ), k )
459 CALL
ctrtri(
'L', diag, k, a( 0 ), k, info )
464 CALL
ctrmm(
'R',
'L',
'C', diag, k, k, cone, a( 0 ), k,
465 $ a( k*( k+1 ) ), k )
472 CALL
ctrtri(
'U', diag, k, a( k*( k+1 ) ), k, info )
475 CALL
ctrmm(
'R',
'U',
'C', diag, k, k, -cone,
476 $ a( k*( k+1 ) ), k, a( 0 ), k )
477 CALL
ctrtri(
'L', diag, k, a( k*k ), k, info )
482 CALL
ctrmm(
'L',
'L',
'N', diag, k, k, cone, a( k*k ), k,