| 
DTZRQF(3F)							    DTZRQF(3F)
      DTZRQF - reduce the M-by-N	( M<=N ) real upper trapezoidal	matrix A to
     upper triangular form by means of orthogonal transformations
     SUBROUTINE	DTZRQF(	M, N, A, LDA, TAU, INFO	)
	 INTEGER	INFO, LDA, M, N
	 DOUBLE		PRECISION A( LDA, * ), TAU( * )
      DTZRQF reduces the	M-by-N ( M<=N )	real upper trapezoidal matrix A	to
     upper triangular form by means of orthogonal transformations.
     The upper trapezoidal matrix A is factored	as
	A = ( R	 0 ) * Z,
     where Z is	an N-by-N orthogonal matrix and	R is an	M-by-M upper
     triangular	matrix.
     M	     (input) INTEGER
	     The number	of rows	of the matrix A.  M >= 0.
     N	     (input) INTEGER
	     The number	of columns of the matrix A.  N >= M.
     A	     (input/output) DOUBLE PRECISION array, dimension (LDA,N)
	     On	entry, the leading M-by-N upper	trapezoidal part of the	array
	     A must contain the	matrix to be factorized.  On exit, the leading
	     M-by-M upper triangular part of A contains	the upper triangular
	     matrix R, and elements M+1	to N of	the first M rows of A, with
	     the array TAU, represent the orthogonal matrix Z as a product of
	     M elementary reflectors.
     LDA     (input) INTEGER
	     The leading dimension of the array	A.  LDA	>= max(1,M).
     TAU     (output) DOUBLE PRECISION array, dimension	(M)
	     The scalar	factors	of the elementary reflectors.
     INFO    (output) INTEGER
	     = 0:  successful exit
	     < 0:  if INFO = -i, the i-th argument had an illegal value
FURTHER	DETAILS
     The factorization is obtained by Householder's method.  The kth
     transformation matrix, Z( k ), which is used to introduce zeros into the
     ( m - k + 1 )th row of A, is given	in the form
									Page 1
DTZRQF(3F)							    DTZRQF(3F)
	Z( k ) = ( I	 0   ),
		 ( 0  T( k ) )
     where
	T( k ) = I - tau*u( k )*u( k )',   u( k	) = (	1    ),
						    (	0    )
						    ( z( k ) )
     tau is a scalar and z( k )	is an (	n - m )	element	vector.	 tau and z( k
     ) are chosen to annihilate	the elements of	the kth	row of X.
     The scalar	tau is returned	in the kth element of TAU and the vector u( k
     ) in the kth row of A, such that the elements of z( k ) are in  a(	k, m +
     1 ), ..., a( k, n ). The elements of R are	returned in the	upper
     triangular	part of	A.
     Z is given	by
	Z =  Z(	1 ) * Z( 2 ) * ... * Z(	m ).
DTZRQF(3F)							    DTZRQF(3F)
     DTZRQF - reduce the M-by-N	( M<=N ) real upper trapezoidal	matrix A to
     upper triangular form by means of orthogonal transformations
     SUBROUTINE	DTZRQF(	M, N, A, LDA, TAU, INFO	)
	 INTEGER	INFO, LDA, M, N
	 DOUBLE		PRECISION A( LDA, * ), TAU( * )
      DTZRQF reduces the	M-by-N ( M<=N )	real upper trapezoidal matrix A	to
     upper triangular form by means of orthogonal transformations.
     The upper trapezoidal matrix A is factored	as
	A = ( R	 0 ) * Z,
     where Z is	an N-by-N orthogonal matrix and	R is an	M-by-M upper
     triangular	matrix.
     M	     (input) INTEGER
	     The number	of rows	of the matrix A.  M >= 0.
     N	     (input) INTEGER
	     The number	of columns of the matrix A.  N >= M.
     A	     (input/output) DOUBLE PRECISION array, dimension (LDA,N)
	     On	entry, the leading M-by-N upper	trapezoidal part of the	array
	     A must contain the	matrix to be factorized.  On exit, the leading
	     M-by-M upper triangular part of A contains	the upper triangular
	     matrix R, and elements M+1	to N of	the first M rows of A, with
	     the array TAU, represent the orthogonal matrix Z as a product of
	     M elementary reflectors.
     LDA     (input) INTEGER
	     The leading dimension of the array	A.  LDA	>= max(1,M).
     TAU     (output) DOUBLE PRECISION array, dimension	(M)
	     The scalar	factors	of the elementary reflectors.
     INFO    (output) INTEGER
	     = 0:  successful exit
	     < 0:  if INFO = -i, the i-th argument had an illegal value
FURTHER	DETAILS
     The factorization is obtained by Householder's method.  The kth
     transformation matrix, Z( k ), which is used to introduce zeros into the
     ( m - k + 1 )th row of A, is given	in the form
									Page 1
DTZRQF(3F)							    DTZRQF(3F)
	Z( k ) = ( I	 0   ),
		 ( 0  T( k ) )
     where
	T( k ) = I - tau*u( k )*u( k )',   u( k	) = (	1    ),
						    (	0    )
						    ( z( k ) )
     tau is a scalar and z( k )	is an (	n - m )	element	vector.	 tau and z( k
     ) are chosen to annihilate	the elements of	the kth	row of X.
     The scalar	tau is returned	in the kth element of TAU and the vector u( k
     ) in the kth row of A, such that the elements of z( k ) are in  a(	k, m +
     1 ), ..., a( k, n ). The elements of R are	returned in the	upper
     triangular	part of	A.
     Z is given	by
	Z =  Z(	1 ) * Z( 2 ) * ... * Z(	m ).
									PPPPaaaaggggeeee 2222[ Back ] |