rocsolver_chetd2 Interface Reference#
The HETD2 functions compute the tridiagonal form of a complex Hermitian matrix A.
More...
Public Member Functions | |
| integer(kind(rocblas_status_success)) function | rocsolver_chetd2_ (handle, uplo, n, a, lda, d, e, tau) |
| integer(kind(rocblas_status_success)) function | rocsolver_chetd2_rank_0 (handle, uplo, n, a, lda, d, e, tau) |
| integer(kind(rocblas_status_success)) function | rocsolver_chetd2_rank_1 (handle, uplo, n, a, lda, d, e, tau) |
| integer(kind(rocblas_status_success)) function | rocsolver_chetd2_full_rank (handle, uplo, n, a, lda, d, e, tau) |
Detailed Description
The HETD2 functions compute the tridiagonal form of a complex Hermitian matrix A.
(This is the unblocked version of the algorithm.)
The tridiagonal form is given by:
\[ T = Q^H A Q \]
where T is Hermitian tridiagonal and Q is an unitary matrix represented as the product of Householder matrices
\[ \begin{array}{cl} Q = H(1)H(2)\cdots H(n-1) & \: \text{if uplo indicates lower, or}\\% Q = H(n-1)H(n-2)\cdots H(1) & \: \text{if uplo indicates upper.} \end{array} \]
Each Householder matrix \(H(i)\) is given by
\[ H(i) = I - \text{tau}[i] \cdot v_i^{} v_i^H \]
where tau[i] is the corresponding Householder scalar. When uplo indicates lower, the first i elements of the Householder vector \(v_i\) are zero, and \(v_i[i+1] = 1\). If uplo indicates upper, the last n-i elements of the Householder vector \(v_i\) are zero, and \(v_i[i] = 1\).
- Parameters
-
[in] handle - rocblas_handle. [in] uplo - rocblas_fill. Specifies whether the upper or lower part of the Hermitian matrix A is stored. If uplo indicates lower (or upper), then the upper (or lower) part of A is not used. [in] n - rocblas_int. n >= 0. The number of rows and columns of the matrix A. [in,out] A - pointer to type. Array on the GPU of dimension lda*n. On entry, the matrix to be factored. On exit, if upper, then the elements on the diagonal and superdiagonal contain the tridiagonal form T, and the elements above the superdiagonal contain the first i-1 elements of the Householders vector v_i stored as columns. If lower, then the elements on the diagonal and subdiagonal contain the tridiagonal form T, and the elements below the subdiagonal contain the last n-i-1 elements of the Householder vectors v_i stored as columns. [in] lda - rocblas_int. lda >= n. The leading dimension of A. [out] D - pointer to real type. Array on the GPU of dimension n. The diagonal elements of T. [out] E - pointer to real type. Array on the GPU of dimension n-1. The off-diagonal elements of T. [out] tau - pointer to type. Array on the GPU of dimension n-1. The Householder scalars.
Member Function/Subroutine Documentation
◆ rocsolver_chetd2_()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chetd2::rocsolver_chetd2_ | ( | type(c_ptr), value | handle, |
| 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 | d, | ||
| type(c_ptr), value | e, | ||
| type(c_ptr), value | tau | ||
| ) |
◆ rocsolver_chetd2_full_rank()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chetd2::rocsolver_chetd2_full_rank | ( | type(c_ptr) | handle, |
| integer(kind(rocblas_fill_upper)) | uplo, | ||
| integer(c_int) | n, | ||
| complex(c_float_complex), dimension(:,:), target | a, | ||
| integer(c_int) | lda, | ||
| real(c_float), dimension(:), target | d, | ||
| real(c_float), dimension(:), target | e, | ||
| complex(c_float_complex), dimension(:), target | tau | ||
| ) |
◆ rocsolver_chetd2_rank_0()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chetd2::rocsolver_chetd2_rank_0 | ( | type(c_ptr) | handle, |
| integer(kind(rocblas_fill_upper)) | uplo, | ||
| integer(c_int) | n, | ||
| complex(c_float_complex), target | a, | ||
| integer(c_int) | lda, | ||
| real(c_float), target | d, | ||
| real(c_float), target | e, | ||
| complex(c_float_complex), target | tau | ||
| ) |
◆ rocsolver_chetd2_rank_1()
| integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_chetd2::rocsolver_chetd2_rank_1 | ( | type(c_ptr) | handle, |
| integer(kind(rocblas_fill_upper)) | uplo, | ||
| integer(c_int) | n, | ||
| complex(c_float_complex), dimension(:), target | a, | ||
| integer(c_int) | lda, | ||
| real(c_float), dimension(:), target | d, | ||
| real(c_float), dimension(:), target | e, | ||
| complex(c_float_complex), dimension(:), target | tau | ||
| ) |
The documentation for this interface was generated from the following file: