Keywords

1 Introduction

Preservation of passivity is a key requirement in model order reduction methods [1,2,3]. In [4] a new passivity preserving model order reduction (MOR) method based on spectral zero interpolation was introduced. Reference [5] then showed that the spectral zero (SZ) interpolation problem can be formulated as an associated Hamiltonian eigenvalue problem. Results involving dominant spectral zero interpolation for large-scale systems were later obtained through the computation of the dominant modes of the Hamiltonian system [6, 7]. Other SZ solution variants were proposed for dealing with large-scale systems [8, 9]. The preservation of dissipativity in reduced order model (ROM) methods, for example, was further explored in [10].

Modal approximation methods [11, 12] are not necessarily passive and stable since they only match dominant poles, but a MOR method based on dominant SZ (DSZ) of the system ensures the preservation of passivity [4, 7].

This work investigates strategies to compute the DSZs as the dominant poles of the Hamiltonian system associated with the FOM, which may then be computed by SADPA [11]. We study three alternative Hamiltonian system formulations for the Hamiltonian systems model, one of which has its expressions for the input and output matrices independent of the direct transmission term D. Three strategies for the efficient computation of DSZs (re)using the dominant pole results for H(s) obtained through SADPA iterations were compared for the test systems. The stable DSZs of the FOM are computed from the Hamiltonian system and their respective right eigenvectors are used to determine the transformation matrices employed to calculate the desired passive ROM. Experiments are described for three test-systems, including a 4028-state model. The main contributions of this work are:

  • the proposal of a new Hamiltonian alternative formulation, whose input and output matrices are independent of the direct transmission D term;

  • the selection of dominant poles of the original FOM as initial estimates for computing the DSZs based on one of the Hamiltonian system alternatives;

  • experiments to determine the sensitivity of the SZs to the introduction of a properly scaled transmission term D and the determination of the loci of these SZs. Using this properly scaled parameter, stable DSZs are more cost-effectively computed and a passive ROM is found.

The following notation is used: the complex plane is denoted by \(\mathbb {C}\), the open left half-plane (LHP) by \(\mathbb {C}^{-}\) and \(j=\sqrt{-1}\). Symbols \(\mathbb {R}^{n\times m}\) and \(\mathbb {C}^{n\times m}\) denote \({n\times m}\) real and complex matrices, respectively. The matrix \(A^{T}\) stands for the transpose of \(A~\in ~\mathbb {R}^{n\times m}\), \(A^{*}\) denotes the complex conjugate and transpose of \(A~\in ~\mathbb {C}^{n \times m}\), \(A^{-*}=(A^{-1})^{*}\), and \(A^{-T}=(A^{-1})^{T}=(A^{T})^{-1}\). The \(n \times n\) identity matrix n is denoted by \(I_{n}\) or simply I. The term \(D_{\alpha }=D+\alpha I_m\) is defined and applied only in the formulation of an Hamiltonian system, for a D term of the dynamical system and a scaling factor \(\alpha >0\). m is the number of inputs and outputs for a square system.

This manuscript is structured as follows. In Sect. 2 we describe how spectral zeros can be used to build passive ROMs. In Sect. 3, three alternative Hamiltonian system formulations are studied for the computation of DSZs. Numerical experiments are shown in Sects. 46. Section 7 concludes.

2 Spectral Zeros and Model Order Reduction

A linear time invariant (LTI) dynamic system model can be represented by the descriptor system:

$$\begin{aligned} E\dot{\mathbf {x}}(t)=A \mathbf {x}(t)+B\mathbf {u}(t) \end{aligned}$$
(1)
$$\begin{aligned} \mathbf {y}(t)=C \mathbf {x}(t)+D \mathbf {u}(t), \end{aligned}$$
(2)

where \(\mathbf {x}(t) \in \mathbb {R}^{n}\) is the state vector, \(\mathbf {u}(t) \in \mathbb {R}^{m}\) the input vector and \(\mathbf {y}(t) \in \mathbb {R}^{q}\) the output vector; \(A\in \mathbb {R}^{n \times n}\), \(E\in \mathbb {R}^{n \times n}\), \(B\in \mathbb {R}^{n \times m}\), \(C\in \mathbb {R}^{q \times n}\) and \(D\in \mathbb {R}^{q \times m}\) are system matrices. The transfer function or frequency response of system (1) is defined as \(H(s)=C(sE-A)^{-1}B+D\).

The spectral zeros of H(s) are defined in [4, 5] as the poles of the rational function

$$\begin{aligned} G(s)=[H(s)+H^{*}(-s)]^{-1} \end{aligned}$$
(3)

where \(H^{*}(-s)\) is defined as

$$\begin{aligned} H^{*}(-s)=B^{*}[sE^{*}+A^{*}]^{-1}(-C^{*})+D^{*} \end{aligned}$$
(4)

The desired spectral zeros of the original system H(s) can be calculated as the dominant poles of G(s), using an interpretation for poles of an inverse system as presented in [13].

The inverse system can be obtained by initially defining a fictitious dynamical system \(H_z(s)\) which is derived from the original system model H(s) [7]

$$\begin{aligned} H_z(s)=H(s)+H^{*}(-s)=C_z[sE_z-A_z]^{-1}B_z+D_z \end{aligned}$$
(5)

where

$$\begin{aligned} A_z = \left[ \begin{array}{cc} A &{} 0 \\ 0 &{} -A^{*} \\ \end{array} \right] ,~ B_z= \left[ \begin{array}{c} B \\ -C^{*} \\ \end{array} \right] ,~ E_z= \left[ \begin{array}{cc} E &{} 0 \\ 0 &{} E^{*} \\ \end{array} \right] ,~ C_z = \left[ \begin{array}{cc} C &{} B^{*} \\ \end{array} \right] ,~ D_z=D+D^{*} \end{aligned}$$
(6)

