getrf2 Interface

public interface getrf2

GETRF2 computes an LU factorization of a general M-by-N matrix A using partial pivoting with row interchanges. The factorization has the form A = P * L * U 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). This is the recursive version of the algorithm. It divides the matrix into four submatrices: [ A11 | A12 ] where A11 is n1 by n1 and A22 is n2 by n2 A = [ -----|----- ] with n1 = min(m,n)/2 [ A21 | A22 ] n2 = n-n1 [ A11 ] The subroutine calls itself to factor [ --- ], [ A12 ] [ A12 ] do the swaps on [ --- ], solve A12, update A22, [ A22 ] then calls itself to factor A22 and do the swaps on A21.


Subroutines

public pure recursive subroutine cgetrf2(m, n, a, lda, ipiv, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
complex(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
integer(kind=ilp), intent(out) :: ipiv(*)
integer(kind=ilp), intent(out) :: info

public pure recursive subroutine dgetrf2(m, n, a, lda, ipiv, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
real(kind=dp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
integer(kind=ilp), intent(out) :: ipiv(*)
integer(kind=ilp), intent(out) :: info

public pure recursive subroutine sgetrf2(m, n, a, lda, ipiv, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
real(kind=sp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
integer(kind=ilp), intent(out) :: ipiv(*)
integer(kind=ilp), intent(out) :: info

public pure recursive subroutine zgetrf2(m, n, a, lda, ipiv, info)

Arguments

Type IntentOptional Attributes Name
integer(kind=ilp), intent(in) :: m
integer(kind=ilp), intent(in) :: n
complex(kind=dp), intent(inout) :: a(lda,*)
integer(kind=ilp), intent(in) :: lda
integer(kind=ilp), intent(out) :: ipiv(*)
integer(kind=ilp), intent(out) :: info

Module Procedures

public interface stdlib_cgetrf2()

Arguments

None

public interface stdlib_dgetrf2()

Arguments

None

public interface stdlib_sgetrf2()

Arguments

None

public interface stdlib_zgetrf2()

Arguments

None