F07 Chapter Contents
F07 Chapter Introduction
NAG Library Manual

# NAG Library Routine DocumentF07JUF (ZPTCON)

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

## 1  Purpose

F07JUF (ZPTCON) computes the reciprocal condition number of a complex $n$ by $n$ Hermitian positive definite tridiagonal matrix $A$, using the $LD{L}^{\mathrm{H}}$ factorization returned by F07JRF (ZPTTRF).

## 2  Specification

 SUBROUTINE F07JUF ( N, D, E, ANORM, RCOND, RWORK, INFO)
 INTEGER N, INFO REAL (KIND=nag_wp) D(*), ANORM, RCOND, RWORK(N) COMPLEX (KIND=nag_wp) E(*)
The routine may be called by its LAPACK name zptcon.

## 3  Description

F07JUF (ZPTCON) should be preceded by a call to F07JRF (ZPTTRF), which computes a modified Cholesky factorization of the matrix $A$ as
 $A=LDLH ,$
where $L$ is a unit lower bidiagonal matrix and $D$ is a diagonal matrix, with positive diagonal elements. F07JUF (ZPTCON) then utilizes the factorization to compute ${‖{A}^{-1}‖}_{1}$ by a direct method, from which the reciprocal of the condition number of $A$, $1/\kappa \left(A\right)$ is computed as
 $1/κ1A=1 / A1 A-11 .$
$1/\kappa \left(A\right)$ is returned, rather than $\kappa \left(A\right)$, since when $A$ is singular $\kappa \left(A\right)$ is infinite.

## 4  References

Higham N J (2002) Accuracy and Stability of Numerical Algorithms (2nd Edition) SIAM, Philadelphia

## 5  Parameters

1:     N – INTEGERInput
On entry: $n$, the order of the matrix $A$.
Constraint: ${\mathbf{N}}\ge 0$.
2:     D($*$) – REAL (KIND=nag_wp) arrayInput
Note: the dimension of the array D must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{N}}\right)$.
On entry: must contain the $n$ diagonal elements of the diagonal matrix $D$ from the $LD{L}^{\mathrm{H}}$ factorization of $A$.
3:     E($*$) – COMPLEX (KIND=nag_wp) arrayInput
Note: the dimension of the array E must be at least $\mathrm{max}\phantom{\rule{0.125em}{0ex}}\left(1,{\mathbf{N}}-1\right)$.
On entry: must contain the $\left(n-1\right)$ subdiagonal elements of the unit lower bidiagonal matrix $L$. (E can also be regarded as the superdiagonal of the unit upper bidiagonal matrix $U$ from the ${U}^{\mathrm{H}}DU$ factorization of $A$.)
4:     ANORM – REAL (KIND=nag_wp)Input
On entry: the $1$-norm of the original matrix $A$, which may be computed by calling F06UPF with its parameter ${\mathbf{NORM}}=\text{'1'}$. ANORM must be computed either before calling F07JRF (ZPTTRF) or else from a copy of the original matrix $A$.
Constraint: ${\mathbf{ANORM}}\ge 0.0$.
5:     RCOND – REAL (KIND=nag_wp)Output
On exit: the reciprocal condition number, $1/{\kappa }_{1}\left(A\right)=1/\left({‖A‖}_{1}{‖{A}^{-1}‖}_{1}\right)$.
6:     RWORK(N) – REAL (KIND=nag_wp) arrayWorkspace
7:     INFO – INTEGEROutput
On exit: ${\mathbf{INFO}}=0$ unless the routine detects an error (see Section 6).

## 6  Error Indicators and Warnings

Errors or warnings detected by the routine:
${\mathbf{INFO}}<0$
If ${\mathbf{INFO}}=-i$, the $i$th argument had an illegal value. An explanatory message is output, and execution of the program is terminated.

## 7  Accuracy

The computed condition number will be the exact condition number for a closely neighbouring matrix.

The condition number estimation requires $\mathit{O}\left(n\right)$ floating point operations.
See Section 15.6 of Higham (2002) for further details on computing the condition number of tridiagonal matrices.
The real analogue of this routine is F07JGF (DPTCON).

## 9  Example

This example computes the condition number of the Hermitian positive definite tridiagonal matrix $A$ given by
 $A = 16.0i+00.0 16.0-16.0i 0.0i+0.0 0.0i+0.0 16.0+16.0i 41.0i+00.0 18.0+9.0i 0.0i+0.0 0.0i+00.0 18.0-09.0i 46.0i+0.0 1.0+4.0i 0.0i+00.0 0.0i+00.0 1.0-4.0i 21.0i+0.0 .$

### 9.1  Program Text

Program Text (f07jufe.f90)

### 9.2  Program Data

Program Data (f07jufe.d)

### 9.3  Program Results

Program Results (f07jufe.r)