rocblas_zhpr2 Interface Reference

rocblas_zhpr2 Interface Reference#

HIPFORT API Reference: hipfort_rocblas::rocblas_zhpr2 Interface Reference
hipfort_rocblas::rocblas_zhpr2 Interface Reference

! More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocblas_zhpr2_ (handle, uplo, n, alpha, x, incx, y, incy, AP)
 
integer(kind(rocblas_status_success)) function rocblas_zhpr2_rank_0 (handle, uplo, n, alpha, x, incx, y, incy, AP)
 
integer(kind(rocblas_status_success)) function rocblas_zhpr2_rank_1 (handle, uplo, n, alpha, x, incx, y, incy, AP)
 

Detailed Description

!

BLAS Level 2 API

\details
xHPR2 performs the matrix-vector operations

    A := A + alphaxyH + conj(alpha)yxH

where alpha is a complex scalar, x and y are vectors, and A is an
n by n Hermitian matrix, supplied in packed form.

@param[in]
handle    [rocblas_handle]
          handle to the rocblas library context queue.
@param[in]
uplo      [rocblas_fill]
          specifies whether the upper 'rocblas_fill_upper' or lower 'rocblas_fill_lower'
          rocblas_fill_upper: The upper triangular part of A is supplied in AP.
          rocblas_fill_lower: The lower triangular part of A is supplied in AP.
@param[in]
n         [rocblas_int]
          the number of rows and columns of matrix A, must be at least 0.
@param[in]
alpha
          device pointer or host pointer to scalar alpha.
@param[in]
x         device pointer storing vector x.
@param[in]
incx      [rocblas_int]
          specifies the increment for the elements of x.
@param[in]
y         device pointer storing vector y.
@param[in]
incy      [rocblas_int]
          specifies the increment for the elements of y.
@param[inout]
AP        device pointer storing the packed version of the specified triangular portion of
          the Hermitian matrix A. Of at least size ((n  (n + 1))  2).
          if uplo == rocblas_fill_upper:
            The upper triangular portion of the Hermitian matrix A is supplied.
            The matrix is compacted so that AP contains the triangular portion column-by-column
            so that:
            AP(0) = A(0,0)
            AP(1) = A(0,1)
            AP(2) = A(1,1), etc.
                Ex: (rocblas_fill_upper; n = 3)
                    (1, 0) (2, 1) (4,9)
                    (2,-1) (3, 0) (5,3)  -----> [(1,0), (2,1), (3,0), (4,9), (5,3), (6,0)]
                    (4,-9) (5,-3) (6,0)
        if uplo == rocblas_fill_lower:
            The lower triangular portion of the Hermitian matrix A is supplied.
            The matrix is compacted so that AP contains the triangular portion column-by-column
            so that:
            AP(0) = A(0,0)
            AP(1) = A(1,0)
            AP(2) = A(2,1), etc.
                Ex: (rocblas_fill_lower; n = 3)
                    (1, 0) (2, 1) (4,9)
                    (2,-1) (3, 0) (5,3)  -----> [(1,0), (2,-1), (4,-9), (3,0), (5,-3), (6,0)]
                    (4,-9) (5,-3) (6,0)
        Note that the imaginary part of the diagonal elements are not accessed and are assumed
        to be 0.

Member Function/Subroutine Documentation

◆ rocblas_zhpr2_()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zhpr2::rocblas_zhpr2_ ( type(c_ptr), value  handle,
integer(kind(rocblas_fill_upper)), value  uplo,
integer(c_int), value  n,
complex(c_double_complex)  alpha,
type(c_ptr), value  x,
integer(c_int), value  incx,
type(c_ptr), value  y,
integer(c_int), value  incy,
type(c_ptr), value  AP 
)

◆ rocblas_zhpr2_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zhpr2::rocblas_zhpr2_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_fill_upper))  uplo,
integer(c_int)  n,
complex(c_double_complex)  alpha,
complex(c_double_complex), target  x,
integer(c_int)  incx,
complex(c_double_complex), target  y,
integer(c_int)  incy,
type(c_ptr)  AP 
)

◆ rocblas_zhpr2_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocblas::rocblas_zhpr2::rocblas_zhpr2_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_fill_upper))  uplo,
integer(c_int)  n,
complex(c_double_complex)  alpha,
complex(c_double_complex), dimension(:), target  x,
integer(c_int)  incx,
complex(c_double_complex), dimension(:), target  y,
integer(c_int)  incy,
type(c_ptr)  AP 
)

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