Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 12/16/2022
Public

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

Document Table of Contents

?gem2vc

Computes two matrix-vector products using a general matrix (complex data)

Syntax

call cgem2vc(m, n, alpha, a, lda, x1, incx1, x2, incx2, beta, y1, incy1, y2, incy2)

call zgem2vc(m, n, alpha, a, lda, x1, incx1, x2, incx2, beta, y1, incy1, y2, incy2)

call gem2vc(a, x1, x2, y1, y2 [,alpha][,beta] )

Include Files
  • mkl.fi, blas.f90
Description

The ?gem2vc routines perform two matrix-vector operations defined as

y1 := alpha*A*x1 + beta*y1,

and

y2 := alpha*conjg(A')*x2 + beta*y2,

where:

alpha and beta are scalars,

x1, x2, y1, and y2 are vectors,

A is an m-by-n matrix.

Input Parameters
m

INTEGER. Specifies the number of rows of the matrix A. The value of m must be at least zero.

n

INTEGER. Specifies the number of columns of the matrix A. The value of n must be at least zero.

alpha

COMPLEX for cgem2vc

DOUBLE COMPLEX for zgem2vc

Specifies the scalar alpha.

a

COMPLEX for cgem2vc

DOUBLE COMPLEX for zgem2vc

Array, size (lda, n). Before entry, the leading m-by-n part of the array a must contain the matrix of coefficients.

lda

INTEGER. Specifies the leading dimension of a as declared in the calling (sub)program. The value of lda must be at least max(1, m).

x1

COMPLEX for cgem2vc

DOUBLE COMPLEX for zgem2vc

Array, size at least (1+(n-1)*abs(incx1)). Before entry, the incremented array x1 must contain the vector x1.

incx1

INTEGER. Specifies the increment for the elements of x1.

The value of incx1 must not be zero.

x2

COMPLEX for cgem2vc

DOUBLE COMPLEX for zgem2vc

Array, size at least (1+(m-1)*abs(incx2)). Before entry, the incremented array x2 must contain the vector x2.

incx2

INTEGER. Specifies the increment for the elements of x2.

The value of incx2 must not be zero.

beta

COMPLEX for cgem2vc

DOUBLE COMPLEX for zgem2vc

Specifies the scalar beta. When beta is set to zero, then y1 and y2 need not be set on input.

y1

COMPLEX for cgem2vc

DOUBLE COMPLEX for zgem2vc

Array, size at least (1+(m-1)*abs(incy1)). Before entry with non-zero beta, the incremented array y1 must contain the vector y1.

incy1

INTEGER. Specifies the increment for the elements of y1.

The value of incy1 must not be zero.

y2

COMPLEX for cgem2vc

DOUBLE COMPLEX for zgem2vc

Array, size at least (1+(n-1)*abs(incy2)). Before entry with non-zero beta, the incremented array y2 must contain the vector y2.

incy2

INTEGER. Specifies the increment for the elements of y2.

The value of incy must not be zero.

INTEGER. Specifies the increment for the elements of y.

Output Parameters
y1

Updated vector y1.

y2

Updated vector y2.

BLAS 95 Interface Notes

Routines in Fortran 95 interface have fewer arguments in the calling sequence than their FORTRAN 77 counterparts. For general conventions applied to skip redundant or reconstructible arguments, see BLAS 95 Interface Conventions.

Specific details for the routine gem2vc interface are the following:

a

Holds the matrix A of size (m,n).

x1

Holds the vector with the number of elements rx1 where rx1 = n.

x2

Holds the vector with the number of elements rx2 where rx2 = m.

y1

Holds the vector with the number of elements ry1 where ry1 = m.

y2

Holds the vector with the number of elements ry2 where ry2 = n.

alpha

The default value is 1.

beta

The default value is 0.