Previous: cggsvp Up: ../lapack-c.html Next: cgtrfs

# cgtcon

```
NAME
CGTCON - estimate the reciprocal of the condition number of
a complex tridiagonal matrix A using the LU factorization as
computed by CGTTRF

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

CHARACTER      NORM

INTEGER        INFO, N

REAL           ANORM, RCOND

INTEGER        IPIV( * )

COMPLEX        D( * ), DL( * ), DU( * ), DU2( * ), WORK(
* )

PURPOSE
CGTCON estimates the reciprocal of the condition number of a
complex tridiagonal matrix A using the LU factorization as
computed by CGTTRF.

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) COMPLEX array, dimension (N-1)
The (n-1) multipliers that define the matrix L from
the LU factorization of A as computed by CGTTRF.

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

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

DU2     (input) COMPLEX 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) REAL
The 1-norm of the original matrix A.

RCOND   (output) REAL
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) COMPLEX array, dimension (2*N)

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