rocsolver_chegs2_batched Interface Reference

rocsolver_chegs2_batched Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_chegs2_batched Interface Reference
hipfort_rocsolver::rocsolver_chegs2_batched Interface Reference

The HEGS2_BATCHED functions reduce a batch of Hermitian-definite generalized eigenproblems to standard form. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_chegs2_batched_ (handle, itype, uplo, n, a, lda, b, ldb, batch_count)
 

Detailed Description

The HEGS2_BATCHED functions reduce a batch of Hermitian-definite generalized eigenproblems to standard form.

(This is the unblocked version of the algorithm.)

For each instance in the batch, the problem solved by this function is either of the form

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

depending on the value of itype.

If the problem is of the first form, then \(A_l\) is overwritten with

\[ \begin{array}{cl} U_l^{-H} A_l^{} U_l^{-1}, & \: \text{or}\\% L_l^{-1} A_l^{} L_l^{-H}, \end{array} \]

where the Hermitian-definite matrix \(B_l\) has been factorized as either \(U_l^H U_l^{}\) or \(L_l^{} L_l^H\), 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_l^{} A_l^{} U_l^H, & \: \text{or}\\% L_l^H A_l^{} L_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 eigenproblems.
[in]uplo- rocblas_fill. Specifies whether the upper or lower part of the matrices A_l are stored, and whether the factorization applied to B_l was upper or lower triangular. If uplo indicates lower (or upper), then the upper (or lower) parts of A_l and B_l are not used.
[in]n- rocblas_int. n >= 0. The matrix dimensions.
[in,out]A- array of pointers to type. Each pointer points to an array on the GPU of dimension lda*n. On entry, the matrices A_l. On exit, the transformed matrices associated with the equivalent standard eigenvalue problems.
[in]lda- rocblas_int. lda >= n. Specifies the leading dimension of A_l.
[out]B- array of pointers to type. Each pointer points to an array on the GPU of dimension ldb*n. The triangular factors of the matrices B_l, as returned by POTRF_BATCHED.
[in]ldb- rocblas_int. ldb >= n. Specifies the leading dimension of B_l.
[in]batch_count- rocblas_int. batch_count >= 0. Number of matrices in the batch.

Member Function/Subroutine Documentation

◆ rocsolver_chegs2_batched_()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chegs2_batched::rocsolver_chegs2_batched_ ( 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,
integer(c_int), value  batch_count 
)

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