Purpose
To restore a matrix after it has been transformed by applying balancing transformations (permutations and scalings), as determined by LAPACK Library routine DGEBAL.Specification
SUBROUTINE MB05OY( JOB, N, LOW, IGH, A, LDA, SCALE, INFO ) C .. Scalar Arguments .. CHARACTER JOB INTEGER IGH, INFO, LDA, LOW, N C .. Array Arguments .. DOUBLE PRECISION A(LDA,*), SCALE(*)Arguments
Mode Parameters
JOB CHARACTER*1 Specifies the type of backward transformation required, as follows: = 'N', do nothing, return immediately; = 'P', do backward transformation for permutation only; = 'S', do backward transformation for scaling only; = 'B', do backward transformations for both permutation and scaling. JOB must be the same as the argument JOB supplied to DGEBAL.Input/Output Parameters
N (input) INTEGER The order of the matrix A. N >= 0. LOW (input) INTEGER IGH (input) INTEGER The integers LOW and IGH determined by DGEBAL. 1 <= LOW <= IGH <= N, if N > 0; LOW=1 and IGH=0, if N=0. A (input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the leading N-by-N part of this array must contain the matrix to be back-transformed. On exit, the leading N-by-N part of this array contains the transformed matrix. LDA INTEGER The leading dimension of the array A. LDA >= max(1,N). SCALE (input) DOUBLE PRECISION array, dimension (N) Details of the permutation and scaling factors, as returned by DGEBAL.Error Indicator
INFO INTEGER = 0: successful exit; < 0: if INFO = -i, the i-th argument had an illegal value.Method
Let P be a permutation matrix, and D a diagonal matrix of scaling factors, both of order N. The routine computes -1 A <-- P D A D P'. where the permutation and scaling factors are encoded in the array SCALE.References
None.Numerical Aspects
2 The algorithm requires O(N ) operations.Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None