SYNOPSIS
 SUBROUTINE SOPGTR(
 UPLO, N, AP, TAU, Q, LDQ, WORK, INFO )
 CHARACTER UPLO
 INTEGER INFO, LDQ, N
 REAL AP( * ), Q( LDQ, * ), TAU( * ), WORK( * )
PURPOSE
SOPGTR generates a real orthogonal matrix Q which is defined as the product of n1 elementary reflectors H(i) of order n, as returned by SSPTRD 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 SSPTRD; = 'L': Lower triangular packed storage used in previous call to SSPTRD.
 N (input) INTEGER
 The order of the matrix Q. N >= 0.
 AP (input) REAL array, dimension (N*(N+1)/2)
 The vectors which define the elementary reflectors, as returned by SSPTRD.
 TAU (input) REAL array, dimension (N1)
 TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by SSPTRD.
 Q (output) REAL 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) REAL array, dimension (N1)
 INFO (output) INTEGER

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