Provided by: liblapack-doc-man_3.6.0-2ubuntu2_all bug

NAME

       sgetrf.f -

SYNOPSIS

   Functions/Subroutines
       subroutine sgetrf (M, N, A, LDA, IPIV, INFO)
           SGETRF VARIANT: iterative version of Sivan Toledo's recursive LU algorithm

Function/Subroutine Documentation

   subroutine sgetrf (integer M, integer N, real, dimension( lda, * ) A, integer LDA, integer,
       dimension( * ) IPIV, integer INFO)
       SGETRF VARIANT: iterative version of Sivan Toledo's recursive LU algorithm Purpose:

        SGETRF 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 code implements an iterative version of Sivan Toledo's recursive
        LU algorithm[1].  For square matrices, this iterative versions should
        be within a factor of two of the optimum number of memory transfers.

        The pattern is as follows, with the large blocks of U being updated
        in one call to STRSM, and the dotted lines denoting sections that
        have had all pending permutations applied:

         1 2 3 4 5 6 7 8
        +-+-+---+-------+------
        | |1|   |       |
        |.+-+ 2 |       |
        | | |   |       |
        |.|.+-+-+   4   |
        | | | |1|       |
        | | |.+-+       |
        | | | | |       |
        |.|.|.|.+-+-+---+  8
        | | | | | |1|   |
        | | | | |.+-+ 2 |
        | | | | | | |   |
        | | | | |.|.+-+-+
        | | | | | | | |1|
        | | | | | | |.+-+
        | | | | | | | | |
        |.|.|.|.|.|.|.|.+-----
        | | | | | | | | |

        The 1-2-1-4-1-2-1-8-... pattern is the position of the last 1 bit in
        the binary expansion of the current column.  Each Schur update is
        applied as soon as the necessary portion of U is available.

        [1] Toledo, S. 1997. Locality of Reference in LU Decomposition with
        Partial Pivoting. SIAM J. Matrix Anal. Appl. 18, 4 (Oct. 1997),
        1065-1081. http://dx.doi.org/10.1137/S0895479896297744

       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.

       Date:
           November 2011

Author

       Generated automatically by Doxygen for LAPACK from the source code.