rocsolver_slarft Interface Reference

rocsolver_slarft Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_slarft Interface Reference
hipfort_rocsolver::rocsolver_slarft Interface Reference

LARFT generates the triangular factor T of a block reflector H of order n. More...

Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_slarft_ (handle, myDirect, storev, n, k, V, ldv, tau, T, ldt)
 
integer(kind(rocblas_status_success)) function rocsolver_slarft_full_rank (handle, myDirect, storev, n, k, V, ldv, tau, T, ldt)
 
integer(kind(rocblas_status_success)) function rocsolver_slarft_rank_0 (handle, myDirect, storev, n, k, V, ldv, tau, T, ldt)
 
integer(kind(rocblas_status_success)) function rocsolver_slarft_rank_1 (handle, myDirect, storev, n, k, V, ldv, tau, T, ldt)
 

Detailed Description

LARFT generates the triangular factor T of a block reflector H of order n.

The block reflector H is defined as the product of k Householder matrices

\[ \begin{array}{cl} H = H_1H_2\cdots H_k & \: \text{if direct indicates forward direction, or} \newline H = H_k\cdots H_2H_1 & \: \text{if direct indicates backward direction} \end{array} \]

The triangular factor T is upper triangular in the forward direction and lower triangular in the backward direction. If storev is column-wise, then

\[ H = I - VTV' \]

where the i-th column of matrix V contains the Householder vector associated with \(H_i\). If storev is row-wise, then

\[ H = I - V'TV \]

where the i-th row of matrix V contains the Householder vector associated with \(H_i\).

Parameters
[in]handlerocblas_handle.
[in]directrocblas_direct.
Specifies the direction in which the Householder matrices are applied.
[in]storevrocblas_storev.
Specifies how the Householder vectors are stored in matrix V.
[in]nrocblas_int. n >= 0.
The order (size) of the block reflector.
[in]krocblas_int. k >= 1.
The number of Householder matrices forming H.
[in]Vpointer to type. Array on the GPU of size ldv*k if column-wise, or ldv*n if row-wise.
The matrix of Householder vectors.
[in]ldvrocblas_int. ldv >= n if column-wise, or ldv >= k if row-wise.
Leading dimension of V.
[in]taupointer to type. Array of k scalars on the GPU.
The vector of all the Householder scalars.
[out]Tpointer to type. Array on the GPU of dimension ldt*k.
The triangular factor. T is upper triangular if direct indicates forward direction, otherwise it is lower triangular. The rest of the array is not used.
[in]ldtrocblas_int. ldt >= k.
The leading dimension of T.

Member Function/Subroutine Documentation

◆ rocsolver_slarft_()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_slarft::rocsolver_slarft_ ( type(c_ptr), value  handle,
integer(kind(rocblas_forward_direction)), value  myDirect,
integer(kind(rocblas_column_wise)), value  storev,
integer(c_int), value  n,
integer(c_int), value  k,
type(c_ptr), value  V,
integer(c_int), value  ldv,
real(c_float)  tau,
type(c_ptr), value  T,
integer(c_int), value  ldt 
)

◆ rocsolver_slarft_full_rank()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_slarft::rocsolver_slarft_full_rank ( type(c_ptr)  handle,
integer(kind(rocblas_forward_direction))  myDirect,
integer(kind(rocblas_column_wise))  storev,
integer(c_int)  n,
integer(c_int)  k,
real(c_float), dimension(:,:), target  V,
integer(c_int)  ldv,
real(c_float)  tau,
real(c_float), dimension(:,:), target  T,
integer(c_int)  ldt 
)

◆ rocsolver_slarft_rank_0()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_slarft::rocsolver_slarft_rank_0 ( type(c_ptr)  handle,
integer(kind(rocblas_forward_direction))  myDirect,
integer(kind(rocblas_column_wise))  storev,
integer(c_int)  n,
integer(c_int)  k,
real(c_float), target  V,
integer(c_int)  ldv,
real(c_float)  tau,
real(c_float), target  T,
integer(c_int)  ldt 
)

◆ rocsolver_slarft_rank_1()

integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_slarft::rocsolver_slarft_rank_1 ( type(c_ptr)  handle,
integer(kind(rocblas_forward_direction))  myDirect,
integer(kind(rocblas_column_wise))  storev,
integer(c_int)  n,
integer(c_int)  k,
real(c_float), dimension(:), target  V,
integer(c_int)  ldv,
real(c_float)  tau,
real(c_float), dimension(:), target  T,
integer(c_int)  ldt 
)

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