ML_DGEBAL – Balancing of a general real matrix

Block SymbolLicensing group: MATRIX
PIC

Function Description
The output references yA and ySCALE are always set to the corresponding input references uA and uSCALE. If HLD = on then nothing is computed otherwise the LAPACK function DGEBAL is called internally:

DGEBAL(sJOB, N, uA, LDA, ilo, ihi, uSCALE, info);

where parameters of DGEBAL are set in the following way:

  • Integer input job is mapped to the string sJOB: {0,1}"N", {2}"P", {3}"S" and {4}"B".
  • N is number of columns of the square matrix referenced by uA.
  • LDA is the leading dimension of the matrix referenced by uA.
  • ilo and ihi are returned low and high row and column indices of the balanced submatrix of the matrix referenced by uA.
  • info is return code from the function DGEBAL.

The error flag E is set to on if:

  • the reference uA or uSCALE is not defined (i.e. input uA or uSCALE is not connected),
  • matrix referenced by uA is not square,
  • number of elements of the vector referenced by uSCALE is less than N.
  • the call of the function DGEBAL returns error using the function XERBLA, see the return code info and system log.

Emphasize that the indices ilo and ihi start from zero unlike FORTRAN version where they start from one. See LAPACK documentation [7] for more details.

Inputs

uA

Input reference to matrix A

Reference

uSCALE

Input reference to vector SCALE

Reference

job

Specifies the operations to be performed on matrix A   0  4

Long (I32)

HLD

Hold

Bool

Outputs

yA

Output reference to matrix A

Reference

ySCALE

Output reference to vector SCALE

Reference

ilo

Zero based low row and column index of working submatrix

Long (I32)

ihi

Zero based high row and column index of working submatrix

Long (I32)

E

Error indicator

Bool

info

LAPACK function result info. If info = -i, the i=th argument had an illegal value

Long (I32)

2023 © REX Controls s.r.o., www.rexygen.com