96 REAL function
srzt01( m, n, a, af, lda, tau, work,
104 INTEGER lda, lwork, m, n
107 REAL a( lda, * ), af( lda, * ), tau( * ),
115 parameter( zero = 0.0e+0, one = 1.0e+0 )
138 IF( lwork.LT.m*n+m )
THEN
139 CALL xerbla(
'SRZT01', 8 )
145 IF( m.LE.0 .OR. n.LE.0 )
148 norma =
slange(
'One-norm', m, n, a, lda, rwork )
152 CALL slaset(
'Full', m, n, zero, zero, work, m )
155 work( ( j-1 )*m+i ) = af( i, j )
161 CALL sormrz(
'Right',
'No transpose', m, n, m, n-m, af, lda, tau,
162 $ work, m, work( m*n+1 ), lwork-m*n, info )
167 CALL saxpy( m, -one, a( 1, i ), 1, work( ( i-1 )*m+1 ), 1 )
subroutine xerbla(srname, info)
subroutine saxpy(n, sa, sx, incx, sy, incy)
SAXPY
real function slamch(cmach)
SLAMCH
real function slange(norm, m, n, a, lda, work)
SLANGE returns the value of the 1-norm, Frobenius norm, infinity-norm, or the largest absolute value ...
subroutine slaset(uplo, m, n, alpha, beta, a, lda)
SLASET initializes the off-diagonal elements and the diagonal elements of a matrix to given values.
subroutine sormrz(side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info)
SORMRZ
real function srzt01(m, n, a, af, lda, tau, work, lwork)
SRZT01