dla_gercond - estimate the Skeel condition number for a general matrix
DOUBLE PRECISION FUNCTION DLA_GERCOND (TRANS, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) CHARACTER*1 TRANS INTEGER N, LDA, LDAF, INFO, CMODE INTEGER IPIV(*), IWORK(*) DOUBLE PRECISION A(LDA,*), AF(LDAF,*), WORK(*), C(*) DOUBLE PRECISION FUNCTION DLA_GERCOND_64 (TRANS, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) CHARACTER*1 TRANS INTEGER*8 N, LDA, LDAF, INFO, CMODE INTEGER*8 IPIV(*), IWORK(*) DOUBLE PRECISION A(LDA,*), AF(LDAF,*), WORK(*), C(*) F95 INTERFACE REAL(8) FUNCTION LA_GERCOND ( TRANS, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) INTEGER :: N, LDA, LDAF, CMODE, INFO CHARACTER(LEN=1) :: TRANS INTEGER, DIMENSION(:) :: IPIV, IWORK REAL(8), DIMENSION(:,:) :: A, AF REAL(8), DIMENSION(:) :: C, WORK REAL(8) FUNCTION LA_GERCOND_64 (TRANS, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) INTEGER(8) :: N, LDA, LDAF, CMODE, INFO CHARACTER(LEN=1) :: TRANS INTEGER(8), DIMENSION(:) :: IPIV, IWORK REAL(8), DIMENSION(:,:) :: A, AF REAL(8), DIMENSION(:) :: C, WORK C INTERFACE #include <sunperf.h> double dla_gercond (char trans, int n, double *a, int lda, double *af, int ldaf, int *ipiv, int cmode, double *c, int *info); double dla_gercond_64 (char trans, long n, double *a, long lda, double *af, long ldaf, long *ipiv, long cmode, double *c, long *info);
Oracle Solaris Studio Performance Library dla_gercond(3P) NAME dla_gercond - estimate the Skeel condition number for a general matrix SYNOPSIS DOUBLE PRECISION FUNCTION DLA_GERCOND (TRANS, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) CHARACTER*1 TRANS INTEGER N, LDA, LDAF, INFO, CMODE INTEGER IPIV(*), IWORK(*) DOUBLE PRECISION A(LDA,*), AF(LDAF,*), WORK(*), C(*) DOUBLE PRECISION FUNCTION DLA_GERCOND_64 (TRANS, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) CHARACTER*1 TRANS INTEGER*8 N, LDA, LDAF, INFO, CMODE INTEGER*8 IPIV(*), IWORK(*) DOUBLE PRECISION A(LDA,*), AF(LDAF,*), WORK(*), C(*) F95 INTERFACE REAL(8) FUNCTION LA_GERCOND ( TRANS, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) INTEGER :: N, LDA, LDAF, CMODE, INFO CHARACTER(LEN=1) :: TRANS INTEGER, DIMENSION(:) :: IPIV, IWORK REAL(8), DIMENSION(:,:) :: A, AF REAL(8), DIMENSION(:) :: C, WORK REAL(8) FUNCTION LA_GERCOND_64 (TRANS, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) INTEGER(8) :: N, LDA, LDAF, CMODE, INFO CHARACTER(LEN=1) :: TRANS INTEGER(8), DIMENSION(:) :: IPIV, IWORK REAL(8), DIMENSION(:,:) :: A, AF REAL(8), DIMENSION(:) :: C, WORK C INTERFACE #include <sunperf.h> double dla_gercond (char trans, int n, double *a, int lda, double *af, int ldaf, int *ipiv, int cmode, double *c, int *info); double dla_gercond_64 (char trans, long n, double *a, long lda, double *af, long ldaf, long *ipiv, long cmode, double *c, long *info); PURPOSE dla_gercond estimates the Skeel condition number of op(A)*op2(C) where op2 is determined by CMODE as follows CMODE = 1 op2(C) = C CMODE = 0 op2(C) = I CMODE = -1 op2(C) = inv(C) The Skeel condition number cond(A) = norminf( |inv(A)||A| ) is computed by computing scaling factors R such that diag(R)*A*op2(C) is row equi- librated and computing the standard infinity-norm condition number. ARGUMENTS TRANS (input) TRANS is CHARACTER*1 Specifies the form of the system of equations: = 'N': A * X = B (No transpose) = 'T': A**T * X = B (Transpose) = 'C': A**H * X = B (Conjugate Transpose = Transpose) N (input) N is INTEGER The number of linear equations, i.e., the order of the matrix A. N >= 0. A (input) A is DOUBLE PRECISION array, dimension (LDA,N) On entry, the N-by-N matrix A. LDA (input) LDA is INTEGER The leading dimension of the array A. LDA >= max(1,N). AF (input) AF is DOUBLE PRECISION array, dimension (LDAF,N) The factors L and U from the factorization A=P*L*U as com- puted by DGETRF. LDAF (input) LDAF is INTEGER The leading dimension of the array AF. LDAF >= max(1,N). IPIV (input) IPIV is INTEGER array, dimension (N) The pivot indices from the factorization A=P*L*U as computed by DGETRF; row i of the matrix was interchanged with row IPIV(i). CMODE (input) CMODE is INTEGER Determines op2(C) in the formula op(A) * op2(C) as follows: CMODE = 1 op2(C) = C CMODE = 0 op2(C) = I CMODE = -1 op2(C) = inv(C) C (input) C is DOUBLE PRECISION array, dimension (N) The vector C in the formula op(A) * op2(C). INFO (output) INFO is INTEGER = 0: Successful exit. i > 0: The ith argument is invalid. WORK (input) WORK is DOUBLE PRECISION array, dimension (3*N). Workspace. IWORK (input) IWORK is INTEGER array, dimension (N). Workspace. 7 Nov 2015 dla_gercond(3P)