# rocsolver_slarfg Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_slarfg Interface Reference
hipfort_rocsolver::rocsolver_slarfg Interface Reference

LARFG generates a Householder reflector H of order n. More...

## Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_slarfg_ (handle, n, alpha, x, incx, tau)

integer(kind(rocblas_status_success)) function rocsolver_slarfg_rank_0 (handle, n, alpha, x, incx, tau)

integer(kind(rocblas_status_success)) function rocsolver_slarfg_rank_1 (handle, n, alpha, x, incx, tau)

## Detailed Description

LARFG generates a Householder reflector H of order n.

The reflector H is such that

$H'\left[\begin{array}{c} \text{alpha}\newline x \end{array}\right]=\left[\begin{array}{c} \text{beta}\newline 0 \end{array}\right]$

where x is an n-1 vector, and alpha and beta are scalars. Matrix H can be generated as

$H = I - \text{tau}\left[\begin{array}{c} 1\newline v \end{array}\right]\left[\begin{array}{cc} 1 & v' \end{array}\right]$

where v is an n-1 vector, and tau is a scalar known as the Householder scalar. The vector

$\bar{v}=\left[\begin{array}{c} 1\newline v \end{array}\right]$

is the Householder vector associated with the reflection.

Note
The matrix H is orthogonal/unitary (i.e. $$H'H=HH'=I$$). It is symmetric when real (i.e. $$H^T=H$$), but not Hermitian when complex (i.e. $$H^H\neq H$$ in general).
Parameters
 [in] handle rocblas_handle. [in] n rocblas_int. n >= 0. The order (size) of reflector H. [in,out] alpha pointer to type. A scalar on the GPU. On entry, the scalar alpha. On exit, it is overwritten with beta. [in,out] x pointer to type. Array on the GPU of size at least n-1 (size depends on the value of incx). On entry, the vector x, On exit, it is overwritten with vector v. [in] incx rocblas_int. incx > 0. The distance between two consecutive elements of x. [out] tau pointer to type. A scalar on the GPU. The Householder scalar tau.

## ◆ rocsolver_slarfg_()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_slarfg::rocsolver_slarfg_ ( type(c_ptr), value handle, integer(c_int), value n, real(c_float) alpha, type(c_ptr), value x, integer(c_int), value incx, real(c_float) tau )

## ◆ rocsolver_slarfg_rank_0()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_slarfg::rocsolver_slarfg_rank_0 ( type(c_ptr) handle, integer(c_int) n, real(c_float) alpha, real(c_float), target x, integer(c_int) incx, real(c_float) tau )

## ◆ rocsolver_slarfg_rank_1()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_slarfg::rocsolver_slarfg_rank_1 ( type(c_ptr) handle, integer(c_int) n, real(c_float) alpha, real(c_float), dimension(:), target x, integer(c_int) incx, real(c_float) tau )

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