rocsolver_chetd2 Interface Reference

rocsolver_chetd2 Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_chetd2 Interface Reference
hipfort_rocsolver::rocsolver_chetd2 Interface Reference

! More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_chetd2_full_rank (handle, uplo, n, A, lda, D, E, tau)
 
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)
 

Detailed Description

!

HETD2 computes 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' A Q \]

where T is hermitian tridiagonal and Q is an unitary matrix represented as the product of Householder matrices \end{array} \f]

Each Householder matrix \(H_i\) is given by

\[ H_i = I - \text{tau}[i] \cdot v_i v_i' \]

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]handlerocblas_handle.
[in]uplorocblas_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]nrocblas_int. n >= 0.
The number of rows and columns of the matrix A.
[in,out]Apointer to type. Array on the GPU of dimension ldan.
On entry, the matrix to be factored. On exit, if upper, then the elements on the diagonal and superdiagonal contain the tridiagonal form T; 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; the elements below the subdiagonal contain the last n-i-1 elements of the Householder vectors v_i stored as columns.
[in]ldarocblas_int. lda >= n.
The leading dimension of A.
[out]Dpointer to real type. Array on the GPU of dimension n.
The diagonal elements of T.
[out]Epointer to real type. Array on the GPU of dimension n-1.
The off-diagonal elements of T.
[out]taupointer 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,
complex(c_float_complex)  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)  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)  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)  tau 
)

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