## MB01SD

### Scaling a rectangular matrix using given row and column scaling factors

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

Purpose

      To scale a general M-by-N matrix A using the row and column
      scaling factors in the vectors R and C.

Specification

          SUBROUTINE MB01SD( JOBS, M, N, A, LDA, R, C )
    C     .. Scalar Arguments ..
          CHARACTER          JOBS
          INTEGER            LDA, M, N
    C     .. Array Arguments ..
          DOUBLE PRECISION   A(LDA,*), C(*), R(*)

Arguments

Mode Parameters

      JOBS    CHARACTER*1
              Specifies the scaling operation to be done, as follows:
              = 'R':  row scaling, i.e., A will be premultiplied
                      by diag(R);
              = 'C':  column scaling, i.e., A will be postmultiplied
                      by diag(C);
              = 'B':  both row and column scaling, i.e., A will be
                      replaced by diag(R) * A * diag(C).

Input/Output Parameters

      M       (input) INTEGER
              The number of rows of the matrix A.  M >= 0.

      N       (input) INTEGER
              The number of columns of the matrix A.  N >= 0.

      A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
              On entry, the M-by-N matrix A.
              On exit, the scaled matrix.  See JOBS for the form of the
              scaled matrix.

      LDA     INTEGER
              The leading dimension of the array A.  LDA >= max(1,M).

      R       (input) DOUBLE PRECISION array, dimension (M)
              The row scale factors for A.
              R is not referenced if JOBS = 'C'.

      C       (input) DOUBLE PRECISION array, dimension (N)
              The column scale factors for A.
              C is not referenced if JOBS = 'R'.

Further Comments

      None

Example

Program Text

      None

Program Data

      None

Program Results

      None

Return to Supporting Routines index