Contents


NAME

     zupgtr - generate  a  complex  unitary  matrix  Q  which  is
     defined  as the product of n-1 elementary reflectors H(i) of
     order n, as returned by CHPTRD using packed storage

SYNOPSIS

     SUBROUTINE ZUPGTR(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)

     CHARACTER * 1 UPLO
     DOUBLE COMPLEX AP(*), TAU(*), Q(LDQ,*), WORK(*)
     INTEGER N, LDQ, INFO

     SUBROUTINE ZUPGTR_64(UPLO, N, AP, TAU, Q, LDQ, WORK, INFO)

     CHARACTER * 1 UPLO
     DOUBLE COMPLEX AP(*), TAU(*), Q(LDQ,*), WORK(*)
     INTEGER*8 N, LDQ, INFO

  F95 INTERFACE
     SUBROUTINE UPGTR(UPLO, [N], AP, TAU, Q, [LDQ], [WORK], [INFO])

     CHARACTER(LEN=1) :: UPLO
     COMPLEX(8), DIMENSION(:) :: AP, TAU, WORK
     COMPLEX(8), DIMENSION(:,:) :: Q
     INTEGER :: N, LDQ, INFO

     SUBROUTINE UPGTR_64(UPLO, [N], AP, TAU, Q, [LDQ], [WORK], [INFO])

     CHARACTER(LEN=1) :: UPLO
     COMPLEX(8), DIMENSION(:) :: AP, TAU, WORK
     COMPLEX(8), DIMENSION(:,:) :: Q
     INTEGER(8) :: N, LDQ, INFO

  C INTERFACE
     #include <sunperf.h>

     void zupgtr(char uplo, int n, doublecomplex *ap,  doublecom-
               plex *tau, doublecomplex *q, int ldq, int *info);

     void zupgtr_64(char uplo, long n, doublecomplex  *ap,  doub-
               lecomplex  *tau,  doublecomplex *q, long ldq, long
               *info);

PURPOSE

     zupgtr generates a complex unitary matrix Q which is defined
     as the product of n-1 elementary reflectors H(i) of order n,
     as returned by CHPTRD 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)
               = 'U': Upper triangular  packed  storage  used  in
               previous  call  to CHPTRD; = 'L': Lower triangular
               packed storage used in previous call to CHPTRD.

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

     AP (input)
               The vectors which define  the  elementary  reflec-
               tors, as returned by CHPTRD.

     TAU (input)
               TAU(i) must contain the scalar factor of the  ele-
               mentary reflector H(i), as returned by CHPTRD.

     Q (output)
               The N-by-N unitary matrix Q.

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

     WORK (workspace)
               dimension(N-1)

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