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: