## SB01FY

### Inner denominator of a right-coprime factorization of an unstable system of order 1 or 2

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

Purpose

```  To compute the inner denominator of a right-coprime factorization
of a system of order N, where N is either 1 or 2. Specifically,
given the N-by-N unstable system state matrix A and the N-by-M
system input matrix B, an M-by-N state-feedback matrix F and
an M-by-M matrix V are constructed, such that the system
(A + B*F, B*V, F, V) is inner.

```
Specification
```      SUBROUTINE SB01FY( DISCR, N, M, A, LDA, B, LDB, F, LDF, V, LDV,
\$                   INFO )
C     .. Scalar Arguments ..
LOGICAL           DISCR
INTEGER           INFO, LDA, LDB, LDF, LDV, M, N
C     .. Array Arguments ..
DOUBLE PRECISION  A(LDA,*), B(LDB,*), F(LDF,*), V(LDV,*)

```
Arguments

Mode Parameters

```  DISCR   LOGICAL
Specifies the type of system as follows:
= .FALSE.:  continuous-time system;
= .TRUE. :  discrete-time system.

```
Input/Output Parameters
```  N       (input) INTEGER
The order of the matrix A and also the number of rows of
the matrix B and the number of columns of the matrix F.
N is either 1 or 2.

M       (input) INTEGER
The number of columns of the matrices B and V, and also
the number of rows of the matrix F.  M >= 0.

A       (input) DOUBLE PRECISION array, dimension (LDA,N)
The leading N-by-N part of this array must contain the
system state matrix A whose eigenvalues must have positive
real parts if DISCR = .FALSE. or moduli greater than unity
if DISCR = .TRUE..

LDA     INTEGER
The leading dimension of array A.  LDA >= N.

B       (input) DOUBLE PRECISION array, dimension (LDB,M)
The leading N-by-M part of this array must contain the
system input matrix B.

LDB     INTEGER
The leading dimension of array B.  LDB >= N.

F       (output) DOUBLE PRECISION array, dimension (LDF,N)
The leading M-by-N part of this array contains the state-
feedback matrix F which assigns one eigenvalue (if N = 1)
or two eigenvalues (if N = 2) of the matrix A + B*F in
symmetric positions with respect to the imaginary axis
(if DISCR = .FALSE.) or the unit circle (if
DISCR = .TRUE.).

LDF     INTEGER
The leading dimension of array F.  LDF >= MAX(1,M).

V       (output) DOUBLE PRECISION array, dimension (LDV,M)
The leading M-by-M upper triangular part of this array
contains the input/output matrix V of the resulting inner
system in upper triangular form.
If DISCR = .FALSE., the resulting V is an identity matrix.

LDV     INTEGER
The leading dimension of array V.  LDF >= MAX(1,M).

```
Error Indicator
```  INFO    INTEGER
= 0:  successful exit;
= 1:  if uncontrollability of the pair (A,B) is detected;
= 2:  if A is stable or at the stability limit;
= 3:  if N = 2 and A has a pair of real eigenvalues.

```
```  None
```
Example

Program Text

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