Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

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);

Description

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)