The STEDC functions compute the eigenvalues and (optionally) eigenvectors of a symmetric tridiagonal matrix.
More...
|
| integer(c_int) 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_0_devptr (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_rank_1_devptr (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) |
| |
| integer(kind(rocblas_status_success)) function | rocsolver_sstedc_full_rank_devptr (handle, evect, n, d, e, c, ldc, myinfo) |
| |
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). |