rocsolver_ssytd2 Interface Reference#
hipfort_rocsolver::rocsolver_ssytd2 Interface Reference
! More...
Public Member Functions | |
integer(kind(rocblas_status_success)) function | rocsolver_ssytd2_full_rank (handle, uplo, n, A, lda, D, E, tau) |
integer(kind(rocblas_status_success)) function | rocsolver_ssytd2_ (handle, uplo, n, A, lda, D, E, tau) |
integer(kind(rocblas_status_success)) function | rocsolver_ssytd2_rank_0 (handle, uplo, n, A, lda, D, E, tau) |
integer(kind(rocblas_status_success)) function | rocsolver_ssytd2_rank_1 (handle, uplo, n, A, lda, D, E, tau) |
Detailed Description
!
SYTD2 computes the tridiagonal form of a real symmetric matrix A.
(This is the unblocked version of the algorithm).
The tridiagonal form is given by:
\[ T = Q' A Q \]
where T is symmetric tridiagonal and Q is an orthogonal 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] handle rocblas_handle. [in] uplo rocblas_fill.
Specifies whether the upper or lower part of the symmetric 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 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 Householder vectors 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] lda rocblas_int. lda >= n.
The leading dimension of A.[out] D pointer to type. Array on the GPU of dimension n.
The diagonal elements of T.[out] E pointer to 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_ssytd2_()
integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssytd2::rocsolver_ssytd2_ | ( | 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, | ||
real(c_float) | tau | ||
) |
◆ rocsolver_ssytd2_full_rank()
integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssytd2::rocsolver_ssytd2_full_rank | ( | type(c_ptr) | handle, |
integer(kind(rocblas_fill_upper)) | uplo, | ||
integer(c_int) | n, | ||
real(c_float), dimension(:,:), target | A, | ||
integer(c_int) | lda, | ||
real(c_float), dimension(:), target | D, | ||
real(c_float), dimension(:), target | E, | ||
real(c_float) | tau | ||
) |
◆ rocsolver_ssytd2_rank_0()
integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssytd2::rocsolver_ssytd2_rank_0 | ( | type(c_ptr) | handle, |
integer(kind(rocblas_fill_upper)) | uplo, | ||
integer(c_int) | n, | ||
real(c_float), target | A, | ||
integer(c_int) | lda, | ||
real(c_float), target | D, | ||
real(c_float), target | E, | ||
real(c_float) | tau | ||
) |
◆ rocsolver_ssytd2_rank_1()
integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_ssytd2::rocsolver_ssytd2_rank_1 | ( | type(c_ptr) | handle, |
integer(kind(rocblas_fill_upper)) | uplo, | ||
integer(c_int) | n, | ||
real(c_float), dimension(:), target | A, | ||
integer(c_int) | lda, | ||
real(c_float), dimension(:), target | D, | ||
real(c_float), dimension(:), target | E, | ||
real(c_float) | tau | ||
) |
The documentation for this interface was generated from the following file: