Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 10/31/2024
Public
Document Table of Contents

?la_gercond

Estimates the Skeel condition number for a general matrix.

Syntax

call sla_gercond( trans, n, a, lda, af, ldaf, ipiv, cmode, c, info, work, iwork )

call dla_gercond( trans, n, a, lda, af, ldaf, ipiv, cmode, c, info, work, iwork )

Include Files

  • mkl.fi

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 (No transpose).

If trans = 'T', the system has the form AT*X = B (Transpose).

If trans = 'C', the system has the form AH*X = B (Conjugate Transpose = Transpose).

n

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

a, af, c, work

REAL for sla_gercond

DOUBLE PRECISION for dla_gercond

Arrays:

a(lda,*) contains the original general n-by-n matrix A.

af(ldaf,*) contains factors L and U from the factorization of the general matrix A=P*L*U, as returned by ?getrf.

c, DIMENSIONn. The vector C in the formula op(A) * op2(C).

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

The second dimension of a and af must be at least max(1, n).

lda

INTEGER. The leading dimension of the array a. ldamax(1,n).

ldaf

INTEGER. The leading dimension of af. ldafmax(1, n).

ipiv

INTEGER.

Array with DIMENSIONn. The pivot indices from the factorization A = P*L*U as computed by ?getrf. 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 DIMENSIONn.

Output Parameters

info

INTEGER.

If info = 0, the execution is successful.

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

See Also