The inverse system \(G(s)=H^{-1}_{z}(s)\) has the representation:

$$\begin{aligned} E_s\dot{\mathbf {x}}_s(t)=A_s \mathbf {x}_s(t)+B_s\mathbf {u}_s(t) \end{aligned}$$
(7)
$$\begin{aligned} \mathbf {y}_s(t)=C_s \mathbf {x}_s(t)+D_s \mathbf {u}_s(t) ~ \end{aligned}$$
(8)

where \(A_s=A_z-B_zD_{z}^{-1}C_{z}\), \(E_s=E_z\), \(B_s=B_zD_{z}^{-1}\), \(C_s=-D_{z}^{-1}C_{z}\), \(D_s=D_z^{-1}\).

Assuming \(D_z\) is nonsingular, (7)–(8) can be put as the Hamiltonian system \(\Sigma _s\):

$$\begin{aligned} E_s \dot{\mathbf {x}}_s(t)= \left[ \begin{array}{cc} A-BD_{z}^{-1} C &{} -BD_{z}^{-1} B^{*} \\ C^{*}D_{z}^{-1} C &{} -A^{*}+C^{*}D_{z}^{-1} B^{*} \\ \end{array} \right] \mathbf {x}_s(t) + \left[ \begin{array}{c} B \\ -C^{*} \\ \end{array} \right] D_{z}^{-1} \mathbf {u}_s(t) \end{aligned}$$
(9)
$$\begin{aligned} \mathbf {y}_s(t) = -D_{z}^{-1} \left[ \begin{array}{cc} C &{} B^{*} \\ \end{array} \right] \mathbf {x}_s(t) + D_{z}^{-1} \mathbf {u}_s(t) \end{aligned}$$
(10)

A structured (augmented) Hamiltonian system \(\Sigma _h\) can be defined [7] by using the Schur complement of \(-D_z\):

$$ \left[ \begin{array}{ccc} E &{} 0 &{} 0 \\ 0 &{} E^{*} &{} 0 \\ 0 &{} 0 &{} 0 \\ \end{array} \right] \left[ \begin{array}{c} \dot{\mathbf {x}}_h(t) \\ \dot{\mathbf {v}}_h(t) \\ \end{array} \right] = \left[ \begin{array}{ccc} A &{} 0 &{} B \\ 0 &{} -A^{*} &{} -C^{*} \\ C &{} B^{*} &{} D_z \\ \end{array} \right] \left[ \begin{array}{c} \mathbf {x}_h(t) \\ \mathbf {v}_h(t) \\ \end{array} \right] +\left[ \begin{array}{c} B \\ -C^{*} \\ 0 \\ \end{array} \right] D_{z}^{-1} \mathbf {u}_h(t) $$

Thus

$$\begin{aligned} E_h \left[ \begin{array}{c} \dot{\mathbf {x}}_h(t) \\ \dot{\mathbf {v}}_h(t) \\ \end{array} \right] = A_h \left[ \begin{array}{c} \mathbf {x}_h(t) \\ \mathbf {v}_h(t) \\ \end{array} \right] + B_h \mathbf {u}_h(t) \end{aligned}$$
(11)
$$\begin{aligned} \mathbf {y}_h(t) = -D_{z}^{-1} \left[ \begin{array}{ccc} C &{} B^{*} &{} 0 \\ \end{array} \right] \left[ \begin{array}{c} \mathbf {x}_h(t) \\ \mathbf {v}_h(t) \\ \end{array} \right] + D_{z}^{-1} \mathbf {u}_h(t) =C_h \left[ \begin{array}{c} \mathbf {x}_h(t) \\ \mathbf {v}_h(t) \\ \end{array} \right] +D_h \mathbf {u}_h(t) \end{aligned}$$
(12)

where \(D_h=D_{z}^{-1}\).

To compute a passive ROM for the dynamical system (1)–(2), the transformation matrices V and W are determined based on the interpolation of SZ [7]:

$$\begin{aligned} \hat{E}\dot{\hat{\mathbf {x}}}(t)= & {} \hat{A} \hat{\mathbf {x}}(t)+\hat{B}\mathbf {u}(t) \end{aligned}$$
(13)
$$\begin{aligned} \hat{\mathbf {y}}(t)= & {} \hat{C} \mathbf {x}(t)+\hat{D} \mathbf {u}(t) \end{aligned}$$
(14)

where \(\hat{E}=W^{*}EV\), \(\hat{A}=W^{*}AV\), \(\hat{B}=W^{*}B\) and \(\hat{C}=CV\).

In (14), the matrix \(\hat{D}=D\) is invariant to the application of the transformation matrices V and W. In [7], the matrices V and W are built by using the right eigenvectors associated with the stable dominant poles of the structured Hamiltonian system (11)–(12). This involves solving the following Hamiltonian eigenvalue problem:

$$\begin{aligned} A_h R=E_h R \Lambda \end{aligned}$$
(15)

where \(\Lambda \) is a diagonal matrix with the poles of the pencil (\(A_h\), \(E_h\)) (spectral zeros of the dynamical system H(s)) and R the right eigenvector matrix associated with \(\Lambda \).

The stable SZs in \(\Lambda \) and its associated right eigenvectors are next partitioned into stable set \(\Lambda _{-}\), anti-stable (unstable) set, \(\Lambda _{+}\) and infinite set \(\Lambda _{\infty }\). The eigenvectors R are next partitioned as \(R=[R_{-},~R_{+},~R_{\infty }]\). Considering only the eigenvalues \(\Lambda _{-}\), their eigenvectors \(R_{-}\), can also be partitioned as

$$\begin{aligned} R_{-} = \left[ \begin{array}{c} X_{-} \\ Y_{-} \\ Z_{-} \\ \end{array} \right] \end{aligned}$$
(16)

According to [7], if k stable DSZs and their respective right eigenvectors are selected, the matrices V and W can be computed as

$$\begin{aligned} V=X_{-}(:,1:k)~~\text {and}~~W= Y_{-}(:,1:k) \end{aligned}$$
(17)

Alternatively, [7] also suggests to build V and W as a rational Krylov subspace:

$$\begin{aligned} V= [ ( s_1E-A)^{-1}B,\ldots , ( s_kE-A)^{-1}B ] \end{aligned}$$
(18)
$$\begin{aligned} W= [( -s^{*}_1E^{*}-A^{*})^{-1}C^{*},\ldots , ( -s^{*}_kE^{*}-A^{*})^{-1}C^{*} ] \end{aligned}$$
(19)

The ROM (\(\hat{E}\),\(\hat{A}\),\(\hat{B}\),\(\hat{C}\),\(\hat{D}\)) interpolates the system (E,A,B,C,D) at the selected SZs \(s_i\) and their mirror images \(-s_{i}^{*}\), \(i=1,2,\ldots ,k\). The projection matrices V and W determined from (17) or by (18)–(19) ensure that the reduced system is passive [4, 5].

According to [7], the projection matrices V and W extracted from the information of SZs are sufficient to compute a reduced model as defined by (1)–(2), in case of \(D=0\) and \(H(s)|_{s\rightarrow \infty }=0\). However, when \(D=0\), but \(H(s)|_{s\rightarrow \infty }=\tilde{D}\ne 0\), the matrices \(\hat{A}\),\(\hat{B}\) and \(\hat{C}\) need corrections to include the component \(Z_{-}\) of the right eigenvector R calculated in (16) and also the \(\tilde{D}\) term. For this condition, the DSZ reduced model is represented by the following matrices [7]:

$$\begin{aligned} \hat{E}=W^{*}EV,~ \hat{A}=W^{*}AV+Z^{*}\tilde{D}Z,~ \hat{B}=W^{*}B-Z^{*}\tilde{D},~ \hat{C}=CV-\tilde{D}Z,~\hat{D}=\tilde{D} \end{aligned}$$
(20)

For simplicity, consider a SISO system and note that (20) applies for the case when \(D=0\) but may be also extended for the case where \(D \ne 0\). This is achieved by modifying the output signal in (2) as follows. First, define a new algebraic variable \(z=Cx+Du\) and make \(y=z\). Secondly, add the algebraic equation \(0=-z+Cx+Du\) to the original descriptor system. Therefore, an augmented dynamical system (E,A,B,C,0) is created having an additional generalized state z and another additional algebraic equation. Note that the ROM for this augmented system is also given by (20). A similar procedure is applied for a MIMO square system with \(D \ne 0\), m inputs and m outputs.

3 Variant for Computing Dominant Spectral Zeros

We now describe an alternative formulation for the structured Hamiltonian system whose component matrices are independent of the direct transmission term D, as verified for the matrices \(B_h\), \(C_h\) and \(D_h\), an advantage over the formulation presented in (11)–(12). This development is inspired on the method for the computation of transmission zeros as described in [13]. Instead of manipulating with the transfer matrix \(H_z(s)\), in (5), we use the matrix \(G(s) \in \mathbb {C}^{q \times m}\) directly. For simplicity, we will only describe the square system case where \(q=m\).

Consider a MIMO system defined by G(s) as in (3), such that the input/output relationship is given by \(Y_w(s)=G(s)U_w(s)\):

$$\begin{aligned} Y_w(s)=[H(s)+H^{*}(-s)]^{-1}U_w(s) \end{aligned}$$
(21)

Then, for G(s) nonsingular,

$$\begin{aligned}{}[H(s)+H^{*}(-s)]Y_w(s)=U_w(s) \end{aligned}$$
(22)

and

$$\begin{aligned}{}[C(sE-A)^{-1}B+D+B^{*}(-sE^{*}-A^{*})^{-1}C^{*}+D^{*}]Y_w(s)=U_w(s) \end{aligned}$$
(23)

Consider in (23) that \(X_{w1}(s)=(sE-A)^{-1}BY_w(s)\) and \(X_{w2}(s)=(sE^{*}+A^{*})^{-1}(-C^{*})Y_w(s)\). Therefore, in the time domain, (23) can be written as

$$\begin{aligned} 0=C\mathbf {x}_{w1}(t)+B^{*}\mathbf {x}_{w2}(t)+(D+D^{*})\mathbf {y}_w(t)-\mathbf {u}_w(t) \end{aligned}$$
(24)

The expressions for \(X_{w1}(s)\) and \(X_{w2}(s)\) in the time domain are:

$$\begin{aligned} E \dot{\mathbf {x}}_{w1}(t)=A\mathbf {x}_{w1}(t)+B\mathbf {y}_{w}(t) \end{aligned}$$
(25)
$$\begin{aligned} E^{*} \dot{\mathbf {x}}_{w2}(t)=-A^{*}\mathbf {x}_{w2}(t)-C^{*}\mathbf {y}_{w}(t) \end{aligned}$$
(26)

The expressions (24)–(26) can be put into the Hamiltonian system matrix form, \(\Sigma _a\):

