131 SUBROUTINE zgebak( JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV,
141 INTEGER ihi, ilo, info, ldv, m, n
144 DOUBLE PRECISION scale( * )
145 COMPLEX*16 v( ldv, * )
152 parameter( one = 1.0d+0 )
155 LOGICAL leftv, rightv
173 rightv =
lsame( side,
'R' )
174 leftv =
lsame( side,
'L' )
177 IF( .NOT.
lsame( job,
'N' ) .AND. .NOT.
lsame( job,
'P' ) .AND.
178 $ .NOT.
lsame( job,
'S' ) .AND. .NOT.
lsame( job,
'B' ) )
THEN
180 ELSE IF( .NOT.rightv .AND. .NOT.leftv )
THEN
182 ELSE IF( n.LT.0 )
THEN
184 ELSE IF( ilo.LT.1 .OR. ilo.GT.max( 1, n ) )
THEN
186 ELSE IF( ihi.LT.min( ilo, n ) .OR. ihi.GT.n )
THEN
188 ELSE IF( m.LT.0 )
THEN
190 ELSE IF( ldv.LT.max( 1, n ) )
THEN
194 CALL
xerbla(
'ZGEBAK', -info )
204 IF(
lsame( job,
'N' ) )
212 IF(
lsame( job,
'S' ) .OR.
lsame( job,
'B' ) )
THEN
217 CALL
zdscal( m, s, v( i, 1 ), ldv )
224 CALL
zdscal( m, s, v( i, 1 ), ldv )
236 IF(
lsame( job,
'P' ) .OR.
lsame( job,
'B' ) )
THEN
240 IF( i.GE.ilo .AND. i.LE.ihi )
247 CALL
zswap( m, v( i, 1 ), ldv, v( k, 1 ), ldv )
254 IF( i.GE.ilo .AND. i.LE.ihi )
261 CALL
zswap( m, v( i, 1 ), ldv, v( k, 1 ), ldv )
subroutine zswap(N, ZX, INCX, ZY, INCY)
ZSWAP
LOGICAL function lsame(CA, CB)
LSAME
subroutine zdscal(N, DA, ZX, INCX)
ZDSCAL
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zgebak(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO)
ZGEBAK