dopgtr(3F)

DOPGTR - generate a real orthogonal matrix Q which is defined as the product of n-1 elementary reflectors H(i) of order n, as returned by DSPTRD using packed storage

As shipped in IRIX 6.5.7. Unchanged since IRIX 6.5.

NAME
     DOPGTR - generate a real orthogonal matrix Q which is defined as the
     product of n-1 elementary reflectors H(i) of order n, as returned by
     DSPTRD using packed storage

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 n-1 elementary reflectors H(i) of order n, as returned by
     DSPTRD using packed storage:

     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 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 (N-1)
             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 N-by-N orthogonal matrix Q.

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

     WORK    (workspace) DOUBLE PRECISION array, dimension (N-1)

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