### ML_DGEBAL – Balancing of a general real matrix

Block SymbolLicensing group: MATRIX

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: $\left\{0,1\right\}\to \mathtt{\text{"N"}}$, $\left\{2\right\}\to \mathtt{\text{"P"}}$, $\left\{3\right\}\to \mathtt{\text{"S"}}$ and $\left\{4\right\}\to \mathtt{\text{"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 $\odot$0.00E+00 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)

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