MB05OY

Restoring a matrix after balancing transformations (permutations and scalings)

[Specification] [Arguments] [Method] [References] [Comments] [Example]

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
  None
Example

Program Text

  None
Program Data
  None
Program Results
  None

Return to Supporting Routines index