# rocsolver_sgetf2 Interface Reference#

HIPFORT API Reference: hipfort_rocsolver::rocsolver_sgetf2 Interface Reference
hipfort_rocsolver::rocsolver_sgetf2 Interface Reference

GETF2 computes the LU factorization of a general m-by-n matrix A using partial pivoting with row interchanges. More...

## Public Member Functions

integer(kind(rocblas_status_success)) function rocsolver_sgetf2_ (handle, m, n, A, lda, ipiv, myInfo)

integer(kind(rocblas_status_success)) function rocsolver_sgetf2_full_rank (handle, m, n, A, lda, ipiv, myInfo)

integer(kind(rocblas_status_success)) function rocsolver_sgetf2_rank_0 (handle, m, n, A, lda, ipiv, myInfo)

integer(kind(rocblas_status_success)) function rocsolver_sgetf2_rank_1 (handle, m, n, A, lda, ipiv, myInfo)

## Detailed Description

GETF2 computes the LU factorization of a general m-by-n matrix A using partial pivoting with row interchanges.

(This is the unblocked Level-2-BLAS version of the algorithm. An optimized internal implementation without rocBLAS calls could be executed with small and mid-size matrices if optimizations are enabled (default option). For more details, see the "Tuning rocSOLVER performance" section of the Library Design Guide).

The factorization has the form

$A = PLU$

where P is a permutation matrix, L is lower triangular with unit diagonal elements (lower trapezoidal if m > n), and U is upper triangular (upper trapezoidal if m < n).

Parameters
 [in] handle rocblas_handle. [in] m rocblas_int. m >= 0. The number of rows of the matrix A. [in] n rocblas_int. n >= 0. The number of columns of the matrix A. [in,out] A pointer to type. Array on the GPU of dimension lda*n. On entry, the m-by-n matrix A to be factored. On exit, the factors L and U from the factorization. The unit diagonal elements of L are not stored. [in] lda rocblas_int. lda >= m. Specifies the leading dimension of A. [out] ipiv pointer to rocblas_int. Array on the GPU of dimension min(m,n). The vector of pivot indices. Elements of ipiv are 1-based indices. For 1 <= i <= min(m,n), the row i of the matrix was interchanged with row ipiv[i]. Matrix P of the factorization can be derived from ipiv. [out] info pointer to a rocblas_int on the GPU. If info = 0, successful exit. If info = j > 0, U is singular. U[j,j] is the first zero pivot.

## ◆ rocsolver_sgetf2_()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2::rocsolver_sgetf2_ ( type(c_ptr), value handle, integer(c_int), value m, integer(c_int), value n, type(c_ptr), value A, integer(c_int), value lda, type(c_ptr), value ipiv, integer(c_int) myInfo )

## ◆ rocsolver_sgetf2_full_rank()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2::rocsolver_sgetf2_full_rank ( type(c_ptr) handle, integer(c_int) m, integer(c_int) n, real(c_float), dimension(:,:), target A, integer(c_int) lda, integer(c_int), dimension(:), target ipiv, integer(c_int) myInfo )

## ◆ rocsolver_sgetf2_rank_0()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2::rocsolver_sgetf2_rank_0 ( type(c_ptr) handle, integer(c_int) m, integer(c_int) n, real(c_float), target A, integer(c_int) lda, integer(c_int), target ipiv, integer(c_int) myInfo )

## ◆ rocsolver_sgetf2_rank_1()

 integer(kind(rocblas_status_success)) function hipfort_rocsolver::rocsolver_sgetf2::rocsolver_sgetf2_rank_1 ( type(c_ptr) handle, integer(c_int) m, integer(c_int) n, real(c_float), dimension(:), target A, integer(c_int) lda, integer(c_int), dimension(:), target ipiv, integer(c_int) myInfo )

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