rocsolver_ssygst Interface Reference

rocsolver_ssygst Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_ssygst Interface Reference
hipfort_rocsolver::rocsolver_ssygst Interface Reference

The SYGST functions reduce a real symmetric-definite generalized eigenproblem to standard form. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_ssygst_ (handle, itype, uplo, n, a, lda, b, ldb)
 
integer(kind(rocblas_status_success)) function rocsolver_ssygst_rank_0 (handle, itype, uplo, n, a, lda, b, ldb)
 
integer(kind(rocblas_status_success)) function rocsolver_ssygst_rank_1 (handle, itype, uplo, n, a, lda, b, ldb)
 
integer(kind(rocblas_status_success)) function rocsolver_ssygst_full_rank (handle, itype, uplo, n, a, lda, b, ldb)
 

Detailed Description

The SYGST functions reduce a real symmetric-definite generalized eigenproblem to standard form.

(This is the blocked version of the algorithm.)

The problem solved by this function is either of the form

\[ \begin{array}{cl} A X = \lambda B X & \: \text{1st form,}\\% A B X = \lambda X & \: \text{2nd form, or}\\% B A X = \lambda X & \: \text{3rd form,} \end{array} \]

depending on the value of itype.

If the problem is of the first form, then A is overwritten with

\[ \begin{array}{cl} U^{-T} A U^{-1}, & \: \text{or}\\% L^{-1} A L^{-T}, \end{array} \]

where the symmetric-definite matrix B has been factorized as either \(U^T U\) or \(L L^T\) as returned by POTRF, depending on the value of uplo.

If the problem is of the second or third form, then A is overwritten with

\[ \begin{array}{cl} U A U^T, & \: \text{or}\\% L^T A L, \end{array} \]

also depending on the value of uplo.

Parameters
[in]handle- rocblas_handle.
[in]itype- rocblas_eform. Specifies the form of the generalized eigenproblem.
[in]uplo- rocblas_fill. Specifies whether the upper or lower part of the matrix A is stored, and whether the factorization applied to B was upper or lower triangular. If uplo indicates lower (or upper), then the upper (or lower) parts of A and B are not used.
[in]n- rocblas_int. n >= 0. The matrix dimensions.
[in,out]A- pointer to type. Array on the GPU of dimension lda*n. On entry, the matrix A. On exit, the transformed matrix associated with the equivalent standard eigenvalue problem.
[in]lda- rocblas_int. lda >= n. Specifies the leading dimension of A.
[out]B- pointer to type. Array on the GPU of dimension ldb*n. The triangular factor of the matrix B, as returned by POTRF.
[in]ldb- rocblas_int. ldb >= n. Specifies the leading dimension of B.

Member Function/Subroutine Documentation

◆ rocsolver_ssygst_()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssygst::rocsolver_ssygst_ ( type(c_ptr), value  handle,
integer(kind(rocblas_eform_ax)), value  itype,
integer(kind(rocblas_fill_upper)), value  uplo,
integer(c_int), value  n,
type(c_ptr), value  a,
integer(c_int), value  lda,
type(c_ptr), value  b,
integer(c_int), value  ldb 
)

◆ rocsolver_ssygst_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssygst::rocsolver_ssygst_full_rank ( type(c_ptr)  handle,
integer(kind(rocblas_eform_ax))  itype,
integer(kind(rocblas_fill_upper))  uplo,
integer(c_int)  n,
real(c_float), dimension(:,:), target  a,
integer(c_int)  lda,
real(c_float), dimension(:,:), target  b,
integer(c_int)  ldb 
)

◆ rocsolver_ssygst_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssygst::rocsolver_ssygst_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_eform_ax))  itype,
integer(kind(rocblas_fill_upper))  uplo,
integer(c_int)  n,
real(c_float), target  a,
integer(c_int)  lda,
real(c_float), target  b,
integer(c_int)  ldb 
)

◆ rocsolver_ssygst_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssygst::rocsolver_ssygst_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_eform_ax))  itype,
integer(kind(rocblas_fill_upper))  uplo,
integer(c_int)  n,
real(c_float), dimension(:), target  a,
integer(c_int)  lda,
real(c_float), dimension(:), target  b,
integer(c_int)  ldb 
)

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