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 tranpose', 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 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 xerbla(srname, info)
XERBLA
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 sormrz(side, trans, m, n, k, l, a, lda, tau, c, ldc, work, lwork, info)
SORMRZ
subroutine saxpy(n, sa, sx, incx, sy, incy)
SAXPY
real function srzt01(m, n, a, af, lda, tau, work, lwork)
SRZT01
real function slamch(cmach)
SLAMCH