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