# rocsolver_sgeqlf_batched Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_sgeqlf_batched Interface Reference
hipfort_rocsolver::rocsolver_sgeqlf_batched Interface Reference

GEQLF_BATCHED computes the QL factorization of a batch of general m-by-n matrices. More...

## Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_sgeqlf_batched_ (handle, m, n, A, lda, ipiv, strideP, batch_count)

integer(kind(rocblas_status_success)) function rocsolver_sgeqlf_batched_full_rank (handle, m, n, A, lda, ipiv, strideP, batch_count)

integer(kind(rocblas_status_success)) function rocsolver_sgeqlf_batched_rank_0 (handle, m, n, A, lda, ipiv, strideP, batch_count)

integer(kind(rocblas_status_success)) function rocsolver_sgeqlf_batched_rank_1 (handle, m, n, A, lda, ipiv, strideP, batch_count)

## Detailed Description

GEQLF_BATCHED computes the QL factorization of a batch of general m-by-n matrices.

(This is the blocked version of the algorithm).

The factorization of matrix $$A_j$$ in the batch has the form

$A_j = Q_j\left[\begin{array}{c} 0\newline L_j \end{array}\right]$

where $$L_j$$ is lower triangular (lower trapezoidal if m < n), and $$Q_j$$ is a m-by-m orthogonal/unitary matrix represented as the product of Householder matrices

$Q = H_{j_k}H_{j_{k-1}}\cdots H_{j_1}, \quad \text{with} \: k = \text{min}(m,n)$

Each Householder matrix $$H_{j_i}$$ is given by

$H_{j_i} = I - \text{ipiv}_j[i] \cdot v_{j_i} v_{j_i}'$

where the last m-i elements of the Householder vector $$v_{j_i}$$ are zero, and $$v_{j_i}[i] = 1$$.

Parameters
 [in] handle rocblas_handle. [in] m rocblas_int. m >= 0. The number of rows of all the matrices A_j in the batch. [in] n rocblas_int. n >= 0. The number of columns of all the matrices A_j in the batch. [in,out] A Array of pointers to type. Each pointer points to an array on the GPU of dimension lda*n. On entry, the m-by-n matrices A_j to be factored. On exit, the elements on and below the (m-n)-th subdiagonal (when m >= n) or the (n-m)-th superdiagonal (when n > m) contain the factor L_j; the elements above the sub/superdiagonal are the first i - 1 elements of Householder vector v_(j_i). [in] lda rocblas_int. lda >= m. Specifies the leading dimension of matrices A_j. [out] ipiv pointer to type. Array on the GPU (the size depends on the value of strideP). Contains the vectors ipiv_j of corresponding Householder scalars. [in] strideP rocblas_stride. Stride from the start of one vector ipiv_j to the next one ipiv_(j+1). There is no restriction for the value of strideP. Normal use is strideP >= min(m,n). [in] batch_count rocblas_int. batch_count >= 0. Number of matrices in the batch.

## ◆ rocsolver_sgeqlf_batched_()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgeqlf_batched::rocsolver_sgeqlf_batched_ ( type(c_ptr), value handle, integer(c_int), value m, integer(c_int), value n, type(c_ptr) A, integer(c_int), value lda, type(c_ptr), value ipiv, integer(c_int64_t), value strideP, integer(c_int), value batch_count )

## ◆ rocsolver_sgeqlf_batched_full_rank()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgeqlf_batched::rocsolver_sgeqlf_batched_full_rank ( type(c_ptr) handle, integer(c_int) m, integer(c_int) n, real(c_float), dimension(:,:,:), target A, integer(c_int) lda, real(c_float), dimension(:), target ipiv, integer(c_int64_t) strideP, integer(c_int) batch_count )

## ◆ rocsolver_sgeqlf_batched_rank_0()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgeqlf_batched::rocsolver_sgeqlf_batched_rank_0 ( type(c_ptr) handle, integer(c_int) m, integer(c_int) n, real(c_float), target A, integer(c_int) lda, real(c_float), target ipiv, integer(c_int64_t) strideP, integer(c_int) batch_count )

## ◆ rocsolver_sgeqlf_batched_rank_1()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgeqlf_batched::rocsolver_sgeqlf_batched_rank_1 ( type(c_ptr) handle, integer(c_int) m, integer(c_int) n, real(c_float), dimension(:), target A, integer(c_int) lda, real(c_float), dimension(:), target ipiv, integer(c_int64_t) strideP, integer(c_int) batch_count )

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