gbtrf(3)

NAME
gbtrf - gbtrf: triangular factor

SYNOPSIS

  Functions

subroutine cgbtrf (m, n, kl, ku, ab, ldab, ipiv, info)
CGBTRF
subroutine dgbtrf (m, n, kl, ku, ab, ldab, ipiv, info)
DGBTRF
subroutine sgbtrf (m, n, kl, ku, ab, ldab, ipiv, info)
SGBTRF
subroutine zgbtrf (m, n, kl, ku, ab, ldab, ipiv, info)
ZGBTRF

Detailed Description

Function Documentation

  subroutine cgbtrf (integer m, integer n, integer kl, integer ku, complex, dimension( ldab, * ) ab, integer ldab, integer, dimension( * ) ipiv, integer info)

CGBTRF

Purpose:

    !>
    !> CGBTRF computes an LU factorization of a complex m-by-n band matrix A
    !> using partial pivoting with row interchanges.
    !>
    !> This is the blocked version of the algorithm, calling Level 3 BLAS.
    !>

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

    KL

    !>          KL is INTEGER
    !>          The number of subdiagonals within the band of A.  KL >= 0.
    !>

    KU

    !>          KU is INTEGER
    !>          The number of superdiagonals within the band of A.  KU >= 0.
    !>

    AB

    !>          AB is COMPLEX array, dimension (LDAB,N)
    !>          On entry, the matrix A in band storage, in rows KL+1 to
    !>          2*KL+KU+1; rows 1 to KL of the array need not be set.
    !>          The j-th column of A is stored in the j-th column of the
    !>          array AB as follows:
    !>          AB(kl+ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)
    !>
    !>          On exit, details of the factorization: U is stored as an
    !>          upper triangular band matrix with KL+KU superdiagonals in
    !>          rows 1 to KL+KU+1, and the multipliers used during the
    !>          factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
    !>          See below for further details.
    !>

    LDAB

    !>          LDAB is INTEGER
    !>          The leading dimension of the array AB.  LDAB >= 2*KL+KU+1.
    !>

    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.

Further Details:

    !>
    !>  The band storage scheme is illustrated by the following example, when
    !>  M = N = 6, KL = 2, KU = 1:
    !>
    !>  On entry:                       On exit:
    !>
    !>      *    *    *    +    +    +       *    *    *   u14  u25  u36
    !>      *    *    +    +    +    +       *    *   u13  u24  u35  u46
    !>      *   a12  a23  a34  a45  a56      *   u12  u23  u34  u45  u56
    !>     a11  a22  a33  a44  a55  a66     u11  u22  u33  u44  u55  u66
    !>     a21  a32  a43  a54  a65   *      m21  m32  m43  m54  m65   *
    !>     a31  a42  a53  a64   *    *      m31  m42  m53  m64   *    *
    !>
    !>  Array elements marked * are not used by the routine; elements marked
    !>  + need not be set on entry, but are required by the routine to store
    !>  elements of U because of fill-in resulting from the row interchanges.
    !>

  subroutine dgbtrf (integer m, integer n, integer kl, integer ku, double precision, dimension( ldab, * ) ab, integer ldab, integer, dimension( * ) ipiv, integer info)

DGBTRF

Purpose:

    !>
    !> DGBTRF computes an LU factorization of a real m-by-n band matrix A
    !> using partial pivoting with row interchanges.
    !>
    !> This is the blocked version of the algorithm, calling Level 3 BLAS.
    !>

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

    KL

    !>          KL is INTEGER
    !>          The number of subdiagonals within the band of A.  KL >= 0.
    !>

    KU

    !>          KU is INTEGER
    !>          The number of superdiagonals within the band of A.  KU >= 0.
    !>

    AB

    !>          AB is DOUBLE PRECISION array, dimension (LDAB,N)
    !>          On entry, the matrix A in band storage, in rows KL+1 to
    !>          2*KL+KU+1; rows 1 to KL of the array need not be set.
    !>          The j-th column of A is stored in the j-th column of the
    !>          array AB as follows:
    !>          AB(kl+ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)
    !>
    !>          On exit, details of the factorization: U is stored as an
    !>          upper triangular band matrix with KL+KU superdiagonals in
    !>          rows 1 to KL+KU+1, and the multipliers used during the
    !>          factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
    !>          See below for further details.
    !>

    LDAB

    !>          LDAB is INTEGER
    !>          The leading dimension of the array AB.  LDAB >= 2*KL+KU+1.
    !>

    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.

Further Details:

    !>
    !>  The band storage scheme is illustrated by the following example, when
    !>  M = N = 6, KL = 2, KU = 1:
    !>
    !>  On entry:                       On exit:
    !>
    !>      *    *    *    +    +    +       *    *    *   u14  u25  u36
    !>      *    *    +    +    +    +       *    *   u13  u24  u35  u46
    !>      *   a12  a23  a34  a45  a56      *   u12  u23  u34  u45  u56
    !>     a11  a22  a33  a44  a55  a66     u11  u22  u33  u44  u55  u66
    !>     a21  a32  a43  a54  a65   *      m21  m32  m43  m54  m65   *
    !>     a31  a42  a53  a64   *    *      m31  m42  m53  m64   *    *
    !>
    !>  Array elements marked * are not used by the routine; elements marked
    !>  + need not be set on entry, but are required by the routine to store
    !>  elements of U because of fill-in resulting from the row interchanges.
    !>

  subroutine sgbtrf (integer m, integer n, integer kl, integer ku, real, dimension( ldab, * ) ab, integer ldab, integer, dimension( * ) ipiv, integer info)

