Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/22/2024
Public

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

Document Table of Contents

mkl_?bsrsymv

Computes matrix-vector product of a sparse symmetrical matrix stored in the BSR format (3-array variation) with one-based indexing (deprecated).

Syntax

void mkl_sbsrsymv (const char *uplo , const MKL_INT *m , const MKL_INT *lb , const float *a , const MKL_INT *ia , const MKL_INT *ja , const float *x , float *y );

void mkl_dbsrsymv (const char *uplo , const MKL_INT *m , const MKL_INT *lb , const double *a , const MKL_INT *ia , const MKL_INT *ja , const double *x , double *y );

void mkl_cbsrsymv (const char *uplo , const MKL_INT *m , const MKL_INT *lb , const MKL_Complex8 *a , const MKL_INT *ia , const MKL_INT *ja , const MKL_Complex8 *x , MKL_Complex8 *y );

void mkl_zbsrsymv (const char *uplo , const MKL_INT *m , const MKL_INT *lb , const MKL_Complex16 *a , const MKL_INT *ia , const MKL_INT *ja , const MKL_Complex16 *x , MKL_Complex16 *y );

Include Files

  • mkl.h

Description

This routine is deprecated. Use mkl_sparse_?_mvfrom the Intel® oneAPI Math Kernel Library (oneMKL) Inspector-executor Sparse BLAS interface instead.

The mkl_?bsrsymv routine performs a matrix-vector operation defined as

y := A*x

where:

x and y are vectors,

A is an upper or lower triangle of the symmetrical sparse matrix in the BSR format (3-array variation).

NOTE:

This routine supports only one-based indexing of the input arrays.

Input Parameters

 

uplo

Specifies whether the upper or low triangle of the matrix A is considered.

If uplo = 'U' or 'u', then the upper triangle of the matrix A is used.

If uplo = 'L' or 'l', then the low triangle of the matrix A is used.

m

Number of block rows of the matrix A.

lb

Size of the block in the matrix A.

a

Array containing elements of non-zero blocks of the matrix A. Its length is equal to the number of non-zero blocks in the matrix A multiplied by lb*lb. Refer to values array description in BSR Format for more details.

ia

Array of length (m + 1), containing indices of block in the array a, such that ia[i] - ia[0] is the index in the array a of the first non-zero element from the row i. The value of the last element ia[m] - ia[0] is equal to the number of non-zero blocks. Refer to rowIndex array description in BSR Format for more details.

ja

Array containing the column indices plus one for each non-zero block in the matrix A.

Its length is equal to the number of non-zero blocks of the matrix A. Refer to columns array description in BSR Format for more details.

x

Array, size (m*lb).

On entry, the array x must contain the vector x.

Output Parameters

y

Array, size at least (m*lb).

On exit, the array y must contain the vector y.