rocsolver_sstedc Interface Reference#
The STEDC functions compute the eigenvalues and (optionally) eigenvectors of a symmetric tridiagonal matrix. More...
Public Member Functions | |
| integer(kind(rocblas_status_success)) function | rocsolver_sstedc_ (handle, evect, n, d, e, c, ldc, myinfo) |
| integer(kind(rocblas_status_success)) function | rocsolver_sstedc_rank_0 (handle, evect, n, d, e, c, ldc, myinfo) |
| integer(kind(rocblas_status_success)) function | rocsolver_sstedc_rank_1 (handle, evect, n, d, e, c, ldc, myinfo) |
| integer(kind(rocblas_status_success)) function | rocsolver_sstedc_full_rank (handle, evect, n, d, e, c, ldc, myinfo) |
Detailed Description
The STEDC functions compute the eigenvalues and (optionally) eigenvectors of a symmetric tridiagonal matrix.
This function uses the divide-and-conquer method to compute the eigenvectors. The eigenvalues are 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. When D and E correspond to the tridiagonal form of a full symmetric/Hermitian matrix, as returned by, for example, SYTRD or HETRD, the eigenvectors of the original matrix can also be computed, depending on the value of evect.
- Parameters
-
[in] handle - rocblas_handle. [in] evect - rocblas_evect. Specifies how the eigenvectors are computed.[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. [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, the values of this array are destroyed. [in,out] C - pointer to type. Array on the GPU of dimension ldc*n. On entry, if evect is original, the orthogonal/unitary matrix used for the reduction to tridiagonal form as returned by, for example, ORGTR or UNGTR. On exit, if info = 0, it is overwritten with the eigenvectors of the original symmetric/Hermitian matrix (if evect is original) or the eigenvectors of the tridiagonal matrix (if evect is tridiagonal). (Not referenced if evect is none.) [in] ldc - rocblas_int. ldc >= n if evect is original or tridiagonal. Specifies the leading dimension of C. (Not referenced if evect is none.) [out] myInfo - pointer to a rocblas_int on the GPU. If info = 0, successful exit. If info = i > 0, STEDC failed to compute an eigenvalue on the sub-matrix formed by the rows and columns info/(n+1) through mod(info,n+1).
Member Function/Subroutine Documentation
◆ rocsolver_sstedc_()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sstedc::rocsolver_sstedc_ | ( | type(c_ptr), value | handle, |
| integer(kind(rocblas_evect_original)), value | evect, | ||
| integer(c_int), value | n, | ||
| type(c_ptr), value | d, | ||
| type(c_ptr), value | e, | ||
| type(c_ptr), value | c, | ||
| integer(c_int), value | ldc, | ||
| type(c_ptr), value | myinfo | ||
| ) |
◆ rocsolver_sstedc_full_rank()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sstedc::rocsolver_sstedc_full_rank | ( | type(c_ptr) | handle, |
| integer(kind(rocblas_evect_original)) | evect, | ||
| integer(c_int) | n, | ||
| real(c_float), dimension(:), target | d, | ||
| real(c_float), dimension(:), target | e, | ||
| real(c_float), dimension(:,:), target | c, | ||
| integer(c_int) | ldc, | ||
| type(c_ptr) | myinfo | ||
| ) |
◆ rocsolver_sstedc_rank_0()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sstedc::rocsolver_sstedc_rank_0 | ( | type(c_ptr) | handle, |
| integer(kind(rocblas_evect_original)) | evect, | ||
| integer(c_int) | n, | ||
| real(c_float), target | d, | ||
| real(c_float), target | e, | ||
| real(c_float), target | c, | ||
| integer(c_int) | ldc, | ||
| type(c_ptr) | myinfo | ||
| ) |
◆ rocsolver_sstedc_rank_1()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sstedc::rocsolver_sstedc_rank_1 | ( | type(c_ptr) | handle, |
| integer(kind(rocblas_evect_original)) | evect, | ||
| integer(c_int) | n, | ||
| real(c_float), dimension(:), target | d, | ||
| real(c_float), dimension(:), target | e, | ||
| real(c_float), dimension(:), target | c, | ||
| integer(c_int) | ldc, | ||
| type(c_ptr) | myinfo | ||
| ) |
The documentation for this interface was generated from the following file: