re cut. This results in the introduction of a set of loop variables. Given a graph-like representation, loops can be detected using graph traversal algorithms [Thul92]. They are cut at the point where they first leave the feedforward path. This process results in a set of equations X1(s) = X2(s) (4.80) with the Xk(s) representing the loop variables and the GL. (s), = 1,2, being the HTMs characterizing the open-loop behavior. These open-loop HTMs are computed as series and/or parallel connections of the building-block HTMs, using the principles outlined in section 4.1. As a heuristic for obtaining better readable expressions, for each loop equation 1, a symbolic name can be assigned to the HTM corresponding to the intersection of the graphs of the open-loop HTMs GL (s). This means that one introduces auxiliary symbols to represent the HTM corresponding to the part in com- mon to the HTMs G1,- (s). Expressing the open-loop HTMs GL, (s) in terms of these auxiliary symbols yields hierarchically structured and better readable expressions. All of this is illustrated in Fig. 4.23 for the case of a simple feedback system. The top graph represents the graph of the overall system. Each branch represents a (possibly time-varying) building block. There is one feedback loop, hence leading to the intro- duction of a loop variable X1 and its corresponding loop equation. The bottom part of Fig. 4.23 shows the graphs corresponding to the open-loop HTMs G1,- (s). Here, the 4.3.5 Computational flow of the SymbolicHTM algorithm Block diagram Cut feedback loops and construct loop equations X1(s)=2G1,k(s)Xk(s)+ = G1.inU(s) X2(s)=2G2,k(s)Xk(s)+ G2,inU(s) Y(s) = Gy,k(s)Xx(s) + Gy,inU(s) Eliminate loop variables through symbolic Gaussian elimination Solve for X(s) i=i+1 Substitute result in remaining equations Simplify (if numerical data available) Symbolic expressions Figure 4.22: Outline of the computational flow of the Symbolic HTM algo- rithm. First, all loops are cut and the loop equations constructed. Next, the loop variables are e