120      SUBROUTINE zungtr( UPLO, N, A, LDA, TAU, WORK, LWORK, INFO )
 
  128      INTEGER            INFO, LDA, LWORK, N
 
  131      COMPLEX*16         A( LDA, * ), TAU( * ), WORK( * )
 
  138      parameter( zero = ( 0.0d+0, 0.0d+0 ),
 
  139     $                   one = ( 1.0d+0, 0.0d+0 ) )
 
  142      LOGICAL            LQUERY, UPPER
 
  143      INTEGER            I, IINFO, J, LWKOPT, NB
 
  148      EXTERNAL           lsame, ilaenv
 
  161      lquery = ( lwork.EQ.-1 )
 
  162      upper = lsame( uplo, 
'U' )
 
  163      IF( .NOT.upper .AND. .NOT.lsame( uplo, 
'L' ) ) 
THEN 
  165      ELSE IF( n.LT.0 ) 
THEN 
  167      ELSE IF( lda.LT.max( 1, n ) ) 
THEN 
  169      ELSE IF( lwork.LT.max( 1, n-1 ) .AND. .NOT.lquery ) 
THEN 
  175            nb = ilaenv( 1, 
'ZUNGQL', 
' ', n-1, n-1, n-1, -1 )
 
  177            nb = ilaenv( 1, 
'ZUNGQR', 
' ', n-1, n-1, n-1, -1 )
 
  179         lwkopt = max( 1, n-1 )*nb
 
  184         CALL xerbla( 
'ZUNGTR', -info )
 
  186      ELSE IF( lquery ) 
THEN 
  207               a( i, j ) = a( i, j+1 )
 
  218         CALL zungql( n-1, n-1, n-1, a, lda, tau, work, lwork,
 
  232               a( i, j ) = a( i, j-1 )
 
  243            CALL zungqr( n-1, n-1, n-1, a( 2, 2 ), lda, tau, work,
 
 
subroutine zungql(m, n, k, a, lda, tau, work, lwork, info)
ZUNGQL
subroutine zungqr(m, n, k, a, lda, tau, work, lwork, info)
ZUNGQR
subroutine zungtr(uplo, n, a, lda, tau, work, lwork, info)
ZUNGTR