153 INTEGER INFO, LDA, M, N
156 COMPLEX*16 A( lda, * ), D( * )
163 parameter( cone = ( 1.0d+0, 0.0d+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(
'ZLAUNHR_COL_GETRFNP', -info )
197 IF( min( m, n ).EQ.0 )
203 nb = ilaenv( 1,
'ZLAUNHR_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 ztrsm(
'Left',
'Lower',
'No transpose',
'Unit', jb,
227 $ n-j-jb+1, cone, a( j, j ), lda, a( j, j+jb ),
233 CALL zgemm(
'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 ztrsm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
ZTRSM
subroutine zlaunhr_col_getrfnp(M, N, A, LDA, D, INFO)
ZLAUNHR_COL_GETRFNP
subroutine zgemm(TRANSA, TRANSB, M, N, K, ALPHA, A, LDA, B, LDB, BETA, C, LDC)
ZGEMM
recursive subroutine zlaunhr_col_getrfnp2(M, N, A, LDA, D, INFO)
ZLAUNHR_COL_GETRFNP2