ZUNGRQ(l)		LAPACK routine (version	1.1)		    ZUNGRQ(l)

NAME
  ZUNGRQ - generate an M-by-N complex matrix Q with orthonormal	rows,

SYNOPSIS

  SUBROUTINE ZUNGRQ( M,	N, K, A, LDA, TAU, WORK, LWORK,	INFO )

      INTEGER	     INFO, K, LDA, LWORK, M, N

      COMPLEX*16     A(	LDA, * ), TAU( * ), WORK( LWORK	)

PURPOSE
  ZUNGRQ generates an M-by-N complex matrix Q with orthonormal rows, which is
  defined as the last M	rows of	a product of K elementary reflectors of	order
  N

	Q  =  H(1)' H(2)' . . .	H(k)'

  as returned by ZGERQF.

ARGUMENTS

  M	  (input) INTEGER
	  The number of	rows of	the matrix Q. M	>= 0.

  N	  (input) INTEGER
	  The number of	columns	of the matrix Q. N >= M.

  K	  (input) INTEGER
	  The number of	elementary reflectors whose product defines the
	  matrix Q. M >= K >= 0.

  A	  (input/output) COMPLEX*16 array, dimension (LDA,N)
	  On entry, the	(m-k+i)-th row must contain the	vector which defines
	  the elementary reflector H(i), for i = 1,2,...,k, as returned	by
	  ZGERQF in the	last k rows of its array argument A.  On exit, the
	  M-by-N matrix	Q.

  LDA	  (input) INTEGER
	  The first dimension of the array A. LDA >= max(1,M).

  TAU	  (input) COMPLEX*16 array, dimension (K)
	  TAU(i) must contain the scalar factor	of the elementary reflector
	  H(i),	as returned by ZGERQF.

  WORK	  (workspace) COMPLEX*16 array,	dimension (LWORK)
	  On exit, if INFO = 0,	WORK(1)	returns	the optimal LWORK.

  LWORK	  (input) INTEGER
	  The dimension	of the array WORK. LWORK >= max(1,M).  For optimum
	  performance LWORK >= M*NB, where NB is the optimal blocksize.

  INFO	  (output) INTEGER
	  = 0:	successful exit
	  < 0:	if INFO	= -i, the i-th argument	has an illegal value


Back to the listing of computational routines for orthogonal factorization and singular value decomposition