# rocsolver_ssteqr Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_ssteqr Interface Reference
hipfort_rocsolver::rocsolver_ssteqr Interface Reference

STEQR computes the eigenvalues and (optionally) eigenvectors of a symmetric tridiagonal matrix. More...

## Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_ssteqr_ (handle, evect, n, D, E, C, ldc, myInfo)

integer(kind(rocblas_status_success)) function rocsolver_ssteqr_full_rank (handle, evect, n, D, E, C, ldc, myInfo)

integer(kind(rocblas_status_success)) function rocsolver_ssteqr_rank_0 (handle, evect, n, D, E, C, ldc, myInfo)

integer(kind(rocblas_status_success)) function rocsolver_ssteqr_rank_1 (handle, evect, n, D, E, C, ldc, myInfo)

## Detailed Description

STEQR computes the eigenvalues and (optionally) eigenvectors of a symmetric tridiagonal matrix.

The eigenvalues of the symmetric tridiagonal matrix are computed by the implicit 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. When D and E correspond to the tridiagonal form of a full symmetric/Hermitian matrix, as returned by, e.g., 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. If info > 0, the diagonal elements of a tridiagonal matrix that is similar to the original matrix (i.e. 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 (i.e. has the same eigenvalues). [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, e.g., ORGTR or UNGTR. On exit, 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] info pointer to a rocblas_int on the GPU. If info = 0, successful exit. If info = i > 0, STEQR did not converge. i elements of E did not converge to zero.

## ◆ rocsolver_ssteqr_()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssteqr::rocsolver_ssteqr_ ( 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, integer(c_int) myInfo )

## ◆ rocsolver_ssteqr_full_rank()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssteqr::rocsolver_ssteqr_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, integer(c_int) myInfo )

## ◆ rocsolver_ssteqr_rank_0()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssteqr::rocsolver_ssteqr_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, integer(c_int) myInfo )

## ◆ rocsolver_ssteqr_rank_1()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssteqr::rocsolver_ssteqr_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, integer(c_int) myInfo )

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