Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dla_gbrcond (3p)

Name

dla_gbrcond - estimate the Skeel condition number for a general banded matrix

Synopsis

DOUBLE PRECISION FUNCTION DLA_GBRCOND(TRANS, N, KL, KU, AB, LDAB,  AFB,
LDAFB, IPIV, CMODE, C, INFO, WORK, IWORK)


CHARACTER*1 TRANS

INTEGER N, LDAB, LDAFB, INFO, KL, KU, CMODE

INTEGER IWORK(*), IPIV(*)

DOUBLE PRECISION AB(LDAB,*), AFB(LDAFB,*), WORK(*), C(*)


DOUBLE  PRECISION  FUNCTION  DLA_GBRCOND_64(TRANS, N, KL, KU, AB, LDAB,
AFB, LDAFB, IPIV, CMODE, C, INFO, WORK, IWORK)


CHARACTER*1 TRANS

INTEGER*8 N, LDAB, LDAFB, INFO, KL, KU, CMODE

INTEGER*8 IWORK(*), IPIV(*)

DOUBLE PRECISION AB(LDAB,*), AFB(LDAFB,*), WORK(*), C(*)


F95 INTERFACE
REAL(8) FUNCTION LA_GBRCOND(TRANS, N, KL, KU,  AB,  LDAB,  AFB,  LDAFB,
IPIV, CMODE, C, INFO, WORK, IWORK)


INTEGER :: N, KL, KU, LDAB, LDAFB, CMODE, INFO

CHARACTER(LEN=1) :: TRANS

INTEGER, DIMENSION(:) :: IPIV, IWORK

REAL(8), DIMENSION(:,:) :: AB, AFB

REAL(8), DIMENSION(:) :: C, WORK


REAL(8)  FUNCTION LA_GBRCOND_64(TRANS, N, KL, KU, AB, LDAB, AFB, LDAFB,
IPIV, CMODE, C, INFO, WORK, IWORK)


INTEGER(8) :: N, KL, KU, LDAB, LDAFB, CMODE, INFO

CHARACTER(LEN=1) :: TRANS

INTEGER(8), DIMENSION(:) :: IPIV, IWORK

REAL(8), DIMENSION(:,:) :: AB, AFB

REAL(8), DIMENSION(:) :: C, WORK


C INTERFACE
#include <sunperf.h>

double dla_gbrcond (char trans, int n, int kl, int ku, double *ab,  int
ldab,  double  *  fb, int ldafb, int *ipiv, int cmode, double
*c, int *info);

double dla_gbrcond_64 (char trans, long n, long  kl,  long  ku,  double
*ab,  long  ldab,  double  *afb, long ldafb, long *ipiv, long
cmode, double *c, long *info);

Description

Oracle Solaris Studio Performance Library                      dla_gbrcond(3P)



NAME
       dla_gbrcond  - estimate the Skeel condition number for a general banded
       matrix


SYNOPSIS
       DOUBLE PRECISION FUNCTION DLA_GBRCOND(TRANS, N, KL, KU, AB, LDAB,  AFB,
                 LDAFB, IPIV, CMODE, C, INFO, WORK, IWORK)


       CHARACTER*1 TRANS

       INTEGER N, LDAB, LDAFB, INFO, KL, KU, CMODE

       INTEGER IWORK(*), IPIV(*)

       DOUBLE PRECISION AB(LDAB,*), AFB(LDAFB,*), WORK(*), C(*)


       DOUBLE  PRECISION  FUNCTION  DLA_GBRCOND_64(TRANS, N, KL, KU, AB, LDAB,
                 AFB, LDAFB, IPIV, CMODE, C, INFO, WORK, IWORK)


       CHARACTER*1 TRANS

       INTEGER*8 N, LDAB, LDAFB, INFO, KL, KU, CMODE

       INTEGER*8 IWORK(*), IPIV(*)

       DOUBLE PRECISION AB(LDAB,*), AFB(LDAFB,*), WORK(*), C(*)


   F95 INTERFACE
       REAL(8) FUNCTION LA_GBRCOND(TRANS, N, KL, KU,  AB,  LDAB,  AFB,  LDAFB,
                 IPIV, CMODE, C, INFO, WORK, IWORK)


       INTEGER :: N, KL, KU, LDAB, LDAFB, CMODE, INFO

       CHARACTER(LEN=1) :: TRANS

       INTEGER, DIMENSION(:) :: IPIV, IWORK

       REAL(8), DIMENSION(:,:) :: AB, AFB

       REAL(8), DIMENSION(:) :: C, WORK


       REAL(8)  FUNCTION LA_GBRCOND_64(TRANS, N, KL, KU, AB, LDAB, AFB, LDAFB,
                 IPIV, CMODE, C, INFO, WORK, IWORK)


       INTEGER(8) :: N, KL, KU, LDAB, LDAFB, CMODE, INFO

       CHARACTER(LEN=1) :: TRANS

       INTEGER(8), DIMENSION(:) :: IPIV, IWORK

       REAL(8), DIMENSION(:,:) :: AB, AFB

       REAL(8), DIMENSION(:) :: C, WORK


   C INTERFACE
       #include <sunperf.h>

       double dla_gbrcond (char trans, int n, int kl, int ku, double *ab,  int
                 ldab,  double  *  fb, int ldafb, int *ipiv, int cmode, double
                 *c, int *info);

       double dla_gbrcond_64 (char trans, long n, long  kl,  long  ku,  double
                 *ab,  long  ldab,  double  *afb, long ldafb, long *ipiv, long
                 cmode, double *c, long *info);


PURPOSE
       dla_gbrcond 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  equili-
       brated 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.


       KL (input)
                 KL is INTEGER
                 The number of subdiagonals within the band of A. KL >= 0.


       KU (input)
                 KU is INTEGER
                 The number of superdiagonals within the band of A. KU >= 0.


       AB (input)
                 AB is DOUBLE PRECISION array, dimension (LDAB,N)
                 On entry, the matrix A in band storage, in rows 1 to KL+KU+1.
                 The  j-th  column  of  A  is stored in the j-th column of the
                 array AB as follows:
                 AB(KU+1+i-j,j) = A(i,j)
                 for max(1,j-KU)<=i<=min(N,j+kl)


       LDAB (input)
                 LDAB is INTEGER
                 The leading dimension of the array AB.
                 LDAB >= KL+KU+1.


       AFB (input)
                 AFB is DOUBLE PRECISION array, dimension (LDAFB,N)
                 Details of the LU factorization of the band matrix A, as com-
                 puted  by  DGBTRF.  U  is  stored as an upper triangular band
                 matrix with KL+KU superdiagonals in rows 1  to  KL+KU+1,  and
                 the  multipliers  used during the factorization are stored in
                 rows KL+KU+2 to 2*KL+KU+1.


       LDAFB (input)
                 LDAFB is INTEGER
                 The leading dimension of the array AFB.
                 LDAFB >= 2*KL+KU+1.


       IPIV (input)
                 IPIV is INTEGER array, dimension (N)
                 The pivot indices from the factorization A=P*L*U as  computed
                 by  DGBTRF;  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 (5*N).
                 Workspace.


       IWORK (input)
                 IWORK is INTEGER array, dimension (N).
                 Workspace.




                                  7 Nov 2015                   dla_gbrcond(3P)