# rocsolver_chegs2 Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_chegs2 Interface Reference
hipfort_rocsolver::rocsolver_chegs2 Interface Reference

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

## Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_chegs2_ (handle, itype, uplo, n, A, lda, B, ldb)

integer(kind(rocblas_status_success)) function rocsolver_chegs2_full_rank (handle, itype, uplo, n, A, lda, B, ldb)

integer(kind(rocblas_status_success)) function rocsolver_chegs2_rank_0 (handle, itype, uplo, n, A, lda, B, ldb)

integer(kind(rocblas_status_success)) function rocsolver_chegs2_rank_1 (handle, itype, uplo, n, A, lda, B, ldb)

## Detailed Description

HEGS2 reduces a hermitian-definite generalized eigenproblem to standard form.

(This is the unblocked 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] 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.

## ◆ rocsolver_chegs2_()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chegs2::rocsolver_chegs2_ ( 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_chegs2_full_rank()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chegs2::rocsolver_chegs2_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_chegs2_rank_0()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chegs2::rocsolver_chegs2_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_chegs2_rank_1()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chegs2::rocsolver_chegs2_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: