DORGTR(l)		LAPACK routine (version	1.1)		    DORGTR(l)

NAME
  DORGTR - generate a real orthogonal matrix Q which is	defined	as the pro-
  duct of n-1 elementary reflectors of order N,	as returned by DSYTRD

SYNOPSIS

  SUBROUTINE DORGTR( UPLO, N, A, LDA, TAU, WORK, LWORK,	INFO )

      CHARACTER	     UPLO

      INTEGER	     INFO, LDA,	LWORK, N

      DOUBLE	     PRECISION A( LDA, * ), TAU( * ), WORK( LWORK )

PURPOSE
  DORGTR generates a real orthogonal matrix Q which is defined as the product
  of n-1 elementary reflectors of order	N, as returned by DSYTRD:

  if UPLO = 'U', Q = H(n-1) . .	. H(2) H(1),

  if UPLO = 'L', Q = H(1) H(2) . . . H(n-1).

ARGUMENTS

  UPLO	  (input) CHARACTER*1
	  = 'U': Upper triangle	of A contains elementary reflectors from
	  DSYTRD; = 'L': Lower triangle	of A contains elementary reflectors
	  from DSYTRD.

  N	  (input) INTEGER
	  The order of the matrix Q. N >= 0.

  A	  (input/output) DOUBLE	PRECISION array, dimension (LDA,N)
	  On entry, the	vectors	which define the elementary reflectors,	as
	  returned by DSYTRD.  On exit,	the N-by-N orthogonal matrix Q.

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

  TAU	  (input) DOUBLE PRECISION array, dimension (N-1)
	  TAU(i) must contain the scalar factor	of the elementary reflector
	  H(i),	as returned by DSYTRD.

  WORK	  (workspace) DOUBLE PRECISION 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,N-1).	 For optimum
	  performance LWORK >= (N-1)*NB, where NB is the optimal blocksize.

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


Back to the listing of computational routines for eigenvalue problems