rocsolver_sstedc Interface Reference

rocsolver_sstedc Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_sstedc Interface Reference
hipfort_rocsolver::rocsolver_sstedc Interface Reference

STEDC computes 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_full_rank (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)
 

Detailed Description

STEDC computes 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, 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.
[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, the values of this array are destroyed.
[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, 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]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, 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,
integer(c_int)  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,
integer(c_int)  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,
integer(c_int)  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,
integer(c_int)  myInfo 
)

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