rocsolver_chegst Interface Reference

rocsolver_chegst Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_chegst Interface Reference
hipfort_rocsolver::rocsolver_chegst Interface Reference

HEGST reduces a hermitian-definite generalized eigenproblem to standard form. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_chegst_ (handle, itype, uplo, n, A, lda, B, ldb)
 
integer(kind(rocblas_status_success)) function rocsolver_chegst_full_rank (handle, itype, uplo, n, A, lda, B, ldb)
 
integer(kind(rocblas_status_success)) function rocsolver_chegst_rank_0 (handle, itype, uplo, n, A, lda, B, ldb)
 
integer(kind(rocblas_status_success)) function rocsolver_chegst_rank_1 (handle, itype, uplo, n, A, lda, B, ldb)
 

Detailed Description

HEGST reduces a hermitian-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,}\newline A B X = \lambda X & \: \text{2nd form, or}\newline B A X = \lambda X & \: \text{3rd form,} \end{array} \]

depending on the value of itype.

If the problem is of the 1st form, then A is overwritten with

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

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

If the problem is of the 2nd or 3rd form, then A is overwritten with

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

also depending on the value of uplo.

Parameters
[in]handlerocblas_handle.
[in]ityperocblas_eform.
Specifies the form of the generalized eigenproblem.
[in]uplorocblas_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]nrocblas_int. n >= 0.
The matrix dimensions.
[in,out]Apointer 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]ldarocblas_int. lda >= n.
Specifies the leading dimension of A.
[out]Bpointer to type. Array on the GPU of dimension ldb*n.
The triangular factor of the matrix B, as returned by POTRF.
[in]ldbrocblas_int. ldb >= n.
Specifies the leading dimension of B.

Member Function/Subroutine Documentation

◆ rocsolver_chegst_()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chegst::rocsolver_chegst_ ( 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_chegst_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chegst::rocsolver_chegst_full_rank ( type(c_ptr)  handle,
integer(kind(rocblas_eform_ax))  itype,
integer(kind(rocblas_fill_upper))  uplo,
integer(c_int)  n,
complex(c_float_complex), dimension(:,:), target  A,
integer(c_int)  lda,
complex(c_float_complex), dimension(:,:), target  B,
integer(c_int)  ldb 
)

◆ rocsolver_chegst_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chegst::rocsolver_chegst_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_eform_ax))  itype,
integer(kind(rocblas_fill_upper))  uplo,
integer(c_int)  n,
complex(c_float_complex), target  A,
integer(c_int)  lda,
complex(c_float_complex), target  B,
integer(c_int)  ldb 
)

◆ rocsolver_chegst_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chegst::rocsolver_chegst_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_eform_ax))  itype,
integer(kind(rocblas_fill_upper))  uplo,
integer(c_int)  n,
complex(c_float_complex), dimension(:), target  A,
integer(c_int)  lda,
complex(c_float_complex), dimension(:), target  B,
integer(c_int)  ldb 
)

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