chemv(3P) Sun Performance Library chemv(3P)NAMEchemv - perform the matrix-vector operation y := alpha*A*x + beta*y
SYNOPSIS
SUBROUTINE CHEMV(UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CHARACTER * 1 UPLO
COMPLEX ALPHA, BETA
COMPLEX A(LDA,*), X(*), Y(*)
INTEGER N, LDA, INCX, INCY
SUBROUTINE CHEMV_64(UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CHARACTER * 1 UPLO
COMPLEX ALPHA, BETA
COMPLEX A(LDA,*), X(*), Y(*)
INTEGER*8 N, LDA, INCX, INCY
F95 INTERFACE
SUBROUTINE HEMV(UPLO, [N], ALPHA, A, [LDA], X, [INCX], BETA, Y, [INCY])
CHARACTER(LEN=1) :: UPLO
COMPLEX :: ALPHA, BETA
COMPLEX, DIMENSION(:) :: X, Y
COMPLEX, DIMENSION(:,:) :: A
INTEGER :: N, LDA, INCX, INCY
SUBROUTINE HEMV_64(UPLO, [N], ALPHA, A, [LDA], X, [INCX], BETA, Y,
[INCY])
CHARACTER(LEN=1) :: UPLO
COMPLEX :: ALPHA, BETA
COMPLEX, DIMENSION(:) :: X, Y
COMPLEX, DIMENSION(:,:) :: A
INTEGER(8) :: N, LDA, INCX, INCY
C INTERFACE
#include <sunperf.h>
void chemv(char uplo, int n, complex *alpha, complex *a, int lda, com‐
plex *x, int incx, complex *beta, complex *y, int incy);
void chemv_64(char uplo, long n, complex *alpha, complex *a, long lda,
complex *x, long incx, complex *beta, complex *y, long incy);
PURPOSEchemv performs the matrix-vector operation y := alpha*A*x + beta*y
where alpha and beta are scalars, x and y are n element vectors and A
is an n by n hermitian matrix.
ARGUMENTS
UPLO (input)
On entry, UPLO specifies whether the upper or lower triangu‐
lar part of the array A is to be referenced as follows:
UPLO = 'U' or 'u' Only the upper triangular part of A is to
be referenced.
UPLO = 'L' or 'l' Only the lower triangular part of A is to
be referenced.
Unchanged on exit.
N (input)
On entry, N specifies the order of the matrix A. N >= 0.
Unchanged on exit.
ALPHA (input)
On entry, ALPHA specifies the scalar alpha. Unchanged on
exit.
A (input)
Before entry with UPLO = 'U' or 'u', the leading n by n
upper triangular part of the array A must contain the upper
triangular part of the hermitian matrix and the strictly
lower triangular part of A is not referenced. Before entry
with UPLO = 'L' or 'l', the leading n by n lower triangular
part of the array A must contain the lower triangular part of
the hermitian matrix and the strictly upper triangular part
of A is not referenced. Note that the imaginary parts of the
diagonal elements need not be set and are assumed to be zero.
Unchanged on exit.
LDA (input)
On entry, LDA specifies the first dimension of A as declared
in the calling (sub) program. LDA >= max( 1, n ). Unchanged
on exit.
X (input)
( 1 + ( n - 1 )*abs( INCX ) ). Before entry, the incremented
array X must contain the n element vector x. Unchanged on
exit.
INCX (input)
On entry, INCX specifies the increment for the elements of X.
INCX <> 0. Unchanged on exit.
BETA (input)
On entry, BETA specifies the scalar beta. When BETA is sup‐
plied as zero then Y need not be set on input. Unchanged on
exit.
Y (input/output)
( 1 + ( n - 1 )*abs( INCY ) ). Before entry, the incremented
array Y must contain the n element vector y. On exit, Y is
overwritten by the updated vector y.
INCY (input)
On entry, INCY specifies the increment for the elements of Y.
INCY <> 0. Unchanged on exit.
6 Mar 2009 chemv(3P)