SB08HD

State-space representation of a right coprime factorization

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

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
  None
Example

Program Text

  None
Program Data
  None
Program Results
  None

Return to index