sla_syrpvgrw - compute the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite matrix
REAL FUNCTION SLA_SYRPVGRW(UPLO, N, INFO, A, LDA, AF, LDAF, IPIV, WORK) CHARACTER*1 UPLO INTEGER N, INFO, LDA, LDAF INTEGER IPIV(*) REAL A(LDA,*), AF(LDAF,*), WORK(*) REAL FUNCTION SLA_SYRPVGRW_64(UPLO, N, INFO, A, LDA, AF, LDAF, IPIV, WORK) CHARACTER*1 UPLO INTEGER*8 N, INFO, LDA, LDAF INTEGER*8 IPIV(*) REAL A(LDA,*), AF(LDAF,*), WORK(*) F95 INTERFACE REAL FUNCTION LA_SYRPVGRW(UPLO, N, INFO, A, LDA, AF, LDAF, IPIV, WORK) REAL, DIMENSION(:,:) :: A, AF INTEGER :: N, INFO, LDA, LDAF CHARACTER(LEN=1) :: UPLO INTEGER, DIMENSION(:) :: IPIV REAL, DIMENSION(:) :: WORK REAL FUNCTION LA_SYRPVGRW_64(UPLO, N, INFO, A, LDA, AF, LDAF, IPIV, WORK) REAL, DIMENSION(:,:) :: A, AF INTEGER(8) :: N, INFO, LDA, LDAF CHARACTER(LEN=1) :: UPLO INTEGER(8), DIMENSION(:) :: IPIV REAL, DIMENSION(:) :: WORK C INTERFACE #include <sunperf.h> float sla_syrpvgrw (char uplo, int n, int info, float *a, int lda, float *af, int ldaf, int *ipiv); float sla_syrpvgrw_64 (char uplo, long n, long info, float *a, long lda, float *af, long ldaf, long *ipiv);
Oracle Solaris Studio Performance Library sla_syrpvgrw(3P) NAME sla_syrpvgrw - compute the reciprocal pivot growth factor norm(A)/norm(U) for a symmetric indefinite matrix SYNOPSIS REAL FUNCTION SLA_SYRPVGRW(UPLO, N, INFO, A, LDA, AF, LDAF, IPIV, WORK) CHARACTER*1 UPLO INTEGER N, INFO, LDA, LDAF INTEGER IPIV(*) REAL A(LDA,*), AF(LDAF,*), WORK(*) REAL FUNCTION SLA_SYRPVGRW_64(UPLO, N, INFO, A, LDA, AF, LDAF, IPIV, WORK) CHARACTER*1 UPLO INTEGER*8 N, INFO, LDA, LDAF INTEGER*8 IPIV(*) REAL A(LDA,*), AF(LDAF,*), WORK(*) F95 INTERFACE REAL FUNCTION LA_SYRPVGRW(UPLO, N, INFO, A, LDA, AF, LDAF, IPIV, WORK) REAL, DIMENSION(:,:) :: A, AF INTEGER :: N, INFO, LDA, LDAF CHARACTER(LEN=1) :: UPLO INTEGER, DIMENSION(:) :: IPIV REAL, DIMENSION(:) :: WORK REAL FUNCTION LA_SYRPVGRW_64(UPLO, N, INFO, A, LDA, AF, LDAF, IPIV, WORK) REAL, DIMENSION(:,:) :: A, AF INTEGER(8) :: N, INFO, LDA, LDAF CHARACTER(LEN=1) :: UPLO INTEGER(8), DIMENSION(:) :: IPIV REAL, DIMENSION(:) :: WORK C INTERFACE #include <sunperf.h> float sla_syrpvgrw (char uplo, int n, int info, float *a, int lda, float *af, int ldaf, int *ipiv); float sla_syrpvgrw_64 (char uplo, long n, long info, float *a, long lda, float *af, long ldaf, long *ipiv); PURPOSE sla_syrpvgrw computes the reciprocal pivot growth factor norm(A)/norm(U). The "max absolute element" norm is used. If this is much less than 1, the stability of the LU factorization of the (equili- brated) matrix A could be poor. This also means that the solution X, estimated condition numbers, and error bounds could be unreliable. 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. INFO (input) INFO is INTEGER The value of INFO returned from SSYTRF, i.e., the pivot in column INFO is exactly 0. A (input) A is REAL 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 REAL array, dimension (LDAF,N) The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by SSYTRF. 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 SSYTRF. WORK (input) WORK is REAL array, dimension (2*N) 7 Nov 2015 sla_syrpvgrw(3P)