MB01SS

Symmetric scaling of a symmetric matrix

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

Purpose

  To scale a symmetric N-by-N matrix A using the row and column
  scaling factors stored in the vector D.

Specification
      SUBROUTINE MB01SS( JOBS, UPLO, N, A, LDA, D )
C     .. Scalar Arguments ..
      CHARACTER          JOBS, UPLO
      INTEGER            LDA, N
C     .. Array Arguments ..
      DOUBLE PRECISION   A(LDA,*), D(*)

Arguments

Mode Parameters

  JOBS    CHARACTER*1
          Specifies the scaling operation to be done, as follows:
          = 'D':  row and column scaling with D, i.e., A will be
                  transformed to diag(D)*A*diag(D);
          = 'I':  row and column scaling with inv(D), i.e., A will
                  be transformed to inv(diag(D))*A*inv(diag(D)).

  UPLO    CHARACTER*1
          Specifies which triangle of the matrix A is stored, as
          follows:
          = 'U':  Upper triangle is stored;
          = 'L':  Lower triangle is stored.

Input/Output Parameters
  N       (input) INTEGER
          The order of the matrix A.  N >= 0.

  A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
          On entry, the leading N-by-N upper triangular part
          (if UPLO = 'U') or lower triangular part (if UPLO = 'L')
          of this array must contain the upper triangular part or
          lower triangular part, respectively, of the symmetric
          matrix A.
          On exit, the leading N-by-N upper triangular part
          (if UPLO = 'U') or lower triangular part (if UPLO = 'L')
          of this array contains the corresponding triangular part
          of the matrix diag(D)*A*diag(D), if JOBS = 'D', or of the
          matrix inv(diag(D))*A*inv(diag(D)), JOBS = 'I'.
          The stricly lower triangular part (if UPLO = 'U') or
          stricly upper triangular part (if UPLO = 'L') is not
          referenced.

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

  D       (input) DOUBLE PRECISION array, dimension (N)
          The diagonal elements of the diagonal matrix D.

Further Comments
  None
Example

Program Text

  None
Program Data
  None
Program Results
  None

Return to Supporting Routines index