A morphism is a mapping from one system to another. When such a mapping exists, one system, the “big" system, is capable of doing all the essential work of another system, the “small" system. If the mapping is reversible, so that the small and big systems can change places, then the two systems are in fact identical except for the renaming and, possibly, a reversible recombination of their input, output, and state variables. A homomorphism is a mapping from big system to a small system that loses some information about the big system. The small system, in this case, does less than the big system, and the mapping is not reversible. If the mapping is reversible, then it is an isomorphism and the systems involved are interchangeable.

A trivial example will introduce the idea in an intuitive way. Consider first a discrete-time system (see Chapter 3) with a single state, single input, and single output; call this system A. Any other discrete-time system, call it B, is capable of mimicking A as follows. Let the entire set of states of B be mapped to the single state of A, and likewise with B′s set of outputs. A′s single input is mapped to any input of B, which in particular does not matter. Now the input for A is fed, via the mapping, into B. In response, B changes state and produces an output, and this action, observed through the lens of the morphism, looks exactly like the response of A: B remains in its single state (as seen ...

Get Building Software for Simulation: Theory and Algorithms, with Applications in C++ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.