cgbcon - estimate the reciprocal of the condition number of a complex general band matrix A, in either the 1-norm or the infinity-norm, using the LU factorization computed by CGBTRF
SUBROUTINE CGBCON(NORM, N, KL, KU, A, LDA, IPIVOT, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER*1 NORM COMPLEX A(LDA,*), WORK(*) INTEGER N, KL, KU, LDA, INFO INTEGER IPIVOT(*) REAL ANORM, RCOND REAL WORK2(*) SUBROUTINE CGBCON_64(NORM, N, KL, KU, A, LDA, IPIVOT, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER*1 NORM COMPLEX A(LDA,*), WORK(*) INTEGER*8 N, KL, KU, LDA, INFO INTEGER*8 IPIVOT(*) REAL ANORM, RCOND REAL WORK2(*) F95 INTERFACE SUBROUTINE GBCON(NORM, N, KL, KU, A, LDA, IPIVOT, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER(LEN=1) :: NORM COMPLEX, DIMENSION(:) :: WORK COMPLEX, DIMENSION(:,:) :: A INTEGER :: N, KL, KU, LDA, INFO INTEGER, DIMENSION(:) :: IPIVOT REAL :: ANORM, RCOND REAL, DIMENSION(:) :: WORK2 SUBROUTINE GBCON_64(NORM, N, KL, KU, A, LDA, IPIVOT, ANORM, RCOND, WORK, WORK2, INFO) CHARACTER(LEN=1) :: NORM COMPLEX, DIMENSION(:) :: WORK COMPLEX, DIMENSION(:,:) :: A INTEGER(8) :: N, KL, KU, LDA, INFO INTEGER(8), DIMENSION(:) :: IPIVOT REAL :: ANORM, RCOND REAL, DIMENSION(:) :: WORK2 C INTERFACE #include <sunperf.h> void cgbcon(char norm, int n, int kl, int ku, complex *a, int lda, int *ipivot, float anorm, float *rcond, int *info); void cgbcon_64(char norm, long n, long kl, long ku, complex *a, long lda, long *ipivot, float anorm, float *rcond, long *info);
Oracle Solaris Studio Performance Library cgbcon(3P)
NAME
cgbcon - estimate the reciprocal of the condition number of a complex
general band matrix A, in either the 1-norm or the infinity-norm, using
the LU factorization computed by CGBTRF
SYNOPSIS
SUBROUTINE CGBCON(NORM, N, KL, KU, A, LDA, IPIVOT, ANORM,
RCOND, WORK, WORK2, INFO)
CHARACTER*1 NORM
COMPLEX A(LDA,*), WORK(*)
INTEGER N, KL, KU, LDA, INFO
INTEGER IPIVOT(*)
REAL ANORM, RCOND
REAL WORK2(*)
SUBROUTINE CGBCON_64(NORM, N, KL, KU, A, LDA, IPIVOT, ANORM,
RCOND, WORK, WORK2, INFO)
CHARACTER*1 NORM
COMPLEX A(LDA,*), WORK(*)
INTEGER*8 N, KL, KU, LDA, INFO
INTEGER*8 IPIVOT(*)
REAL ANORM, RCOND
REAL WORK2(*)
F95 INTERFACE
SUBROUTINE GBCON(NORM, N, KL, KU, A, LDA, IPIVOT, ANORM,
RCOND, WORK, WORK2, INFO)
CHARACTER(LEN=1) :: NORM
COMPLEX, DIMENSION(:) :: WORK
COMPLEX, DIMENSION(:,:) :: A
INTEGER :: N, KL, KU, LDA, INFO
INTEGER, DIMENSION(:) :: IPIVOT
REAL :: ANORM, RCOND
REAL, DIMENSION(:) :: WORK2
SUBROUTINE GBCON_64(NORM, N, KL, KU, A, LDA, IPIVOT, ANORM,
RCOND, WORK, WORK2, INFO)
CHARACTER(LEN=1) :: NORM
COMPLEX, DIMENSION(:) :: WORK
COMPLEX, DIMENSION(:,:) :: A
INTEGER(8) :: N, KL, KU, LDA, INFO
INTEGER(8), DIMENSION(:) :: IPIVOT
REAL :: ANORM, RCOND
REAL, DIMENSION(:) :: WORK2
C INTERFACE
#include <sunperf.h>
void cgbcon(char norm, int n, int kl, int ku, complex *a, int lda, int
*ipivot, float anorm, float *rcond, int *info);
void cgbcon_64(char norm, long n, long kl, long ku, complex *a, long
lda, long *ipivot, float anorm, float *rcond, long *info);
PURPOSE
cgbcon estimates the reciprocal of the condition number of a complex
general band matrix A, in either the 1-norm or the infinity-norm, using
the LU factorization computed by CGBTRF.
An estimate is obtained for norm(inv(A)), and the reciprocal of the
condition number is computed as
RCOND = 1 / ( norm(A) * norm(inv(A)) ).
ARGUMENTS
NORM (input)
Specifies whether the 1-norm condition number or the infin-
ity-norm condition number is required:
= '1' or 'O': 1-norm;
= 'I': Infinity-norm.
N (input) The order of the matrix A. N >= 0.
KL (input)
The number of subdiagonals within the band of A. KL >= 0.
KU (input)
The number of superdiagonals within the band of A. KU >= 0.
A (input) Details of the LU factorization of the band matrix A, as com-
puted by CGBTRF. U is stored as an upper triangular band
matrix with KL+KU superdiagonals in rows 1 to KL+KU+1, and
the multipliers used during the factorization are stored in
rows KL+KU+2 to 2*KL+KU+1.
LDA (input)
The leading dimension of the array A. LDA >= 2*KL+KU+1.
IPIVOT (input)
The pivot indices; for 1 <= i <= N, row i of the matrix was
interchanged with row IPIVOT(i).
ANORM (input)
If NORM = '1' or 'O', the 1-norm of the original matrix A.
If NORM = 'I', the infinity-norm of the original matrix A.
RCOND (output)
The reciprocal of the condition number of the matrix A, com-
puted as RCOND = 1/(norm(A) * norm(inv(A))).
WORK (workspace)
dimension(2*N)
WORK2 (workspace)
dimension (N)
INFO (output)
= 0: successful exit;
< 0: if INFO = -i, the i-th argument had an illegal value.
7 Nov 2015 cgbcon(3P)