rocsolver_ssterf Interface Reference#
hipfort_rocsolver::rocsolver_ssterf Interface Reference
The STERF functions compute the eigenvalues of a symmetric tridiagonal matrix. More...
Public Member Functions | |
| integer(kind(rocblas_status_success)) function | rocsolver_ssterf_ (handle, n, d, e, myinfo) |
| integer(kind(rocblas_status_success)) function | rocsolver_ssterf_rank_0 (handle, n, d, e, myinfo) |
| integer(kind(rocblas_status_success)) function | rocsolver_ssterf_rank_1 (handle, n, d, e, myinfo) |
Detailed Description
The STERF functions compute the eigenvalues of a symmetric tridiagonal matrix.
The eigenvalues of the symmetric tridiagonal matrix are computed by the Pal-Walker-Kahan variant of the QL/QR algorithm and returned in increasing order.
The matrix is not represented explicitly, but rather as the array of diagonal elements D and the array of symmetric off-diagonal elements E.
- Note
- A hybrid (CPU+GPU) approach is available for STERF, primarily intended for homogeneous architectures. Use rocsolver_set_alg_mode to enable it.
- Parameters
-
[in] handle - rocblas_handle. [in] n - rocblas_int. n >= 0. The number of rows and columns of the tridiagonal matrix. [in,out] D - pointer to real type. Array on the GPU of dimension n. On entry, the diagonal elements of the tridiagonal matrix. On exit, if info = 0, the eigenvalues in increasing order. If info > 0, the diagonal elements of a tridiagonal matrix that is similar to the original matrix (that is, it has the same eigenvalues). [in,out] E - pointer to real type. Array on the GPU of dimension n-1. On entry, the off-diagonal elements of the tridiagonal matrix. On exit, if info = 0, this array converges to zero. If info > 0, the off-diagonal elements of a tridiagonal matrix that is similar to the original matrix (that is, it has the same eigenvalues). [out] myInfo - pointer to a rocblas_int on the GPU. If info = 0, successful exit. If info = i > 0, STERF did not converge. i elements of E did not converge to zero.
Member Function/Subroutine Documentation
◆ rocsolver_ssterf_()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssterf::rocsolver_ssterf_ | ( | type(c_ptr), value | handle, |
| integer(c_int), value | n, | ||
| type(c_ptr), value | d, | ||
| type(c_ptr), value | e, | ||
| type(c_ptr), value | myinfo | ||
| ) |
◆ rocsolver_ssterf_rank_0()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssterf::rocsolver_ssterf_rank_0 | ( | type(c_ptr) | handle, |
| integer(c_int) | n, | ||
| real(c_float), target | d, | ||
| real(c_float), target | e, | ||
| type(c_ptr) | myinfo | ||
| ) |
◆ rocsolver_ssterf_rank_1()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssterf::rocsolver_ssterf_rank_1 | ( | type(c_ptr) | handle, |
| integer(c_int) | n, | ||
| real(c_float), dimension(:), target | d, | ||
| real(c_float), dimension(:), target | e, | ||
| type(c_ptr) | myinfo | ||
| ) |
The documentation for this interface was generated from the following file: