## Chapter 7State Space Systems Constructions

The commands in this section facilitate working with linear dynamic systems.

Most of the entries below require Mathematica’s Control System Professional package available from Wolfram Research. To change the (commutative) standard Control System Professional Package for use with NCAlgebra first load in the Control System Professional and then simply load in the file NCControl.m

 << NCControl.m

The file

NC/NCAlgebra/NCControlSPDemo.nb

contains several examples which illustrate the use of CSP package with non commutative systems.

The linear system

is written in Control/Mathematica notation as
 StateSpace[ A, B, C, D].

where A,B,C, and D are matrices made up of symbolic noncommuting indeterminates. For example,

 Series1 = StateSpace[ {{a}}, {{b}}, {{c}}, {{d}}]

or

 Series1 = StateSpace[ {{a11, a12}, {a21,a22}}, {{b1}, {b2}}, {{c1, c2}}, {{d}}].

### 7.1 System Interconnections

The following commands allow one to connect two systems in various ways

#### 7.1.1 SeriesConnect[ System1, System2 ]

Aliases: none
Description: SeriesConnect[ sys1 , sys2 ] creates a system which is the series connection of the two linear dynamic systems, sys1 and sys2 .
Arguments: System1,System2
Comments / Limitations: More complete documentation can be found in the Control Systems Professional manual.

#### 7.1.2 FeedbackConnect[ System1, System2 ]

Aliases: none
Description: FeedbackConnect[System1,System2] creates a system which is the feedback connection of the two linear dynamic systems, System1 and System2.
Arguments: System1,System2
Comments / Limitations: More complete documentation can be found in the Control Systems Professional manual.

#### 7.1.3 ParallelConnect[ System1, System2 ]

Aliases: none
Description: ParallelConnect[System1,System2] creates a system which is the parallel connection of the two linear dynamic systems, System1 and System2 .
Arguments: System1,System2
Comments / Limitations: More complete documentation can be found in the Control Systems Professional manual.

### 7.2 Continuous vs. Discrete

The following commands allow one to determine the whether a system is discrete or continuous.

#### 7.2.1 ContinuousTimeQ[ System1]

Aliases: none
Description: ContinuousTimeQ[ System1 ] returns True if System1 is a continuous dynamic system and False otherwise.
Arguments: System1
Comments / Limitations: More complete documentation can be found in the Control Systems Professional manual.

#### 7.2.2 DiscreteTimeQ[ System1]

Aliases: none
Description: DiscreteTimeQ[System1] returns True if System1 is a discrete dynamic system and False otherwise.
Arguments: System1
Comments / Limitations: More complete documentation can be found in the Control Systems Professional manual.

### 7.3 Transfer Function

The following command will return the transfer function of a system

#### 7.3.1 TransferFunction[ System1]

Aliases: none
Description: TransferFunction[System1] returns the transfer function associated with the state space representation of System1.
Arguments: System1
Comments / Limitations: More complete documentation can be found in the Control Systems Professional manual. Changes to the CSP II package, since the CSP I require that inside NCControl.m we set the option
ReductionMethod NCInverse

for TransferFunction. For systems with commutative entries one still gets a correct answer from TransferFunction even with this option set. However, it may look different from that produced by CSP. Thus for a commutative [A,B,C,D] system, one may want use the option
ReductionMethod DeterminantExpansion

which gives the same answer as the CSP default.

### 7.4 Systems from Systems

The following commands will return the new system associated with the argument

#### 7.4.1 Dual[ System1]

Aliases: none
Description: Dual[System1] returns the dual system to System1
Arguments: System1
Comments / Limitations: More complete documentation can be found in the Control Systems Professional manual.

#### 7.4.2 InverseSystem[ System1]

Aliases: none
Description: InverseSystem[System1] returns the system which is the inverse of System1
Arguments: System1
Comments / Limitations: This function does not require the Control Systems Professional manual.