--- 
:name: zla_heamv
:md5sum: 70eb4515737b3a9e54d3e6092582824a
:category: :subroutine
:arguments: 
- uplo: 
    :type: integer
    :intent: input
- n: 
    :type: integer
    :intent: input
- alpha: 
    :type: doublereal
    :intent: input
- a: 
    :type: doublereal
    :intent: input
    :dims: 
    - lda
    - n
- lda: 
    :type: integer
    :intent: input
- x: 
    :type: doublecomplex
    :intent: input
    :dims: 
    - 1 + (n-1)*abs(incx)
- incx: 
    :type: integer
    :intent: input
- beta: 
    :type: doublereal
    :intent: input
- y: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - 1 + ( n - 1 )*abs( incy )
- incy: 
    :type: integer
    :intent: input
:substitutions: 
  lda: MAX(1, n)
:fortran_help: "      SUBROUTINE ZLA_HEAMV( UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  ZLA_SYAMV  performs the matrix-vector operation\n\
  *\n\
  *          y := alpha*abs(A)*abs(x) + beta*abs(y),\n\
  *\n\
  *  where alpha and beta are scalars, x and y are vectors and A is an\n\
  *  n by n symmetric matrix.\n\
  *\n\
  *  This function is primarily used in calculating error bounds.\n\
  *  To protect against underflow during evaluation, components in\n\
  *  the resulting vector are perturbed away from zero by (N+1)\n\
  *  times the underflow threshold.  To prevent unnecessarily large\n\
  *  errors for block-structure embedded in general matrices,\n\
  *  \"symbolically\" zero components are not perturbed.  A zero\n\
  *  entry is considered \"symbolic\" if all multiplications involved\n\
  *  in computing that entry have at least one zero multiplicand.\n\
  *\n\n\
  *  Arguments\n\
  *  ==========\n\
  *\n\
  *  UPLO    (input) INTEGER\n\
  *           On entry, UPLO specifies whether the upper or lower\n\
  *           triangular part of the array A is to be referenced as\n\
  *           follows:\n\
  *\n\
  *              UPLO = BLAS_UPPER   Only the upper triangular part of A\n\
  *                                  is to be referenced.\n\
  *\n\
  *              UPLO = BLAS_LOWER   Only the lower triangular part of A\n\
  *                                  is to be referenced.\n\
  *\n\
  *           Unchanged on exit.\n\
  *\n\
  *  N       (input) INTEGER\n\
  *           On entry, N specifies the number of columns of the matrix A.\n\
  *           N must be at least zero.\n\
  *           Unchanged on exit.\n\
  *\n\
  *  ALPHA  - DOUBLE PRECISION   .\n\
  *           On entry, ALPHA specifies the scalar alpha.\n\
  *           Unchanged on exit.\n\
  *\n\
  *  A      - COMPLEX*16         array of DIMENSION ( LDA, n ).\n\
  *           Before entry, the leading m by n part of the array A must\n\
  *           contain the matrix of coefficients.\n\
  *           Unchanged on exit.\n\
  *\n\
  *  LDA     (input) INTEGER\n\
  *           On entry, LDA specifies the first dimension of A as declared\n\
  *           in the calling (sub) program. LDA must be at least\n\
  *           max( 1, n ).\n\
  *           Unchanged on exit.\n\
  *\n\
  *  X      - COMPLEX*16         array of DIMENSION at least\n\
  *           ( 1 + ( n - 1 )*abs( INCX ) )\n\
  *           Before entry, the incremented array X must contain the\n\
  *           vector x.\n\
  *           Unchanged on exit.\n\
  *\n\
  *  INCX    (input) INTEGER\n\
  *           On entry, INCX specifies the increment for the elements of\n\
  *           X. INCX must not be zero.\n\
  *           Unchanged on exit.\n\
  *\n\
  *  BETA   - DOUBLE PRECISION   .\n\
  *           On entry, BETA specifies the scalar beta. When BETA is\n\
  *           supplied as zero then Y need not be set on input.\n\
  *           Unchanged on exit.\n\
  *\n\
  *  Y       (input/output) DOUBLE PRECISION  array, dimension\n\
  *           ( 1 + ( n - 1 )*abs( INCY ) )\n\
  *           Before entry with BETA non-zero, the incremented array Y\n\
  *           must contain the vector y. On exit, Y is overwritten by the\n\
  *           updated vector y.\n\
  *\n\
  *  INCY    (input) INTEGER\n\
  *           On entry, INCY specifies the increment for the elements of\n\
  *           Y. INCY must not be zero.\n\
  *           Unchanged on exit.\n\
  *\n\n\
  *  Further Details\n\
  *  ===============\n\
  *\n\
  *  Level 2 Blas routine.\n\
  *\n\
  *  -- Written on 22-October-1986.\n\
  *     Jack Dongarra, Argonne National Lab.\n\
  *     Jeremy Du Croz, Nag Central Office.\n\
  *     Sven Hammarling, Nag Central Office.\n\
  *     Richard Hanson, Sandia National Labs.\n\
  *  -- Modified for the absolute-value product, April 2006\n\
  *     Jason Riedy, UC Berkeley\n\
  *\n\
  *  =====================================================================\n\
  *\n"
