# rocblas_zhbmv_strided_batched Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_zhbmv_strided_batched Interface Reference
hipfort_rocblas::rocblas_zhbmv_strided_batched Interface Reference

BLAS Level 2 API. More...

## Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_zhbmv_strided_batched_ (handle, uplo, n, k, alpha, A, lda, stride_A, x, incx, stride_x, beta, y, incy, stride_y, batch_count)

integer(kind(rocblas_status_success)) function rocblas_zhbmv_strided_batched_full_rank (handle, uplo, n, k, alpha, A, lda, stride_A, x, incx, stride_x, beta, y, incy, stride_y, batch_count)

integer(kind(rocblas_status_success)) function rocblas_zhbmv_strided_batched_rank_0 (handle, uplo, n, k, alpha, A, lda, stride_A, x, incx, stride_x, beta, y, incy, stride_y, batch_count)

integer(kind(rocblas_status_success)) function rocblas_zhbmv_strided_batched_rank_1 (handle, uplo, n, k, alpha, A, lda, stride_A, x, incx, stride_x, beta, y, incy, stride_y, batch_count)

## Detailed Description

BLAS Level 2 API.

hbmv_strided_batched performs one of the matrix-vector operations

y_i := alpha*A_i*x_i + beta*y_i


where alpha and beta are scalars, x_i and y_i are n element vectors and A_i is an n by n Hermitian band matrix with k super-diagonals, for each batch in i = [1, batch_count].

Parameters
 [in] handle [rocblas_handle] handle to the rocblas library context queue. [in] uplo [rocblas_fill] rocblas_fill_upper: The upper triangular part of each A_i is being supplied. rocblas_fill_lower: The lower triangular part of each A_i is being supplied. [in] n [rocblas_int] the order of each matrix A_i. [in] k [rocblas_int] the number of super-diagonals of each matrix A_i. Must be >= 0. [in] alpha device pointer or host pointer to scalar alpha. [in] A device array pointing to the first matrix A_1. Each A_i is of dimension (lda, n). if uplo == rocblas_fill_upper: The leading (k + 1) by n part of each A_i must contain the upper triangular band part of the Hermitian matrix, with the leading diagonal in row (k + 1), the first super-diagonal on the RHS of row k, etc. The top left k by x triangle of each A_i will not be referenced. Ex (upper, lda = n = 4, k = 1): A Represented matrix (0,0) (5,9) (6,8) (7,7) (1, 0) (5, 9) (0, 0) (0, 0) (1,0) (2,0) (3,0) (4,0) (5,-9) (2, 0) (6, 8) (0, 0) (0,0) (0,0) (0,0) (0,0) (0, 0) (6,-8) (3, 0) (7, 7) (0,0) (0,0) (0,0) (0,0) (0, 0) (0, 0) (7,-7) (4, 0)

if uplo == rocblas_fill_lower: The leading (k + 1) by n part of each A_i must contain the lower triangular band part of the Hermitian matrix, with the leading diagonal in row (1), the first sub-diagonal on the LHS of row 2, etc. The bottom right k by k triangle of each A_i will not be referenced. Ex (lower, lda = 2, n = 4, k = 1): A Represented matrix (1,0) (2,0) (3,0) (4,0) (1, 0) (5,-9) (0, 0) (0, 0) (5,9) (6,8) (7,7) (0,0) (5, 9) (2, 0) (6,-8) (0, 0) (0, 0) (6, 8) (3, 0) (7,-7) (0, 0) (0, 0) (7, 7) (4, 0)

As a Hermitian matrix, the imaginary part of the main diagonal of each A_i will not be referenced and is assumed to be == 0.

Parameters
 [in] lda [rocblas_int] specifies the leading dimension of each A_i. must be >= max(1, n) [in] stride_A [rocblas_stride] stride from the start of one matrix (A_i) and the next one (A_i+1) [in] x device array pointing to the first vector y_1. [in] incx [rocblas_int] specifies the increment for the elements of each x_i. [in] stride_x [rocblas_stride] stride from the start of one vector (x_i) and the next one (x_i+1) [in] beta device pointer or host pointer to scalar beta. [in,out] y device array pointing to the first vector y_1. [in] incy [rocblas_int] specifies the increment for the elements of y. [in] stride_y [rocblas_stride] stride from the start of one vector (y_i) and the next one (y_i+1) [in] batch_count [rocblas_int] number of instances in the batch.

## ◆ rocblas_zhbmv_strided_batched_()

 integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zhbmv_strided_batched::rocblas_zhbmv_strided_batched_ ( type(c_ptr), value handle, integer(kind(rocblas_fill_upper)), value uplo, integer(c_int), value n, integer(c_int), value k, complex(c_double_complex) alpha, type(c_ptr), value A, integer(c_int), value lda, integer(c_int64_t), value stride_A, type(c_ptr), value x, integer(c_int), value incx, integer(c_int64_t), value stride_x, complex(c_double_complex) beta, type(c_ptr), value y, integer(c_int), value incy, integer(c_int64_t), value stride_y, integer(c_int), value batch_count )

## ◆ rocblas_zhbmv_strided_batched_full_rank()

 integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zhbmv_strided_batched::rocblas_zhbmv_strided_batched_full_rank ( type(c_ptr) handle, integer(kind(rocblas_fill_upper)) uplo, integer(c_int) n, integer(c_int) k, complex(c_double_complex) alpha, complex(c_double_complex), dimension(:,:), target A, integer(c_int) lda, integer(c_int64_t) stride_A, complex(c_double_complex), dimension(:), target x, integer(c_int) incx, integer(c_int64_t) stride_x, complex(c_double_complex) beta, complex(c_double_complex), dimension(:), target y, integer(c_int) incy, integer(c_int64_t) stride_y, integer(c_int) batch_count )

## ◆ rocblas_zhbmv_strided_batched_rank_0()

 integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zhbmv_strided_batched::rocblas_zhbmv_strided_batched_rank_0 ( type(c_ptr) handle, integer(kind(rocblas_fill_upper)) uplo, integer(c_int) n, integer(c_int) k, complex(c_double_complex) alpha, complex(c_double_complex), target A, integer(c_int) lda, integer(c_int64_t) stride_A, complex(c_double_complex), target x, integer(c_int) incx, integer(c_int64_t) stride_x, complex(c_double_complex) beta, complex(c_double_complex), target y, integer(c_int) incy, integer(c_int64_t) stride_y, integer(c_int) batch_count )

## ◆ rocblas_zhbmv_strided_batched_rank_1()

 integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zhbmv_strided_batched::rocblas_zhbmv_strided_batched_rank_1 ( type(c_ptr) handle, integer(kind(rocblas_fill_upper)) uplo, integer(c_int) n, integer(c_int) k, complex(c_double_complex) alpha, complex(c_double_complex), dimension(:), target A, integer(c_int) lda, integer(c_int64_t) stride_A, complex(c_double_complex), dimension(:), target x, integer(c_int) incx, integer(c_int64_t) stride_x, complex(c_double_complex) beta, complex(c_double_complex), dimension(:), target y, integer(c_int) incy, integer(c_int64_t) stride_y, integer(c_int) batch_count )

The documentation for this interface was generated from the following file: