--- rpl/lapack/lapack/zgttrf.f 2010/12/21 13:53:45 1.7 +++ rpl/lapack/lapack/zgttrf.f 2011/11/21 20:43:11 1.8 @@ -1,9 +1,133 @@ +*> \brief \b ZGTTRF +* +* =========== DOCUMENTATION =========== +* +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +*> \htmlonly +*> Download ZGTTRF + dependencies +*> +*> [TGZ] +*> +*> [ZIP] +*> +*> [TXT] +*> \endhtmlonly +* +* Definition: +* =========== +* +* SUBROUTINE ZGTTRF( N, DL, D, DU, DU2, IPIV, INFO ) +* +* .. Scalar Arguments .. +* INTEGER INFO, N +* .. +* .. Array Arguments .. +* INTEGER IPIV( * ) +* COMPLEX*16 D( * ), DL( * ), DU( * ), DU2( * ) +* .. +* +* +*> \par Purpose: +* ============= +*> +*> \verbatim +*> +*> ZGTTRF computes an LU factorization of a complex tridiagonal matrix A +*> using elimination with partial pivoting and row interchanges. +*> +*> The factorization has the form +*> A = L * U +*> where L is a product of permutation and unit lower bidiagonal +*> matrices and U is upper triangular with nonzeros in only the main +*> diagonal and first two superdiagonals. +*> \endverbatim +* +* Arguments: +* ========== +* +*> \param[in] N +*> \verbatim +*> N is INTEGER +*> The order of the matrix A. +*> \endverbatim +*> +*> \param[in,out] DL +*> \verbatim +*> DL is COMPLEX*16 array, dimension (N-1) +*> On entry, DL must contain the (n-1) sub-diagonal elements of +*> A. +*> +*> On exit, DL is overwritten by the (n-1) multipliers that +*> define the matrix L from the LU factorization of A. +*> \endverbatim +*> +*> \param[in,out] D +*> \verbatim +*> D is COMPLEX*16 array, dimension (N) +*> On entry, D must contain the diagonal elements of A. +*> +*> On exit, D is overwritten by the n diagonal elements of the +*> upper triangular matrix U from the LU factorization of A. +*> \endverbatim +*> +*> \param[in,out] DU +*> \verbatim +*> DU is COMPLEX*16 array, dimension (N-1) +*> On entry, DU must contain the (n-1) super-diagonal elements +*> of A. +*> +*> On exit, DU is overwritten by the (n-1) elements of the first +*> super-diagonal of U. +*> \endverbatim +*> +*> \param[out] DU2 +*> \verbatim +*> DU2 is COMPLEX*16 array, dimension (N-2) +*> On exit, DU2 is overwritten by the (n-2) elements of the +*> second super-diagonal of U. +*> \endverbatim +*> +*> \param[out] IPIV +*> \verbatim +*> IPIV is INTEGER array, dimension (N) +*> The pivot indices; for 1 <= i <= n, row i of the matrix was +*> interchanged with row IPIV(i). IPIV(i) will always be either +*> i or i+1; IPIV(i) = i indicates a row interchange was not +*> required. +*> \endverbatim +*> +*> \param[out] INFO +*> \verbatim +*> INFO is INTEGER +*> = 0: successful exit +*> < 0: if INFO = -k, the k-th argument had an illegal value +*> > 0: if INFO = k, U(k,k) 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. +*> \endverbatim +* +* Authors: +* ======== +* +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. +* +*> \date November 2011 +* +*> \ingroup complex16OTHERcomputational +* +* ===================================================================== SUBROUTINE ZGTTRF( N, DL, D, DU, DU2, IPIV, INFO ) * -* -- LAPACK routine (version 3.2) -- +* -- LAPACK computational routine (version 3.4.0) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* November 2006 +* November 2011 * * .. Scalar Arguments .. INTEGER INFO, N @@ -13,62 +137,6 @@ COMPLEX*16 D( * ), DL( * ), DU( * ), DU2( * ) * .. * -* Purpose -* ======= -* -* ZGTTRF computes an LU factorization of a complex tridiagonal matrix A -* using elimination with partial pivoting and row interchanges. -* -* The factorization has the form -* A = L * U -* where L is a product of permutation and unit lower bidiagonal -* matrices and U is upper triangular with nonzeros in only the main -* diagonal and first two superdiagonals. -* -* Arguments -* ========= -* -* N (input) INTEGER -* The order of the matrix A. -* -* DL (input/output) COMPLEX*16 array, dimension (N-1) -* On entry, DL must contain the (n-1) sub-diagonal elements of -* A. -* -* On exit, DL is overwritten by the (n-1) multipliers that -* define the matrix L from the LU factorization of A. -* -* D (input/output) COMPLEX*16 array, dimension (N) -* On entry, D must contain the diagonal elements of A. -* -* On exit, D is overwritten by the n diagonal elements of the -* upper triangular matrix U from the LU factorization of A. -* -* DU (input/output) COMPLEX*16 array, dimension (N-1) -* On entry, DU must contain the (n-1) super-diagonal elements -* of A. -* -* On exit, DU is overwritten by the (n-1) elements of the first -* super-diagonal of U. -* -* DU2 (output) COMPLEX*16 array, dimension (N-2) -* On exit, DU2 is overwritten by the (n-2) elements of the -* second super-diagonal of U. -* -* IPIV (output) INTEGER array, dimension (N) -* The pivot indices; for 1 <= i <= n, row i of the matrix was -* interchanged with row IPIV(i). IPIV(i) will always be either -* i or i+1; IPIV(i) = i indicates a row interchange was not -* required. -* -* INFO (output) INTEGER -* = 0: successful exit -* < 0: if INFO = -k, the k-th argument had an illegal value -* > 0: if INFO = k, U(k,k) 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. -* * ===================================================================== * * .. Parameters ..