====================================================================
ztpmv examples
====================================================================

====================================================================
Man Page Details
====================================================================

 NAME
      ZTPMV - perform one of the matrix-vector operations   x :=
      A*x, or x := A'*x, or x := conjg( A' )*x,

 SYNOPSIS
      SUBROUTINE ZTPMV ( UPLO, TRANS, DIAG, N, AP, X, INCX )

          INTEGER      INCX, N

          CHARACTER*1  DIAG, TRANS, UPLO

          COMPLEX*16   AP( * ), X( * )

 PURPOSE
      ZTPMV  performs one of the matrix-vector operations

      where x is an n element vector and  A is an n by n unit, or
      non-unit, upper or lower triangular matrix, supplied in
      packed form.

 PARAMETERS
      UPLO   - CHARACTER*1.
             On entry, UPLO specifies whether the matrix is an
             upper or lower triangular matrix as follows:

             UPLO = 'U' or 'u'   A is an upper triangular matrix.

             UPLO = 'L' or 'l'   A is a lower triangular matrix.

             Unchanged on exit.

      TRANS  - CHARACTER*1.
             On entry, TRANS specifies the operation to be per-
             formed as follows:

             TRANS = 'N' or 'n'   x := A*x.

             TRANS = 'T' or 't'   x := A'*x.

             TRANS = 'C' or 'c'   x := conjg( A' )*x.

             Unchanged on exit.

      DIAG   - CHARACTER*1.
             On entry, DIAG specifies whether or not A is unit
             triangular as follows:

             DIAG = 'U' or 'u'   A is assumed to be unit triangu-
             lar.

             DIAG = 'N' or 'n'   A is not assumed to be unit

             triangular.

             Unchanged on exit.

      N      - INTEGER.
             On entry, N specifies the order of the matrix A.  N
             must be at least zero.  Unchanged on exit.

      AP     - COMPLEX*16       array of DIMENSION at least
             ( ( n*( n + 1 ) )/2 ).  Before entry with  UPLO = 'U'
             or 'u', the array AP must contain the upper triangu-
             lar matrix packed sequentially, column by column, so
             that AP( 1 ) contains a( 1, 1 ), AP( 2 ) and AP( 3 )
             contain a( 1, 2 ) and a( 2, 2 ) respectively, and so
             on.  Before entry with UPLO = 'L' or 'l', the array
             AP must contain the lower triangular matrix packed
             sequentially, column by column, so that AP( 1 ) con-
             tains a( 1, 1 ), AP( 2 ) and AP( 3 ) contain a( 2, 1
             ) and a( 3, 1 ) respectively, and so on.  Note that
             when  DIAG = 'U' or 'u', the diagonal elements of A
             are not referenced, but are assumed to be unity.
             Unchanged on exit.

      X      - COMPLEX*16       array of dimension at least
             ( 1 + ( n - 1 )*abs( INCX ) ).  Before entry, the
             incremented array X must contain the n element vector
             x. On exit, X is overwritten with the transformed
             vector x.

      INCX   - INTEGER.
             On entry, INCX specifies the increment for the ele-
             ments of X. INCX must not be zero.  Unchanged on
             exit.

