144 SUBROUTINE cgbtf2( M, N, KL, KU, AB, LDAB, IPIV, INFO )
151 INTEGER INFO, KL, KU, LDAB, M, N
155 COMPLEX AB( LDAB, * )
162 parameter( one = ( 1.0e+0, 0.0e+0 ),
163 $ zero = ( 0.0e+0, 0.0e+0 ) )
166 INTEGER I, J, JP, JU, KM, KV
190 ELSE IF( n.LT.0 )
THEN
192 ELSE IF( kl.LT.0 )
THEN
194 ELSE IF( ku.LT.0 )
THEN
196 ELSE IF( ldab.LT.kl+kv+1 )
THEN
200 CALL xerbla(
'CGBTF2', -info )
206 IF( m.EQ.0 .OR. n.EQ.0 )
213 DO 20 j = ku + 2, min( kv, n )
214 DO 10 i = kv - j + 2, kl
224 DO 40 j = 1, min( m, n )
238 jp = icamax( km+1, ab( kv+1, j ), 1 )
239 ipiv( j ) = jp + j - 1
240 IF( ab( kv+jp, j ).NE.zero )
THEN
241 ju = max( ju, min( j+ku+jp-1, n ) )
246 $
CALL cswap( ju-j+1, ab( kv+jp, j ), ldab-1,
247 $ ab( kv+1, j ), ldab-1 )
252 CALL cscal( km, one / ab( kv+1, j ), ab( kv+2, j ), 1 )
257 $
CALL cgeru( km, ju-j, -one, ab( kv+2, j ), 1,
258 $ ab( kv, j+1 ), ldab-1, ab( kv+1, j+1 ),
subroutine xerbla(srname, info)
subroutine cgbtf2(m, n, kl, ku, ab, ldab, ipiv, info)
CGBTF2 computes the LU factorization of a general band matrix using the unblocked version of the algo...
subroutine cgeru(m, n, alpha, x, incx, y, incy, a, lda)
CGERU
subroutine cscal(n, ca, cx, incx)
CSCAL
subroutine cswap(n, cx, incx, cy, incy)
CSWAP