# ?la_gbrcond

Estimates the Skeel condition number for a general banded matrix.

## Syntax

FORTRAN 77:

call sla_gbrcond( trans, n, kl, ku, ab, ldab, afb, ldafb, ipiv, cmode, c, info, work, iwork )

call dla_gbrcond( trans, n, kl, ku, ab, ldab, afb, ldafb, ipiv, cmode, c, info, work, iwork )

## Include Files

• Fortran: mkl.fi
• C: mkl.h

## Description

The function estimates the Skeel condition number of

`op(A) * op2(C)`

where

the cmode parameter determines `op2` as follows:

cmode Value

op2(C)

1

C

0

I

-1

`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 equilibrated and by computing the standard infinity-norm condition number.

## Input Parameters

trans

CHARACTER*1. Must be 'N' or 'T' or 'C'.

Specifies the form of the system of equations:

If `trans = 'N'`, the system has the form A*X = B.

If `trans = 'T'`, the system has the form AT*X = B.

If `trans = 'C'`, the system has the form AH*X = B.

n

INTEGER. The number of linear equations, that is, the order of the matrix A; n 0.

kl

INTEGER. The number of subdiagonals within the band of A; kl 0.

ku

INTEGER. The number of superdiagonals within the band of A; ku 0.

ab, afb, c, work

REAL for sla_gbrcond

DOUBLE PRECISION for dla_gbrcond

Arrays:

ab(ldab,*) contains the original band matrix A stored in rows from 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)`

afb(ldafb,*) contains details of the LU factorization of the band matrix A, as returned by ?gbtrf. 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`.

c, DIMENSION n. The vector `C` in the formula `op(A) * op2(C)`.

work is a workspace array of DIMENSION (5*n).

The second dimension of ab and afb must be at least `max(1, n)`.

ldab

INTEGER. The leading dimension of the array ab. ldab `kl+ku+1`.

ldafb

INTEGER. The leading dimension of afb. ldafb `2*kl+ku+1`.

ipiv

INTEGER.

Array with DIMENSION n. The pivot indices from the factorization `A = P*L*U` as computed by ?gbtrf. Row i of the matrix was interchanged with row `ipiv(i)`.

cmode

INTEGER. Determines `op2(C)` in the formula `op(A) * op2(C)` as follows:

If `cmode = 1`, `op2(C)` = `C`.

If `cmode = 0`, `op2(C)` = `I`.

If `cmode = -1`, `op2(C)` = `inv(C)`.

iwork

INTEGER. Workspace array with DIMENSION n.

## Output Parameters

info

INTEGER.

If info = 0, the execution is successful.

If i > 0, the i-th parameter is invalid.