130 SUBROUTINE sgebak( JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV,
140 INTEGER ihi, ilo, info, ldv, m, n
143 REAL v( ldv, * ), scale( * )
150 parameter( one = 1.0e+0 )
153 LOGICAL leftv, rightv
171 rightv =
lsame( side,
'R' )
172 leftv =
lsame( side,
'L' )
175 IF( .NOT.
lsame( job,
'N' ) .AND. .NOT.
lsame( job,
'P' ) .AND.
176 $ .NOT.
lsame( job,
'S' ) .AND. .NOT.
lsame( job,
'B' ) )
THEN
178 ELSE IF( .NOT.rightv .AND. .NOT.leftv )
THEN
180 ELSE IF( n.LT.0 )
THEN
182 ELSE IF( ilo.LT.1 .OR. ilo.GT.max( 1, n ) )
THEN
184 ELSE IF( ihi.LT.min( ilo, n ) .OR. ihi.GT.n )
THEN
186 ELSE IF( m.LT.0 )
THEN
188 ELSE IF( ldv.LT.max( 1, n ) )
THEN
192 CALL
xerbla(
'SGEBAK', -info )
202 IF(
lsame( job,
'N' ) )
210 IF(
lsame( job,
'S' ) .OR.
lsame( job,
'B' ) )
THEN
215 CALL
sscal( m, s, v( i, 1 ), ldv )
222 CALL
sscal( m, s, v( i, 1 ), ldv )
234 IF(
lsame( job,
'P' ) .OR.
lsame( job,
'B' ) )
THEN
238 IF( i.GE.ilo .AND. i.LE.ihi )
245 CALL
sswap( m, v( i, 1 ), ldv, v( k, 1 ), ldv )
252 IF( i.GE.ilo .AND. i.LE.ihi )
259 CALL
sswap( m, v( i, 1 ), ldv, v( k, 1 ), ldv )
LOGICAL function lsame(CA, CB)
LSAME
subroutine sswap(N, SX, INCX, SY, INCY)
SSWAP
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine sgebak(JOB, SIDE, N, ILO, IHI, SCALE, M, V, LDV, INFO)
SGEBAK
subroutine sscal(N, SA, SX, INCX)
SSCAL