Previous: dggsvp Up: ../lapack-d.html Next: dgtrfs

# dgtcon

```
NAME
DGTCON - estimate the reciprocal of the condition number of
a real tridiagonal matrix A using the LU factorization as
computed by DGTTRF

SYNOPSIS
SUBROUTINE DGTCON( NORM, N, DL, D, DU, DU2, IPIV, ANORM,
RCOND, WORK, IWORK, INFO )

CHARACTER      NORM

INTEGER        INFO, N

DOUBLE         PRECISION ANORM, RCOND

INTEGER        IPIV( * ), IWORK( * )

DOUBLE         PRECISION D( * ), DL( * ), DU( * ), DU2(
* ), WORK( * )

PURPOSE
DGTCON estimates the reciprocal of the condition number of a
real tridiagonal matrix A using the LU factorization as com-
puted by DGTTRF.

An estimate is obtained for norm(inv(A)), and the reciprocal
of the condition number is computed as RCOND = 1 / (ANORM *
norm(inv(A))).

ARGUMENTS
NORM    (input) CHARACTER*1
Specifies whether the 1-norm condition number or the
infinity-norm condition number is required:
= '1' or 'O':  1-norm;
= 'I':         Infinity-norm.

N       (input) INTEGER
The order of the matrix A.  N >= 0.

DL      (input) DOUBLE PRECISION array, dimension (N-1)
The (n-1) multipliers that define the matrix L from
the LU factorization of A as computed by DGTTRF.

D       (input) DOUBLE PRECISION array, dimension (N)
The n diagonal elements of the upper triangular
matrix U from the LU factorization of A.

DU      (input) DOUBLE PRECISION array, dimension (N-1)
The (n-1) elements of the first superdiagonal of U.

DU2     (input) DOUBLE PRECISION array, dimension (N-2)

The (n-2) elements of the second superdiagonal of U.

IPIV    (input) 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 indi-
cates a row interchange was not required.

ANORM   (input) DOUBLE PRECISION
The 1-norm of the original matrix A.

RCOND   (output) DOUBLE PRECISION
The reciprocal of the condition number of the matrix
A, computed as RCOND = 1/(ANORM * AINVNM), where
AINVNM is an estimate of the 1-norm of inv(A) com-
puted in this routine.

WORK    (workspace) DOUBLE PRECISION array, dimension (2*N)

IWORK   (workspace) INTEGER array, dimension (N)

INFO    (output) INTEGER
= 0:  successful exit
< 0:  if INFO = -i, the i-th argument had an illegal
value
```