157 $ ldafb, ipiv, c, capply, info, work,
167 INTEGER n, kl, ku, kd, ke, ldab, ldafb, info
171 COMPLEX ab( ldab, * ), afb( ldafb, * ), work( * )
172 REAL c( * ), rwork( * )
180 REAL ainvnm, anorm, tmp
200 cabs1( zdum ) = abs( real( zdum ) ) + abs( aimag( zdum ) )
206 notrans =
lsame( trans,
'N' )
207 IF ( .NOT. notrans .AND. .NOT.
lsame( trans,
'T' ) .AND. .NOT.
208 $
lsame( trans,
'C' ) )
THEN
210 ELSE IF( n.LT.0 )
THEN
212 ELSE IF( kl.LT.0 .OR. kl.GT.n-1 )
THEN
214 ELSE IF( ku.LT.0 .OR. ku.GT.n-1 )
THEN
216 ELSE IF( ldab.LT.kl+ku+1 )
THEN
218 ELSE IF( ldafb.LT.2*kl+ku+1 )
THEN
222 CALL xerbla(
'CLA_GBRCOND_C', -info )
235 DO j = max( i-kl, 1 ), min( i+ku, n )
236 tmp = tmp + cabs1( ab( kd+i-j, j ) ) / c( j )
239 DO j = max( i-kl, 1 ), min( i+ku, n )
240 tmp = tmp + cabs1( ab( kd+i-j, j ) )
244 anorm = max( anorm, tmp )
250 DO j = max( i-kl, 1 ), min( i+ku, n )
251 tmp = tmp + cabs1( ab( ke-i+j, i ) ) / c( j )
254 DO j = max( i-kl, 1 ), min( i+ku, n )
255 tmp = tmp + cabs1( ab( ke-i+j, i ) )
259 anorm = max( anorm, tmp )
268 ELSE IF( anorm .EQ. 0.0e+0 )
THEN
278 CALL clacn2( n, work( n+1 ), work, ainvnm, kase, isave )
285 work( i ) = work( i ) * rwork( i )
289 CALL cgbtrs(
'No transpose', n, kl, ku, 1, afb, ldafb,
290 $ ipiv, work, n, info )
292 CALL cgbtrs(
'Conjugate transpose', n, kl, ku, 1, afb,
293 $ ldafb, ipiv, work, n, info )
300 work( i ) = work( i ) * c( i )
309 work( i ) = work( i ) * c( i )
314 CALL cgbtrs(
'Conjugate transpose', n, kl, ku, 1, afb,
315 $ ldafb, ipiv, work, n, info )
317 CALL cgbtrs(
'No transpose', n, kl, ku, 1, afb, ldafb,
318 $ ipiv, work, n, info )
324 work( i ) = work( i ) * rwork( i )
332 IF( ainvnm .NE. 0.0e+0 )
subroutine cgbtrs(trans, n, kl, ku, nrhs, ab, ldab, ipiv, b, ldb, info)
CGBTRS
real function cla_gbrcond_c(trans, n, kl, ku, ab, ldab, afb, ldafb, ipiv, c, capply, info, work, rwork)
CLA_GBRCOND_C computes the infinity norm condition number of op(A)*inv(diag(c)) for general banded ma...
subroutine clacn2(n, v, x, est, kase, isave)
CLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...