CPOT03

   Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
   November 2006

Purpose

CPOT03 computes the residual for a Hermitian matrix times its
inverse:
   norm( I - A*AINV ) / ( N * norm(A) * norm(AINV) * EPS ),
where EPS is the machine epsilon.

Arguments

UPLO
(input) CHARACTER*1
Specifies whether the upper or lower triangular part of the
Hermitian matrix A is stored:
= 'U':  Upper triangular
= 'L':  Lower triangular
N
(input) INTEGER
The number of rows and columns of the matrix A.  N >= 0.
A
(input) COMPLEX array, dimension (LDA,N)
The original Hermitian matrix A.
LDA
(input) INTEGER
The leading dimension of the array A.  LDA >= max(1,N)
AINV
(input/output) COMPLEX array, dimension (LDAINV,N)
On entry, the inverse of the matrix A, stored as a Hermitian
matrix in the same format as A.
In this version, AINV is expanded into a full matrix and
multiplied by A, so the opposing triangle of AINV will be
changed; i.e., if the upper triangular part of AINV is
stored, the lower triangular part will be used as work space.
LDAINV
(input) INTEGER
The leading dimension of the array AINV.  LDAINV >= max(1,N).
WORK
(workspace) COMPLEX array, dimension (LDWORK,N)
LDWORK
(input) INTEGER
The leading dimension of the array WORK.  LDWORK >= max(1,N).
RWORK
(workspace) REAL array, dimension (N)
RCOND
(output) REAL
The reciprocal of the condition number of A, computed as
( 1/norm(A) ) / norm(AINV).
RESID
(output) REAL
norm(I - A*AINV) / ( N * norm(A) * norm(AINV) * EPS )

Call Graph

Caller Graph