Contents
spocon - estimate the reciprocal of the condition number (in
the 1-norm) of a real symmetric positive definite matrix
using the Cholesky factorization A = U**T*U or A = L*L**T
computed by SPOTRF
SUBROUTINE SPOCON(UPLO, N, A, LDA, ANORM, RCOND, WORK, WORK2, INFO)
CHARACTER * 1 UPLO
INTEGER N, LDA, INFO
INTEGER WORK2(*)
REAL ANORM, RCOND
REAL A(LDA,*), WORK(*)
SUBROUTINE SPOCON_64(UPLO, N, A, LDA, ANORM, RCOND, WORK, WORK2,
INFO)
CHARACTER * 1 UPLO
INTEGER*8 N, LDA, INFO
INTEGER*8 WORK2(*)
REAL ANORM, RCOND
REAL A(LDA,*), WORK(*)
F95 INTERFACE
SUBROUTINE POCON(UPLO, [N], A, [LDA], ANORM, RCOND, [WORK], [WORK2],
[INFO])
CHARACTER(LEN=1) :: UPLO
INTEGER :: N, LDA, INFO
INTEGER, DIMENSION(:) :: WORK2
REAL :: ANORM, RCOND
REAL, DIMENSION(:) :: WORK
REAL, DIMENSION(:,:) :: A
SUBROUTINE POCON_64(UPLO, [N], A, [LDA], ANORM, RCOND, [WORK], [WORK2],
[INFO])
CHARACTER(LEN=1) :: UPLO
INTEGER(8) :: N, LDA, INFO
INTEGER(8), DIMENSION(:) :: WORK2
REAL :: ANORM, RCOND
REAL, DIMENSION(:) :: WORK
REAL, DIMENSION(:,:) :: A
C INTERFACE
#include <sunperf.h>
void spocon(char uplo, int n, float *a, int lda, float
anorm, float *rcond, int *info);
void spocon_64(char uplo, long n, float *a, long lda, float
anorm, float *rcond, long *info);
spocon estimates the reciprocal of the condition number (in
the 1-norm) of a real symmetric positive definite matrix
using the Cholesky factorization A = U**T*U or A = L*L**T
computed by SPOTRF.
An estimate is obtained for norm(inv(A)), and the reciprocal
of the condition number is computed as RCOND = 1 / (ANORM *
norm(inv(A))).
UPLO (input)
= 'U': Upper triangle of A is stored;
= 'L': Lower triangle of A is stored.
N (input) The order of the matrix A. N >= 0.
A (input) The triangular factor U or L from the Cholesky
factorization A = U**T*U or A = L*L**T, as com-
puted by SPOTRF.
LDA (input)
The leading dimension of the array A. LDA >=
max(1,N).
ANORM (input)
The 1-norm (or infinity-norm) of the symmetric
matrix A.
RCOND (output)
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) computed in this routine.
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