Loading...
Searching...
No Matches

## zla_syamv()

subroutine zla_syamv | ( | integer | uplo,
|  | integer | n,
|  | double precision | alpha,
|  | complex*16, dimension( lda, * ) | a,
|  | integer | lda,
|  | complex*16, dimension( * ) | x,
|  | integer | incx,
|  | double precision | beta,
|  | double precision, dimension( * ) | y,
|  | integer | incy )

ZLA_SYAMV computes a matrix-vector product using a symmetric indefinite matrix to calculate error bounds.

Download ZLA_SYAMV + dependencies [TGZ] [ZIP] [TXT]

Purpose:

      !>
      !> ZLA_SYAMV  performs the matrix-vector operation
      !>
      !>         y := alpha*abs(A)*abs(x) + beta*abs(y),
      !>
      !> 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,
      !>  zero components are not perturbed.  A zero
      !> entry is considered  if all multiplications involved
      !> in computing that entry have at least one zero multiplicand.
      !>

Parameters

  [in]

  UPLO

      !>          UPLO is 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.
      !>

  [in]

  N

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

  [in]

  ALPHA

      !>          ALPHA is DOUBLE PRECISION .
      !>           On entry, ALPHA specifies the scalar alpha.
      !>           Unchanged on exit.
      !>

  [in]

  A

      !>          A is COMPLEX*16 array, dimension ( LDA, n ).
      !>           Before entry, the leading m by n part of the array A must
      !>           contain the matrix of coefficients.
      !>           Unchanged on exit.
      !>

  [in]

  LDA

      !>          LDA is 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.
      !>

  [in]

  X

      !>          X is COMPLEX*16 array, dimension at least
      !>           ( 1 + ( n - 1 )*abs( INCX ) )
      !>           Before entry, the incremented array X must contain the
      !>           vector x.
      !>           Unchanged on exit.
      !>

  [in]

  INCX

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

  [in]

  BETA

      !>          BETA is 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.
      !>

  [in,out]

  Y

      !>          Y is DOUBLE PRECISION array, dimension
      !>           ( 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.
      !>

  [in]

  INCY

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

Author
  Univ. of Tennessee
  Univ. of California Berkeley
  Univ. of Colorado Denver
  NAG Ltd.

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
      !>