--- 
:name: sla_gbrcond
:md5sum: ff5d11e89ee27a58b83e3bf9843a8a8c
:category: :function
:type: real
:arguments: 
- trans: 
    :type: char
    :intent: input
- n: 
    :type: integer
    :intent: input
- kl: 
    :type: integer
    :intent: input
- ku: 
    :type: integer
    :intent: input
- ab: 
    :type: real
    :intent: input
    :dims: 
    - ldab
    - n
- ldab: 
    :type: integer
    :intent: input
- afb: 
    :type: real
    :intent: input
    :dims: 
    - ldafb
    - n
- ldafb: 
    :type: integer
    :intent: input
- ipiv: 
    :type: integer
    :intent: input
    :dims: 
    - n
- cmode: 
    :type: integer
    :intent: input
- c: 
    :type: real
    :intent: input
    :dims: 
    - n
- info: 
    :type: integer
    :intent: output
- work: 
    :type: real
    :intent: input
    :dims: 
    - 5*n
- iwork: 
    :type: integer
    :intent: input
    :dims: 
    - n
:substitutions: {}

:fortran_help: "      REAL FUNCTION SLA_GBRCOND( TRANS, N, KL, KU, AB, LDAB, AFB, LDAFB, IPIV, CMODE, C, INFO, WORK, IWORK )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *     SLA_GBRCOND Estimates the Skeel condition number of  op(A) * op2(C)\n\
  *     where op2 is determined by CMODE as follows\n\
  *     CMODE =  1    op2(C) = C\n\
  *     CMODE =  0    op2(C) = I\n\
  *     CMODE = -1    op2(C) = inv(C)\n\
  *     The Skeel condition number  cond(A) = norminf( |inv(A)||A| )\n\
  *     is computed by computing scaling factors R such that\n\
  *     diag(R)*A*op2(C) is row equilibrated and computing the standard\n\
  *     infinity-norm condition number.\n\
  *\n\n\
  *  Arguments\n\
  *  ==========\n\
  *\n\
  *     TRANS   (input) CHARACTER*1\n\
  *     Specifies the form of the system of equations:\n\
  *       = 'N':  A * X = B     (No transpose)\n\
  *       = 'T':  A**T * X = B  (Transpose)\n\
  *       = 'C':  A**H * X = B  (Conjugate Transpose = Transpose)\n\
  *\n\
  *     N       (input) INTEGER\n\
  *     The number of linear equations, i.e., the order of the\n\
  *     matrix A.  N >= 0.\n\
  *\n\
  *     KL      (input) INTEGER\n\
  *     The number of subdiagonals within the band of A.  KL >= 0.\n\
  *\n\
  *     KU      (input) INTEGER\n\
  *     The number of superdiagonals within the band of A.  KU >= 0.\n\
  *\n\
  *     AB      (input) REAL array, dimension (LDAB,N)\n\
  *     On entry, the matrix A in band storage, in rows 1 to KL+KU+1.\n\
  *     The j-th column of A is stored in the j-th column of the\n\
  *     array AB as follows:\n\
  *     AB(KU+1+i-j,j) = A(i,j) for max(1,j-KU)<=i<=min(N,j+kl)\n\
  *\n\
  *     LDAB    (input) INTEGER\n\
  *     The leading dimension of the array AB.  LDAB >= KL+KU+1.\n\
  *\n\
  *     AFB     (input) REAL array, dimension (LDAFB,N)\n\
  *     Details of the LU factorization of the band matrix A, as\n\
  *     computed by SGBTRF.  U is stored as an upper triangular\n\
  *     band matrix with KL+KU superdiagonals in rows 1 to KL+KU+1,\n\
  *     and the multipliers used during the factorization are stored\n\
  *     in rows KL+KU+2 to 2*KL+KU+1.\n\
  *\n\
  *     LDAFB   (input) INTEGER\n\
  *     The leading dimension of the array AFB.  LDAFB >= 2*KL+KU+1.\n\
  *\n\
  *     IPIV    (input) INTEGER array, dimension (N)\n\
  *     The pivot indices from the factorization A = P*L*U\n\
  *     as computed by SGBTRF; row i of the matrix was interchanged\n\
  *     with row IPIV(i).\n\
  *\n\
  *     CMODE   (input) INTEGER\n\
  *     Determines op2(C) in the formula op(A) * op2(C) as follows:\n\
  *     CMODE =  1    op2(C) = C\n\
  *     CMODE =  0    op2(C) = I\n\
  *     CMODE = -1    op2(C) = inv(C)\n\
  *\n\
  *     C       (input) REAL array, dimension (N)\n\
  *     The vector C in the formula op(A) * op2(C).\n\
  *\n\
  *     INFO    (output) INTEGER\n\
  *       = 0:  Successful exit.\n\
  *     i > 0:  The ith argument is invalid.\n\
  *\n\
  *     WORK    (input) REAL array, dimension (5*N).\n\
  *     Workspace.\n\
  *\n\
  *     IWORK   (input) INTEGER array, dimension (N).\n\
  *     Workspace.\n\
  *\n\n\
  *  =====================================================================\n\
  *\n\
  *     .. Local Scalars ..\n      LOGICAL            NOTRANS\n      INTEGER            KASE, I, J, KD, KE\n      REAL               AINVNM, TMP\n\
  *     ..\n\
  *     .. Local Arrays ..\n      INTEGER            ISAVE( 3 )\n\
  *     ..\n\
  *     .. External Functions ..\n      LOGICAL            LSAME\n      EXTERNAL           LSAME\n\
  *     ..\n\
  *     .. External Subroutines ..\n      EXTERNAL           SLACN2, SGBTRS, XERBLA\n\
  *     ..\n\
  *     .. Intrinsic Functions ..\n      INTRINSIC          ABS, MAX\n\
  *     ..\n"
