88 SUBROUTINE slarge( N, A, LDA, ISEED, WORK, INFO )
100 REAL A( lda, * ), WORK( * )
107 parameter( zero = 0.0e+0, one = 1.0e+0 )
130 ELSE IF( lda.LT.max( 1, n ) )
THEN
134 CALL xerbla(
'SLARGE', -info )
144 CALL slarnv( 3, iseed, n-i+1, work )
145 wn = snrm2( n-i+1, work, 1 )
146 wa = sign( wn, work( 1 ) )
147 IF( wn.EQ.zero )
THEN
151 CALL sscal( n-i, one / wb, work( 2 ), 1 )
158 CALL sgemv(
'Transpose', n-i+1, n, one, a( i, 1 ), lda, work,
159 $ 1, zero, work( n+1 ), 1 )
160 CALL sger( n-i+1, n, -tau, work, 1, work( n+1 ), 1, a( i, 1 ),
165 CALL sgemv(
'No transpose', n, n-i+1, one, a( 1, i ), lda,
166 $ work, 1, zero, work( n+1 ), 1 )
167 CALL sger( n, n-i+1, -tau, work( n+1 ), 1, work, 1, a( 1, i ),
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine sgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
SGEMV
subroutine slarge(N, A, LDA, ISEED, WORK, INFO)
SLARGE
subroutine slarnv(IDIST, ISEED, N, X)
SLARNV returns a vector of random numbers from a uniform or normal distribution.
subroutine sger(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
SGER
subroutine sscal(N, SA, SX, INCX)
SSCAL