$$ \left[ \begin{array}{ccc} E &{} 0 &{} 0\\ 0 &{} E^{*} &{} 0 \\ 0 &{} 0 &{} 0 \\ \end{array} \right] \left[ \begin{array}{c} \dot{\mathbf {x}}_{w1}(t) \\ \dot{\mathbf {x}}_{w2}(t) \\ \dot{\mathbf {y}}_w(t) \\ \end{array} \right] = \left[ \begin{array}{ccc} A &{} 0 &{} B \\ 0 &{} -A^{*} &{} -C^{*} \\ C &{} B^{*} &{} D_z \\ \end{array} \right] \left[ \begin{array}{c} \mathbf {x}_{w1}(t) \\ \mathbf {x}_{w2}(t) \\ \mathbf {y}_w(t) \\ \end{array} \right] +\left[ \begin{array}{ccc} 0 &{} 0 -I_m \\ \end{array} \right] ^{*} \mathbf {u}_w(t) $$
$$\begin{aligned} \Rightarrow ~~E_a\dot{\mathbf {x}}_a(t)=A_a\mathbf {x}_a(t)+B_a\mathbf {u}_w(t) \end{aligned}$$
(27)
$$\begin{aligned} \mathbf {y}_w(t) = \left[ \begin{array}{ccc} 0 &{} 0 &{} I_m \\ \end{array} \right] \left[ \begin{array}{c} \mathbf {x}_w(t) \\ \mathbf {y}_w(t) \\ \end{array} \right] ~~\Rightarrow ~~ \mathbf {y}_w(t) =C_a\mathbf {x}_a(t) \end{aligned}$$
(28)

where \(\mathbf {x}_w(t)=[\mathbf {x}^{*}_{w1}(t)~~ \mathbf {x}^{*}_{w2}(t)]^{*}\), \(\mathbf {x}_a(t)=[\mathbf {x}^{*}_w(t)~~ \mathbf {y}^{*}_w(t)]^{*}\)

In (27)–(28), the dependence of D is exclusively on the state matrix \(A_a\). Furthermore, \(A_a=A_h\) and \(E_a=E_h\), so both system models (\(\Sigma _h\) and \(\Sigma _a\)) have the same poles. However, when using the Hamiltonian system to calculate its dominant poles (dominant spectral zeros of H(s)) by a method such as SADPA, there is a dependence of \(B_h\) and \(C_h\) with the inverse of \((D + D^{*})\), which is not possible in the case of D=0. This difficulty is obviated in the approach proposed in (27)–(28), since the matrices \(B_a\) and \(C_a\) are insensitive to values of D. On the other hand, even when the modeling is originally presented with a null D matrix, it is possible to obtain an equivalent modeling with D nonsingular through appropriate modification on the circuit equations and variables (refer to the example for an electrical circuit described in Sect. 5, where H(s) has equivalent descriptions: depending on D or not).

The poles of the Hamiltonian system modeled by (7)–(8), (11)–(12) or (27)–(28) change when varying the term \(D_z\) defined in (6), while the poles of H(s) remain unchanged. This idea which was originally explored in [7] is used here to modify \(D_z\) in order to shift the SZs towards the poles of H(s). This strategy has proven effective since better initial estimates lead to fewer iterations in the SADPA computation of DSZs. Therefore, we define \(D_z\) as a function of a scaling factor \(\alpha >0\), such that \(D_z=D_{\alpha }+D_{\alpha }^{*}\), where \(D_{\alpha }=D+\alpha I_m\) and m is the number of inputs, which is assumed to be equal to the number of outputs (see Sects. 4 and 5 for computation of the SZs as a function of \(\alpha \)).

A procedure to determine a ROM based on DSZs is presented in the Alg. 1. The procedure adopts the dominant poles of H(s) as the initial estimates in the iterative computation of DSZs.

figure a

The following sections details examples on the numerical computations of DSZs and DSZ-ROM when considering the approaches presented in Sects. 2 and 3.

4 The Impact of D Term Size on DSZ Numerical Computations

The structured Hamiltonian system, described by (11)–(12) or (27)–(28), is very suitable for calculating DSZs of H(s) via SADPA [11]. The impact of the D term size on the SZs is investigated in this section. We point out the importance of choosing an optimum size for this term for determining better initial estimates for the DSZ computation.

This experiment illustrates the impact of \(\alpha \) in the \(D_{\alpha }\) term in driving the DSZs of G(s) toward the poles of H(s). The tutorial system is defined by the following matrices:

$$\begin{aligned} A= \left[ \begin{array}{cccc} -1 &{} 4 &{} -1 &{} 1 \\ -4 &{} -1 &{} 0 &{} -1 \\ -1 &{} -1 &{} -2 &{} 8 \\ 1 &{} 2 &{} -8 &{} -2 \\ \end{array} \right] ,~~ B= \left[ \begin{array}{cc} 0 &{} 0 \\ 1 &{} 0 \\ 0 &{} 0 \\ 0 &{} -1 \\ \end{array} \right] ,~~ C^{T}= \left[ \begin{array}{cc} 0 &{} 0 \\ 1 &{} 0 \\ 0 &{} 0 \\ 0 &{} 1 \\ \end{array} \right] ,~~ D=\left[ \begin{array}{cc} 0 &{} 0 \\ 0 &{} 0 \\ \end{array} \right] , \nonumber \end{aligned}$$

with \(D_{\alpha }=D+\alpha I_2\), where \(\alpha \) is a positive scaling factor for the \(I_2\) term.

Fig. 1
figure 1

Loci of poles of H(s) and its spectral zeros as a function of the scaling factor \(\alpha \) for \(D=\alpha I_2\). The black arrows point in the direction of decreasing \(\alpha \)

Fig. 2
figure 2

Poles of H(s) and spectral zeros locus as a function of the scaling factor \(\alpha \). The scaling factor \(\alpha \) has value 1 in the neighborhood of the poles of H(s). At this point in the plot, the SZs are \(-1.4778 \pm j7.98\) and \(-1.4711 \pm j4.02\). The SZs \(\lambda _1\) and \(\lambda _2\) in the plot occur for \(\alpha =3.5 \times 10^{-8}\)

