getrf2(3)

NAME
getrf2 - getrf2: triangular factor panel, recursive?

SYNOPSIS

  Functions

recursive subroutine cgetrf2 (m, n, a, lda, ipiv, info)
CGETRF2
recursive subroutine dgetrf2 (m, n, a, lda, ipiv, info)
DGETRF2
recursive subroutine sgetrf2 (m, n, a, lda, ipiv, info)
SGETRF2
recursive subroutine zgetrf2 (m, n, a, lda, ipiv, info)
ZGETRF2

Detailed Description

Function Documentation

  recursive subroutine cgetrf2 (integer m, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, integer info)

CGETRF2

Purpose:

    !>
    !> CGETRF2 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.
    !>
    !>

Parameters
    M

    !>          M is INTEGER
    !>          The number of rows of the matrix A.  M >= 0.
    !>

    N

    !>          N is INTEGER
    !>          The number of columns of the matrix A.  N >= 0.
    !>

    A

    !>          A is COMPLEX array, dimension (LDA,N)
    !>          On entry, the M-by-N matrix to be factored.
    !>          On exit, the factors L and U from the factorization
    !>          A = P*L*U; the unit diagonal elements of L are not stored.
    !>

    LDA

    !>          LDA is INTEGER
    !>          The leading dimension of the array A.  LDA >= max(1,M).
    !>

    IPIV

    !>          IPIV is INTEGER array, dimension (min(M,N))
    !>          The pivot indices; for 1 <= i <= min(M,N), row i of the
    !>          matrix was interchanged with row IPIV(i).
    !>

    INFO

    !>          INFO is INTEGER
    !>          = 0:  successful exit
    !>          < 0:  if INFO = -i, the i-th argument had an illegal value
    !>          > 0:  if INFO = i, U(i,i) is exactly zero. The factorization
    !>                has been completed, but the factor U is exactly
    !>                singular, and division by zero will occur if it is used
    !>                to solve a system of equations.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

  recursive subroutine dgetrf2 (integer m, integer n, double precision, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, integer info)

DGETRF2

Purpose:

    !>
    !> DGETRF2 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.
    !>
    !>

Parameters
    M

    !>          M is INTEGER
    !>          The number of rows of the matrix A.  M >= 0.
    !>

    N

    !>          N is INTEGER
    !>          The number of columns of the matrix A.  N >= 0.
    !>

    A

    !>          A is DOUBLE PRECISION array, dimension (LDA,N)
    !>          On entry, the M-by-N matrix to be factored.
    !>          On exit, the factors L and U from the factorization
    !>          A = P*L*U; the unit diagonal elements of L are not stored.
    !>

    LDA

    !>          LDA is INTEGER
    !>          The leading dimension of the array A.  LDA >= max(1,M).
    !>

    IPIV

    !>          IPIV is INTEGER array, dimension (min(M,N))
    !>          The pivot indices; for 1 <= i <= min(M,N), row i of the
    !>          matrix was interchanged with row IPIV(i).
    !>

    INFO

    !>          INFO is INTEGER
    !>          = 0:  successful exit
    !>          < 0:  if INFO = -i, the i-th argument had an illegal value
    !>          > 0:  if INFO = i, U(i,i) is exactly zero. The factorization
    !>                has been completed, but the factor U is exactly
    !>                singular, and division by zero will occur if it is used
    !>                to solve a system of equations.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

  recursive subroutine sgetrf2 (integer m, integer n, real, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, integer info)

SGETRF2

Purpose:

    !>
    !> SGETRF2 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.
    !>
    !>

Parameters
    M

    !>          M is INTEGER
    !>          The number of rows of the matrix A.  M >= 0.
    !>

    N

    !>          N is INTEGER
    !>          The number of columns of the matrix A.  N >= 0.
    !>

    A

    !>          A is REAL array, dimension (LDA,N)
    !>          On entry, the M-by-N matrix to be factored.
    !>          On exit, the factors L and U from the factorization
    !>          A = P*L*U; the unit diagonal elements of L are not stored.
    !>

    LDA

    !>          LDA is INTEGER
    !>          The leading dimension of the array A.  LDA >= max(1,M).
    !>

    IPIV

    !>          IPIV is INTEGER array, dimension (min(M,N))
    !>          The pivot indices; for 1 <= i <= min(M,N), row i of the
    !>          matrix was interchanged with row IPIV(i).
    !>

    INFO

    !>          INFO is INTEGER
    !>          = 0:  successful exit
    !>          < 0:  if INFO = -i, the i-th argument had an illegal value
    !>          > 0:  if INFO = i, U(i,i) is exactly zero. The factorization
    !>                has been completed, but the factor U is exactly
    !>                singular, and division by zero will occur if it is used
    !>                to solve a system of equations.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

  recursive subroutine zgetrf2 (integer m, integer n, complex*16, dimension( lda, * ) a, integer lda, integer, dimension( * ) ipiv, integer info)

ZGETRF2

Purpose:

    !>
    !> ZGETRF2 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.
    !>
    !>

Parameters
    M

    !>          M is INTEGER
    !>          The number of rows of the matrix A.  M >= 0.
    !>

    N

    !>          N is INTEGER
    !>          The number of columns of the matrix A.  N >= 0.
    !>

    A

    !>          A is COMPLEX*16 array, dimension (LDA,N)
    !>          On entry, the M-by-N matrix to be factored.
    !>          On exit, the factors L and U from the factorization
    !>          A = P*L*U; the unit diagonal elements of L are not stored.
    !>

    LDA

    !>          LDA is INTEGER
    !>          The leading dimension of the array A.  LDA >= max(1,M).
    !>

    IPIV

    !>          IPIV is INTEGER array, dimension (min(M,N))
    !>          The pivot indices; for 1 <= i <= min(M,N), row i of the
    !>          matrix was interchanged with row IPIV(i).
    !>

    INFO

    !>          INFO is INTEGER
    !>          = 0:  successful exit
    !>          < 0:  if INFO = -i, the i-th argument had an illegal value
    !>          > 0:  if INFO = i, U(i,i) is exactly zero. The factorization
    !>                has been completed, but the factor U is exactly
    !>                singular, and division by zero will occur if it is used
    !>                to solve a system of equations.
    !>

Author
    Univ. of Tennessee

    Univ. of California Berkeley

    Univ. of Colorado Denver

    NAG Ltd.

Author

Generated automatically by Doxygen for LAPACK from the source code.