dla_syrcond - estimate the Skeel condition number for a symmetric indefinite matrix
DOUBLE PRECISION FUNCTION DLA_SYRCOND(UPLO, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) CHARACTER*1 UPLO INTEGER N, LDA, LDAF, INFO, CMODE INTEGER IWORK(*), IPIV(*) DOUBLE PRECISION A(LDA,*), AF(LDAF,*), WORK(*), C(*) DOUBLE PRECISION FUNCTION DLA_SYRCOND_64(UPLO, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) CHARACTER*1 UPLO INTEGER*8 N, LDA, LDAF, INFO, CMODE INTEGER*8 IWORK(*), IPIV(*) DOUBLE PRECISION A(LDA,*), AF(LDAF,*), WORK(*), C(*) F95 INTERFACE REAL(8) FUNCTION LA_SYRCOND(UPLO, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) INTEGER :: N, LDA, LDAF, CMODE, INFO CHARACTER(LEN=1) :: UPLO INTEGER, DIMENSION(:) :: IWORK REAL(8), DIMENSION(:,:) :: A, AF REAL(8), DIMENSION(:) :: C, WORK REAL(8) FUNCTION LA_SYRCOND_64(UPLO, N, A, LDA, AF, LDAF, IPIV, CMODE, C, INFO, WORK, IWORK) INTEGER(8) :: N, LDA, LDAF, CMODE, INFO CHARACTER(LEN=1) :: UPLO INTEGER(8), DIMENSION(:) :: IWORK REAL(8), DIMENSION(:,:) :: A, AF REAL(8), DIMENSION(:) :: C, WORK C INTERFACE #include <sunperf.h> double dla_syrcond (char uplo, int n, double *a, int lda, double *af, int ldaf, int cmode, double *c, int *info); double dla_syrcond_64 (char uplo, long n, double *a, long lda, double *af, long ldaf, long cmode, double *c, long *info);
Oracle Solaris Studio Performance Library dla_syrcond(3P)
NAME
dla_syrcond - estimate the Skeel condition number for a symmetric
indefinite matrix
SYNOPSIS
DOUBLE PRECISION FUNCTION DLA_SYRCOND(UPLO, N, A, LDA, AF, LDAF, IPIV,
CMODE, C, INFO, WORK, IWORK)
CHARACTER*1 UPLO
INTEGER N, LDA, LDAF, INFO, CMODE
INTEGER IWORK(*), IPIV(*)
DOUBLE PRECISION A(LDA,*), AF(LDAF,*), WORK(*), C(*)
DOUBLE PRECISION FUNCTION DLA_SYRCOND_64(UPLO, N, A, LDA, AF, LDAF,
IPIV, CMODE, C, INFO, WORK, IWORK)
CHARACTER*1 UPLO
INTEGER*8 N, LDA, LDAF, INFO, CMODE
INTEGER*8 IWORK(*), IPIV(*)
DOUBLE PRECISION A(LDA,*), AF(LDAF,*), WORK(*), C(*)
F95 INTERFACE
REAL(8) FUNCTION LA_SYRCOND(UPLO, N, A, LDA, AF, LDAF, IPIV, CMODE, C,
INFO, WORK, IWORK)
INTEGER :: N, LDA, LDAF, CMODE, INFO
CHARACTER(LEN=1) :: UPLO
INTEGER, DIMENSION(:) :: IWORK
REAL(8), DIMENSION(:,:) :: A, AF
REAL(8), DIMENSION(:) :: C, WORK
REAL(8) FUNCTION LA_SYRCOND_64(UPLO, N, A, LDA, AF, LDAF, IPIV, CMODE,
C, INFO, WORK, IWORK)
INTEGER(8) :: N, LDA, LDAF, CMODE, INFO
CHARACTER(LEN=1) :: UPLO
INTEGER(8), DIMENSION(:) :: IWORK
REAL(8), DIMENSION(:,:) :: A, AF
REAL(8), DIMENSION(:) :: C, WORK
C INTERFACE
#include <sunperf.h>
double dla_syrcond (char uplo, int n, double *a, int lda, double *af,
int ldaf, int cmode, double *c, int *info);
double dla_syrcond_64 (char uplo, long n, double *a, long lda, double
*af, long ldaf, long cmode, double *c, long *info);
PURPOSE
dla_syrcond 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 condi-
tion number cond(A) = norminf( |inv(A)||A| ) is computed by computing
scaling factors R such that diag(R)*A*op2(C) is row equilibrated and
computing the standard infinity-norm condition number.
ARGUMENTS
UPLO (input)
UPLO is CHARACTER*1
= 'U': Upper triangle of A is stored;
= 'L': Lower triangle of A is stored.
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 block diagonal matrix D and the multipliers used to
obtain the factor U or L as computed by DSYTRF.
LDAF (input)
LDAF is INTEGER
The leading dimension of the array AF. LDAF >= max(1,N).
IPIV (input)
IPIV is INTEGER array, dimension (N)
Details of the interchanges and the block structure of D as
determined by DSYTRF.
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_syrcond(3P)