Figures 1 and 2 illustrate the poles and locus of the SZs as a function of the scaling factor \(\alpha \). The black arrows were inserted in the SZ locus plot to indicate how the spectral zeros shift as \(\alpha \) is reduced. Figure 1 shows the SZs loci when \(\alpha \) is varied from 1 to 0.1. The poles of the dynamical system H(s) are: \(-1.2426 \pm j4.06\) and \(-1.7574 \pm j7.95\). The stable SZs computed for \(\alpha =1\) are \(-1.4711 \pm j4.02\) and \(-1.4778 \pm j7.98\), which are very much in the neighborhood of the poles of H(s). On the other hand, when \(\alpha =3.5\times 10^{-8}\) the stables SZs are \(-3.9379\), \(-6.2374\), \((-6.76 \pm j8.59)\times 10^{3}\), being therefore far away from the poles of H(s). The SZs are seen to drastically shift as the scaling factor \(\alpha \) is changed. Smaller values of \(\alpha \) lead the stable SZ previously located near the pole of H(s), \(-1.7574 \pm j7.95\), to move into the imaginary axis. The stable SZ near the other pole, \(-1.2426 \pm j4.06\), moves further into the left hand side of the complex plane. The drastic shift experienced by the SZs when decreasing \(\alpha \) up to very smaller values are illustrated in Fig.  2. This plot highlights stable SZs \(\lambda _1=-6.2374\) and \(\lambda _2=-3.9379\) for \(\alpha =3.5\times 10^{-8}\), while other 4 SZs are on the imaginary axis.

Therefore, for the same dynamical system, higher values of the scaling factor \(\alpha \), leads to stable SZs in the vicinity of the poles of H(s). On the other hand, very small values of \(\alpha \) push the SZs away from the poles of H(s).

5 Electrical Circuits

5.1 Dynamic Modeling

Figure 3 depicts an electrical circuit having only passive elements (ideal resistor, inductor and capacitor devices) and comprised of 2 RLC PI sections. Each PI section has a resistance R, an inductance L and a capacitance C/2 at each terminal. In the example, three nodal voltages \(v_1\), \(v_2\) and \(v_3\) are highlighted. These are the same voltages across each capacitor \(v_{C1}\), \(v_{C2}\) and \(v_{C3}\), respectively.

The input signal is the voltage source connected to node 1, while the output signal is the current \(i_3\) flowing through the RL load.

Fig. 3
figure 3

3-node and 2-PI circuit with a voltage source u(t) and a RL load

The equations for this circuit can be formulated using the physical laws for each device and Kirchhoff’s current and voltage laws, yielding a single-input single-output descriptor system having 6 states and 3 algebraic variables.

We show that the output variable can be expressed either as a function of a single state, without a term Du(t) or as a combination of state plus the forward term Du(t). In some cases, therefore it is necessary to deal with dynamical system models which have a nonzero D [3].

The vector of generalized states for this system can be defined as

$$\begin{aligned} \mathbf {x}=[i_{C1}~~i_{C2}~~i_{C3}~~i_1~~i_2~~i_3~~v_1~~v_2~~v_3]^{T} \end{aligned}$$
(29)

The output variable, \(y=i_3\), is therefore given by

$$\begin{aligned} y=[0~~0~~0~~0~~0~~1~~0~~0~~0]\mathbf {x}=C_1 \mathbf {x} \end{aligned}$$
(30)

Alternatively, the same output y can be expressed as

$$\begin{aligned} y=[-1~~-1~~-1~~0~~0~~0~~-\frac{1}{R_i}~~0~~0]\mathbf {x}+ \frac{1}{R_i}u=C_2\mathbf {x}+ \frac{1}{R_i}u. \end{aligned}$$
(31)

In (30) the term D is zero, while in (31) \(D=1/R_i\). Both yield numerically the same results for the transfer function \(H(s)=y(s)/u(s)\). In the sequel, we present experiments for these two forms of output representations, demonstrating their equivalence for the computation of DSZ-ROM.

5.2 Results of Experiments

Experiments were initially carried out for test systems generated by increasing the number of PI sections in the circuit depicted in Fig. 3. The circuit parameters independent of the number of PI sections are: \(C=0.01\) F, \(R=0.05\) \(\Omega \), \(L=0.02\) H, \(R_o=0.05~\Omega \), \(L_o=0.06\) H, \(R_x=0\) and \(R_i=0.05~\Omega \).

5.2.1 Experiments on the Circuit with 2 PI Sections

The purpose of the experiment is to evaluate the two alternative modelings for the same output variable in the electrical circuit of the Fig. 3 considering the model with the term \(D=0\) as Alternative I and the model with a nonzero D term as the Alternative II.

The circuit with 2 PI sections (\(N=2\)) has 9 generalized states, whose eigenvalues were computed by using a QZ routine: \(-3.9975\times 10^{3}\), \(-1.2870 \pm j1.3759\times 10^{2}\), \(-1.8801 \pm j6.6316\times 10^{1}\), \(-2.0015\), \(\texttt {Inf}\), \(\texttt {Inf}\), and \(\texttt {Inf}\).

Alternative I has the output represented by (30) while in Alternative II, it is represented by (31). Then considering the input vector B and the output vectors \(C_1\) (Alternative I) and \(C_2\) (Alternative II), the spectral zeros were computed by using the QZ routine applied to the structured Hamiltonian system \(\Sigma _h\), with pencil (\(A_h,E_h\)), for both Alternatives I and II. The Hamiltonian system has dimension 19 and its finite poles, which are also the spectral zeros of the system (E,A,B,C,D), for Alternative I are: \(7.17\times 10^{4} \pm j5.26\times 10^{4} \), \( -9.04\times 10^{4}\), \( -2.85\times 10^{4} \pm j8.52\times 10^{4} \), \( \pm j2.07\times 10^{2} \), \( \pm j1.10\times 10^{2} \) and \( \pm j3.54\times 10^{1} \). For Alternative II the SZs lying on the imaginary axis were similar to the SZs found for Alternative I. We can therefore conclude that an alternative modeling of the output variable \(y=-i_{C1}-i_{C2}-i_{C3}-\frac{v_1}{R_i}+\frac{u}{R_i}\) (see (31)), with a nonzero D term in H(s), does not cause significant change on the SZs, when compared with the modeling by the one state variable \(y=i_3\), i.e., with \(D=0\). Moreover, we can conclude for this example that even for the smaller finite spectral zeros, they are far away from the poles of the dynamical system (E,A,B,C,D).

