---
name: "zla_heamv"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/zla_heamv/3lapack"
---

# zla\_heamv(3lapack)

performs the matrix-vector operation y := alpha\*abs(A)\*abs(x) + beta\*abs(y),

## NAME

ZLA\_HEAMV - performs the matrix-vector operation   y := alpha\*abs(A)\*abs(x) + beta\*abs(y),

## SYNOPSIS

- SUBROUTINE ZLA\_HEAMV(

  UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY )

- IMPLICIT

  NONE

- DOUBLE

  PRECISION ALPHA, BETA

- INTEGER

  INCX, INCY, LDA, N, UPLO

- COMPLEX\*16

  A( LDA, \* ), X( \* )

- DOUBLE

  PRECISION Y( \* )

## PURPOSE

ZLA\_SYAMV  performs the matrix-vector operation where alpha and beta are scalars, x and y are vectors and A is an n by n symmetric matrix.\
 This function is primarily used in calculating error bounds. To protect against underflow during evaluation, components in the resulting vector are perturbed away from zero by (N+1) times the underflow threshold.  To prevent unnecessarily large errors for block-structure embedded in general matrices,\
 "symbolically" zero components are not perturbed.  A zero entry is considered "symbolic" if all multiplications involved in computing that entry have at least one zero multiplicand.

## ARGUMENTS

- UPLO - INTEGER

  On entry, UPLO specifies whether the upper or lower triangular part of the array A is to be referenced as follows: UPLO = BLAS\_UPPER   Only the upper triangular part of A is to be referenced. UPLO = BLAS\_LOWER   Only the lower triangular part of A is to be referenced. Unchanged on exit.

- N - INTEGER.

  On entry, N specifies the number of columns of the matrix A. N must be at least zero. Unchanged on exit.

- ALPHA - DOUBLE PRECISION .

  On entry, ALPHA specifies the scalar alpha. Unchanged on exit.

- A - COMPLEX\*16 array of DIMENSION ( LDA, n ).

  Before entry, the leading m by n part of the array A must contain the matrix of coefficients. Unchanged on exit.

- LDA - INTEGER.

  On entry, LDA specifies the first dimension of A as declared in the calling (sub) program. LDA must be at least max( 1, n ). 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 vector x. Unchanged on exit.

- INCX - INTEGER.

  On entry, INCX specifies the increment for the elements of X. INCX must not be zero. Unchanged on exit.

- BETA - DOUBLE PRECISION .

  On entry, BETA specifies the scalar beta. When BETA is supplied as zero then Y need not be set on input. Unchanged on exit.

- Y - DOUBLE PRECISION array of DIMENSION at least

  ( 1 + ( n - 1 )\*abs( INCY ) ) Before entry with BETA non-zero, the incremented array Y must contain the vector y. On exit, Y is overwritten by the updated vector y.

- INCY - INTEGER.

  On entry, INCY specifies the increment for the elements of Y. INCY must not be zero. Unchanged on exit.

## FURTHER DETAILS

Level 2 Blas routine.\
 \-- Written on 22-October-1986.\
\
    Jack Dongarra, Argonne National Lab.\
\
    Jeremy Du Croz, Nag Central Office.\
\
    Sven Hammarling, Nag Central Office.\
\
    Richard Hanson, Sandia National Labs.\
 \-- Modified for the absolute-value product, April 2006\
\
    Jason Riedy, UC Berkeley\