SGBTRF

Purpose:

    !>
    !> SGBTRF computes an LU factorization of a real m-by-n band matrix A
    !> using partial pivoting with row interchanges.
    !>
    !> This is the blocked version of the algorithm, calling Level 3 BLAS.
    !>

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

    KL

    !>          KL is INTEGER
    !>          The number of subdiagonals within the band of A.  KL >= 0.
    !>

    KU

    !>          KU is INTEGER
    !>          The number of superdiagonals within the band of A.  KU >= 0.
    !>

    AB

    !>          AB is REAL array, dimension (LDAB,N)
    !>          On entry, the matrix A in band storage, in rows KL+1 to
    !>          2*KL+KU+1; rows 1 to KL of the array need not be set.
    !>          The j-th column of A is stored in the j-th column of the
    !>          array AB as follows:
    !>          AB(kl+ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)
    !>
    !>          On exit, details of the factorization: U is stored as an
    !>          upper triangular band matrix with KL+KU superdiagonals in
    !>          rows 1 to KL+KU+1, and the multipliers used during the
    !>          factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
    !>          See below for further details.
    !>

    LDAB

    !>          LDAB is INTEGER
    !>          The leading dimension of the array AB.  LDAB >= 2*KL+KU+1.
    !>

    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.

Further Details:

    !>
    !>  The band storage scheme is illustrated by the following example, when
    !>  M = N = 6, KL = 2, KU = 1:
    !>
    !>  On entry:                       On exit:
    !>
    !>      *    *    *    +    +    +       *    *    *   u14  u25  u36
    !>      *    *    +    +    +    +       *    *   u13  u24  u35  u46
    !>      *   a12  a23  a34  a45  a56      *   u12  u23  u34  u45  u56
    !>     a11  a22  a33  a44  a55  a66     u11  u22  u33  u44  u55  u66
    !>     a21  a32  a43  a54  a65   *      m21  m32  m43  m54  m65   *
    !>     a31  a42  a53  a64   *    *      m31  m42  m53  m64   *    *
    !>
    !>  Array elements marked * are not used by the routine; elements marked
    !>  + need not be set on entry, but are required by the routine to store
    !>  elements of U because of fill-in resulting from the row interchanges.
    !>

  subroutine zgbtrf (integer m, integer n, integer kl, integer ku, complex*16, dimension( ldab, * ) ab, integer ldab, integer, dimension( * ) ipiv, integer info)

ZGBTRF

Purpose:

    !>
    !> ZGBTRF computes an LU factorization of a complex m-by-n band matrix A
    !> using partial pivoting with row interchanges.
    !>
    !> This is the blocked version of the algorithm, calling Level 3 BLAS.
    !>

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

    KL

    !>          KL is INTEGER
    !>          The number of subdiagonals within the band of A.  KL >= 0.
    !>

    KU

    !>          KU is INTEGER
    !>          The number of superdiagonals within the band of A.  KU >= 0.
    !>

    AB

    !>          AB is COMPLEX*16 array, dimension (LDAB,N)
    !>          On entry, the matrix A in band storage, in rows KL+1 to
    !>          2*KL+KU+1; rows 1 to KL of the array need not be set.
    !>          The j-th column of A is stored in the j-th column of the
    !>          array AB as follows:
    !>          AB(kl+ku+1+i-j,j) = A(i,j) for max(1,j-ku)<=i<=min(m,j+kl)
    !>
    !>          On exit, details of the factorization: U is stored as an
    !>          upper triangular band matrix with KL+KU superdiagonals in
    !>          rows 1 to KL+KU+1, and the multipliers used during the
    !>          factorization are stored in rows KL+KU+2 to 2*KL+KU+1.
    !>          See below for further details.
    !>

    LDAB

    !>          LDAB is INTEGER
    !>          The leading dimension of the array AB.  LDAB >= 2*KL+KU+1.
    !>

    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.

Further Details:

    !>
    !>  The band storage scheme is illustrated by the following example, when
    !>  M = N = 6, KL = 2, KU = 1:
    !>
    !>  On entry:                       On exit:
    !>
    !>      *    *    *    +    +    +       *    *    *   u14  u25  u36
    !>      *    *    +    +    +    +       *    *   u13  u24  u35  u46
    !>      *   a12  a23  a34  a45  a56      *   u12  u23  u34  u45  u56
    !>     a11  a22  a33  a44  a55  a66     u11  u22  u33  u44  u55  u66
    !>     a21  a32  a43  a54  a65   *      m21  m32  m43  m54  m65   *
    !>     a31  a42  a53  a64   *    *      m31  m42  m53  m64   *    *
    !>
    !>  Array elements marked * are not used by the routine; elements marked
    !>  + need not be set on entry, but are required by the routine to store
    !>  elements of U because of fill-in resulting from the row interchanges.
    !>

Author

Generated automatically by Doxygen for LAPACK from the source code.