Purpose
To construct the state-space representation for the system
G = (A,B,C,D) from the factors Q = (AQR,BQR,CQ,DQ) and
R = (AQR,BQR,CR,DR) of its right coprime factorization
-1
G = Q * R ,
where G, Q and R are the corresponding transfer-function matrices.
Specification
SUBROUTINE SB08HD( N, M, P, A, LDA, B, LDB, C, LDC, D, LDD, CR,
$ LDCR, DR, LDDR, IWORK, DWORK, INFO )
C .. Scalar Arguments ..
INTEGER INFO, LDA, LDB, LDC, LDCR, LDD, LDDR, M, N, P
C .. Array Arguments ..
DOUBLE PRECISION A(LDA,*), B(LDB,*), C(LDC,*), CR(LDCR,*),
$ D(LDD,*), DR(LDDR,*), DWORK(*)
INTEGER IWORK(*)
Arguments
Input/Output Parameters
N (input) INTEGER
The order of the matrix A. Also the number of rows of the
matrix B and the number of columns of the matrices C and
CR. N represents the order of the systems Q and R.
N >= 0.
M (input) INTEGER
The dimension of input vector. Also the number of columns
of the matrices B, D and DR and the number of rows of the
matrices CR and DR. M >= 0.
P (input) INTEGER
The dimension of output vector. Also the number of rows
of the matrices C and D. 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 state dynamics matrix AQR of the systems
Q and R.
On exit, the leading N-by-N part of this array contains
the state dynamics matrix of the system G.
LDA INTEGER
The leading dimension of 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 input/state matrix BQR of the systems Q and R.
On exit, the leading N-by-M part of this array contains
the input/state matrix of the system G.
LDB INTEGER
The leading dimension of array B. LDB >= MAX(1,N).
C (input/output) DOUBLE PRECISION array, dimension (LDC,N)
On entry, the leading P-by-N part of this array must
contain the state/output matrix CQ of the system Q.
On exit, the leading P-by-N part of this array contains
the state/output matrix of the system G.
LDC INTEGER
The leading dimension of array C. LDC >= MAX(1,P).
D (input/output) DOUBLE PRECISION array, dimension (LDD,M)
On entry, the leading P-by-M part of this array must
contain the input/output matrix DQ of the system Q.
On exit, the leading P-by-M part of this array contains
the input/output matrix of the system G.
LDD INTEGER
The leading dimension of array D. LDD >= MAX(1,P).
CR (input) DOUBLE PRECISION array, dimension (LDCR,N)
The leading M-by-N part of this array must contain the
state/output matrix CR of the system R.
LDCR INTEGER
The leading dimension of array CR. LDCR >= MAX(1,M).
DR (input/output) DOUBLE PRECISION array, dimension (LDDR,M)
On entry, the leading M-by-M part of this array must
contain the input/output matrix DR of the system R.
On exit, the leading M-by-M part of this array contains
the LU factorization of the matrix DR, as computed by
LAPACK Library routine DGETRF.
LDDR INTEGER
The leading dimension of array DR. LDDR >= MAX(1,M).
Workspace
IWORK INTEGER array, dimension (M)
DWORK DOUBLE PRECISION array, dimension (MAX(1,4*M))
On exit, DWORK(1) contains an estimate of the reciprocal
condition number of the matrix DR.
Error Indicator
INFO INTEGER
= 0: successful exit;
< 0: if INFO = -i, the i-th argument had an illegal
value;
= 1: the matrix DR is singular;
= 2: the matrix DR is numerically singular (warning);
the calculations continued.
Method
The subroutine computes the matrices of the state-space
representation G = (A,B,C,D) by using the formulas:
-1 -1
A = AQR - BQR * DR * CR, B = BQR * DR ,
-1 -1
C = CQ - DQ * DR * CR, D = DQ * DR .
References
[1] Varga A.
Coprime factors model reduction method based on
square-root balancing-free techniques.
System Analysis, Modelling and Simulation,
vol. 11, pp. 303-311, 1993.
Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None