![]()  | 
  
    LAPACK 3.12.1
    
   LAPACK: Linear Algebra PACKage 
   | 
 
| subroutine dlagtf | ( | integer | n, | 
| double precision, dimension( * ) | a, | ||
| double precision | lambda, | ||
| double precision, dimension( * ) | b, | ||
| double precision, dimension( * ) | c, | ||
| double precision | tol, | ||
| double precision, dimension( * ) | d, | ||
| integer, dimension( * ) | in, | ||
| integer | info ) | 
DLAGTF computes an LU factorization of a matrix T-λI, where T is a general tridiagonal matrix, and λ a scalar, using partial pivoting with row interchanges.
Download DLAGTF + dependencies [TGZ] [ZIP] [TXT]
!> !> DLAGTF factorizes the matrix (T - lambda*I), where T is an n by n !> tridiagonal matrix and lambda is a scalar, as !> !> T - lambda*I = PLU, !> !> where P is a permutation matrix, L is a unit lower tridiagonal matrix !> with at most one non-zero sub-diagonal elements per column and U is !> an upper triangular matrix with at most two non-zero super-diagonal !> elements per column. !> !> The factorization is obtained by Gaussian elimination with partial !> pivoting and implicit row scaling. !> !> The parameter LAMBDA is included in the routine so that DLAGTF may !> be used, in conjunction with DLAGTS, to obtain eigenvectors of T by !> inverse iteration. !>
| [in] | N | !> N is INTEGER !> The order of the matrix T. !>  | 
| [in,out] | A | !> A is DOUBLE PRECISION array, dimension (N) !> On entry, A must contain the diagonal elements of T. !> !> On exit, A is overwritten by the n diagonal elements of the !> upper triangular matrix U of the factorization of T. !>  | 
| [in] | LAMBDA | !> LAMBDA is DOUBLE PRECISION !> On entry, the scalar lambda. !>  | 
| [in,out] | B | !> B is DOUBLE PRECISION array, dimension (N-1) !> On entry, B must contain the (n-1) super-diagonal elements of !> T. !> !> On exit, B is overwritten by the (n-1) super-diagonal !> elements of the matrix U of the factorization of T. !>  | 
| [in,out] | C | !> C is DOUBLE PRECISION array, dimension (N-1) !> On entry, C must contain the (n-1) sub-diagonal elements of !> T. !> !> On exit, C is overwritten by the (n-1) sub-diagonal elements !> of the matrix L of the factorization of T. !>  | 
| [in] | TOL | !> TOL is DOUBLE PRECISION !> On entry, a relative tolerance used to indicate whether or !> not the matrix (T - lambda*I) is nearly singular. TOL should !> normally be chose as approximately the largest relative error !> in the elements of T. For example, if the elements of T are !> correct to about 4 significant figures, then TOL should be !> set to about 5*10**(-4). If TOL is supplied as less than eps, !> where eps is the relative machine precision, then the value !> eps is used in place of TOL. !>  | 
| [out] | D | !> D is DOUBLE PRECISION array, dimension (N-2) !> On exit, D is overwritten by the (n-2) second super-diagonal !> elements of the matrix U of the factorization of T. !>  | 
| [out] | IN | !> IN is INTEGER array, dimension (N) !> On exit, IN contains details of the permutation matrix P. If !> an interchange occurred at the kth step of the elimination, !> then IN(k) = 1, otherwise IN(k) = 0. The element IN(n) !> returns the smallest positive integer j such that !> !> abs( u(j,j) ) <= norm( (T - lambda*I)(j) )*TOL, !> !> where norm( A(j) ) denotes the sum of the absolute values of !> the jth row of the matrix A. If no such j exists then IN(n) !> is returned as zero. If IN(n) is returned as positive, then a !> diagonal element of U is small, indicating that !> (T - lambda*I) is singular or nearly singular, !>  | 
| [out] | INFO | !> INFO is INTEGER !> = 0: successful exit !> < 0: if INFO = -k, the kth argument had an illegal value !>  | 
Definition at line 153 of file dlagtf.f.