SYNOPSIS
 SUBROUTINE DOPGTR(
 UPLO, N, AP, TAU, Q, LDQ, WORK, INFO )
 CHARACTER UPLO
 INTEGER INFO, LDQ, N
 DOUBLE PRECISION AP( * ), Q( LDQ, * ), TAU( * ), WORK( * )
PURPOSE
DOPGTR generates a real orthogonal matrix Q which is defined as the product of n1 elementary reflectors H(i) of order n, as returned by DSPTRD using packed storage: if UPLO = 'U', Q = H(n1) . . . H(2) H(1),if UPLO = 'L', Q = H(1) H(2) . . . H(n1).
ARGUMENTS
 UPLO (input) CHARACTER*1
 = 'U': Upper triangular packed storage used in previous call to DSPTRD; = 'L': Lower triangular packed storage used in previous call to DSPTRD.
 N (input) INTEGER
 The order of the matrix Q. N >= 0.
 AP (input) DOUBLE PRECISION array, dimension (N*(N+1)/2)
 The vectors which define the elementary reflectors, as returned by DSPTRD.
 TAU (input) DOUBLE PRECISION array, dimension (N1)
 TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by DSPTRD.
 Q (output) DOUBLE PRECISION array, dimension (LDQ,N)
 The NbyN orthogonal matrix Q.
 LDQ (input) INTEGER
 The leading dimension of the array Q. LDQ >= max(1,N).
 WORK (workspace) DOUBLE PRECISION array, dimension (N1)
 INFO (output) INTEGER

= 0: successful exit
< 0: if INFO = i, the ith argument had an illegal value