86 SUBROUTINE clarge( N, A, LDA, ISEED, WORK, INFO )
97 COMPLEX A( LDA, * ), WORK( * )
104 parameter( zero = ( 0.0e+0, 0.0e+0 ),
105 $ one = ( 1.0e+0, 0.0e+0 ) )
116 INTRINSIC abs,
max, real
129 ELSE IF( lda.LT.
max( 1, n ) )
THEN
143 CALL CLARNV( 3, ISEED, N-I+1, WORK )
144 WN = SCNRM2( N-I+1, WORK, 1 )
145 WA = ( WN / ABS( WORK( 1 ) ) )*WORK( 1 )
146.EQ.
IF( WNZERO ) THEN
150 CALL CSCAL( N-I, ONE / WB, WORK( 2 ), 1 )
152 TAU = REAL( WB / WA )
157 CALL CGEMV( 'conjugate transpose
', N-I+1, N, ONE, A( I, 1 ),
158 $ LDA, WORK, 1, ZERO, WORK( N+1 ), 1 )
159 CALL CGERC( N-I+1, N, -TAU, WORK, 1, WORK( N+1 ), 1, A( I, 1 ),
164 CALL CGEMV( 'no transpose
', N, N-I+1, ONE, A( 1, I ), LDA,
165 $ WORK, 1, ZERO, WORK( N+1 ), 1 )
166 CALL CGERC( N, N-I+1, -TAU, WORK( N+1 ), 1, WORK, 1, A( 1, I ),
subroutine xerbla(srname, info)
XERBLA
subroutine clarnv(idist, iseed, n, x)
CLARNV returns a vector of random numbers from a uniform or normal distribution.
subroutine cscal(n, ca, cx, incx)
CSCAL
subroutine cgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
CGEMV
subroutine cgerc(m, n, alpha, x, incx, y, incy, a, lda)
CGERC
subroutine clarge(n, a, lda, iseed, work, info)
CLARGE