The experiments on the tutorial system of Sect. 4, suggested that by increasing the norm of the matrix \(D_{\alpha }=D+\alpha I_m\) used in the Hamiltonian systems, the spectral zeros move towards the system poles. Similar results were obtained for the electrical circuit model of this section. In [7] it is proposed to raise the norm of \(D_{\alpha }+D_{\alpha }^{*}\) by a factor \(\delta \) in the range (\(10^{4},10^{6}\)), similarly to what has been presented in Sect. 4 so as to locate the SZs to near the poles of H(s). An even more important criterion is to judiciously raise the D norm in order to shift the DSZs only up to a point where there is no SZ left on the imaginary axis. Both alternative system descriptions are useful for determining the appropriate D norm and initial estimates for the iterative computation of DSZs. The D norm choice is based on the control system’s intuition that having MORs generated from DSZs that are close to the actual system poles may better capture the actual system dynamics.

Therefore, we now use \(D_{\alpha }\) in (11)–(12) and (27)–(28), defined accordingly for the selected Alternatives I or II.

Figure 4 highlights the shifting of the SZ when \(\alpha \) is varied from 0 to 5, in steps of 0.5 for Alternative I, i.e., \(D=0\). The SZ locus is depicted only for the left-side of the complex plane. Similar mirrored movement (not shown) is observed for the right-side of the complex plane. The plot also shows how the SZ shift towards the poles of the system (E,A,B,C,D), as \(\alpha \) is further increased. The finite poles of the dynamical system are \(\lambda _1, \lambda ^{*}_1, \lambda _2, \lambda ^{*}_2, \lambda _3, \lambda _4\). In the situation when \(\alpha =0\), there are 6 finite spectral zeros at the imaginary axis (see red dots on the imaginary axis). When \(\alpha \) is increased just to 0.5, the SZ are: \(\pm 3997\), \(\pm 6.68\), \(\pm j61.7\), \(\pm j70.8\), \(\pm 2.36 \pm j137.6\) and 7 other SZ at infinity. So, the four SZs \(\pm j61.7\), \(\pm j70.8\) were the only ones that have remained on the imaginary axis. When \(\alpha =5\) the SZs are already close to the poles of the system (E,A,B,C,D). And, higher values of \(\alpha \) would shift the SZs to even closer to these poles. This consistent behavior among dynamic systems of different nature justifies using the poles of H(s) as initial estimates to compute iteratively the dominant SZs, for example, by using SADPA [11].

Fig. 4
figure 4

Fixed poles and spectral zeros loci for values of \(\alpha \) changing from 0 to 5, Alternative I

The dominant poles of H(s) were determined by using SADPA for two alternative equations for the output variable discussed in Subsection 5.1. Both alternatives relate to the same transfer function. Even though Alternative II has a nonzero term \(\frac{1}{R_i}u(t)\), this fact does not ensure fully stable SZs. Our strategy has been to chose an adequate norm for the term \(D_{\alpha }\) in the Hamiltonian system so that it only results in stable SZs. An experiment for single-input single-output model with \(D_{\alpha }=D+\alpha \), \(\alpha =10\), was carried out and selected stable DSZs were used to compute a ROM. Both the Hamiltonian system defined by \(\Sigma _h\) in (11)–(12) and \(\Sigma _a\) in (27)–(28) were used to compute the SZs. To evaluate modal dominance on the Hamiltonian system, the SADPA selection strategy ’LR’ (largest ratio \(|\text {res}|/|\text {re}(\lambda )|\)) was chosen. A first type of experiment uses 3 initial guess defined from the dominant poles of H(s): \(s_0=\left\{ -2.0015,~-1.2870 + j1.3759\times 10^{2},~-1.8801 + j6.6316\times 10^{1} \right\} \) to determine 3 wanted DSZs. Here, no deflation is implemented by SADPA, since each time a DSZ is found, another guess is used from the set formed by \(s_0\). The dominant poles \(s_0\) of H(s), on the other hand, were calculated by SADPA from a single initial guess \(s_0 = j100\). A second experiment was based on the computation of the dominant SZs directly from the Hamiltonian systems, starting with a initial guess \(s_0 = j100\) with the purpose of determining 3 wanted DSZs. In this strategy, SADPA deflates the found pole and uses it as the guess for searching the next DSZ, proceeding this way until nwanted poles are determined.

The reduced model computed by using the modal dominance of SZs for Alternative I is (\(\hat{E}\),\(\hat{A}\),\(\hat{B}\),\(\hat{C}\),\(\hat{D}\)). The term \(\tilde{D}=H(s)|_{s\rightarrow \infty }=0\), giving \(\hat{D}=\tilde{D}+D=0\). Figure 5 shows the magnitude plot for the model transfer functions, for Alternative I FOM and DSZ-ROMs obtained when the Hamiltonian systems \(\Sigma _h\) and \(\Sigma _a\) are used. Also, the absolute deviations between the transfer functions of the FOM and DSZ-ROMs for both Hamiltonian systems are shown. The transformation matrices V and W were calculated from right eigenvectors associated with the DSZs obtained for the case with an scaling factor \(\alpha =10\).

Fig. 5
figure 5

Magnitude of \(H(j\omega )\) of the full order model (FOM) (Alternative I), DSZ-ROMs of H(s) obtained for the modeling Alternative I and calculated by using \(\Sigma _h\) and \(\Sigma _a\). The transformation matrices associated with DSZs were computed for a scaling factor \(\alpha =10\)

