96 REAL function
crzt01( m, n, a, af, lda, tau, work,
104 INTEGER lda, lwork, m, n
107 COMPLEX a( lda, * ), af( lda, * ), tau( * ),
115 parameter( zero = 0.0e0, one = 1.0e0 )
132 INTRINSIC cmplx, max, real
138 IF( lwork.LT.m*n+m )
THEN
139 CALL xerbla(
'CRZT01', 8 )
145 IF( m.LE.0 .OR. n.LE.0 )
148 norma =
clange(
'One-norm', m, n, a, lda, rwork )
152 CALL claset(
'Full', m, n, cmplx( zero ), cmplx( zero ), work, m )
155 work( ( j-1 )*m+i ) = af( i, j )
161 CALL cunmrz(
'Right',
'No transpose', m, n, m, n-m, af, lda, tau,
162 $ work, m, work( m*n+1 ), lwork-m*n, info )
167 CALL caxpy( m, cmplx( -one ), a( 1, i ), 1,
168 $ work( ( i-1 )*m+1 ), 1 )
subroutine xerbla(srname, info)
real function crzt01(m, n, a, af, lda, tau, work, lwork)
CRZT01
subroutine caxpy(n, ca, cx, incx, cy, incy)
CAXPY
real function slamch(cmach)
SLAMCH
real function clange(norm, m, n, a, lda, work)
CLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
subroutine claset(uplo, m, n, alpha, beta, a, lda)
CLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values.
subroutine cunmrz(side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info)
CUNMRZ