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)