rocsolver_sstedc Interface Reference

rocsolver_sstedc Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_sstedc Interface Reference
hipfort_rocsolver::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: