slagtf(3S)

SLAGTF - factorize the matrix (T - lambda*I), where T is an n by n tridiagonal matrix and lambda is a scalar, as T - lambda*I = PLU,

As shipped in IRIX 6.5.15. Added in IRIX 6.5.15.

NAME
     SLAGTF - factorize the matrix (T - lambda*I), where T is an n by n
     tridiagonal matrix and lambda is a scalar, as  T - lambda*I = PLU,

SYNOPSIS
     SUBROUTINE SLAGTF( N, A, LAMBDA, B, C, TOL, D, IN, INFO )

         INTEGER        INFO, N

         REAL           LAMBDA, TOL

         INTEGER        IN( * )

         REAL           A( * ), B( * ), C( * ), D( * )

IMPLEMENTATION
     These routines are part of the SCSL Scientific Library and can be loaded
     using either the -lscs or the -lscs_mp option.  The -lscs_mp option
     directs the linker to use the multi-processor version of the library.

     When linking to SCSL with -lscs or -lscs_mp, the default integer size is
     4 bytes (32 bits). Another version of SCSL is available in which integers
     are 8 bytes (64 bits).  This version allows the user access to larger
     memory sizes and helps when porting legacy Cray codes.  It can be loaded
     by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
     only one of the two versions; 4-byte integer and 8-byte integer library
     calls cannot be mixed.

PURPOSE
     SLAGTF 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 SLAGTF may be
     used, in conjunction with SLAGTS, to obtain eigenvectors of T by inverse
     iteration.


ARGUMENTS
     N       (input) INTEGER
             The order of the matrix T.

     A       (input/output) REAL 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.

     LAMBDA  (input) REAL
             On entry, the scalar lambda.

     B       (input/output) REAL 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.

     C       (input/output) REAL 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.

     TOL     (input) REAL
             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.

     D       (output) REAL 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.

     IN      (output) 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) ).le. 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,

     INFO    (output) INTEGER
             = 0   : successful exit

SEE ALSO
     INTRO_LAPACK(3S), INTRO_SCSL(3S)

     This man page is available only online.