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 dlauu2(UPLO, N, A, LDA, INFO)
DLAUU2 computes the product UUH or LHL, where U and L are upper or lower triangular matrices (unblock...
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dgemv(TRANS, M, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
DGEMV
subroutine dscal(N, DA, DX, INCX)
DSCAL