## 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.

```
```  None
```
Example

Program Text

```  None
```
Program Data
```  None
```
Program Results
```  None
```