Consider now the system output defined according to Alternative II, which has \(D=1/R_i\) and \(C_2\) as in (31) to define the output signal y. Defining \(D_{\alpha }=1/R_i+\alpha \) and assigning \(\alpha =0\), six SZs are found at the imaginary axis. This pattern also was detected in the Alternative I. i.e., the fact of using another representation of the output y, with a nonzero D term does not change the characteristic of the SZs in relation to the case when \(D=0\). Then, in order to adopt an uniform standard for the calculation of the SZs, we propose that all output signals be represented as D null. For purpose of the SZ computation, we use \(D_{\alpha }=D+\alpha I\). For this aim, in the situation when y is defined by an equation that has a nonzero D, as in the case of Alternative II, it is suggested to redefine y by an additional generalized state, as demonstrated in Sect. 3, adding 1 algebraic variable and 1 algebraic equation in the original dynamical system. Then, assigning \(\alpha =10\) in both the Hamiltonian systems \(\Sigma _h\) and \(\Sigma _a\), we found similar results for the DSZ-ROMs, as found when Alternative I was selected for modeling.

SADPA was used to determine the dominant poles of the system H(s) for the two alternative modelings I and II. Although the poles are only associated with the pencil (E,A), the SADPA uses the other matrices (B,C,D) to guide the search for the dominant poles of H(s). The following 5 dominant poles of H(s) were found: \(-1.2870 \pm j137.59\), \(-1.8801 \pm j66.316\), \(-2.0015\). Next, only the pole located far away from the imaginary axis was discarded, the other 4 poles being used as initial estimates for computing the DSZs. SADPA was applied sequentially to calculate one dominant spectral zero at a time, by using as initial estimate the dominant pole of the system (E,A,B,C,D) in a procedure that can be easily automated. The computation of the DSZ were carried out for the structured Hamiltonian system \(\Sigma _h\), as defined in (11)–(12) and \(\Sigma _a\), as defined in (27)–(28).

For Alternative I and \(\alpha =10\) the following DSZs were calculated: \(-2.4521\), \(-1.5194 \pm j66.313\) and \(-1.3607 \pm j137.59\). Their right eigenvectors \(R_{-}\) (see (16)) were also calculated, generating the matrices V and W according to (17). Then, with these matrices the DSZ reduced model (DSZ-ROM) for Alternative I was calculated. The DSZ-ROM obtained has the following poles \(-2.0015\), \( -1.8801 \pm j66.316\) and \(-1.2870 \pm j137.59\). This set of dominant poles to build the reduced model is approximately equal to the dominant poles of the original system H(s).

5.3 Experiments on Circuits with Many PI Sections

The results in this section are related to an analogous electrical circuit model with 150 PI sections having 450 generalized states, and the structured Hamiltonian has 901 generalized states.

SADPA initially was used to determine the dominant poles of the H(s) dynamical system, with \(s_0=j100\) as the initial estimate and the number of wanted poles 130 (nwanted) specified to initialize SADPA, which automatically computed 239 dominant (complex conjugate) poles for H(s). These dominant poles were then used as estimates for computing the spectral zeros via SADPA again, but now applied to the structured Hamiltonian system, both for (11)–(12) and (27)–(28). A total of 239 DSZs were found in both SADPA runs. These DSZs were used to compute the transformation matrices V and W according to (18)–(19). Finally, a 239 order DSZ-ROM was calculated. Figure 6 illustrates the distribution of poles of H(s) as well as DSZs and poles of the ROM computed via the DSZ approach for the Alternative I modeling. Figure 7 exhibits the frequency response for the FOM H(s) and its DSZ-ROM for the alternative I, when the DSZs are computed for \(\alpha =20\). The computation of DSZs by applying both the Hamiltonian system approaches in (11)–(12) and (27)–(28) are seen to present practically identical results. Other experiments were performed for smaller nwanted parameter values such as 90 and 110. The deviation is highest for the case when nwanted is 90, the best result among these three experiments being for nwanted = 130. Evidently, higher values for nwanted improve the quality of the calculated ROM. But, this should be done up to a minimum tolerance for accepting the DSZ-ROM. These results demonstrate the efficacy of SADPA to accurately compute ROMs directly from the Hamiltonian system description.

Fig. 6
figure 6

Poles of H(s) (FOM), poles of the DSZ-ROM and the DSZs for the circuit with 150 PI sections

Fig. 7
figure 7

Frequency responses for the 150 PI sections FOM H(s) and DSZ-ROM for Alternative I, \(\alpha =20\). The Hamiltonian systems \(\Sigma _h\) em \(\Sigma _a\) were used for computing the DSZs

6 Experiments on an Actual Power System Model

This section presents results for an actual power system RLC model [14] suitable for transient studies involving frequencies as high up as 15 kHz (about \(10^{5}\) rad/s). The actual system model is stable and passive since all components are represented by lumped RLC circuits. Each transmission line is represented by a cascade of 80 PI circuits while other devices such as transformers and loads are individually represented by a RL series circuit. The complete data on this system is available at [15]. The objective in [14] was to determine reduced models by using the balanced truncation technique and employing low-rank approximations of the Gramians to compute the transformation matrices.

The full model has 4028 states and the objective is to compute its ROM by using the DSZ approaches presented in this work to preserve the properties of stability and passivity [7]. This section reports on three strategies for computing the DSZ all of which use the basic algorithm or variants of SADPA.

