rocsolver_slarft Interface Reference

rocsolver_slarft Interface Reference#

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

The LARFT functions generate 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_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)
 
integer(kind(rocblas_status_success)) function rocsolver_slarft_full_rank (handle, mydirect, storev, n, k, v, ldv, tau, t, ldt)
 

Detailed Description

The LARFT functions generate 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(1)H(2)\cdots H(k) & \: \text{if direct indicates forward direction, or} \\% H = H(k)\cdots H(2)H(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^H \]

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

\[ H = I - V^H T V \]

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

Parameters
[in]handle- rocblas_handle.
[in]myDirect- rocblas_direct. Specifies the direction in which the Householder matrices are applied.
[in]storev- rocblas_storev. Specifies how the Householder vectors are stored in matrix V.
[in]n- rocblas_int. n >= 0. The order (size) of the block reflector.
[in]k- rocblas_int. k >= 1. The number of Householder matrices forming H.
[in]V- pointer 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]ldv- rocblas_int. ldv >= n if column-wise or ldv >= k if row-wise. The leading dimension of V.
[in]tau- pointer to type. Array of k scalars on the GPU. The vector of all the Householder scalars.
[out]T- pointer 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]ldt- rocblas_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,
type(c_ptr), value  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), dimension(:), target  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), target  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), dimension(:), target  tau,
real(c_float), dimension(:), target  t,
integer(c_int)  ldt 
)

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