## TB01YD

### Special similarity transformation of a state-space system

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

Purpose

      To apply a special similarity transformation to a system given as
      a triple (A,B,C),

         A <-- P * A * P,  B <-- P * B,  C <-- C * P,

      where P is a matrix with 1 on the secondary diagonal, and with 0
      in the other entries.

Specification

          SUBROUTINE TB01YD( N, M, P, A, LDA, B, LDB, C, LDC, INFO )
    C     .. Scalar Arguments ..
          INTEGER            INFO, LDA, LDB, LDC, M, N, P
    C     .. Array Arguments ..
          DOUBLE PRECISION   A( LDA, * ), B( LDB, * ), C( LDC, * )

Arguments

Input/Output Parameters

      N       (input) INTEGER
              The order of the matrix A, the number of rows of matrix B
              and the number of columns of matrix C.
              N represents the dimension of the state vector.  N >= 0.

      M       (input) INTEGER.
              The number of columns of matrix B.
              M represents the dimension of input vector.  M >= 0.

      P       (input) INTEGER.
              The number of rows of matrix C.
              P represents the dimension of output vector.  P >= 0.

      A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
              On entry, the leading N-by-N part of this array must
              contain the system state matrix A.
              On exit, the leading N-by-N part of this array contains
              the transformed matrix P*A*P.

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

      B       (input/output) DOUBLE PRECISION array, dimension (LDB,M)
              On entry, the leading N-by-M part of this array must
              contain the system input matrix B.
              On exit, the leading N-by-M part of this array contains
              the transformed matrix P*B.

      LDB     INTEGER
              The leading dimension of the array B.
              LDB >= MAX(1,N) if M > 0.
              LDB >= 1        if M = 0.

      C       (input/output) DOUBLE PRECISION array, dimension (LDC,N)
              On entry, the leading P-by-N part of this array must
              contain the system output matrix C.
              On exit, the leading P-by-N part of this array contains
              the transformed matrix C*P.

      LDC     INTEGER
              The leading dimension of the array C.  LDC >= MAX(1,P).

Error Indicator

      INFO    INTEGER
              = 0:  successful exit.
              < 0:  if INFO = -i, the i-th argument had an illegal
                    value.

Method

      The rows and/or columns of the matrices of the triplet (A,B,C)
      are swapped in a special way.

Numerical Aspects

      None.

Further Comments

      None

Example

Program Text

      None

Program Data

      None

Program Results

      None

Return to Supporting Routines index