Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?spmv

Computes a matrix-vector product for complex vectors using a complex symmetric packed matrix.

Syntax

call cspmv( uplo, n, alpha, ap, x, incx, beta, y, incy )

call zspmv( uplo, n, alpha, ap, x, incx, beta, y, incy )

Include Files
  • mkl.fi
Description

The ?spmv routines perform a matrix-vector operation defined as

y := alpha*a*x + beta*y,

where:

alpha and beta are complex scalars,

x and y are n-element complex vectors

a is an n-by-n complex symmetric matrix, supplied in packed form.

These routines have their real equivalents in BLAS (see ?spmv in Chapter  "BLAS and Sparse BLAS Routines").

Input Parameters
uplo

CHARACTER*1. Specifies whether the upper or lower triangular part of the matrix a is supplied in the packed array ap.

If uplo = 'U' or 'u', the upper triangular part of the matrix a is supplied in the array ap.

If uplo = 'L' or 'l', the lower triangular part of the matrix a is supplied in the array ap .

n

INTEGER.

Specifies the order of the matrix a.

The value of n must be at least zero.

alpha, beta

COMPLEX for cspmv

DOUBLE COMPLEX for zspmv

Specify complex scalars alpha and beta. When beta is supplied as zero, then y need not be set on input.

ap

COMPLEX for cspmv

DOUBLE COMPLEX for zspmv

Array, DIMENSION at least ((n*(n + 1))/2). Before entry, with uplo = 'U' or 'u', the array ap must contain the upper triangular part of the symmetric 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 part of the symmetric matrix packed sequentially, column-by-column, so that ap(1) contains a(1, 1), ap(2) and ap(3) contain a(2, 1) and a(3, 1) respectively, and so on.

x

COMPLEX for cspmv

DOUBLE COMPLEX for zspmv

Array, DIMENSION at least (1 + (n - 1)*abs(incx)). Before entry, the incremented array x must contain the n-element vector x.

incx

INTEGER. Specifies the increment for the elements of x. The value of incx must not be zero.

y

COMPLEX for cspmv

DOUBLE COMPLEX for zspmv

Array, DIMENSION at least (1 + (n - 1)*abs(incy)). Before entry, the incremented array y must contain the n-element vector y.

incy

INTEGER. Specifies the increment for the elements of y. The value of incy must not be zero.

Output Parameters
y

Overwritten by the updated vector y.