D1UPDT(3)

SYNOPSIS
SUBROUTINE D1UPDT (M, N, S, LS, U, V, W, SING)

NAME
d1updt - Subsidiary to DNSQ and DNSQE

LIBRARY
SLATEC

TYPE
DOUBLE PRECISION (R1UPDT-S, D1UPDT-D)

AUTHOR
(UNKNOWN)

DESCRIPTION
Given an M by N lower trapezoidal matrix S, an M-vector U, and an N-vector V, the problem is to determine an orthogonal matrix Q such that t (S + U*V )*Q is again lower trapezoidal. This subroutine determines Q as the product of 2*(N - 1) transformations GV(N-1)*...*GV(1)*GW(1)*...*GW(N-1) where GV(I), GW(I) are Givens rotations in the (I,N) plane which eliminate elements in the I-th and N-th planes, respectively. Q itself is not accumulated, rather the information to recover the GV, GW rotations is returned. The SUBROUTINE statement is SUBROUTINE D1UPDT(M,N,S,LS,U,V,W,SING) where M is a positive integer input variable set to the number of rows of S. N is a positive integer input variable set to the number of columns of S. N must not exceed M. S is an array of length LS. On input S must contain the lower trapezoidal matrix S stored by columns. On output S contains the lower trapezoidal matrix produced as described above. LS is a positive integer input variable not less than (N*(2*M-N+1))/2. U is an input array of length M which must contain the vector U. V is an array of length N. On input V must contain the vector V. On output V(I) contains the information necessary to recover the Givens rotation GV(I) described above. W is an output array of length M. W(I) contains information necessary to recover the Givens rotation GW(I) described above. SING is a LOGICAL output variable. SING is set TRUE if any of the diagonal elements of the output S are zero. Otherwise SING is set FALSE.

SEE ALSO
DNSQ, DNSQE

ROUTINES CALLED
D1MACH

REVISION HISTORY (YYMMDD)
800301 DATE WRITTEN
890531 Changed all specific intrinsics to generic. (WRB)
890831 Modified array declarations. (WRB)
891214 Prologue converted to Version 4.0 format. (BAB)
900326 Removed duplicate information from DESCRIPTION section. (WRB)
900328 Added TYPE section. (WRB)