156 INTEGER INFO, LDA, M, N
159 DOUBLE PRECISION A( LDA, * ), D( * )
166 parameter( one = 1.0d+0 )
169 INTEGER IINFO, J, JB, NB
188 ELSE IF( n.LT.0 )
THEN
190 ELSE IF( lda.LT.max( 1, m ) )
THEN
194 CALL xerbla(
'DLAORHR_COL_GETRFNP', -info )
200 IF( min( m, n ).EQ.0 )
206 nb = ilaenv( 1,
'DLAORHR_COL_GETRFNP',
' ', m, n, -1, -1 )
208 IF( nb.LE.1 .OR. nb.GE.min( m, n ) )
THEN
217 DO j = 1, min( m, n ), nb
218 jb = min( min( m, n )-j+1, nb )
229 CALL dtrsm(
'Left',
'Lower',
'No transpose',
'Unit', jb,
230 $ n-j-jb+1, one, a( j, j ), lda, a( j, j+jb ),
236 CALL dgemm(
'No transpose',
'No transpose', m-j-jb+1,
237 $ n-j-jb+1, jb, -one, a( j+jb, j ), lda,
238 $ a( j, j+jb ), lda, one, a( j+jb, j+jb ),