Contents
dtrcon - estimate the reciprocal of the condition number of
a triangular matrix A, in either the 1-norm or the
infinity-norm
SUBROUTINE DTRCON(NORM, UPLO, DIAG, N, A, LDA, RCOND, WORK, WORK2,
INFO)
CHARACTER * 1 NORM, UPLO, DIAG
INTEGER N, LDA, INFO
INTEGER WORK2(*)
DOUBLE PRECISION RCOND
DOUBLE PRECISION A(LDA,*), WORK(*)
SUBROUTINE DTRCON_64(NORM, UPLO, DIAG, N, A, LDA, RCOND, WORK, WORK2,
INFO)
CHARACTER * 1 NORM, UPLO, DIAG
INTEGER*8 N, LDA, INFO
INTEGER*8 WORK2(*)
DOUBLE PRECISION RCOND
DOUBLE PRECISION A(LDA,*), WORK(*)
F95 INTERFACE
SUBROUTINE TRCON(NORM, UPLO, DIAG, [N], A, [LDA], RCOND, [WORK], [WORK2],
[INFO])
CHARACTER(LEN=1) :: NORM, UPLO, DIAG
INTEGER :: N, LDA, INFO
INTEGER, DIMENSION(:) :: WORK2
REAL(8) :: RCOND
REAL(8), DIMENSION(:) :: WORK
REAL(8), DIMENSION(:,:) :: A
SUBROUTINE TRCON_64(NORM, UPLO, DIAG, [N], A, [LDA], RCOND, [WORK],
[WORK2], [INFO])
CHARACTER(LEN=1) :: NORM, UPLO, DIAG
INTEGER(8) :: N, LDA, INFO
INTEGER(8), DIMENSION(:) :: WORK2
REAL(8) :: RCOND
REAL(8), DIMENSION(:) :: WORK
REAL(8), DIMENSION(:,:) :: A
C INTERFACE
#include <sunperf.h>
void dtrcon(char norm, char uplo, char diag, int n, double
*a, int lda, double *rcond, int *info);
void dtrcon_64(char norm, char uplo, char diag, long n, dou-
ble *a, long lda, double *rcond, long *info);
dtrcon estimates the reciprocal of the condition number of a
triangular matrix A, in either the 1-norm or the infinity-
norm.
The norm of A is computed and an estimate is obtained for
norm(inv(A)), then the reciprocal of the condition number is
computed as
RCOND = 1 / ( norm(A) * norm(inv(A)) ).
NORM (input)
Specifies whether the 1-norm condition number or
the infinity-norm condition number is required:
= '1' or 'O': 1-norm;
= 'I': Infinity-norm.
UPLO (input)
= 'U': A is upper triangular;
= 'L': A is lower triangular.
DIAG (input)
= 'N': A is non-unit triangular;
= 'U': A is unit triangular.
N (input) The order of the matrix A. N >= 0.
A (input) The triangular matrix A. If UPLO = 'U', the lead-
ing N-by-N upper triangular part of the array A
contains the upper triangular matrix, and the
strictly lower triangular part of A is not refer-
enced. If UPLO = 'L', the leading N-by-N lower
triangular part of the array A contains the lower
triangular matrix, and the strictly upper triangu-
lar part of A is not referenced. If DIAG = 'U',
the diagonal elements of A are also not referenced
and are assumed to be 1.
LDA (input)
The leading dimension of the array A. LDA >=
max(1,N).
RCOND (output)
The reciprocal of the condition number of the
matrix A, computed as RCOND = 1/(norm(A) *
norm(inv(A))).
WORK (workspace)
dimension(3*N)
WORK2 (workspace)
dimension(N)
INFO (output)
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an ille-
gal value