The following considerations are appropriate:

  • The input/output matrices of the structured Hamiltonian of a SISO H(s) are built using (27)–(28) for generating a ROM1 and (11)–(12) for generating a ROM2. In both cases, the D term of the original system is zero and a \(D_{\alpha }=\alpha \) term was utilized;

  • The computations for determining the DSZs were then performed for \(D_{\alpha }\) =10 despite the fact that in the original system \(D=0\);

  • Three strategies for the efficient computation of DSZs (re)using the dominant pole results for H(s) obtained through SADPA iterations were compared:

    1. 1.

      Guess H(s): Dominant poles of H(s) are computed by SADPA and used as set of initial guesses in the DSZ computation also by SADPA, with an artificially large \(D_{\alpha }\) norm used in the Hamiltonian system.

    2. 2.

      Hybrid: From a guess \(s_0\), just one pole of H(s) is computed by SADPA and the result is used to compute the DSZ nearest to this pole by a two-sided RQI algorithm, with an artificially large \(D_{\alpha }\) norm used in the Hamiltonian system. After convergence to the DSZ, the pole of H(s) is deflated and the next dominant pole is determined for computing the next DSZ, again by a two-sided RQI algorithm. The process continues until a wanted number of poles is computed.

    3. 3.

      DSZ-deflation: DSZ computed by SADPA as dominant poles of the Hamiltonian system modified with an artificially large D norm. Initial estimates chosen by user. Basic SADPA routine deflates the already found DSZ (an Hamiltonian pole) and proceed to find the next DSZ.

Experiments were carried out for the three strategies to compute the DSZs. The following SADPA parameters (see [11] for details on parameters) were used: \(K_{min}=5\), \(K_{max}=20\), \(\text {maxrestart}=20\), tolerance of \(10^{-10}\), and strategy (in this work ‘LR’, largest\(|\text {residues}|/|\text {real}(\text {pole})|\) was used to characterize mode dominance).

Table 1 summarizes experiment results for the three strategies to compute DSZs for both the ROM1 and ROM2 approaches. The ROM1 approach corresponds to the structured Hamiltonian where the output/input matrices are insensitive to \(D_{\alpha }\) (see (27) and (28)), proposed in this work; the ROM2 approach characterizes the study based on the method when the output/input matrices is dependent on \(D_{\alpha }\) (see (11) and (12)). The number of dominant spectral zeros (#DSZ) and the computational cost in CPU time, in seconds, for obtaining a ROM are provided in Table 1.

Table 1 Results for the MOR experiments for the 4028-state model

From Table 1, we can see that all three variants produce ROMs of similar order (#DSZ). However, the best strategy in terms of computational cost is the one based on the first strategy, labeled ‘guess H(s)’ (see third column in the table), where the dominant poles of H(s) were used as initial estimates for the DSZs computation. The worst run-time performance was obtained for the second variant (see fourth column, labeled ‘hybrid’).

The ROMs and FOMs were compared in the frequency domain for a frequency range from 10 to \(10^{5}\) rad/s. Figure 8 illustrates the magnitudes and absolute deviations between the DSZ-ROM in relation to FOM for a transfer function (TF). The DSZ-ROM was calculated for \(\alpha =10\). The scalar TF relates the bus voltage (output signal) to the current injection (input signal) at the bus #21 in the industrial system model described in [14]. The TF plots for the FOM, ROM1-DSZ and ROM2-DSZ are shown in the figure. The deviations of the ROM results from the FOM are compared in error curves ‘Error ROM1’ and ‘Error ROM2’. The figure illustrates plots related to the strategy characterized by ‘guess H(s)’ in Table 1. Similar plots were obtained for the strategies ‘hybrid’ and ‘DSZ-deflation’.

Fig. 8
figure 8

Frequency response for the TF and the respective deviations between FOM and ROM, when the ‘guess H(s)’ strategy is implemented on SADPA

When comparing the error curves computed by the three strategies (strategies ‘hybrid’ and ‘DSZ-deflation’ not shown), the first and second strategies ‘guess H(s)’ and ‘hybrid’ are seen to perform better than the strategy ‘DSZ-deflation’, if the focus is on higher frequencies. For lower frequencies and in the region of larger peaks all strategies have similar performance. We verify that for strategies ‘guess H(s)’ and ‘hybrid’ the deflation is implemented for the poles of H(s), which are used as estimates for computing a DSZ. In the case of ‘DSZ-deflation’ the deflation occurs directly on the Hamiltonian system. In this case, the approaches ROM1 and ROM2 can converge for another set of DSZ or miss some DSZ. Note that from Table 1, the ROM1 and ROM2 were obtained from 193 DSZs and 195 DSZs, respectively. The other strategies required information from 197 DSZs for either ROM1 or ROM2. These results confirm the better performance of the ‘guess H(s)’ strategy, which uses the poles of H(s) as initial estimates in the computation of the DSZ set.

The strategy adopted in this work to modify \(D_{\alpha }\) and select dominant poles as initial estimates for finding DSZs from the modified Hamiltonian system, is applicable for systems having the direct transmission term D equal to zero or different from zero.

In this work, all experiments were performed in Matlab in a notebook AMD Intel Core-TM i7 CPU with 2.5 GHz and 16 GB RAM.

7 Conclusion

This work presented an alternative method for computing dominant spectral zeros (DSZs) as eigenvalues of a Hamiltonian system. A ROM was built taking as foundation the stable modal part of the set of DSZs. The proposed method does not require the matrix D for computing the input and output matrices as needed in other works. The new method was implemented using SADPA and its performance was compared with other approaches whose input and output matrices do depend on D. The ROM has the characteristics of preserving the stability and passivity of the full order model. The study has demonstrated that the location of the DSZs depends heavily on the norm of the matrix D. Three strategies for selecting initial estimates when computing DSZs based on SADPA were described in detail. The efficacy of the computations was demonstrated by performing experiments for three test-systems, including a 4028-state actual power system model. For the test systems considered in this paper, the approach where a set of dominant poles of H(s) is used as initial estimates for the dominant spectral zeros was found to be the most efficient.