153 INTEGER INFO, LDA, M, N
156 COMPLEX A( LDA, * ), D( * )
163 parameter( cone = ( 1.0e+0, 0.0e+0 ) )
166 INTEGER IINFO, J, JB, NB
185 ELSE IF( n.LT.0 )
THEN
187 ELSE IF( lda.LT.max( 1, m ) )
THEN
191 CALL xerbla(
'CLAUNHR_COL_GETRFNP', -info )
197 IF( min( m, n ).EQ.0 )
203 nb = ilaenv( 1,
'CLAUNHR_COL_GETRFNP',
' ', m, n, -1, -1 )
205 IF( nb.LE.1 .OR. nb.GE.min( m, n ) )
THEN
214 DO j = 1, min( m, n ), nb
215 jb = min( min( m, n )-j+1, nb )
226 CALL ctrsm(
'Left',
'Lower',
'No transpose',
'Unit', jb,
227 $ n-j-jb+1, cone, a( j, j ), lda, a( j, j+jb ),
233 CALL cgemm(
'No transpose',
'No transpose', m-j-jb+1,
234 $ n-j-jb+1, jb, -cone, a( j+jb, j ), lda,
235 $ a( j, j+jb ), lda, cone, a( j+jb, j+jb ),
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine cgemm(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
CGEMM
subroutine ctrsm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
CTRSM
recursive subroutine claunhr_col_getrfnp2(M, N, A, LDA, D, INFO)
CLAUNHR_COL_GETRFNP2
subroutine claunhr_col_getrfnp(M, N, A, LDA, D, INFO)
CLAUNHR_COL_GETRFNP