State-space representation of a left coprime factorization

To construct the state-space representation for the system
G = (A,B,C,D) from the factors Q = (AQR,BQ,CQR,DQ) and
R = (AQR,BR,CQR,DR) of its left coprime factorization
-1
G = R * Q,
where G, Q and R are the corresponding transfer-function matrices.

N (input) INTEGER
The order of the matrix A. Also the number of rows of the
matrices B and BR and the number of columns of the matrix
C. N represents the order of the systems Q and R. N >= 0.
M (input) INTEGER
The dimension of input vector, i.e. the number of columns
of the matrices B and D. M >= 0.
P (input) INTEGER
The dimension of output vector, i.e. the number of rows of
the matrices C, D and DR and the number of columns of the
matrices BR and DR. 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 BQ of the system Q.
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 CQR of the systems
Q and R.
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).
BR (input) DOUBLE PRECISION array, dimension (LDBR,P)
The leading N-by-P part of this array must contain the
input/state matrix BR of the system R.
LDBR INTEGER
The leading dimension of array BR. LDBR >= MAX(1,N).
DR (input/output) DOUBLE PRECISION array, dimension (LDDR,P)
On entry, the leading P-by-P part of this array must
contain the input/output matrix DR of the system R.
On exit, the leading P-by-P 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,P).