101 SUBROUTINE dlauu2( UPLO, N, A, LDA, INFO )
112 DOUBLE PRECISION A( LDA, * )
119 parameter( one = 1.0d+0 )
128 DOUBLE PRECISION DDOT
142 upper = lsame( uplo,
'U' )
143 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
145 ELSE IF( n.LT.0 )
THEN
147 ELSE IF( lda.LT.max( 1, n ) )
THEN
151 CALL xerbla(
'DLAUU2', -info )
167 a( i, i ) = ddot( n-i+1, a( i, i ), lda, a( i, i ), lda )
168 CALL dgemv(
'No transpose', i-1, n-i, one, a( 1, i+1 ),
169 $ lda, a( i, i+1 ), lda, aii, a( 1, i ), 1 )
171 CALL dscal( i, aii, a( 1, i ), 1 )
182 a( i, i ) = ddot( n-i+1, a( i, i ), 1, a( i, i ), 1 )
183 CALL dgemv(
'Transpose', n-i, i-1, one, a( i+1, 1 ), lda,
184 $ a( i+1, i ), 1, aii, a( i, 1 ), lda )
186 CALL dscal( i, aii, a( i, 1 ), lda )
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dscal(N, DA, DX, INCX)
DSCAL
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DGEMV
subroutine dlauu2(UPLO, N, A, LDA, INFO)
DLAUU2 computes the product UUH or LHL, where U and L are upper or lower triangular matrices (unblock...