rocsolver_sstein Interface Reference

rocsolver_sstein Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_sstein Interface Reference
hipfort_rocsolver::rocsolver_sstein Interface Reference

The STEIN functions compute the eigenvectors associated with a set of provided eigenvalues of a symmetric tridiagonal matrix. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_sstein_ (handle, n, d, e, nev, w, iblock, isplit, z, ldz, ifail, myinfo)
 

Detailed Description

The STEIN functions compute the eigenvectors associated with a set of provided eigenvalues of a symmetric tridiagonal matrix.

The eigenvectors of the symmetric tridiagonal matrix are computed using inverse iteration.

The matrix is not represented explicitly, but rather as the array of diagonal elements D and the array of symmetric off-diagonal elements E. The eigenvalues must be provided in the array W, as returned by STEBZ.

Parameters
[in]handle- rocblas_handle.
[in]n- rocblas_int. n >= 0. The number of rows and columns of the tridiagonal matrix.
[in]D- pointer to real type. Array on the GPU of dimension n. The diagonal elements of the tridiagonal matrix.
[in]E- pointer to real type. Array on the GPU of dimension n-1. The off-diagonal elements of the tridiagonal matrix.
[in]nev- pointer to a rocblas_int on the GPU. 0 <= nev <= n. The number of provided eigenvalues and the number of eigenvectors to be computed.
[in]W- pointer to real type. Array on the GPU of dimension >= nev. A subset of nev eigenvalues of the tridiagonal matrix, as returned by STEBZ.
[in]iblock- pointer to rocblas_int. Array on the GPU of dimension n. The block indices corresponding to each eigenvalue, as returned by STEBZ. If iblock[i] = k, then eigenvalue W[i] belongs to the k-th block from the top.
[in]isplit- pointer to rocblas_int. Array on the GPU of dimension n. The splitting indices that divide the tridiagonal matrix into diagonal blocks, as returned by STEBZ. The k-th block stretches from the end of the (k-1)-th block (or the top left corner of the tridiagonal matrix, in the case of the 1st block) to the isplit[k]-th row/column.
[out]Z- pointer to type. Array on the GPU of dimension ldz*nev. On exit, contains the eigenvectors of the tridiagonal matrix corresponding to the provided eigenvalues, stored by columns.
[in]ldz- rocblas_int. ldz >= n. Specifies the leading dimension of Z.
[out]ifail- pointer to rocblas_int. Array on the GPU of dimension n. If info = 0, the first nev elements of ifail are zero. Otherwise, contains the indices of those eigenvectors that failed to converge.
[out]myInfo- pointer to a rocblas_int on the GPU. If info = 0, successful exit. If info = i > 0, i eigenvectors did not converge. Their indices are stored in ifail.

Member Function/Subroutine Documentation

◆ rocsolver_sstein_()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sstein::rocsolver_sstein_ ( type(c_ptr), value  handle,
integer(c_int), value  n,
type(c_ptr), value  d,
type(c_ptr), value  e,
type(c_ptr), value  nev,
type(c_ptr), value  w,
type(c_ptr), value  iblock,
type(c_ptr), value  isplit,
type(c_ptr), value  z,
integer(c_int), value  ldz,
type(c_ptr), value  ifail,
type(c_ptr), value  myinfo 
)

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