This page contains proposed changes for a future release of ROCm. Read the latest Linux release of ROCm documentation for your production environments.

rocsolver_ssteqr Interface Reference

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]handlerocblas_handle.
[in]evectrocblas_evect.
Specifies how the eigenvectors are computed.
[in]nrocblas_int. n >= 0.
The number of rows and columns of the tridiagonal matrix.
[in,out]Dpointer 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]Epointer 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]Cpointer 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]ldcrocblas_int. ldc >= n if evect is original or tridiagonal.
Specifies the leading dimension of C. (Not referenced if evect is none).
[out]infopointer 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.

Member Function/Subroutine Documentation

◆ 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: