This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Compression and Distillation of Data Quadruplets in Non-intrusive Reduced-order Modeling

Umair Zulfiqar [email protected] School of Electronic Information and Electrical Engineering, Yangtze University, Jingzhou, Hubei, 434023, China
Abstract

The data-driven implementation of balanced truncation has been successfully achieved in the literature by approximating the integrals of Gramians using numerical integration. This formulation is non-intrusive, meaning it does not require access to the transfer function or state-space model for constructing reduced-order models. Instead, it relies on samples of the transfer function evaluated along the jωj\omega-axis or on samples of the impulse response in the time domain. Similarly, the data-driven formulation of iterative rational Krylov algorithm (IRKA) also relies on samples of the transfer function and its derivatives, but unlike balanced truncation, the sampling points are updated iteratively and are not known in advance. If the transfer function is unavailable, IRKA must either pause until new samples are obtained through experiments or estimate new samples from existing data.

This paper introduces a quadrature-free, data-driven approach to balanced truncation for both continuous-time and discrete-time systems. The method non-intrusively constructs reduced-order models using available transfer function samples from the right half of the ss-plane. It is highlighted that the proposed data-driven balanced truncation and existing quadrature-based balanced truncation algorithms share a common feature: both compress their respective data quadruplets to derive reduced-order models. Additionally, it is demonstrated that by using different compression strategies, these quadruplets can be utilized to develop three data-driven formulations of the IRKA. These formulations non-intrusively generate near-optimal reduced models using transfer function samples from the jωj\omega-axis or the right half of the ss-plane, or impulse response samples. Notably, these IRKA formulations eliminate the necessity of computing new transfer function samples as IRKA iteratively updates the sampling points. The results are also extended to discrete-time systems. The efficacy of the proposed algorithms is validated through numerical examples, which show that the proposed data-driven approaches perform comparably to their intrusive counterparts.

keywords:
ADI, Balanced truncation, Data-driven, 2\mathcal{H}_{2}-optimal, IRKA, Low-rank, Non-intrusive
journal: ArXiv.org

1 Introduction

Model order reduction (MOR) comprises system-theoretic methods aimed at constructing simplified models that accurately replicate the input-output behavior of large-scale dynamical systems. By efficiently capturing key dynamical characteristics of the original system, reduced order models (ROMs) are able to approximate its behavior across a broad range of inputs, yet are significantly lower in order. These ROMs are designed to be computationally efficient, making them easier to simulate, manipulate, and control. For further details on various MOR techniques, the readers are referred to [1, 2, 3].

Balanced truncation (BT) [4] is a highly effective and widely used technique for MOR of linear dynamical systems. This method preserves the asymptotic stability of the original system while offering a priori error bounds for the ROM. By discarding states that are difficult to reach and observe, as determined by the relative magnitude of the system’s Hankel singular values, BT ensures that their impact on the system’s input-output behavior is minimal. Consequently, the ROM accurately approximates the original system in simulations or analyses.

The primary computational burden in BT lies in solving large-scale Lyapunov equations to compute the system Gramians. Various approaches, such as those mentioned in the surveys [5, 6], have been developed to efficiently compute these Gramians. These methods rely on the system’s explicit state-space representation, making BT an “intrusive” method. This is in contrast to “non-intrusive” methods, which are data-driven and depend solely on system response data—like transfer function samples or impulse response measurements—without requiring the system’s internal state-space representation [7, 8, 9, 10]. In [11], a non-intrusive BT algorithm based on numerical integration, called Quadrature-BT (QuadBT), is introduced. This algorithm constructs the ROM using transfer function samples at the jωj\omega-axis of the ss-plane or samples of impulse response and its derivatives.

The 2\mathcal{H}_{2}-optimal MOR problem involves finding a local minimum for the (squared) 2\mathcal{H}_{2} norm of the error transfer function. One of the key methods for achieving this local optimum is the Iterative Rational Krylov Algorithm (IRKA) [12]. A non-intrusive, data-driven version of IRKA was introduced in [13], based on the interpolatory framework proposed in [7]. This approach requires only transfer function samples and their derivatives to compute the local optimum, making it data-driven and non-intrusive. However, because IRKA is iterative, the sampling points are updated at each iteration and cannot be predetermined. Instead, IRKA identifies the optimal sampling points through successive iterations. If these new samples must be obtained experimentally, the algorithm must pause until the new data is available. This poses practical challenges, as it may be difficult or even impossible to conduct experiments to gather transfer function samples each time the sampling points are updated.

Among the various 2\mathcal{H}_{2} MOR algorithms, the Pseudo-optimal Rational Krylov (PORK) algorithm is an important suboptimal method [14, 15]. Unlike IRKA, PORK is an iteration-free approach that satisfies a subset of the 2\mathcal{H}_{2} optimality conditions in a single run. In this paper, PORK plays a significant role in the development of the non-intrusive implementations of both BT and IRKA.

Over the past two decades, the low-rank Alternating-direction Implicit (ADI) method has proven highly effective in reducing the computational cost of BT [16]. It is now one of the most widely used and efficient BT algorithms in the literature [17]. In this paper, we introduce a non-intrusive, data-driven implementation of the low-rank ADI-based BT that constructs the ROM from transfer function samples in the right-half of the ss-plane. Unlike QuadBT, this approach does not rely on numerical integration. Additionally, we propose three non-intrusive, data-driven implementations for IRKA, tailored to the type of data available. In cases where transfer function samples along the jωj\omega axis or impulse response measurements are accessible, we present numerical integration-based algorithms that do not require new transfer function samples as IRKA updates the sampling points. For scenarios where transfer function samples in the right-half of the ss-plane are available, we propose a version that does not require numerical integration and new transfer function samples as IRKA updates the sampling points. Additionally, all these data-driven implementations (both BT and IRKA) for continuous-time systems are extended to discrete-time systems in this paper. It is also briefly highlighted that the implementations utilizing transfer function samples in the right half of the ss-plane can also be executed using input-output data instead of relying solely on transfer function samples.

The remainder of the paper is structured as follows. Section 2 provides the necessary background on MOR and briefly reviews existing MOR algorithms most relevant to this work. The main contributions of this research begin in Section 3, where a data-driven, non-intrusive implementation of ADI-based low-rank BT is proposed. Section 4 presents three new data-driven implementations of IRKA, tailored to the type of available data. Section 5 introduces two quadrature-based data-driven implementations of IRKA for discrete-time systems. In Section 6, the PORK algorithm is extended to discrete-time systems. Building on this, Section 7 formulates a quadrature-free data-driven implementation of BT for discrete-time systems, while Section 8 develops a quadrature-free data-driven implementation of IRKA. Section 9 elaborates on the concepts of compression and distillation in the context of data-driven MOR. The performance of the proposed algorithms is evaluated in Section 10. Finally, the paper concludes in Section 11.

2 Preliminaries

Consider an nthn^{th}-order linear time-invariant (LTI) system G(s)G(s) represented by the state-space realization

G(s)=C(sEA)1B,G(s)=C(sE-A)^{-1}B,

where En×nE\in\mathbb{R}^{n\times n}, An×nA\in\mathbb{R}^{n\times n}, Bn×mB\in\mathbb{R}^{n\times m}, and Cp×nC\in\mathbb{R}^{p\times n}. Throughout the paper, the matrix AA is assumed to be Hurwitz and the matrix EE is assumed to be non-singular.

Suppose the rthr^{th}-order ROM Gr(s)G_{r}(s) is given by the state-space realization

Gr(s)=Cr(sErAr)1Br,G_{r}(s)=C_{r}(sE_{r}-A_{r})^{-1}B_{r},

where Err×rE_{r}\in\mathbb{R}^{r\times r}, Arr×rA_{r}\in\mathbb{R}^{r\times r}, Brr×mB_{r}\in\mathbb{R}^{r\times m}, and Crp×rC_{r}\in\mathbb{R}^{p\times r}.

The ROM is derived from G(s)G(s) using Petrov-Galerkin projection, defined as

Er=WTEV,Ar=WTAV,Br=WTB,Cr=CV,E_{r}=W^{T}EV,\quad A_{r}=W^{T}AV,\quad B_{r}=W^{T}B,\quad C_{r}=CV,

where Wn×rW\in\mathbb{R}^{n\times r}, Vn×rV\in\mathbb{R}^{n\times r}, and both VV and WW are full column rank matrices. Let Tvr×rT_{v}\in\mathbb{C}^{r\times r} and Twr×rT_{w}\in\mathbb{C}^{r\times r} be invertible matrices. The projection matrices WW and VV can be substituted with WTwWT_{w} and VTvVT_{v}, yielding the same ROM Gr(s)G_{r}(s) but with a different state-space realization. This property can be utilized to transform complex projection matrices and the resulting state-space matrices of the ROM into real ones. For the sake of clarity and simplicity in presentation, we will assume VV, WW, ErE_{r}, ArA_{r}, BrB_{r}, and CrC_{r} to be complex matrices throughout the remainder of the paper, without any loss of generality. Readers are referred to (Section 4.1 of) [11] for computing TvT_{v} and TwT_{w} to ensure that the ROMs obtained using the algorithms discussed in the following sections are real.

2.1 Review of Interpolation Theory [18]

Let the right interpolation points be (σ1,,σr)(\sigma_{1},\dots,\sigma_{r}) and the left interpolation points be (μ1,,,μr)(\mu_{1},,\dots,\mu_{r}), with their corresponding right tangential directions (b1,,br)(b_{1},\dots,b_{r}) and left tangential directions (c1,,cr)(c_{1},\dots,c_{r}). The projection matrices Vn×rV\in\mathbb{C}^{n\times r} and Wn×rW\in\mathbb{C}^{n\times r} within the interpolation framework can be constructed as follows:

V\displaystyle V =[(σ1EA)1Bb1(σrEA)1Bbr],\displaystyle=\begin{bmatrix}(\sigma_{1}E-A)^{-1}Bb_{1}&\cdots&(\sigma_{r}E-A)^{-1}Bb_{r}\end{bmatrix}, (1)
W\displaystyle W =[(μ1ETAT)1CTc1(μrETAT)1CTcr].\displaystyle=\begin{bmatrix}(\mu_{1}^{*}E^{T}-A^{T})^{-1}C^{T}c_{1}^{*}&\cdots&(\mu_{r}^{*}E^{T}-A^{T})^{-1}C^{T}c_{r}^{*}\end{bmatrix}. (2)

The ROM obtained using these projection matrices satisfies the following tangential interpolation conditions:

G(σj)bj=Gr(σj)bj,ciG(μi)=ciGr(μi),\displaystyle G(\sigma_{j})b_{j}=G_{r}(\sigma_{j})b_{j},\quad c_{i}G(\mu_{i})=c_{i}G_{r}(\mu_{i}), (3)

for i=1,,ri=1,\dots,r and j=1,,rj=1,\dots,r. Additionally, if there are common right and left interpolation points, i.e., σj=μi\sigma_{j}=\mu_{i}, the following Hermite interpolation conditions are also satisfied for those points:

ciG(σj)bj=ciGr(σj)bj.\displaystyle c_{i}G^{\prime}(\sigma_{j})b_{j}=c_{i}G_{r}^{\prime}(\sigma_{j})b_{j}. (4)

2.2 Iterative Rational Krylov Algorithm (IRKA) [12]

Assume that G(s)G(s) and Gr(s)G_{r}(s) have simple poles. In this case, they can be expressed in the following pole-residue form:

G(s)=k=1nlkrksλk,Gr(s)=k=1rl^kr^ksλ^k.G(s)=\sum_{k=1}^{n}\frac{l_{k}r_{k}^{*}}{s-\lambda_{k}},\quad G_{r}(s)=\sum_{k=1}^{r}\frac{\hat{l}_{k}\hat{r}_{k}^{*}}{s-\hat{\lambda}_{k}}.

The necessary conditions for a local optimum of G(s)Gr(s)22||G(s)-G_{r}(s)||_{\mathcal{H}_{2}}^{2} are given by:

l^iG(λ^i)r^i\displaystyle\hat{l}_{i}^{*}G^{\prime}(-\hat{\lambda}_{i})\hat{r}_{i} =l^iGr(λ^i)r^i,\displaystyle=\hat{l}_{i}^{*}G_{r}^{\prime}(-\hat{\lambda}_{i})\hat{r}_{i}, (5)
l^iG(λ^i)\displaystyle\hat{l}_{i}^{*}G(-\hat{\lambda}_{i}) =l^iGr(λ^i),\displaystyle=\hat{l}_{i}^{*}G_{r}(-\hat{\lambda}_{i}), (6)
G(λ^i)r^i\displaystyle G(-\hat{\lambda}_{i})\hat{r}_{i} =Gr(λ^i)r^i,\displaystyle=G_{r}(-\hat{\lambda}_{i})\hat{r}_{i}, (7)

for i=1,2,,ri=1,2,\cdots,r.

Since the ROM Gr(s)G_{r}(s) is initially unknown, IRKA uses fixed-point iterations starting from an arbitrary initial guess of the interpolation data to search for the local optimum. After each iteration, the interpolation data is updated as σi=μi=λ^i\sigma_{i}=\mu_{i}=-\hat{\lambda}_{i}, bi=r^ib_{i}=\hat{r}_{i}, and ci=l^ic_{i}=\hat{l}_{i}^{*} until convergence is achieved. Upon convergence, a local optimum of G(s)Gr(s)22||G(s)-G_{r}(s)||_{\mathcal{H}_{2}}^{2} is achieved.

2.3 Pseudo-optimal Rational Krylov (PORK) Algorithm [15]

Let us define SbS_{b}, ScS_{c}, LbL_{b}, and LcL_{c} as follows:

Sb\displaystyle S_{b} =diag(σ1,,σr),\displaystyle=\text{diag}(\sigma_{1},\dots,\sigma_{r}), Sc\displaystyle S_{c} =diag(μ1,,μr),\displaystyle=\text{diag}(\mu_{1},\dots,\mu_{r}),
Lb\displaystyle L_{b} =[b1,,br],\displaystyle=\begin{bmatrix}b_{1},\dots,b_{r}\end{bmatrix}, Lc\displaystyle L_{c}^{*} =[c1,,cr].\displaystyle=\begin{bmatrix}c_{1}^{*},\dots,c_{r}^{*}\end{bmatrix}. (8)

The projection matrices VV and WW in (1) and (2), respectively, solve the following Sylvester equations:

AVEVSb+BLb\displaystyle AV-EVS_{b}+BL_{b} =0,\displaystyle=0, (9)
ATWETWSc+CTLc\displaystyle A^{T}W-E^{T}WS_{c}^{*}+C^{T}L_{c}^{*} =0.\displaystyle=0. (10)

By pre-multiplying (9) with WW^{*}, it can be observed that the matrix ArA_{r} can be expressed as Ar=ErSbBrLbA_{r}=E_{r}S_{b}-B_{r}L_{b}. This allows ArA_{r} to be parameterized in terms of ErE_{r} and BrB_{r} without affecting the interpolation conditions induced by VV, as this is equivalent to varying WW. Assume the pair (Sb,Lb)(-S_{b},L_{b}) is observable and solves the following Lyapunov equation:

SbQsQsSb+LbLb=0.\displaystyle-S_{b}^{*}Q_{s}-Q_{s}S_{b}+L_{b}^{*}L_{b}=0. (11)

By setting Er=IE_{r}=I and Br=Qs1LbB_{r}=Q_{s}^{-1}L_{b}^{*}, ArA_{r} becomes Ar=Qs1SbQsA_{r}=-Q_{s}^{-1}S_{b}^{*}Q_{s}. The resulting ROM:

Er\displaystyle E_{r} =I,\displaystyle=I, Ar\displaystyle A_{r} =Qs1SbQs,\displaystyle=-Q_{s}^{-1}S_{b}^{*}Q_{s},
Br\displaystyle B_{r} =Qs1Lb,\displaystyle=Q_{s}^{-1}L_{b}^{*}, Cr\displaystyle C_{r} =CV,\displaystyle=CV,

satisfies the optimality condition (7). This approach will be referred to as Input PORK (I-PORK) throughout this paper.

Similarly, by pre-multiplying (10) with VV^{*}, it can be noted that ArA_{r} can also be represented as Ar=ScErLcCrA_{r}=S_{c}E_{r}-L_{c}C_{r}. This allows ArA_{r} to be parameterized in terms of ErE_{r} and CrC_{r} without affecting the interpolation conditions induced by WW, as this is equivalent to varying VV. Assume the pair (Sc,Lc)(-S_{c},L_{c}) is controllable and solves the following Lyapunov equation:

ScPsPsSc+LcLc=0.\displaystyle-S_{c}P_{s}-P_{s}S_{c}^{*}+L_{c}L_{c}^{*}=0. (12)

By setting Er=IE_{r}=I and Cr=LcPs1C_{r}=L_{c}^{*}P_{s}^{-1}, ArA_{r} becomes Ar=PsScPs1A_{r}=-P_{s}S_{c}^{*}P_{s}^{-1}. The resulting ROM:

Er\displaystyle E_{r} =I,\displaystyle=I, Ar\displaystyle A_{r} =PsScPs1,\displaystyle=-P_{s}S_{c}^{*}P_{s}^{-1},
Br\displaystyle B_{r} =WB,\displaystyle=W^{*}B, Cr\displaystyle C_{r} =LcPs1,\displaystyle=L_{c}^{*}P_{s}^{-1},

satisfies the optimality condition (6). This approach will be referred to as Output PORK (O-PORK) throughout this paper.

2.4 Interpolatory Loewner framework [7]

In the Loewner framework, the matrices of the ROM, which satisfies the interpolation condition (3), are constructed from transfer function samples at the interpolation points as follows:

WEV\displaystyle W^{*}EV =[c1G(σ1)b1c1G(μ1)b1σ1μ1c1G(σr)brc1G(μ1)brσrμ1crG(σ1)b1crG(μr)b1σ1μrcrG(σr)G(μr)brσrμr],\displaystyle=\begin{bmatrix}-\frac{c_{1}G(\sigma_{1})b_{1}-c_{1}G(\mu_{1})b_{1}}{\sigma_{1}-\mu_{1}}&\cdots&-\frac{c_{1}G(\sigma_{r})b_{r}-c_{1}G(\mu_{1})b_{r}}{\sigma_{r}-\mu_{1}}\\ \vdots&\ddots&\vdots\\ -\frac{c_{r}G(\sigma_{1})b_{1}-c_{r}G(\mu_{r})b_{1}}{\sigma_{1}-\mu_{r}}&\cdots&-\frac{c_{r}G(\sigma_{r})-G(\mu_{r})b_{r}}{\sigma_{r}-\mu_{r}}\end{bmatrix},
WAV\displaystyle W^{*}AV =[σ1c1G(σ1)b1μ1c1G(μ1)b1σ1μ1σrc1G(σr)brμ1c1G(μ1)brσrμ1σ1crG(σ1)b1μrcrG(μr)b1σ1μrσrcrG(σr)brμrcrG(μr)brσrμr],\displaystyle=\begin{bmatrix}-\frac{\sigma_{1}c_{1}G(\sigma_{1})b_{1}-\mu_{1}c_{1}G(\mu_{1})b_{1}}{\sigma_{1}-\mu_{1}}&\cdots&-\frac{\sigma_{r}c_{1}G(\sigma_{r})b_{r}-\mu_{1}c_{1}G(\mu_{1})b_{r}}{\sigma_{r}-\mu_{1}}\\ \vdots&\ddots&\vdots\\ -\frac{\sigma_{1}c_{r}G(\sigma_{1})b_{1}-\mu_{r}c_{r}G(\mu_{r})b_{1}}{\sigma_{1}-\mu_{r}}&\cdots&-\frac{\sigma_{r}c_{r}G(\sigma_{r})b_{r}-\mu_{r}c_{r}G(\mu_{r})b_{r}}{\sigma_{r}-\mu_{r}}\end{bmatrix},
WB\displaystyle W^{*}B =[c1G(μ1)crG(μr)],CV=[G(σ1)b1G(σr)br],\displaystyle=\begin{bmatrix}c_{1}G(\mu_{1})\\ \vdots\\ c_{r}G(\mu_{r})\end{bmatrix},\quad CV=\begin{bmatrix}G(\sigma_{1})b_{1}&\cdots G(\sigma_{r})b_{r}\end{bmatrix}, (13)

where VV and WW are as in (1) and (2), respectively. When σjμi\sigma_{j}\approx\mu_{i}, the expressions approach to:

ciG(σi)bjciG(μj)bjσiμj\displaystyle\frac{c_{i}G(\sigma_{i})b_{j}-c_{i}G(\mu_{j})b_{j}}{\sigma_{i}-\mu_{j}} ciG(σj)bj,\displaystyle\approx c_{i}G^{\prime}(\sigma_{j})b_{j},
σjciG(σj)bjμiciG(μi)bjσrμr\displaystyle\frac{\sigma_{j}c_{i}G(\sigma_{j})b_{j}-\mu_{i}c_{i}G(\mu_{i})b_{j}}{\sigma_{r}-\mu_{r}} ciG(σj)bj+σjciG(σj)bj.\displaystyle\approx c_{i}G(\sigma_{j})b_{j}+\sigma_{j}c_{i}G^{\prime}(\sigma_{j})b_{j}.

Thus, when there are common elements in the sets of right and left interpolation points, samples of the derivative of G(s)G(s) at those common points are also required to construct WEVW^{*}EV and WAVW^{*}AV. If block interpolation is needed instead of tangential interpolation, one can set bj=ci=1b_{j}=c_{i}=1 in the above formulas.

The matrices ErE_{r} and ArA_{r} in the above formulas exhibit a special structure known as the Loewner matrix and shifted Loewner matrix, respectively. This structure is the reason behind the name “Interpolatory Loewner framework”.

2.5 Balanced Truncation (BT) [4]

Let PP and QQ denote the controllability and observability Gramians, respectively, defined by the following integral expressions:

P\displaystyle P =12π(jωEA)1BBT(jωETAT)1𝑑ω,\displaystyle=\frac{1}{2\pi}\int_{-\infty}^{\infty}(j\omega E-A)^{-1}BB^{T}(-j\omega E^{T}-A^{T})^{-1}\,d\omega, (14)
Q\displaystyle Q =12π(jωETAT)1CTC(jωEA)1𝑑ω.\displaystyle=\frac{1}{2\pi}\int_{-\infty}^{\infty}(-j\omega E^{T}-A^{T})^{-1}C^{T}C(j\omega E-A)^{-1}\,d\omega. (15)

PP and QQ can also be expressed using time-domain integral formulas as follows:

P\displaystyle P =0eE1AτE1BBTETeATETτ𝑑τ,\displaystyle=\int_{0}^{\infty}e^{E^{-1}A\tau}E^{-1}BB^{T}E^{-T}e^{A^{T}E^{-T}\tau}d\tau, (16)
Q\displaystyle Q =0eETATτETCTCE1eAE1τ𝑑τ.\displaystyle=\int_{0}^{\infty}e^{E^{-T}A^{T}\tau}E^{-T}C^{T}CE^{-1}e^{AE^{-1}\tau}d\tau. (17)

The Gramians PP and QQ can also be computed by solving the following Lyapunov equations:

APET+EPAT+BBT=0,\displaystyle APE^{T}+EPA^{T}+BB^{T}=0, (18)
ATQE+ETQA+CTC=0.\displaystyle A^{T}QE+E^{T}QA+C^{T}C=0. (19)

Next, we compute the Cholesky factorizations of PP and QQ as:

P=ZpZpTandQ=ZqZqT.P=Z_{p}Z_{p}^{T}\quad\text{and}\quad Q=Z_{q}Z_{q}^{T}.

The balanced square root algorithm [19] proceeds as follows. First, compute the singular value decomposition (SVD) of ZqTEZpZ_{q}^{T}EZ_{p}:

ZqTEZp=[U1U2][S100S2][V1TV2T].Z_{q}^{T}EZ_{p}=\begin{bmatrix}U_{1}&U_{2}\end{bmatrix}\begin{bmatrix}S_{1}&0\\ 0&S_{2}\end{bmatrix}\begin{bmatrix}V_{1}^{T}\\ V_{2}^{T}\end{bmatrix}.

Finally, the projection matrices WW and VV in BT are constructed as:

W=ZqU1S112andV=ZpV1S112.W=Z_{q}U_{1}S_{1}^{-\frac{1}{2}}\quad\text{and}\quad V=Z_{p}V_{1}S_{1}^{-\frac{1}{2}}.

2.6 Data-driven Quadrature-based Balanced Truncation (QuadBT)[11]

Our presentation of QuadBT differs slightly from the original formulation in [11]. This choice of presentation aims to emphasize that QuadBT, like all the algorithms proposed in this paper, compresses and distills data quadruplets to construct the ROM. The concepts of compression and distillation in the context of data-driven MOR will be discussed in detail in Section 9.

The integrals (14) and (15) can be approximated using a numerical quadrature rule as follows:

P\displaystyle P P^=i=1npwp,i2(jωiEA)1BBT(jωiETAT)1+wp,2E1BBTET,\displaystyle\approx\hat{P}=\sum_{i=1}^{n_{p}}w_{p,i}^{2}(j\omega_{i}E-A)^{-1}BB^{T}(-j\omega_{i}E^{T}-A^{T})^{-1}+w_{p,\infty}^{2}E^{-1}BB^{T}E^{-T},
Q\displaystyle Q Q^=i=1nqwq,i2(jνiETAT)1CTC(jνiEA)1+wq,2ETCTCE1,\displaystyle\approx\hat{Q}=\sum_{i=1}^{n_{q}}w_{q,i}^{2}(-j\nu_{i}E^{T}-A^{T})^{-1}C^{T}C(j\nu_{i}E-A)^{-1}+w_{q,\infty}^{2}E^{-T}C^{T}CE^{-1},

where ωi\omega_{i} and νi\nu_{i} are the quadrature nodes, and wp,i2w_{p,i}^{2} and wq,i2w_{q,i}^{2} are the corresponding quadrature weights. The weights wp,2w_{p,\infty}^{2} and wq,2w_{q,\infty}^{2} are associated with the nodes at infinity. The low-rank factors of PP and QQ, denoted as P^=Z^pZ^pT\hat{P}=\hat{Z}_{p}\hat{Z}_{p}^{T} and Q^=Z^qZ^qT\hat{Q}=\hat{Z}_{q}\hat{Z}_{q}^{T}, can be decomposed as:

Z^p=V~Lp,Z^q=W~Lq,\hat{Z}_{p}=\tilde{V}L_{p},\quad\hat{Z}_{q}=\tilde{W}L_{q},

where

V~\displaystyle\tilde{V} =[(jω1EA)1B(jωnpEA)1BE1B],\displaystyle=\begin{bmatrix}(j\omega_{1}E-A)^{-1}B&\cdots&(j\omega_{n_{p}}E-A)^{-1}B&E^{-1}B\end{bmatrix}, (20)
W~\displaystyle\tilde{W} =[(jν1ETAT)1CT(jνnqETAT)1CTETCT],\displaystyle=\begin{bmatrix}(-j\nu_{1}E^{T}-A^{T})^{-1}C^{T}&\cdots&(-j\nu_{n_{q}}E^{T}-A^{T})^{-1}C^{T}&E^{-T}C^{T}\end{bmatrix}, (21)
Lp\displaystyle L_{p} =diag(wp,1,,wp,np,wp,)Im,\displaystyle=\text{diag}(w_{p,1},\dots,w_{p,n_{p}},w_{p,\infty})\otimes I_{m},
Lq\displaystyle L_{q} =diag(wq,1,,wq,nq,wq,)Ip.\displaystyle=\text{diag}(w_{q,1},\dots,w_{q,n_{q}},w_{q,\infty})\otimes I_{p}.

The matrices LpL_{p} and LqL_{q} can be computed solely from the quadrature weights. Additionally, the terms Ew=W~EV~E_{w}=\tilde{W}^{*}E\tilde{V}, Aw=W~AV~A_{w}=\tilde{W}^{*}A\tilde{V}, Bw=W~BB_{w}=\tilde{W}^{*}B, and Cw=CV~C_{w}=C\tilde{V} can be constructed non-intrusively using transfer function samples at the quadrature nodes within the Loewner framework as follows:

Ew\displaystyle E_{w} =[G(jω1)G(jν1)jω1jν1G(jωnp)G(jν1)jωnpjν1G(jω1)G(jνnq)jω1jνnqG(jωnp)G(jνnq)jωnpjνnq],\displaystyle=\begin{bmatrix}-\frac{G(j\omega_{1})-G(j\nu_{1})}{j\omega_{1}-j\nu_{1}}&\cdots&-\frac{G(j\omega_{n_{p}})-G(j\nu_{1})}{j\omega_{n_{p}}-j\nu_{1}}\\ \vdots&\ddots&\vdots\\ -\frac{G(j\omega_{1})-G(j\nu_{n_{q}})}{j\omega_{1}-j\nu_{n_{q}}}&\cdots&-\frac{G(j\omega_{n_{p}})-G(j\nu_{n_{q}})}{j\omega_{n_{p}}-j\nu_{n_{q}}}\end{bmatrix},
Aw\displaystyle A_{w} =[jω1G(jω1)jν1G(jν1)jω1jν1jωnpG(jωnp)jν1G(jν1)jωnpjν1jω1G(jω1)jνnqG(jνnq)jω1jνnqjωnpG(jωnp)jνnqG(jνnq)jωnpjνnq],\displaystyle=\begin{bmatrix}-\frac{j\omega_{1}G(j\omega_{1})-j\nu_{1}G(j\nu_{1})}{j\omega_{1}-j\nu_{1}}&\cdots&-\frac{j\omega_{n_{p}}G(j\omega_{n_{p}})-j\nu_{1}G(j\nu_{1})}{j\omega_{n_{p}}-j\nu_{1}}\\ \vdots&\ddots&\vdots\\ -\frac{j\omega_{1}G(j\omega_{1})-j\nu_{n_{q}}G(j\nu_{n_{q}})}{j\omega_{1}-j\nu_{n_{q}}}&\cdots&-\frac{j\omega_{n_{p}}G(j\omega_{n_{p}})-j\nu_{n_{q}}G(j\nu_{n_{q}})}{j\omega_{n_{p}}-j\nu_{n_{q}}}\end{bmatrix},
Bw\displaystyle B_{w} =[G(jν1)G(jνnq)],Cw=[G(jω1)G(jωnp)].\displaystyle=\begin{bmatrix}G(j\nu_{1})\\ \vdots\\ G(j\nu_{n_{q}})\end{bmatrix},\quad C_{w}=\begin{bmatrix}G(j\omega_{1})&\cdots&G(j\omega_{n_{p}})\end{bmatrix}. (22)

The low-rank factors Z^p\hat{Z}_{p} and Z^q\hat{Z}_{q} can then replace ZpZ_{p} and ZqZ_{q} in the balanced square root algorithm as:

LqTEwLp=[U^1U^2][S^100S^2][V^1V^2].L_{q}^{T}E_{w}L_{p}=\begin{bmatrix}\hat{U}_{1}&\hat{U}_{2}\end{bmatrix}\begin{bmatrix}\hat{S}_{1}&0\\ 0&\hat{S}_{2}\end{bmatrix}\begin{bmatrix}\hat{V}_{1}^{*}\\ \hat{V}_{2}^{*}\end{bmatrix}.

Further, let the projection matrices W^r\hat{W}_{r} and V^r\hat{V}_{r} be defined as follows:

W^r=LqU^1S^112andV^r=LpV^1S^112.\hat{W}_{r}=L_{q}\hat{U}_{1}\hat{S}_{1}^{-\frac{1}{2}}\quad\text{and}\quad\hat{V}_{r}=L_{p}\hat{V}_{1}\hat{S}_{1}^{-\frac{1}{2}}.

The ROM in frequency-domain QuadBT is constructed by reducing the Loewner quadruplet (Ew,Aw,Bw,Cw)(E_{w},A_{w},B_{w},C_{w}) as follows:

Er\displaystyle E_{r} =W^rEwV^r=I,\displaystyle=\hat{W}_{r}^{*}E_{w}\hat{V}_{r}=I, Ar\displaystyle A_{r} =W^rAwV^r,\displaystyle=\hat{W}_{r}^{*}A_{w}\hat{V}_{r}, Br\displaystyle B_{r} =W^rBw,\displaystyle=\hat{W}_{r}^{*}B_{w}, Cr\displaystyle C_{r} =CwV^r.\displaystyle=C_{w}\hat{V}_{r}.

Similarly, the integrals (16) and (17) can be approximated using numerical quadrature as follows:

P\displaystyle P i=1npwp,i2eE1AtiE1BBTETeATETti,\displaystyle\approx\sum_{i=1}^{n_{p}}w_{p,i}^{2}e^{E^{-1}At_{i}}E^{-1}BB^{T}E^{-T}e^{A^{T}E^{-T}t_{i}},
Q\displaystyle Q i=1nqwq,i2eETATτiETCTCE1eAE1τi.\displaystyle\approx\sum_{i=1}^{n_{q}}w_{q,i}^{2}e^{E^{-T}A^{T}\tau_{i}}E^{-T}C^{T}CE^{-1}e^{AE^{-1}\tau_{i}}.

The low-rank factors of PP and QQ, denoted as P^=Z^pZ^pT\hat{P}=\hat{Z}_{p}\hat{Z}_{p}^{T} and Q^=Z^qZ^qT\hat{Q}=\hat{Z}_{q}\hat{Z}_{q}^{T}, can be decomposed as Z^p=V~Lp\hat{Z}_{p}=\tilde{V}L_{p} and Z^q=W~Lq\hat{Z}_{q}=\tilde{W}L_{q}, where

V~\displaystyle\tilde{V} =[eE1At1E1BeE1AtnpE1B],\displaystyle=\begin{bmatrix}e^{E^{-1}At_{1}}E^{-1}B&\cdots&e^{E^{-1}At_{n_{p}}}E^{-1}B\end{bmatrix}, (23)
W~\displaystyle\tilde{W} =[eETATτ1ETCTeETATτnqETCT],\displaystyle=\begin{bmatrix}e^{E^{-T}A^{T}\tau_{1}}E^{-T}C^{T}&\cdots&e^{E^{-T}A^{T}\tau_{n_{q}}}E^{-T}C^{T}\end{bmatrix}, (24)
Lp\displaystyle L_{p} =diag(wp,1,,wp,np,wp,)Im,\displaystyle=\text{diag}(w_{p,1},\dots,w_{p,n_{p}},w_{p,\infty})\otimes I_{m},
Lq\displaystyle L_{q} =diag(wq,1,,wq,nq,wq,)Ip.\displaystyle=\text{diag}(w_{q,1},\dots,w_{q,n_{q}},w_{q,\infty})\otimes I_{p}.

Let h(t)h(t) denote the impulse response of G(s)G(s). The impulse response and its derivative can be expressed as:

h(t)\displaystyle h(t) =CeE1AtE1B=CE1eAE1tB,\displaystyle=Ce^{E^{-1}At}E^{-1}B=CE^{-1}e^{AE^{-1}t}B,
h(t)\displaystyle h^{\prime}(t) =CeE1AtE1AE1B.\displaystyle=Ce^{E^{-1}At}E^{-1}AE^{-1}B.

The terms Et=W~TEV~E_{t}=\tilde{W}^{T}E\tilde{V}, At=W~TAV~A_{t}=\tilde{W}^{T}A\tilde{V}, Bt=W~TBB_{t}=\tilde{W}^{T}B, and Ct=CV~C_{t}=C\tilde{V} can be constructed non-intrusively using samples of the impulse response and its derivative as follows:

Et\displaystyle E_{t} =[h(τ1+t1)h(τ1+tnp)h(τnq+t1)h(τnq+tnp)],\displaystyle=\begin{bmatrix}h(\tau_{1}+t_{1})&\cdots&h(\tau_{1}+t_{n_{p}})\\ \vdots&\ddots&\vdots\\ h(\tau_{n_{q}}+t_{1})&\cdots&h(\tau_{n_{q}}+t_{n_{p}})\end{bmatrix},
At\displaystyle A_{t} =[h(τ1+t1)h(τ1+tnp)h(τnq+t1)h(τnq+tnp)],\displaystyle=\begin{bmatrix}h^{\prime}(\tau_{1}+t_{1})&\cdots&h^{\prime}(\tau_{1}+t_{n_{p}})\\ \vdots&\ddots&\vdots\\ h^{\prime}(\tau_{n_{q}}+t_{1})&\cdots&h^{\prime}(\tau_{n_{q}}+t_{n_{p}})\end{bmatrix},
Bt\displaystyle B_{t} =[h(τ1)h(τnq)],Ct=[h(t1)h(tnp)].\displaystyle=\begin{bmatrix}h(\tau_{1})\\ \vdots\\ h(\tau_{n_{q}})\end{bmatrix},\quad C_{t}=\begin{bmatrix}h(t_{1})&\cdots&h(t_{n_{p}})\end{bmatrix}. (25)

Additionally, LpL_{p} and LqL_{q} can be computed from the quadrature weights. The low-rank factors Z^p\hat{Z}_{p} and Z^q\hat{Z}_{q} can then replace ZpZ_{p} and ZqZ_{q} in the balanced square root algorithm as:

LqTEtLp=[U^1U^2][S^100S^2][V^1V^2].L_{q}^{T}E_{t}L_{p}=\begin{bmatrix}\hat{U}_{1}&\hat{U}_{2}\end{bmatrix}\begin{bmatrix}\hat{S}_{1}&0\\ 0&\hat{S}_{2}\end{bmatrix}\begin{bmatrix}\hat{V}_{1}^{*}\\ \hat{V}_{2}^{*}\end{bmatrix}.

Further, let the projection matrices W^r\hat{W}_{r} and V^r\hat{V}_{r} be defined as follows:

W^r=LqU^1S^112andV^r=LpV^1S^112.\hat{W}_{r}=L_{q}\hat{U}_{1}\hat{S}_{1}^{-\frac{1}{2}}\quad\text{and}\quad\hat{V}_{r}=L_{p}\hat{V}_{1}\hat{S}_{1}^{-\frac{1}{2}}.

The ROM in time-domain QuadBT is constructed by reducing the impulse data quadruplet (Et,At,Bt,Ct)(E_{t},A_{t},B_{t},C_{t}) as follows:

Er\displaystyle E_{r} =W^rEtV^r=I,\displaystyle=\hat{W}_{r}^{*}E_{t}\hat{V}_{r}=I, Ar\displaystyle A_{r} =W^rAtV^r,\displaystyle=\hat{W}_{r}^{*}A_{t}\hat{V}_{r}, Br\displaystyle B_{r} =W^rBt,\displaystyle=\hat{W}_{r}^{*}B_{t}, Cr\displaystyle C_{r} =CtV^r.\displaystyle=C_{t}\hat{V}_{r}.

3 Low-rank ADI-based Non-intrusive Balanced Truncation for Continuous-time Systems

In this section, we propose a non-intrusive, data-driven implementation of BT using transfer function samples from the right-half of the ss-plane, as opposed to the jωj\omega-axis, which is used for QuadBT. We also briefly discuss how this implementation can be executed using time-domain input-output data without any modifications.

Projection-based low-rank methods for Lyapunov equations approximate the Lyapunov equations (18) and (19) as follows:

P\displaystyle P V~P^V~\displaystyle\approx\tilde{V}\hat{P}\tilde{V}^{*} Q\displaystyle Q W~Q^W~.\displaystyle\approx\tilde{W}\hat{Q}\tilde{W}^{*}.

Any low-rank method for Lyapunov equations where V~\tilde{V} and W~\tilde{W} are interpolatory, and P^\hat{P} and Q^\hat{Q} can be computed non-intrusively can be effectively used to develop a non-intrusive BT algorithm. This is because, when V~\tilde{V} and W~\tilde{W} in PV~P^V~P\approx\tilde{V}\hat{P}\tilde{V}^{*} and QW~Q^W~Q\approx\tilde{W}\hat{Q}\tilde{W}^{*}, respectively, are interpolatory, the terms W~EV~\tilde{W}^{*}E\tilde{V}, W~AV~\tilde{W}^{*}A\tilde{V}, W~B\tilde{W}^{*}B, and CV~C\tilde{V} can be computed non-intrusively within the Loewner framework using data. If P^=LpLp\hat{P}=L_{p}L_{p}^{*} and Q^=LqLq\hat{Q}=L_{q}L_{q}^{*} can also be computed non-intrusively, a non-intrusive formulation can be readily achieved.

The core idea behind interpolation-based methods and frequency-domain quadrature-based methods for approximating the Lyapunov equations (18) and (19) is fundamentally similar. In numerical integration, the integrand is approximated by constructing its interpolant at specific nodes, which then serves as a surrogate for the original integrand in the integral. Instead of directly computing the integral of the original function, the integral of the interpolant is evaluated. Interpolatory projection-based methods implicitly follow the same approach. First, the interpolant of X(s)=(sEA)1BBT(sETAT)1X(s)=(sE-A)^{-1}BB^{T}(s^{*}E^{T}-A^{T})^{-1} is constructed as follows:

X~(s)=V~(sE~A~)1B~B~(sE~A~)1V~,\tilde{X}(s)=\tilde{V}(s\tilde{E}-\tilde{A})^{-1}\tilde{B}\tilde{B}^{*}(s^{*}\tilde{E}^{*}-\tilde{A}^{*})^{-1}\tilde{V}^{*},

where X(σi)=X~(σi)X(\sigma_{i})=\tilde{X}(\sigma_{i}) for i=1,,npi=1,\dots,n_{p}, and σi\sigma_{i} represent the chosen interpolation points. Subsequently, the method approximates PP by implicitly computing the integral:

P^=12πX~(jω)𝑑ω.\hat{P}=\frac{1}{2\pi}\int_{-\infty}^{\infty}\tilde{X}(j\omega)\,d\omega.

The key distinction lies in where X(s)X(s) is interpolated: in numerical integration, X(s)X(s) is interpolated along the jωj\omega-axis, whereas in interpolatory projection methods like the ADI method, the interpolation occurs in the right-half of the ss-plane.

In [20], it is shown that the low-rank approximation of Lyapunov equations produced by the block version of PORK is identical to that produced by the ADI method [16] when the mirror images of the interpolation points are used as ADI shifts. The block version of PORK enforces block interpolation instead of tangential interpolation. Over the past few decades, the ADI method has been highly successful in extending the applicability of BT to large-scale systems [17, 21]. In the sequel, a data-driven implementation of the block version of PORK-based BT is formulated, which produces results identical to the ADI-based BT.

The controllability Gramian P^\hat{P} of the ROM produced by I-PORK is given by P^=Qs1\hat{P}=Q_{s}^{-1}. Similarly, the observability Gramian Q^\hat{Q} of the ROM produced by O-PORK is given by Q^=Ps1\hat{Q}=P_{s}^{-1}. These Gramians can be computed non-intrusively using only interpolation data. Furthermore, the projection matrices in I-PORK and O-PORK, respectively, are interpolatory. Thus, PORK qualifies for use in the non-intrusive implementation of low-rank balanced truncation.

In block interpolation, the projection matrices

V~\displaystyle\tilde{V} =[(σ1EA)1B(σnpEA)1B],\displaystyle=\begin{bmatrix}(\sigma_{1}E-A)^{-1}B&\cdots&(\sigma_{n_{p}}E-A)^{-1}B\end{bmatrix},
W~\displaystyle\tilde{W} =[(μ1ETAT)1CT(μnqETAT)1CT],\displaystyle=\begin{bmatrix}(\mu_{1}^{*}E^{T}-A^{T})^{-1}C^{T}&\cdots&(\mu_{n_{q}}^{*}E^{T}-A^{T})^{-1}C^{T}\end{bmatrix},

solve the following Sylvester equations:

AV~EV~Sb+BLb\displaystyle A\tilde{V}-E\tilde{V}S_{b}+BL_{b} =0,\displaystyle=0,
ATW~ETW~Sc+CTLcT\displaystyle A^{T}\tilde{W}-E^{T}\tilde{W}S_{c}^{*}+C^{T}L_{c}^{T} =0,\displaystyle=0,

where

Sb\displaystyle S_{b} =blkdiag(σ1Im,,σnpIm),\displaystyle=\text{blkdiag}(\sigma_{1}I_{m},\dots,\sigma_{n_{p}}I_{m}), Sc\displaystyle S_{c} =blkdiag(μ1Ip,,μnqIp),\displaystyle=\text{blkdiag}(\mu_{1}I_{p},\dots,\mu_{n_{q}}I_{p}),
Lb\displaystyle L_{b} =[ImIm],\displaystyle=\begin{bmatrix}I_{m}&\cdots&I_{m}\end{bmatrix}, LcT\displaystyle L_{c}^{T} =[IpIp].\displaystyle=\begin{bmatrix}I_{p}&\cdots&I_{p}\end{bmatrix}. (26)

Assume that the pairs (Sb,Lb)(-S_{b},L_{b}) and (Sc,Lc)(-S_{c},L_{c}) are observable and controllable, respectively, and the Gramians QsQ_{s} and PsP_{s} solve the Lyapunov equations (11) and (12), respectively. The block version of PORK produces low-rank approximations of PP and QQ as PV~P^V~P\approx\tilde{V}\hat{P}\tilde{V}^{*} and W~Q^W~\tilde{W}\hat{Q}\tilde{W}^{*}, where P^=Qs1\hat{P}=Q_{s}^{-1} and Q^=Ps1\hat{Q}=P_{s}^{-1}. These are the same approximations achieved using the ADI method with shifts (σ1,,σnp)(-\sigma_{1},\dots,-\sigma_{n_{p}}) and (μ1,,μnq)(-\mu_{1},\dots,-\mu_{n_{q}}), respectively.

Let us decompose P^=LpLp\hat{P}=L_{p}L_{p}^{*} and Q^=LqLq\hat{Q}=L_{q}L_{q}^{*}, and define Z^p=VLp\hat{Z}_{p}=VL_{p} and Z^q=WLq\hat{Z}_{q}=WL_{q}. Thus, PZ^pZ^pP\approx\hat{Z}_{p}\hat{Z}_{p}^{*} and QZ^qZ^qQ\approx\hat{Z}_{q}\hat{Z}_{q}^{*}. Low-rank BT can then be performed using these low-rank factors of the Gramians via the balanced square-root algorithm. As with Quad-BT, the expressions Es=W~EV~E_{s}=\tilde{W}^{*}E\tilde{V}, As=W~AV~A_{s}=\tilde{W}^{*}A\tilde{V}, Bs=W~BB_{s}=\tilde{W}^{*}B, and Cs=CV~C_{s}=C\tilde{V} can be computed non-intrusively within the Loewner framework, as follows:

Es\displaystyle E_{s} =[G(σ1)G(μ1)σ1μ1G(σnp)G(μ1)σnpμ1G(σ1)G(μnq)σ1μnqG(σnp)G(μnq)σnpμnq],\displaystyle=\begin{bmatrix}-\frac{G(\sigma_{1})-G(\mu_{1})}{\sigma_{1}-\mu_{1}}&\cdots&-\frac{G(\sigma_{n_{p}})-G(\mu_{1})}{\sigma_{n_{p}}-\mu_{1}}\\ \vdots&\ddots&\vdots\\ -\frac{G(\sigma_{1})-G(\mu_{n_{q}})}{\sigma_{1}-\mu_{n_{q}}}&\cdots&-\frac{G(\sigma_{n_{p}})-G(\mu_{n_{q}})}{\sigma_{n_{p}}-\mu_{n_{q}}}\end{bmatrix},
As\displaystyle A_{s} =[σ1G(σ1)μ1G(μ1)σ1μ1σnpG(σnp)μ1G(μ1)σnpμ1σ1G(σ1)μnqG(μnq)σ1μnqσnpG(σnp)μnqG(μnq)σnpμnq],\displaystyle=\begin{bmatrix}-\frac{\sigma_{1}G(\sigma_{1})-\mu_{1}G(\mu_{1})}{\sigma_{1}-\mu_{1}}&\cdots&-\frac{\sigma_{n_{p}}G(\sigma_{n_{p}})-\mu_{1}G(\mu_{1})}{\sigma_{n_{p}}-\mu_{1}}\\ \vdots&\ddots&\vdots\\ -\frac{\sigma_{1}G(\sigma_{1})-\mu_{n_{q}}G(\mu_{n_{q}})}{\sigma_{1}-\mu_{n_{q}}}&\cdots&-\frac{\sigma_{n_{p}}G(\sigma_{n_{p}})-\mu_{n_{q}}G(\mu_{n_{q}})}{\sigma_{n_{p}}-\mu_{n_{q}}}\end{bmatrix},
Bs\displaystyle B_{s} =[G(μ1)G(μnq)],Cs=[G(σ1)G(σnp)].\displaystyle=\begin{bmatrix}G(\mu_{1})\\ \vdots\\ G(\mu_{n_{q}})\end{bmatrix},\quad C_{s}=\begin{bmatrix}G(\sigma_{1})&\cdots&G(\sigma_{n_{p}})\end{bmatrix}. (27)

The low-rank factors Z^p\hat{Z}_{p} and Z^q\hat{Z}_{q} can then replace ZpZ_{p} and ZqZ_{q} in the balanced square root algorithm as:

LqTEsLp=[U^1U^2][S^100S^2][V^1V^2].\displaystyle L_{q}^{T}E_{s}L_{p}=\begin{bmatrix}\hat{U}_{1}&\hat{U}_{2}\end{bmatrix}\begin{bmatrix}\hat{S}_{1}&0\\ 0&\hat{S}_{2}\end{bmatrix}\begin{bmatrix}\hat{V}_{1}^{*}\\ \hat{V}_{2}^{*}\end{bmatrix}. (28)

Further, let the projection matrices W^r\hat{W}_{r} and V^r\hat{V}_{r} be defined as follows:

W^r=LqU^1S^112andV^r=LpV^1S^112.\displaystyle\hat{W}_{r}=L_{q}\hat{U}_{1}\hat{S}_{1}^{-\frac{1}{2}}\quad\text{and}\quad\hat{V}_{r}=L_{p}\hat{V}_{1}\hat{S}_{1}^{-\frac{1}{2}}. (29)

The ROM in low-rank ADI-based BT is constructed by reducing the Loewner quadruplet (Es,As,Bs,Cs)(E_{s},A_{s},B_{s},C_{s}) as follows:

Er\displaystyle E_{r} =W^rEsV^r=I,\displaystyle=\hat{W}_{r}^{*}E_{s}\hat{V}_{r}=I, Ar\displaystyle A_{r} =W^rAsV^r,\displaystyle=\hat{W}_{r}^{*}A_{s}\hat{V}_{r}, Br\displaystyle B_{r} =W^rBs,\displaystyle=\hat{W}_{r}^{*}B_{s}, Cr\displaystyle C_{r} =CsV^r.\displaystyle=C_{s}\hat{V}_{r}. (30)

The pseudo-code for the data-driven ADI-based BT (DD-ADI-BT) is provided in Algorithm 1.

Algorithm 1 DD-ADI-BT

Input: ADI shifts for approximating PP: (σ1,,σnp)(-\sigma_{1},\cdots,-\sigma_{n_{p}}); ADI shifts for approximating QQ: (μ1,,μnq)(-\mu_{1},\cdots,-\mu_{n_{q}}); Frequency-domain data: (G(σ1),,G(σnp),G(μ1),,G(μnq))\big{(}G(\sigma_{1}),\cdots,G(\sigma_{n_{p}}),G(\mu_{1}),\cdots,G(\mu_{n_{q}})\big{)} and G(σi)G^{\prime}(\sigma_{i}) for σi=μj\sigma_{i}=\mu_{j}; Reduced order: rr.

Output: ROM: (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r})

1:  Compute the Loewner quadruplet (Es,As,Bs,Cs)(E_{s},A_{s},B_{s},C_{s}) from (27).
2:  Set SbS_{b}, ScS_{c}, LbL_{b}, and LcL_{c} as in (26).
3:  Compute QsQ_{s} and PsP_{s} by solving the Lyapunov equations (11) and (12).
4:  Decompose Qs1=LpLpQ_{s}^{-1}=L_{p}L_{p}^{*} and Ps1=LqLqP_{s}^{-1}=L_{q}L_{q}^{*}.
5:  Compute the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} from (28) and (29).
6:  Compute the ROM from (30).

The accuracy of the ADI method heavily depends on the shifts. IRKA is known to produce good shifts for the ADI method [21]. The non-intrusive formulations of IRKA presented in the coming sections can be used to generate these shifts for low-rank BT. Furthermore, the low-rank Gramians produced by PORK monotonically approach the original Gramians as the number of interpolation points increases. Note that PORK satisfies the following:

G(s)Gr(s)22\displaystyle||G(s)-G_{r}(s)||_{\mathcal{H}_{2}}^{2} =trace(CPCT)trace(CVQs1VCT)\displaystyle=\text{trace}(CPC^{T})-\text{trace}(CVQ_{s}^{-1}V^{*}C^{T})
=trace(C(PVQs1V)CT),\displaystyle=\text{trace}\big{(}C(P-VQ_{s}^{-1}V^{*})C^{T}\big{)}, (31)
G(s)Gr(s)22\displaystyle||G(s)-G_{r}(s)||_{\mathcal{H}_{2}}^{2} =trace(BTQB)trace(BTWPs1WB)\displaystyle=\text{trace}(B^{T}QB)-\text{trace}(B^{T}WP_{s}^{-1}W^{*}B)
=trace(BT(QWPs1W)B),\displaystyle=\text{trace}\big{(}B^{T}(Q-WP_{s}^{-1}W^{*})B\big{)}, (32)

The only variable part in (31) is trace(CVQs1VCT)=trace(CsQs1Cs)\text{trace}(CVQ_{s}^{-1}V^{*}C^{T})=\text{trace}(C_{s}Q_{s}^{-1}C_{s}^{*}), which grows monotonically as the number of interpolation points increases. Similarly, the only variable part in (32) is trace(BTWPs1WB)=trace(BsPs1Bs)\text{trace}(B^{T}WP_{s}^{-1}W^{*}B)=\text{trace}(B_{s}^{*}P_{s}^{-1}B_{s}), which also grows monotonically as the number of interpolation points increases. Both these terms can be computed non-intrusively, allowing us to quantify the improvement in the accuracy of the Gramians by monitoring their growth.

The core computation in the DD-ADI-BT algorithm is step 1, which computes the Loewner quadruplet (Es,As,Bs,Cs)(E_{s},A_{s},B_{s},C_{s}). This can be computed from input-output time-domain data using the algorithm presented in [22] without any modifications. The other steps of the DD-ADI-BT algorithm remain the same. This extends the applicability of nonintrusive, data-driven BT to input-output time-domain data, complementing the other data types discussed earlier. For a detailed description of how the Loewner quadruplet (Es,As,Bs,Cs)(E_{s},A_{s},B_{s},C_{s}) is constructed from input-output time-domain data, see [22].

4 Data-driven Implementations of IRKA for Continuous-time Systems

IRKA is highly effective for constructing 2\mathcal{H}_{2}-optimal ROMs through iterative refinement of interpolation data. However, its data-driven implementation poses a significant practical challenge. Each IRKA iteration updates the interpolation points, necessitating new measurements of G(σi)biG(\sigma_{i})b_{i}, ciG(σi)c_{i}G(\sigma_{i}), and ciG(σi)bic_{i}G^{\prime}(\sigma_{i})b_{i}. As a consequence, the algorithm must be paused to conduct new experiments, making it unsuitable for practical applications. In this section, three non-intrusive, data-driven implementations of IRKA are proposed, which rely on existing available data instead of requiring new measurements of G(σi)biG(\sigma_{i})b_{i}, ciG(σi)c_{i}G(\sigma_{i}), and ciG(σi)bic_{i}G^{\prime}(\sigma_{i})b_{i} each time IRKA updates the interpolation data triplet (σi,bi,ci)(\sigma_{i},b_{i},c_{i}).

4.1 Using Available Frequency Response Data

In industries such as aerospace, defense, and automotive, frequency-domain data is collected to construct the Fourier transform G(jω)G(j\omega) by exciting systems at various frequencies ω\omega rad/sec. This data plays a critical role in numerous analysis and design tasks, including system identification, control design, resonance frequency calculation, and vibration analysis, among others [23, 24, 25, 26, 27]. In this subsection, we demonstrate that this existing data is sufficient for non-intrusive data-driven implementation of IRKA.

When the interpolation points σi\sigma_{i} and μi\mu_{i} have positive real parts, VV and WW in (9) and (10), respectively, can be computed using the integral expressions:

V\displaystyle V =12π(jνEA)1BLb(jνI+Sb)1𝑑ν,\displaystyle=\frac{1}{2\pi}\int_{-\infty}^{\infty}(j\nu E-A)^{-1}BL_{b}(-j\nu I+S_{b})^{-1}d\nu, (33)
W\displaystyle W^{*} =12π(jνI+Sc)1LcC(jνEA)1𝑑ν,\displaystyle=\frac{1}{2\pi}\int_{-\infty}^{\infty}(-j\nu I+S_{c})^{-1}L_{c}C(j\nu E-A)^{-1}d\nu, (34)

cf. [28]. These integrals can be approximated using numerical integration as follows:

V\displaystyle V 12πi=1npwv,i(jωiEA)1BLb(jωiI+Sb)1,\displaystyle\approx\frac{1}{2\pi}\sum_{i=1}^{n_{p}}w_{v,i}(j\omega_{i}E-A)^{-1}BL_{b}(-j\omega_{i}I+S_{b})^{-1}, (35)
W\displaystyle W^{*} 12πi=1nqww,i(jνiI+Sc)1LcC(jνiEA)1,\displaystyle\approx\frac{1}{2\pi}\sum_{i=1}^{n_{q}}w_{w,i}(-j\nu_{i}I+S_{c})^{-1}L_{c}C(j\nu_{i}E-A)^{-1}, (36)

where ωi\omega_{i} and νi\nu_{i} are nodes, and wv,iw_{v,i} and ww,iw_{w,i} are their respective weights.

Let us define the projection matricesV^r\hat{V}_{r} and W^r\hat{W}_{r} as follows:

V^r\displaystyle\hat{V}_{r} =12π[wv,1Lb(jω1I+Sb)1wv,npLb(jωnpI+Sb)1],\displaystyle=\frac{1}{2\pi}\begin{bmatrix}w_{v,1}L_{b}(-j\omega_{1}I+S_{b})^{-1}\\ \vdots\\ w_{v,n_{p}}L_{b}(-j\omega_{n_{p}}I+S_{b})^{-1}\end{bmatrix}, (37)
W^r\displaystyle\hat{W}_{r}^{*} =12π[(jν1I+Sc)1Lcww,1(jνnqI+Sc)1Lcww,nq].\displaystyle=\frac{1}{2\pi}\begin{bmatrix}(-j\nu_{1}I+S_{c})^{-1}L_{c}w_{w,1}&\cdots&(-j\nu_{n_{q}}I+S_{c})^{-1}L_{c}w_{w,n_{q}}\end{bmatrix}. (38)

It is evident that the summations (35) and (36) can be represented as V~V^r\tilde{V}\hat{V}_{r} and W^rW~\hat{W}_{r}^{*}\tilde{W}^{*}, respectively, where V~\tilde{V} and W~\tilde{W} are as in (20) and (21), respectively. Thus, VV~V^rV\approx\tilde{V}\hat{V}_{r} and WW~W^rW\approx\tilde{W}\hat{W}_{r}. Let us assume, for a moment, that this approximation is exact. In this case, the ROM satisfying the interpolation condition (3) can be obtained by reducing the Loewner quadruplet (Ew,Aw,Bw,Cw)(E_{w},A_{w},B_{w},C_{w}) as follows:

Er\displaystyle E_{r} =W^rEwV^r,\displaystyle=\hat{W}_{r}^{*}E_{w}\hat{V}_{r}, Ar\displaystyle A_{r} =W^rAwV^r,\displaystyle=\hat{W}_{r}^{*}A_{w}\hat{V}_{r}, Br\displaystyle B_{r} =W^rBw,\displaystyle=\hat{W}_{r}^{*}B_{w}, Cr\displaystyle C_{r} =CwV^r.\displaystyle=C_{w}\hat{V}_{r}. (39)

When σj=μi\sigma_{j}=\mu_{i}, this ROM also satisfies the Hermite interpolation condition (4). Since V^r\hat{V}_{r} and W^r\hat{W}_{r} depend solely on the quadrature weights wv,iw_{v,i} and ww,iw_{w,i}, the interpolation points σj\sigma_{j} and μi\mu_{i}, and the tangential directions bjb_{j} and cic_{i}, the ROM (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) can be computed non-intrusively.

It is now evident that IRKA can be implemented using frequency response data G(jωi)G(j\omega_{i}) and G(jνi)G(j\nu_{i}), eliminating the need for repeated measurements of G(σi)G(\sigma_{i}) and G(σi)G^{\prime}(\sigma_{i}) whenever IRKA updates σi\sigma_{i}. The pseudo-code for our proposed algorithm, called “frequency-domain quadrature-based IRKA (FD-Quad-IRKA)”, is provided in Algorithm 2.

Algorithm 2 FD-Quad-IRKA

Inputs: Nodes: (ω1,,ωnp)(\omega_{1},\cdots,\omega_{n_{p}}), (ν1,,νnq)(\nu_{1},\cdots,\nu_{n_{q}}); Frequency-domain data: (G(jω1),,G(jωnp))\big{(}G(j\omega_{1}),\cdots,G(j\omega_{n_{p}})\big{)}, (G(jν1),,G(jνnq))\big{(}G(j\nu_{1}),\cdots,G(j\nu_{n_{q}})\big{)}; G(jνi)G^{\prime}(j\nu_{i}) for ωi=νj\omega_{i}=\nu_{j}; Quadrature weights: (wv,1,,wv,np)(w_{v,1},\cdots,w_{v,n_{p}}), (ww,1,,wv,nq)(w_{w,1},\cdots,w_{v,n_{q}}); Interpolation data: (σ1,,σr)(\sigma_{1},\cdots,\sigma_{r}), (b1,,br)(b_{1},\cdots,b_{r}), (c1,,cr)(c_{1},\cdots,c_{r}); Tolerance: tol.

Outputs: ROM: (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r})

1:  Compute the Loewner quadruplet (Ew,Aw,Bw,Cw)(E_{w},A_{w},B_{w},C_{w}) from (22).
2:  while(relative change in λi\lambda_{i} ¿ tol)
3:  Set SbS_{b}, LbL_{b}, ScS_{c}, and LcL_{c} as in (8).
4:  Set the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} as in (37) and (38).
5:  Compute (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) from (39).
6:  Compute the eigenvalue decomposition: Er1Ar=TrΛTr1E_{r}^{-1}A_{r}=T_{r}\Lambda T_{r}^{-1} where Λ=diag(λ1,,λr)\Lambda=diag(\lambda_{1},\cdots,\lambda_{r}).
7:  Update the interpolation data: (σ1,,σr)=(λ1,,λr)(\sigma_{1},\cdots,\sigma_{r})=(-\lambda_{1},\cdots,-\lambda_{r}); [b1br]=BrErTr[b_{1}\cdots b_{r}]=B_{r}^{*}E_{r}^{-*}T_{r}^{-*}; [c1cr]=CrTr[c_{1}^{*}\cdots c_{r}^{*}]=C_{r}T_{r}.
8:  end while

Range of Frequency Domain Sampling: Let us restrict the integral range of (33) from [,][-\infty,\infty] to [ν,ν][-\nu,\nu] rad/sec. Then Vν=V|ννV_{\nu}=V\Big{|}_{-\nu}^{\nu} solves the following Sylvester equation:

AVνEVνSb+Sν,aBLb+BLbSν,s=0,AV_{\nu}-EV_{\nu}S_{b}+S_{\nu,a}BL_{b}+BL_{b}S_{\nu,s}=0,

where

Sν,a=E2πνν(jνEA)1𝑑ν,Sν,s=12πνν(jνI+Sb)1𝑑ν,S_{\nu,a}=\frac{E}{2\pi}\int_{-\nu}^{\nu}(j\nu E-A)^{-1}d\nu,\quad S_{\nu,s}=\frac{1}{2\pi}\int_{-\nu}^{\nu}(j\nu I+S_{b})^{-1}d\nu,

as described in [29]. Theoretically, Sν,a12IS_{\nu,a}\rightarrow\frac{1}{2}I and Sν,s12IS_{\nu,s}\rightarrow\frac{1}{2}I as ν\nu\rightarrow\infty. In practice, Sν,aS_{\nu,a} reduces to 12I\frac{1}{2}I outside the bandwidth of G(s)G(s). Similarly, Sν,sS_{\nu,s} begins to approach 12I\frac{1}{2}I once ν\nu exceeds the largest imaginary part of the eigenvalues of SbS_{b}. As a result, VνV_{\nu} becomes numerically equivalent to VV beyond a finite frequency range. Therefore, in practice, the nodes of the numerical quadrature can be confined to a finite frequency range, especially when the bandwidth of the system G(s)G(s) is known.

Alternatively, the integration limits of the numerical quadrature rule can be mapped to [,][-\infty,\infty]. For instance, the integration limits [1,1][-1,1] in the Gauss-Legendre quadrature rule can be mapped to [,][-\infty,\infty] using the following transformation:

y=tan(π2x),dydx=π2sec2(π2x).y=\tan\left(\frac{\pi}{2}x\right),\quad\frac{dy}{dx}=\frac{\pi}{2}\sec^{2}\left(\frac{\pi}{2}x\right).

The quadrature weights can then be adjusted as wy=wxπ2sec2(π2x)w_{y}=w_{x}\frac{\pi}{2}\sec^{2}\left(\frac{\pi}{2}x\right).

4.2 Using Available Impulse Response Data

In many applications, obtaining frequency-domain measurements is impractical. Instead, impulse response data is frequently utilized for various analysis and design tasks. When direct impulse response measurements are not feasible, a step input can be applied, and the impulse response can be obtained through differentiation. While a detailed review of these methods falls outside the scope of this paper, we refer readers to [30, 31, 32, 33, 34] for further insights. In this subsection, we demonstrate that existing impulse response data is sufficient for non-intrusive data-driven implementation of IRKA.

If the interpolation points σi\sigma_{i} and μi\mu_{i} have positive real parts, VV and WW can be computed using the following integral expressions:

V\displaystyle V =0eE1AτE1BLbeSbτ𝑑τ,\displaystyle=\int_{0}^{\infty}e^{E^{-1}A\tau}E^{-1}BL_{b}e^{-S_{b}\tau}d\tau, (40)
W\displaystyle W^{*} =0eScτLcCE1eAE1τ𝑑τ,\displaystyle=\int_{0}^{\infty}e^{-S_{c}\tau}L_{c}CE^{-1}e^{AE^{-1}\tau}d\tau, (41)

where Sb=diag(σ1,,σr)S_{b}=\text{diag}(\sigma_{1},\dots,\sigma_{r}), Sc=diag(μ1,,μr)S_{c}=\text{diag}(\mu_{1},\dots,\mu_{r}), Lb=[b1,,br]L_{b}=\begin{bmatrix}b_{1},\dots,b_{r}\end{bmatrix}, and Lc=[c1,,cr]L_{c}^{*}=\begin{bmatrix}c_{1}^{*},\dots,c_{r}^{*}\end{bmatrix}.

These integrals can be approximated using numerical integration as follows:

V\displaystyle V i=1npwv,ieE1AtiE1BLbeSbti,\displaystyle\approx\sum_{i=1}^{n_{p}}w_{v,i}e^{E^{-1}At_{i}}E^{-1}BL_{b}e^{-S_{b}t_{i}}, (42)
W\displaystyle W^{*} i=1nqww,ieScτiLcCE1eAE1τi,\displaystyle\approx\sum_{i=1}^{n_{q}}w_{w,i}e^{-S_{c}\tau_{i}}L_{c}CE^{-1}e^{AE^{-1}\tau_{i}}, (43)

where tit_{i} and τi\tau_{i} are quadrature nodes, and wv,iw_{v,i} and ww,iw_{w,i} are their respective weights.

Let us define the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} as follows:

V^r\displaystyle\hat{V}_{r} =[wv,1LbeSbt1wv,npLbeSbtnp],\displaystyle=\begin{bmatrix}w_{v,1}L_{b}e^{-S_{b}t_{1}}\\ \vdots\\ w_{v,n_{p}}L_{b}e^{-S_{b}t_{n_{p}}}\end{bmatrix}, (44)
W^r\displaystyle\hat{W}_{r}^{*} =[eScτ1Lcww,1eScτnqLcww,nq].\displaystyle=\begin{bmatrix}e^{-S_{c}\tau_{1}}L_{c}w_{w,1}&\cdots&e^{-S_{c}\tau_{n_{q}}}L_{c}w_{w,n_{q}}\end{bmatrix}. (45)

It is evident that the summations (42) and (43) can be represented as V~V^r\tilde{V}\hat{V}_{r} and W^rW~\hat{W}_{r}^{*}\tilde{W}^{*}, respectively, where V~\tilde{V} and W~\tilde{W} are as in (23) and (24), respectively. Thus, VV~V^rV\approx\tilde{V}\hat{V}_{r} and WW~W^rW\approx\tilde{W}\hat{W}_{r}. Again, let us assume, for a moment, that this approximation is exact. In this case, the ROM satisfying the interpolation condition (3) can be obtained by reducing the impulse data quadruplet (Et,At,Bt,Ct)(E_{t},A_{t},B_{t},C_{t}) as follows:

Er\displaystyle E_{r} =W^rEtV^r,\displaystyle=\hat{W}_{r}^{*}E_{t}\hat{V}_{r}, Ar\displaystyle A_{r} =W^rAtV^r,\displaystyle=\hat{W}_{r}^{*}A_{t}\hat{V}_{r}, Br\displaystyle B_{r} =W^rBt,\displaystyle=\hat{W}_{r}^{*}B_{t}, Cr\displaystyle C_{r} =CtV^r.\displaystyle=C_{t}\hat{V}_{r}. (46)

When σj=μi\sigma_{j}=\mu_{i}, this ROM also satisfies the Hermite interpolation condition (4). Since V^r\hat{V}_{r} and W^r\hat{W}_{r} depend solely on the quadrature weights wv,iw_{v,i} and ww,iw_{w,i}, the interpolation points σj\sigma_{j} and μi\mu_{i}, and the tangential directions bjb_{j} and cic_{i}, the ROM (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) can be computed non-intrusively.

It is now evident that IRKA can be implemented using impulse response data, eliminating the need for repeated measurements of G(σi)G(\sigma_{i}) and G(σi)G^{\prime}(\sigma_{i}) whenever IRKA updates σi\sigma_{i}. The pseudo-code for our proposed algorithm, called “time-domain quadrature-based IRKA (TD-Quad-IRKA)”, is provided in Algorithm 3.

Algorithm 3 TD-Quad-IRKA

Input: Nodes: (t1,,tnp),(τ1,,τnq)(t_{1},\cdots,t_{n_{p}}),(\tau_{1},\cdots,\tau_{n_{q}}); Impulse response data: (h(t1),,h(tnp))\big{(}h(t_{1}),\cdots,h(t_{n_{p}})\big{)}, (h(τ1),,h(τnq))\big{(}h(\tau_{1}),\cdots,h(\tau_{n_{q}})\big{)}, (h(t1),,h(tnp))\big{(}h^{\prime}(t_{1}),\cdots,h^{\prime}(t_{n_{p}})\big{)}, (h(τ1),,h(τnq))\big{(}h^{\prime}(\tau_{1}),\cdots,h^{\prime}(\tau_{n_{q}})\big{)}; Quadrature weights: (wv,1,,wv,np),(ww,1,,ww,nq)(w_{v,1},\cdots,w_{v,n_{p}}),(w_{w,1},\cdots,w_{w,n_{q}}); Interpolation data: (σ1,,σr)(\sigma_{1},\cdots,\sigma_{r}), (b1,,br)(b_{1},\cdots,b_{r}), (c1,,cr)(c_{1},\cdots,c_{r}); Tolerance: tol.

Output: ROM: (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r})

1:  Compute the impulse data quadruplet (Et,At,Bt,Ct)(E_{t},A_{t},B_{t},C_{t}) from (25).
2:  while(relative change in λi\lambda_{i} ¿ tol)
3:  Set SbS_{b}, LbL_{b}, ScS_{c}, and LcL_{c} as in (8).
4:  Set the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} as in (44) and (45).
5:  Compute (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) from (46).
6:  Compute the eigenvalue decomposition: Er1Ar=TrΛTr1E_{r}^{-1}A_{r}=T_{r}\Lambda T_{r}^{-1} where Λ=diag(λ1,,λr)\Lambda=diag(\lambda_{1},\cdots,\lambda_{r}).
7:  Update the interpolation data: (σ1,,σr)=(λ1,,λr)(\sigma_{1},\cdots,\sigma_{r})=(-\lambda_{1},\cdots,-\lambda_{r}); [b1br]=BrErTr[b_{1}\cdots b_{r}]=B_{r}^{*}E_{r}^{-*}T_{r}^{-*}; [c1cr]=CrTr[c_{1}^{*}\cdots c_{r}^{*}]=C_{r}T_{r}.
8:  end while

Range of Impulse Response Sampling: Let us restrict the integral range of (40) from [0,][0,\infty] to [0,tf][0,t_{f}] rad/sec. Then Vτ=V|0tfV_{\tau}=V\big{|}_{0}^{t_{f}} solves the following Sylvester equation:

AVτEVτSb+BLbEeE1AtfE1BLbeSbtf=0,AV_{\tau}-EV_{\tau}S_{b}+BL_{b}-Ee^{E^{-1}At_{f}}E^{-1}BL_{b}e^{-S_{b}t_{f}}=0,

as described in [35]. Theoretically, eE1Atf0e^{E^{-1}At_{f}}\rightarrow 0 and eSbtf0e^{-S_{b}t_{f}}\rightarrow 0 as tft_{f}\rightarrow\infty. In practice, eE1Atfe^{E^{-1}At_{f}} and eSbtfe^{-S_{b}t_{f}} rapidly approach zero for a finite tft_{f}, depending on how far the eigenvalues of E1AE^{-1}A and Sb-S_{b} are from the jωj\omega-axis. The farther the eigenvalues of E1AE^{-1}A and Sb-S_{b} are from the jωj\omega-axis, the faster the exponentials eE1Atfe^{E^{-1}At_{f}} and eSbtfe^{-S_{b}t_{f}} decay to zero. As a result, VτV_{\tau} becomes numerically equivalent to VV beyond a finite time range. Therefore, in practice, the nodes of the numerical quadrature can be confined to a finite time range, especially when the poles of G(s)G(s) are located far from the jωj\omega-axis in the left half of the ss-plane. Consequently, we can use a finite tft_{f} in the numerical quadrature rule, and the integration limits can be mapped accordingly. For instance, the integration limits [1,1][-1,1] in the Gauss-Legendre quadrature rule can be mapped to [0,tf][0,t_{f}] using the following transformation:

y=0.5tf(x+1),dydx=0.5tf.y=0.5t_{f}(x+1),\quad\frac{dy}{dx}=0.5t_{f}.

The quadrature weights can then be adjusted as wy=0.5tfwxw_{y}=0.5t_{f}w_{x}.

4.3 Using Available Transfer Function Samples

In this subsection, we illustrate how the block version of PORK can be utilized to develop a non-intrusive, data-driven implementation of IRKA using available transfer function samples. Recall the following expressions:

CV\displaystyle CV =12πG(jν)Lb(jνI+Sb)𝑑ν,\displaystyle=\frac{1}{2\pi}\int_{-\infty}^{\infty}G(j\nu)L_{b}(-j\nu I+S_{b})d\nu, (47)
WB\displaystyle W^{*}B =12π(jνI+Sc)1LcG(jν)𝑑ν.\displaystyle=\frac{1}{2\pi}\int_{-\infty}^{\infty}(j\nu I+S_{c})^{-1}L_{c}G(j\nu)d\nu. (48)

Similar to the ADI method, if we substitute G(s)G(s) in (47) with its interpolant generated by the block version of I-PORK at the available interpolation points (α1,,αnp)(\alpha_{1},\cdots,\alpha_{n_{p}}), and replace G(s)G(s) in (48) with its interpolant produced by the block version of O-PORK at the interpolation points (β1,,βnq)(\beta_{1},\cdots,\beta_{n_{q}}), we can achieve a non-intrusive, data-driven implementation of IRKA. The interpolation points αi\alpha_{i} and βi\beta_{i} are all located in the right-half of the ss-plane.

Let us define the projection matrices V~\tilde{V} and W~\tilde{W} as follows:

V~\displaystyle\tilde{V} =[(α1EA)1B(αnpEA)1B],\displaystyle=\begin{bmatrix}(\alpha_{1}E-A)^{-1}B&\cdots&(\alpha_{n_{p}}E-A)^{-1}B\end{bmatrix}, (49)
W~\displaystyle\tilde{W} =[(β1ETAT)1CT(βnqETAT)1CT].\displaystyle=\begin{bmatrix}(\beta_{1}^{*}E^{T}-A^{T})^{-1}C^{T}&\cdots&(\beta_{n_{q}}^{*}E^{T}-A^{T})^{-1}C^{T}\end{bmatrix}. (50)

Additionally, let us define the following matrices:

Sα\displaystyle S_{\alpha} =blkdiag(α1Im,,αnpIm),\displaystyle=\text{blkdiag}(\alpha_{1}I_{m},\cdots,\alpha_{n_{p}}I_{m}), Sβ\displaystyle S_{\beta} =blkdiag(β1Ip,,βnqIp),\displaystyle=\text{blkdiag}(\beta_{1}I_{p},\cdots,\beta_{n_{q}}I_{p}),
Lα\displaystyle L_{\alpha} =[ImIm],\displaystyle=\begin{bmatrix}I_{m}&\cdots&I_{m}\end{bmatrix}, LβT\displaystyle L_{\beta}^{T} =[IpIp].\displaystyle=\begin{bmatrix}I_{p}&\cdots&I_{p}\end{bmatrix}. (51)

Let QαQ_{\alpha} and PβP_{\beta} be the solutions to the following Lyapunov equations:

SαQαQαSα+LαTLα\displaystyle-S_{\alpha}^{*}Q_{\alpha}-Q_{\alpha}S_{\alpha}+L_{\alpha}^{T}L_{\alpha} =0,\displaystyle=0, (52)
SβPβPβSβ+LβLβT\displaystyle-S_{\beta}P_{\beta}-P_{\beta}S_{\beta}^{*}+L_{\beta}L_{\beta}^{T} =0.\displaystyle=0. (53)

In (47), G(s)G(s) can be replaced with the ROM produced by the block version of I-PORK:

Eα\displaystyle E_{\alpha} =I,\displaystyle=I, Aα\displaystyle A_{\alpha} =Qα1SαQα,\displaystyle=-Q_{\alpha}^{-1}S_{\alpha}^{*}Q_{\alpha},
Bα\displaystyle B_{\alpha} =Qα1LαT,\displaystyle=Q_{\alpha}^{-1}L_{\alpha}^{T}, Cα\displaystyle C_{\alpha} =CV~.\displaystyle=C\tilde{V}. (54)

Similarly, in (48), G(s)G(s) can be replaced with the ROM produced by the block version of O-PORK:

Eβ\displaystyle E_{\beta} =I,\displaystyle=I, Aβ\displaystyle A_{\beta} =PβSβPβ1,\displaystyle=-P_{\beta}S_{\beta}^{*}P_{\beta}^{-1},
Bβ\displaystyle B_{\beta} =W~B,\displaystyle=\tilde{W}^{*}B, Cβ\displaystyle C_{\beta} =LβPβ1.\displaystyle=L_{\beta}^{*}P_{\beta}^{-1}. (55)

Consequently, we obtain the following approximations:

CV\displaystyle CV 12πCV~((jνIAα)1BαLb(jνI+Sb)𝑑ν),\displaystyle\approx\frac{1}{2\pi}C\tilde{V}\Big{(}\int_{-\infty}^{\infty}(j\nu I-A_{\alpha})^{-1}B_{\alpha}L_{b}(-j\nu I+S_{b})d\nu\Big{)}, (56)
WB\displaystyle W^{*}B (12π(jνI+Sc)1LcCβ(jνIAβ)1𝑑ν)W~B.\displaystyle\approx\Big{(}\frac{1}{2\pi}\int_{-\infty}^{\infty}(j\nu I+S_{c})^{-1}L_{c}C_{\beta}(j\nu I-A_{\beta})^{-1}d\nu\Big{)}\tilde{W}^{*}B. (57)

Let the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} be defined as:

V^r=[(σ1IAα)1Bαb1(σrIAα)1Bαbr],\displaystyle\hat{V}_{r}=\begin{bmatrix}(\sigma_{1}I-A_{\alpha})^{-1}B_{\alpha}b_{1}&\cdots&(\sigma_{r}I-A_{\alpha})^{-1}B_{\alpha}b_{r}\end{bmatrix}, (58)
W^r=[(μ1IAβ)1Cβc1(μrIAβ)1Cβcr].\displaystyle\hat{W}_{r}=\begin{bmatrix}(\mu_{1}^{*}I-A_{\beta}^{*})^{-1}C_{\beta}^{*}c_{1}^{*}&\cdots&(\mu_{r}^{*}I-A_{\beta}^{*})^{-1}C_{\beta}^{*}c_{r}^{*}\end{bmatrix}. (59)

It can then be observed that VV~V^rV\approx\tilde{V}\hat{V}_{r} and WW~W^rW\approx\tilde{W}\hat{W}_{r}. Assuming this approximation is exact, the ROM satisfying the interpolation condition (3) can be obtained by reducing the Loewner quadruplet (Eα,β,Aα,β,Bα,β,Cα,β)=(W~EV~,W~AV~,W~B,CV~)(E_{\alpha,\beta},A_{\alpha,\beta},B_{\alpha,\beta},C_{\alpha,\beta})=(\tilde{W}^{*}E\tilde{V},\tilde{W}^{*}A\tilde{V},\tilde{W}^{*}B,C\tilde{V}) as follows:

Er\displaystyle E_{r} =W^rEα,βV^r,\displaystyle=\hat{W}_{r}^{*}E_{\alpha,\beta}\hat{V}_{r}, Ar\displaystyle A_{r} =W^rAα,βV^r,\displaystyle=\hat{W}_{r}^{*}A_{\alpha,\beta}\hat{V}_{r}, Br\displaystyle B_{r} =W^rBα,β,\displaystyle=\hat{W}_{r}^{*}B_{\alpha,\beta}, Cr\displaystyle C_{r} =Cα,βV^r,\displaystyle=C_{\alpha,\beta}\hat{V}_{r}, (60)

where

Eα,β\displaystyle E_{\alpha,\beta} =[G(α1)G(β1)α1β1G(αnp)G(β1)αnpβ1G(α1)G(βnq)α1βnqG(αnp)G(βnq)αnpβnq],\displaystyle=\begin{bmatrix}-\frac{G(\alpha_{1})-G(\beta_{1})}{\alpha_{1}-\beta_{1}}&\cdots&-\frac{G(\alpha_{n_{p}})-G(\beta_{1})}{\alpha_{n_{p}}-\beta_{1}}\\ \vdots&\ddots&\vdots\\ -\frac{G(\alpha_{1})-G(\beta_{n_{q}})}{\alpha_{1}-\beta_{n_{q}}}&\cdots&-\frac{G(\alpha_{n_{p}})-G(\beta_{n_{q}})}{\alpha_{n_{p}}-\beta_{n_{q}}}\end{bmatrix},
Aα,β\displaystyle A_{\alpha,\beta} =[α1G(α1)β1G(β1)α1β1αnpG(αnp)β1G(β1)αnpβ1α1G(α1)βnqG(βnq)α1βnqαnpG(αnp)βnqG(βnq)αnpβnq],\displaystyle=\begin{bmatrix}-\frac{\alpha_{1}G(\alpha_{1})-\beta_{1}G(\beta_{1})}{\alpha_{1}-\beta_{1}}&\cdots&-\frac{\alpha_{n_{p}}G(\alpha_{n_{p}})-\beta_{1}G(\beta_{1})}{\alpha_{n_{p}}-\beta_{1}}\\ \vdots&\ddots&\vdots\\ -\frac{\alpha_{1}G(\alpha_{1})-\beta_{n_{q}}G(\beta_{n_{q}})}{\alpha_{1}-\beta_{n_{q}}}&\cdots&-\frac{\alpha_{n_{p}}G(\alpha_{n_{p}})-\beta_{n_{q}}G(\beta_{n_{q}})}{\alpha_{n_{p}}-\beta_{n_{q}}}\end{bmatrix},
Bα,β\displaystyle B_{\alpha,\beta} =[G(β1)G(βnq)],Cα,β=[G(α1)G(αnp)].\displaystyle=\begin{bmatrix}G(\beta_{1})\\ \vdots\\ G(\beta_{n_{q}})\end{bmatrix},\quad C_{\alpha,\beta}=\begin{bmatrix}G(\alpha_{1})&\cdots&G(\alpha_{n_{p}})\end{bmatrix}. (61)

When σj=μi\sigma_{j}=\mu_{i}, this ROM also satisfies the Hermite interpolation condition (4). Since V^r\hat{V}_{r} and W^r\hat{W}_{r} depend only on the interpolation points αj\alpha_{j}, βi\beta_{i}, σj\sigma_{j}, and μi\mu_{i}, as well as the tangential directions bjb_{j} and cic_{i}, the ROM (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) can be computed in a non-intrusive manner.

It is now evident that IRKA can be implemented using available transfer function samples G(αi)G(\alpha_{i}) and G(βi)G(\beta_{i}), eliminating the need for repeated measurements of G(σi)G(\sigma_{i}) and G(σi)G^{\prime}(\sigma_{i}) whenever IRKA updates σi\sigma_{i}. The pseudo-code for our proposed algorithm, called “PORK-based IRKA (PORK-IRKA)”, is provided in Algorithm 4.

Algorithm 4 PORK-IRKA

Inputs: Sampling points: (α1,,αnp)(\alpha_{1},\cdots,\alpha_{n_{p}}), (β1,,βnq)(\beta_{1},\cdots,\beta_{n_{q}}); Transfer function samples: (G(α1),,G(αnp))\big{(}G(\alpha_{1}),\cdots,G(\alpha_{n_{p}})\big{)}, (G(β1),,G(βnq))\big{(}G(\beta_{1}),\cdots,G(\beta_{n_{q}})\big{)}; G(αi)G^{\prime}(\alpha_{i}) for αi=βj\alpha_{i}=\beta_{j}; Interpolation data: (σ1,,σr)(\sigma_{1},\cdots,\sigma_{r}), (b1,,br)(b_{1},\cdots,b_{r}), (c1,,cr)(c_{1},\cdots,c_{r}); Tolerance: tol.

Outputs: ROM: (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r})

1:  Compute the Loewner quadruplet (Eα,β,Aα,β,Bα,β,Cα,β)(E_{\alpha,\beta},A_{\alpha,\beta},B_{\alpha,\beta},C_{\alpha,\beta}) from (61).
2:  while(relative change in λi\lambda_{i} ¿ tol)
3:  Set the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} as in (58) and (59).
4:  Compute (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) from (60).
5:  Compute the eigenvalue decomposition: Er1Ar=TrΛTr1E_{r}^{-1}A_{r}=T_{r}\Lambda T_{r}^{-1} where Λ=diag(λ1,,λr)\Lambda=diag(\lambda_{1},\cdots,\lambda_{r}).
6:  Update the interpolation data: (σ1,,σr)=(λ1,,λr)(\sigma_{1},\cdots,\sigma_{r})=(-\lambda_{1},\cdots,-\lambda_{r}); [b1br]=BrErTr[b_{1}\cdots b_{r}]=B_{r}^{*}E_{r}^{-*}T_{r}^{-*}; [c1cr]=CrTr[c_{1}^{*}\cdots c_{r}^{*}]=C_{r}T_{r}.
7:  end while

4.4 Tracking the Error G(s)Gr(s)2||G(s)-G_{r}(s)||_{\mathcal{H}_{2}}

Let Gr(s)(i1)G_{r}(s)^{(i-1)} and Gr(s)(i)G_{r}(s)^{(i)} represent the interim ROMs in the (i1)th(i-1)^{th} and ithi^{th} iterations of IRKA, respectively. As noted in [36], the error in the (i1)th(i-1)^{th} iteration can be computed after the ithi^{th} iteration as follows:

||G(s)\displaystyle||G(s) Gr(s)(i1)||22\displaystyle-G_{r}(s)^{(i-1)}||_{\mathcal{H}_{2}}^{2}
=\displaystyle= G(s)22+Gr(s)(i1)222trace(Cr(i)(Cr(i1)Tr(i1))).\displaystyle||G(s)||_{\mathcal{H}_{2}}^{2}+||G_{r}(s)^{(i-1)}||_{\mathcal{H}_{2}}^{2}-2\text{trace}\Big{(}C_{r}^{(i)}\big{(}C_{r}^{(i-1)}T_{r}^{(i-1)}\big{)}^{*}\Big{)}.

Thus, with a delay of one iteration, the error G(s)Gr(s)2||G(s)-G_{r}(s)||_{\mathcal{H}_{2}} can be tracked if Gr(s)22||G_{r}(s)||_{\mathcal{H}_{2}}^{2} is computed in every iteration. It is important to note that the original expression presented in [36] is intrusive, whereas the expression above is its non-intrusive equivalent. To summarize, the error in data-driven IRKA can also be monitored non-intrusively by tracking the following term:

Gr(s)(i1)222trace(Cr(i)(Cr(i1)Tr(i1))).\displaystyle||G_{r}(s)^{(i-1)}||_{\mathcal{H}_{2}}^{2}-2\text{trace}\Big{(}C_{r}^{(i)}\big{(}C_{r}^{(i-1)}T_{r}^{(i-1)}\big{)}^{*}\Big{)}.

However, it should be noted that the term 2trace(Cr(i)(Cr(i1)Tr(i1)))-2\,trace\Big{(}C_{r}^{(i)}\big{(}C_{r}^{(i-1)}T_{r}^{(i-1)}\big{)}^{*}\Big{)} is an approximation and not exact. Its accuracy depends on the precision of the approximations of the integrals (33) and (34) or (40) and (41).

5 Data-driven Implementations of IRKA for Discrete-time Systems

Consider the following discrete-time system of order nn, denoted as G(z)G(z), and its ROM of order rr, denoted as Gr(z)G_{r}(z):

G(z)\displaystyle G(z) =C(zEA)1B,\displaystyle=C(zE-A)^{-1}B,
Gr(z)\displaystyle G_{r}(z) =Cr(zErAr)1Br,\displaystyle=C_{r}(zE_{r}-A_{r})^{-1}B_{r},

where z=ejωz=e^{j\omega}.

Assuming that G(z)G(z) and Gr(z)G_{r}(z) have simple poles, they can be expressed in the pole-residue form as follows:

G(z)=k=1nlkrkzλk,Gr(z)=k=1rl^kr^kzλ^k.G(z)=\sum_{k=1}^{n}\frac{l_{k}r_{k}^{*}}{z-\lambda_{k}},\quad G_{r}(z)=\sum_{k=1}^{r}\frac{\hat{l}_{k}\hat{r}_{k}^{*}}{z-\hat{\lambda}_{k}}.

The necessary conditions for a local optimum of G(z)Gr(z)22||G(z)-G_{r}(z)||_{\mathcal{H}_{2}}^{2} are given by:

l^iG(1λ^i)r^i\displaystyle\hat{l}_{i}^{*}G^{\prime}\left(\frac{1}{\hat{\lambda}_{i}}\right)\hat{r}_{i} =l^iGr(1λ^i)r^i,\displaystyle=\hat{l}_{i}^{*}G_{r}^{\prime}\left(\frac{1}{\hat{\lambda}_{i}}\right)\hat{r}_{i}, (62)
l^iG(1λ^i)\displaystyle\hat{l}_{i}^{*}G\left(\frac{1}{\hat{\lambda}_{i}}\right) =l^iGr(1λ^i),\displaystyle=\hat{l}_{i}^{*}G_{r}\left(\frac{1}{\hat{\lambda}_{i}}\right), (63)
G(1λ^i)r^i\displaystyle G\left(\frac{1}{\hat{\lambda}_{i}}\right)\hat{r}_{i} =Gr(1λ^i)r^i,\displaystyle=G_{r}\left(\frac{1}{\hat{\lambda}_{i}}\right)\hat{r}_{i}, (64)

for i=1,2,,ri=1,2,\dots,r.

Similar to the continuous-time case, since the ROM Gr(z)G_{r}(z) is initially unknown, the discrete-time IRKA (DT-IRKA) [37] uses fixed-point iterations starting from an arbitrary initial guess of the interpolation data to search for a local optimum. After each iteration, the interpolation data is updated as σi=μi=1λ^i\sigma_{i}=\mu_{i}=\frac{1}{\hat{\lambda}_{i}}, bi=r^ib_{i}=\hat{r}_{i}, and ci=l^ic_{i}=\hat{l}_{i}^{*} until convergence is achieved. Upon convergence, a local optimum of G(z)Gr(z)22||G(z)-G_{r}(z)||_{\mathcal{H}_{2}}^{2} is achieved.

However, since DT-IRKA updates the interpolation points during the process, it requires evaluating the transfer function samples at these updated points. This necessitates halting DT-IRKA and conducting new experiments to obtain new samples, which is often impractical. Additionally, since Gr(z)G_{r}(z) is stable, the interpolation points 1λ^i\frac{1}{\hat{\lambda}_{i}} lie outside the unit circle. Exciting the system at these frequencies can be dangerous or even impossible [38]. These challenges motivate the development of offline transfer function sampling strategies that utilize existing data.

5.1 Using Available Frequency Response Data

Let us define the following matrices:

Sb\displaystyle S_{b} =diag(σ1,,σr),Sc=diag(μ1,,μr),\displaystyle=\text{diag}(\sigma_{1},\cdots,\sigma_{r}),\quad S_{c}=\text{diag}(\mu_{1},\cdots,\mu_{r}),
Lb\displaystyle L_{b} =[b1br],Lc=[c1cr],\displaystyle=\begin{bmatrix}b_{1}&\cdots&b_{r}\end{bmatrix},\quad L_{c}^{*}=\begin{bmatrix}c_{1}^{*}&\cdots&c_{r}^{*}\end{bmatrix},
S¯b\displaystyle\bar{S}_{b} =Sb1,L¯b=LbSb1,S¯c=Sc1,L¯c=Sc1Lc.\displaystyle=S_{b}^{-1},\quad\bar{L}_{b}=L_{b}S_{b}^{-1},\quad\bar{S}_{c}=S_{c}^{-1},\quad\bar{L}_{c}=S_{c}^{-1}L_{c}. (65)

By post-multiplying equations (9) and (10) with Sb1S_{b}^{-1} and ScS_{c}^{-*}, respectively, it can be observed that VV and WW in (1) and (2) satisfy the following Stein equations:

AVS¯bEV+BL¯b\displaystyle AV\bar{S}_{b}-EV+B\bar{L}_{b} =0,\displaystyle=0, (66)
ATWS¯cETW+CTL¯c\displaystyle A^{T}W\bar{S}_{c}^{*}-E^{T}W+C^{T}\bar{L}_{c}^{*} 0.\displaystyle-0. (67)

When the eigenvalues of AA, S¯b\bar{S}_{b}, and S¯c\bar{S}_{c} lie within the unit circle, VV and WW can be expressed using the following integral representations:

V\displaystyle V =12πππ(ejνEA)1BL¯b(ejνIS¯b)1𝑑ν,\displaystyle=\frac{1}{2\pi}\int_{-\pi}^{\pi}(e^{j\nu}E-A)^{-1}B\bar{L}_{b}(e^{-j\nu}I-\bar{S}_{b})^{-1}d\nu, (68)
W\displaystyle W^{*} =12πππ(ejνIS¯c)1L¯cC(ejνEA)1𝑑ν,\displaystyle=\frac{1}{2\pi}\int_{-\pi}^{\pi}(e^{-j\nu}I-\bar{S}_{c})^{-1}\bar{L}_{c}C(e^{j\nu}E-A)^{-1}d\nu, (69)

cf. [39]. These integrals can be approximated numerically as follows:

V\displaystyle V 12πi=1npwv,i(ejξiEA)1BL¯b(ejξiIS¯b)1,\displaystyle\approx\frac{1}{2\pi}\sum_{i=1}^{n_{p}}w_{v,i}(e^{j\xi_{i}}E-A)^{-1}B\bar{L}_{b}(e^{-j\xi_{i}}I-\bar{S}_{b})^{-1}, (70)
W\displaystyle W^{*} 12πi=1nqww,i(ejζiIS¯c)1L¯cC(ejζiEA)1,\displaystyle\approx\frac{1}{2\pi}\sum_{i=1}^{n_{q}}w_{w,i}(e^{-j\zeta_{i}}I-\bar{S}_{c})^{-1}\bar{L}_{c}C(e^{j\zeta_{i}}E-A)^{-1}, (71)

where ξi\xi_{i} and ζi\zeta_{i} are the nodes, and wv,iw_{v,i} and ww,iw_{w,i} are their corresponding weights. Next, define the following matrices:

V~\displaystyle\tilde{V} =[(ejξ1EA)1B(ejξnpEA)1B],\displaystyle=\begin{bmatrix}(e^{j\xi_{1}}E-A)^{-1}B&\cdots&(e^{j\xi_{n_{p}}}E-A)^{-1}B\end{bmatrix}, (72)
V^r\displaystyle\hat{V}_{r} =12π[wv,1L¯b(ejξ1IS¯b)1wv,npL¯b(ejξnpIS¯b)1],\displaystyle=\frac{1}{2\pi}\begin{bmatrix}w_{v,1}\bar{L}_{b}(e^{-j\xi_{1}}I-\bar{S}_{b})^{-1}\\ \vdots\\ w_{v,n_{p}}\bar{L}_{b}(e^{-j\xi_{n_{p}}}I-\bar{S}_{b})^{-1}\end{bmatrix}, (73)
W~\displaystyle\tilde{W}^{*} =[C(ejζ1EA)1C(ejζnqEA)1],\displaystyle=\begin{bmatrix}C(e^{j\zeta_{1}}E-A)^{-1}\\ \vdots\\ C(e^{j\zeta_{n_{q}}}E-A)^{-1}\end{bmatrix}, (74)
W^r\displaystyle\hat{W}_{r}^{*} =12π[(ejζ1IS¯c)1L¯cww,1(ejζnqIS¯c)1L¯cww,nq].\displaystyle=\frac{1}{2\pi}\begin{bmatrix}(e^{-j\zeta_{1}}I-\bar{S}_{c})^{-1}\bar{L}_{c}w_{w,1}&\cdots&(e^{-j\zeta_{n_{q}}}I-\bar{S}_{c})^{-1}\bar{L}_{c}w_{w,n_{q}}\end{bmatrix}. (75)

From these definitions, it is clear that the summations (70) and (71) can be represented as V~V^r\tilde{V}\hat{V}_{r} and W^rW~\hat{W}_{r}^{*}\tilde{W}^{*}, respectively. Thus, VV~V^rV\approx\tilde{V}\hat{V}_{r} and WW~W^rW\approx\tilde{W}\hat{W}_{r}. Let us assume, for a moment, that this approximation is exact. In this case, the ROM satisfying the interpolation condition (3) can be obtained by reducing the Loewner quadruplet (Ejw,Ajw,Bjw,Cjw)=(W~EV~,W~AV~,W~B,CV~)(E_{jw},A_{jw},B_{jw},C_{jw})=(\tilde{W}^{*}E\tilde{V},\tilde{W}^{*}A\tilde{V},\tilde{W}^{*}B,C\tilde{V}) as follows:

Er\displaystyle E_{r} =W^rEjwV^r,\displaystyle=\hat{W}_{r}^{*}E_{jw}\hat{V}_{r}, Ar\displaystyle A_{r} =W^rAjwV^r,\displaystyle=\hat{W}_{r}^{*}A_{jw}\hat{V}_{r}, Br\displaystyle B_{r} =W^rBjw,\displaystyle=\hat{W}_{r}^{*}B_{jw}, Cr\displaystyle C_{r} =CjwV^r,\displaystyle=C_{jw}\hat{V}_{r}, (76)

where

Ejw\displaystyle E_{jw} =[G(ejξ1)G(ejζ1)ejξ1ejζ1G(ejξnp)G(ejζ1)ejξnpejζ1G(ejξ1)G(ejζnq)ejξ1ejζnqG(ejξnp)G(ejζnq)ejξnpejζnq],\displaystyle=\begin{bmatrix}-\frac{G(e^{j\xi_{1}})-G(e^{j\zeta_{1}})}{e^{j\xi_{1}}-e^{j\zeta_{1}}}&\cdots&-\frac{G(e^{j\xi_{n_{p}}})-G(e^{j\zeta_{1}})}{e^{j\xi_{n_{p}}}-e^{j\zeta_{1}}}\\ \vdots&\ddots&\vdots\\ -\frac{G(e^{j\xi_{1}})-G(e^{j\zeta_{n_{q}}})}{e^{j\xi_{1}}-e^{j\zeta_{n_{q}}}}&\cdots&-\frac{G(e^{j\xi_{n_{p}}})-G(e^{j\zeta_{n_{q}}})}{e^{j\xi_{n_{p}}}-e^{j\zeta_{n_{q}}}}\end{bmatrix},
Ajw\displaystyle A_{jw} =[ejξ1G(ejξ1)ejζ1G(ejζ1)ejξ1ejζ1ejξnpG(ejξnp)ejζ1G(ejζ1)ejξnpejζ1ejξ1G(ejξ1)ejζnqG(ejζnq)ejξ1ejζnqejξnpG(ejξnp)ejζnqG(ejζnq)ejξnpejζnq],\displaystyle=\begin{bmatrix}-\frac{e^{j\xi_{1}}G(e^{j\xi_{1}})-e^{j\zeta_{1}}G(e^{j\zeta_{1}})}{e^{j\xi_{1}}-e^{j\zeta_{1}}}&\cdots&-\frac{e^{j\xi_{n_{p}}}G(e^{j\xi_{n_{p}}})-e^{j\zeta_{1}}G(e^{j\zeta_{1}})}{e^{j\xi_{n_{p}}}-e^{j\zeta_{1}}}\\ \vdots&\ddots&\vdots\\ -\frac{e^{j\xi_{1}}G(e^{j\xi_{1}})-e^{j\zeta_{n_{q}}}G(e^{j\zeta_{n_{q}}})}{e^{j\xi_{1}}-e^{j\zeta_{n_{q}}}}&\cdots&-\frac{e^{j\xi_{n_{p}}}G(e^{j\xi_{n_{p}}})-e^{j\zeta_{n_{q}}}G(e^{j\zeta_{n_{q}}})}{e^{j\xi_{n_{p}}}-e^{j\zeta_{n_{q}}}}\end{bmatrix},
Bjw\displaystyle B_{jw} =[G(ejζ1)G(ejζnq)],Cjw=[G(ejξ1)G(ejξnp)].\displaystyle=\begin{bmatrix}G(e^{j\zeta_{1}})\\ \vdots\\ G(e^{j\zeta_{n_{q}}})\end{bmatrix},\quad C_{jw}=\begin{bmatrix}G(e^{j\xi_{1}})&\cdots&G(e^{j\xi_{n_{p}}})\end{bmatrix}. (77)

Note that this is the same Loewner quadruplet (Ejw,Ajw,Bjw,Cjw)(E_{jw},A_{jw},B_{jw},C_{jw}) that the frequency-domain discrete-time QuadBT reduces to obtain a truncated balanced model, as discussed in [11]. When σj=μi\sigma_{j}=\mu_{i}, this ROM also satisfies the Hermite interpolation condition (4). Since V^r\hat{V}_{r} and W^r\hat{W}_{r} depend solely on the quadrature weights wv,iw_{v,i} and ww,iw_{w,i}, the interpolation points σj\sigma_{j} and μi\mu_{i}, and the tangential directions bjb_{j} and cic_{i}, the ROM (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) can be computed non-intrusively.

It is now clear that DT-IRKA can be implemented using frequency-domain data G(ejξi)G(e^{j\xi_{i}}), eliminating the need for repeated measurements of G(σi)G(\sigma_{i}) and G(σi)G^{\prime}(\sigma_{i}) whenever DT-IRKA updates σi\sigma_{i}. Furthermore, since the eigenvalues 1σi\frac{1}{\sigma_{i}} of S¯b\bar{S}_{b} lie within the unit circle, the interpolation points can be outside the unit circle, and G(s)G(s) and G(s)G^{\prime}(s) can be sampled outside the unit circle without any issues. The pseudo-code for the frequency-domain quadrature-based DT-IRKA (FD-Quad-DTIRKA) is outlined in Algorithm 5.

Algorithm 5 FD-Quad-DTIRKA

Input: Nodes: (ξ1,,ξnp)(\xi_{1},\cdots,\xi_{n_{p}}), (ζ1,,ζnq)(\zeta_{1},\cdots,\zeta_{n_{q}}); Frequency-domain data: (G(ejξ1),,G(ejξnv))\big{(}G(e^{j\xi_{1}}),\cdots,G(e^{j\xi_{n_{v}}})\big{)}, (G(ejζ1),,G(ejζnq))\big{(}G(e^{j\zeta_{1}}),\cdots,G(e^{j\zeta_{n_{q}}})\big{)}, G(ejξi)G^{\prime}(e^{j\xi_{i}}) for ξi=ζj\xi_{i}=\zeta_{j}; Quadrature weights: (wv,1,,wv,np)(w_{v,1},\cdots,w_{v,n_{p}}), (ww,1,,ww,nq)(w_{w,1},\cdots,w_{w,n_{q}}); Interpolation data: (σ1,,σr)(\sigma_{1},\cdots,\sigma_{r}), (b1,,br)(b_{1},\cdots,b_{r}), (c1,,cr)(c_{1},\cdots,c_{r}); Tolerance: tol.

Output: ROM: (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r})

1:  Compute the Loewner quadruplet (Ejw,Ajw,Bjw,Cjw)(E_{jw},A_{jw},B_{jw},C_{jw}) from (77).
2:  while(relative change in λi\lambda_{i} ¿ tol)
3:  Set S¯b\bar{S}_{b}, L¯b\bar{L}_{b}, S¯c\bar{S}_{c}, and L¯c\bar{L}_{c} as in (65).
4:  Compute the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} from (73) and (75).
5:  Compute (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) from (76).
6:  Compute the eigenvalue decomposition: Er1Ar=TrΛTr1E_{r}^{-1}A_{r}=T_{r}\Lambda T_{r}^{-1} where Λ=diag(λ1,,λr)\Lambda=diag(\lambda_{1},\cdots,\lambda_{r}).
7:  Update the interpolation data: (σ1,,σr)=(1λ1,,1λr)(\sigma_{1},\cdots,\sigma_{r})=(\frac{1}{\lambda_{1}},\cdots,\frac{1}{\lambda_{r}}); [b1br]=BrErTr[b_{1}\cdots b_{r}]=B_{r}^{*}E_{r}^{-*}T_{r}^{-*}; [c1cr]=CrTr[c_{1}^{*}\cdots c_{r}^{*}]=C_{r}T_{r}.
8:  end while

5.2 Using Available Impulse Response Data

When the eigenvalues of AA and S¯b\bar{S}_{b} lie within the unit circle, the projection matrices VV and WW in the Stein equations (66) and (67) can be expressed as the following infinite sums:

V\displaystyle V =i=0(E1A)iE1BL¯bS¯bi,\displaystyle=\sum_{i=0}^{\infty}(E^{-1}A)^{i}E^{-1}B\bar{L}_{b}\bar{S}_{b}^{i}, (78)
W\displaystyle W^{*} =i=0(S¯c)iL¯cCE1(AE1)i.\displaystyle=\sum_{i=0}^{\infty}(\bar{S}_{c})^{i}\bar{L}_{c}CE^{-1}(AE^{-1})^{i}. (79)

Since the eigenvalues of AA and S¯b\bar{S}_{b} are inside the unit circle, the terms AiA^{i} and S¯bi\bar{S}_{b}^{i} decay as ii increases. Consequently, after a finite number of terms, the summands (E1A)iE1BL¯bS¯bi(E^{-1}A)^{i}E^{-1}B\bar{L}_{b}\bar{S}_{b}^{i} and (S¯c)iL¯cCE1(AE1)i(\bar{S}_{c})^{i}\bar{L}_{c}CE^{-1}(AE^{-1})^{i} approach zero. This allows us to approximate VV and WW by truncating these sums as follows:

V\displaystyle V i=0np(E1A)iE1BL¯bS¯bi,\displaystyle\approx\sum_{i=0}^{n_{p}}(E^{-1}A)^{i}E^{-1}B\bar{L}_{b}\bar{S}_{b}^{i}, (80)
W\displaystyle W^{*} i=0nq(S¯c)iL¯cCE1(AE1)i.\displaystyle\approx\sum_{i=0}^{n_{q}}(\bar{S}_{c})^{i}\bar{L}_{c}CE^{-1}(AE^{-1})^{i}. (81)

Next, define the following matrices:

V~\displaystyle\tilde{V} =[E1B(E1A)npE1B],\displaystyle=\begin{bmatrix}E^{-1}B&\cdots&(E^{-1}A)^{n_{p}}E^{-1}B\end{bmatrix}, (82)
V^r\displaystyle\hat{V}_{r} =[L¯bL¯bS¯bnp],\displaystyle=\begin{bmatrix}\bar{L}_{b}\\ \vdots\\ \bar{L}_{b}\bar{S}_{b}^{n_{p}}\end{bmatrix}, (83)
W~\displaystyle\tilde{W}^{*} =[CE1CE1(AE1)nq],\displaystyle=\begin{bmatrix}CE^{-1}\\ \vdots\\ CE^{-1}(AE^{-1})^{n_{q}}\end{bmatrix}, (84)
W^r\displaystyle\hat{W}_{r}^{*} =[L¯c(S¯c)nqL¯c].\displaystyle=\begin{bmatrix}\bar{L}_{c}&\cdots&(\bar{S}_{c})^{n_{q}}\bar{L}_{c}\end{bmatrix}. (85)

From these definitions, it is evident that the sums (80) and (81) can be represented as V~V^r\tilde{V}\hat{V}_{r} and W^rW~\hat{W}_{r}^{*}\tilde{W}^{*}, respectively. Thus, we have the approximations VV~V^rV\approx\tilde{V}\hat{V}_{r} and WW~W^rW\approx\tilde{W}\hat{W}_{r}. Let us assume, for a moment, that this approximation is exact. In this case, the ROM satisfying the interpolation condition (3) can be obtained by reducing the impulse data quadruplet (Ek,Ak,Bk,Ck)=(W~EV~,W~AV~,W~B,CV~)(E_{k},A_{k},B_{k},C_{k})=(\tilde{W}^{*}E\tilde{V},\tilde{W}^{*}A\tilde{V},\tilde{W}^{*}B,C\tilde{V}) as follows:

Er\displaystyle E_{r} =W^rEkV^r,\displaystyle=\hat{W}_{r}^{*}E_{k}\hat{V}_{r}, Ar\displaystyle A_{r} =W^rAkV^r,\displaystyle=\hat{W}_{r}^{*}A_{k}\hat{V}_{r}, Br\displaystyle B_{r} =W^rBk,\displaystyle=\hat{W}_{r}^{*}B_{k}, Cr\displaystyle C_{r} =CkV^r.\displaystyle=C_{k}\hat{V}_{r}. (86)

When σj=μi\sigma_{j}=\mu_{i}, this ROM also satisfies the Hermite interpolation condition (4).

The impulse response of G(z)G(z) is given by

h(k)=C(E1A)kE1B=CE1(AE1)kB.\displaystyle h(k)=C(E^{-1}A)^{k}E^{-1}B=CE^{-1}(AE^{-1})^{k}B.

The impulse data quadruplet (Ek,Ak,Bk,Ck)(E_{k},A_{k},B_{k},C_{k}) is the same as the one used in the time-domain discrete-time QuadBT [11] and can be computed non-intrusively as follows:

Ek\displaystyle E_{k} =[h(0)h(np1)h(nq1)h(np+nq2)],\displaystyle=\begin{bmatrix}h(0)&\cdots&h(n_{p}-1)\\ \vdots&\ddots&\vdots\\ h(n_{q}-1)&\cdots&h(n_{p}+n_{q}-2)\end{bmatrix},
Ak\displaystyle A_{k} =[h(1)h(np)h(nq)h(np+nq1)],\displaystyle=\begin{bmatrix}h(1)&\cdots&h(n_{p})\\ \vdots&\ddots&\vdots\\ h(n_{q})&\cdots&h(n_{p}+n_{q}-1)\end{bmatrix},
Bk\displaystyle B_{k} =[h(0)h(nq)],Ck=[h(0)h(np)].\displaystyle=\begin{bmatrix}h(0)\\ \vdots\\ h(n_{q})\end{bmatrix},\quad C_{k}=\begin{bmatrix}h(0)&\cdots&h(n_{p})\end{bmatrix}. (87)

Since V^r\hat{V}_{r} and W^r\hat{W}_{r} depend solely on the interpolation points σj\sigma_{j} and μi\mu_{i}, and the tangential directions bjb_{j} and cic_{i}, the ROM (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) can be computed non-intrusively.

It is now clear that DT-IRKA can be implemented using impulse response data h(k)h(k), eliminating the need for repeated measurements of G(σi)G(\sigma_{i}) and G(σi)G^{\prime}(\sigma_{i}) whenever DT-IRKA updates σi\sigma_{i}. Additionally, since the eigenvalues 1σi\frac{1}{\sigma_{i}} of S¯b\bar{S}_{b} lie within the unit circle, the interpolation points can be outside the unit circle, allowing G(s)G(s) and G(s)G^{\prime}(s) to be sampled outside the unit circle without any issues. The pseudo-code for the time-domain DT-IRKA (TD-DTIRKA) is provided in Algorithm 6.

Algorithm 6 TD-DTIRKA

Input: Impulse response data: (h(0)),,h(iv))\big{(}h(0)),\cdots,h(i_{v})\big{)}; Nodes: (0,,iv)(0,\cdots,i_{v}); Interpolation data: (σ1,,σr)(\sigma_{1},\cdots,\sigma_{r}), (b1,,br)(b_{1},\cdots,b_{r}), (c1,,cr)(c_{1},\cdots,c_{r}); Tolerance: tol.

Output: ROM: (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r})

1:  Compute the impulse data quadruplet (Ek,Ak,Bk,Ck)(E_{k},A_{k},B_{k},C_{k}) from (87).
2:  while(relative change in λi\lambda_{i} ¿ tol)
3:  Set S¯b\bar{S}_{b}, L¯b\bar{L}_{b}, S¯c\bar{S}_{c}, and L¯c\bar{L}_{c} as in (65).
4:  Set the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} as in (83) and (85).
5:  Compute (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) from (86).
6:  Compute the eigenvalue decomposition: Er1Ar=TrΛTr1E_{r}^{-1}A_{r}=T_{r}\Lambda T_{r}^{-1} where Λ=diag(λ1,,λr)\Lambda=diag(\lambda_{1},\cdots,\lambda_{r}).
7:  Update the interpolation data: (σ1,,σr)=(1λ1,,1λr)(\sigma_{1},\cdots,\sigma_{r})=(\frac{1}{\lambda_{1}},\cdots,\frac{1}{\lambda_{r}}); [b1br]=BrErTr[b_{1}\cdots b_{r}]=B_{r}^{*}E_{r}^{-*}T_{r}^{-*}; [c1cr]=CrTr[c_{1}^{*}\cdots c_{r}^{*}]=C_{r}T_{r}.
8:  end while

6 Pseudo-optimal Rational Krylov (PORK) Algorithm for Discrete-time Systems

In this section, we extend PORK to discrete-time systems and show that the discrete-time version maintains properties comparable to its continuous-time counterpart. Building on the findings from this section, we will formulate non-intrusive, data-driven implementations of BT and DT-IRKA in the following section.

6.1 Input PORK (I-PORK)

By pre-multiplying equation (66) with WW^{*}, we obtain:

ArS¯bEr+BrL¯b=0,\displaystyle A_{r}\bar{S}_{b}-E_{r}+B_{r}\bar{L}_{b}=0,
Ar=(ErBrL¯b)S¯b1.\displaystyle A_{r}=(E_{r}-B_{r}\bar{L}_{b})\bar{S}_{b}^{-1}.

This shows that ArA_{r} can be parameterized in terms of ErE_{r} and BrB_{r} without altering the interpolation conditions imposed by VV, as this is equivalent to varying WW.

Assume that the pair (S¯b,L¯b)(\bar{S}_{b},\bar{L}_{b}) is observable, and its observability Gramian Q¯s\bar{Q}_{s} satisfies the following discrete-time Lyapunov equation:

S¯bQ¯sS¯bQ¯s+L¯bL¯b=0.\displaystyle\bar{S}_{b}^{*}\bar{Q}_{s}\bar{S}_{b}-\bar{Q}_{s}+\bar{L}_{b}^{*}\bar{L}_{b}=0. (88)
Theorem 6.1.

By setting Er=IE_{r}=I and Br=Q¯s1L¯bB_{r}=\bar{Q}_{s}^{-1}\bar{L}_{b}^{*}, the following properties hold:

  1. 1.

    Ar=Q¯s1S¯bQ¯sA_{r}=\bar{Q}_{s}^{-1}\bar{S}_{b}^{*}\bar{Q}_{s}.

  2. 2.

    The controllability Gramian PrP_{r} of the pair (Ar,Br)(A_{r},B_{r}) is Pr=Q¯s1P_{r}=\bar{Q}_{s}^{-1}.

  3. 3.

    The ROM (Er,Ar,Br,Cr)=(I,Q¯s1S¯bQ¯s,Q¯s1L¯b,CV)(E_{r},A_{r},B_{r},C_{r})=(I,\bar{Q}_{s}^{-1}\bar{S}_{b}^{*}\bar{Q}_{s},\bar{Q}_{s}^{-1}\bar{L}_{b}^{*},CV) satisfies the optimality condition (64).

Proof.

Pre-multiplying (88) by Q¯s1\bar{Q}_{s}^{-1} and post-multiplying by S¯b1\bar{S}_{b}^{-1}, we obtain:

Q¯s1S¯bQ¯s(I+Q¯s1L¯bL¯b)S¯b1=0.\displaystyle\bar{Q}_{s}^{-1}\bar{S}_{b}^{*}\bar{Q}_{s}-\big{(}I+\bar{Q}_{s}^{-1}\bar{L}_{b}^{*}\bar{L}_{b}\big{)}\bar{S}_{b}^{-1}=0.

Thus, Ar=Q¯s1S¯bQ¯sA_{r}=\bar{Q}_{s}^{-1}\bar{S}_{b}^{*}\bar{Q}_{s}.

The controllability Gramian PrP_{r} satisfies the discrete-time Lyapunov equation:

ArPrArTErPrErT+BrBrT\displaystyle A_{r}P_{r}A_{r}^{T}-E_{r}P_{r}E_{r}^{T}+B_{r}B_{r}^{T} =0,\displaystyle=0,
Q¯s1S¯bQ¯sPrQ¯sS¯bQ¯s1Pr+Q¯s1L¯bL¯bQ¯s1\displaystyle\bar{Q}_{s}^{-1}\bar{S}_{b}^{*}\bar{Q}_{s}P_{r}\bar{Q}_{s}\bar{S}_{b}\bar{Q}_{s}^{-1}-P_{r}+\bar{Q}_{s}^{-1}\bar{L}_{b}^{*}\bar{L}_{b}\bar{Q}_{s}^{-1} =0,\displaystyle=0,
S¯bQ¯sPrQ¯sS¯bQ¯sPrQ¯s+L¯bL¯b\displaystyle\bar{S}_{b}^{*}\bar{Q}_{s}P_{r}\bar{Q}_{s}\bar{S}_{b}-\bar{Q}_{s}P_{r}\bar{Q}_{s}+\bar{L}_{b}^{*}\bar{L}_{b} =0.\displaystyle=0.

Due to uniqueness, Q¯sPrQ¯s=Q¯s\bar{Q}_{s}P_{r}\bar{Q}_{s}=\bar{Q}_{s}, and thus Pr=Q¯s1P_{r}=\bar{Q}_{s}^{-1}.

Applying a state transformation using Q¯s\bar{Q}_{s}, the modal form of the ROM becomes:

Ar\displaystyle A_{r} =S¯b,\displaystyle=\bar{S}_{b}^{*}, Br\displaystyle B_{r} =L¯b,\displaystyle=\bar{L}_{b}^{*}, Cr\displaystyle C_{r} =CV¯Q¯s1.\displaystyle=C\bar{V}\bar{Q}_{s}^{-1}.

From the modal form, it is evident that this ROM satisfies the optimality condition G(1λ^i)r^i=Gr(1λ^i)r^iG\Big{(}\frac{1}{\hat{\lambda}_{i}^{*}}\Big{)}\hat{r}_{i}^{*}=G_{r}\Big{(}\frac{1}{\hat{\lambda}_{i}^{*}}\Big{)}\hat{r}_{i}^{*} since λ^i=1σi\hat{\lambda}_{i}=\frac{1}{\sigma_{i}^{*}} and r^i=bi\hat{r}_{i}=b_{i}^{*}. ∎

6.2 Output PORK (O-PORK)

By taking the Hermitian of equation (67) and post-multiplying with VV, we obtain:

S¯cArEr+L¯cCr=0,\displaystyle\bar{S}_{c}A_{r}-E_{r}+\bar{L}_{c}C_{r}=0,
Ar=S¯c1(ErL¯cCr).\displaystyle A_{r}=\bar{S}_{c}^{-1}(E_{r}-\bar{L}_{c}C_{r}).

This demonstrates that ArA_{r} can be parameterized in terms of ErE_{r} and CrC_{r} without affecting the interpolation conditions imposed by WW, as this is equivalent to varying VV.

Assume that the pair (S¯c,L¯c)(\bar{S}_{c},\bar{L}_{c}) is controllable, and its controllability Gramian P¯s\bar{P}_{s} satisfies the following discrete-time Lyapunov equation:

S¯cP¯sS¯cP¯s+L¯cL¯c=0.\displaystyle\bar{S}_{c}\bar{P}_{s}\bar{S}_{c}^{*}-\bar{P}_{s}+\bar{L}_{c}\bar{L}_{c}^{*}=0. (89)
Theorem 6.2.

By setting Er=IE_{r}=I and Cr=L¯cP¯s1C_{r}=\bar{L}_{c}^{*}\bar{P}_{s}^{-1}, the following properties hold:

  1. 1.

    Ar=P¯sS¯cP¯s1A_{r}=\bar{P}_{s}\bar{S}_{c}^{*}\bar{P}_{s}^{-1}.

  2. 2.

    The observability Gramian QrQ_{r} of the pair (Ar,Cr)(A_{r},C_{r}) is Qr=P¯s1Q_{r}=\bar{P}_{s}^{-1}.

  3. 3.

    The ROM (Er,Ar,Br,Cr)=(I,P¯sS¯cP¯s1,WB,L¯cP¯s1)(E_{r},A_{r},B_{r},C_{r})=(I,\bar{P}_{s}\bar{S}_{c}^{*}\bar{P}_{s}^{-1},W^{*}B,\bar{L}_{c}^{*}\bar{P}_{s}^{-1}) satisfies the optimality condition (63).

Proof.

The proof is dual to that of Theorem 6.1 and is therefore omitted for brevity. ∎

6.3 Approximation of Gramians

Note that, similar to its continuous-time counterpart, PORK can be implemented non-intrusively using samples of G(z)G(z) at G(σi)G(\sigma_{i}) and G(μi)G(\mu_{i}) without any modifications. Additionally, discrete-time PORK also exhibits a monotonic decay in error as the number of interpolation points increases, analogous to its continuous-time version, as will be explained below.

Consider constructing an (r1)th(r-1)^{th}-order ROM Gr1(z)G_{r-1}(z) using I-PORK with the right interpolation points (σ1,,σr1)(\sigma_{1},\dots,\sigma_{r-1}) and tangential directions (b1,,br1)(b_{1},\dots,b_{r-1}). Clearly, Gr1(z)G_{r-1}(z), like Gr(z)G_{r}(z), satisfies the interpolation conditions for i=1,,r1i=1,\dots,r-1. Thus, Gr1(z)G_{r-1}(z) is a pseudo-optimal ROM for both Gr(z)G_{r}(z) and G(z)G(z). Consequently, the following relationships hold:

G(z)Gr1(z)22\displaystyle||G(z)-G_{r-1}(z)||_{\mathcal{H}_{2}}^{2} =G(z)22Gr1(z)22,\displaystyle=||G(z)||_{\mathcal{H}_{2}}^{2}-||G_{r-1}(z)||_{\mathcal{H}_{2}}^{2},
Gr(z)Gr1(z)22\displaystyle||G_{r}(z)-G_{r-1}(z)||_{\mathcal{H}_{2}}^{2} =Gr(z)22Gr1(z)22,\displaystyle=||G_{r}(z)||_{\mathcal{H}_{2}}^{2}-||G_{r-1}(z)||_{\mathcal{H}_{2}}^{2},
G(z)Gr(z)22\displaystyle||G(z)-G_{r}(z)||_{\mathcal{H}_{2}}^{2} =G(z)22Gr(z)22,\displaystyle=||G(z)||_{\mathcal{H}_{2}}^{2}-||G_{r}(z)||_{\mathcal{H}_{2}}^{2},
Gr(z)22\displaystyle||G_{r}(z)||_{\mathcal{H}_{2}}^{2} Gr1(z)22,\displaystyle\geq||G_{r-1}(z)||_{\mathcal{H}_{2}}^{2},
G(z)Gr(z)22\displaystyle||G(z)-G_{r}(z)||_{\mathcal{H}_{2}}^{2} G(z)Gr1(z)22.\displaystyle\leq||G(z)-G_{r-1}(z)||_{\mathcal{H}_{2}}^{2}.

Therefore, as the order of the ROM increases, G(z)Gr(z)2||G(z)-G_{r}(z)||_{\mathcal{H}_{2}} decays monotonically. A similar result can be shown for O-PORK.

Note that the controllability Gramian PP and the observability Gramian QQ of the discrete-time state-space realization (E,A,B,C)(E,A,B,C) satisfy the following discrete-time Lyapunov equations:

APATEPET+BBT=0,\displaystyle APA^{T}-EPE^{T}+BB^{T}=0,
ATQAETQE+CTC=0.\displaystyle A^{T}QA-E^{T}QE+C^{T}C=0.

When either the optimality condition (63) or (64) is satisfied, the following holds:

G(z)Gr(z)22\displaystyle||G(z)-G_{r}(z)||_{\mathcal{H}_{2}}^{2} =trace(C(PVPrV)CT)=trace(BT(QWQrW)B),\displaystyle=trace\big{(}C(P-VP_{r}V^{*})C^{T}\big{)}=trace\big{(}B^{T}(Q-WQ_{r}W^{*})B\big{)},

cf. [37]. I-PORK can approximate PP as PVPrVP\approx VP_{r}V^{*}, and O-PORK can approximate QQ as QWQrWQ\approx WQ_{r}W^{*}. These approximations PVPrVP\approx VP_{r}V^{*} and QWQrWQ\approx WQ_{r}W^{*} monotonically approach PP and QQ, respectively, as the number of interpolation points increases in PORK.

7 Non-intrusive PORK-based Low-rank Balanced Truncation for Discrete Time Systems

The low-rank approximations of PP and QQ can be derived from the block version of discrete-time PORK, similar to the continuous-time case, by defining S¯b\bar{S}_{b}, L¯b\bar{L}_{b}, S¯c\bar{S}_{c}, and L¯c\bar{L}_{c} as follows:

S¯b\displaystyle\bar{S}_{b} =(blkdiag(σ1Im,,σnpIm))1,\displaystyle=\Big{(}\text{blkdiag}\big{(}\sigma_{1}I_{m},\cdots,\sigma_{n_{p}}I_{m}\big{)}\Big{)}^{-1},
L¯b\displaystyle\bar{L}_{b} =[ImIm]S¯b,\displaystyle=\begin{bmatrix}I_{m}&\cdots&I_{m}\end{bmatrix}\bar{S}_{b},
S¯c\displaystyle\bar{S}_{c} =(blkdiag(μ1Ip,,μnqIp))1,\displaystyle=\Big{(}\text{blkdiag}\big{(}\mu_{1}I_{p},\cdots,\mu_{n_{q}}I_{p}\big{)}\Big{)}^{-1},
L¯c\displaystyle\bar{L}_{c}^{*} =[IpIp]S¯c.\displaystyle=\begin{bmatrix}I_{p}&\cdots&I_{p}\end{bmatrix}\bar{S}_{c}^{*}. (90)

The quality of approximation of PP and QQ can be tracked non-intrusively by observing the growth of CVQ¯s1VCTCV\bar{Q}_{s}^{-1}V^{*}C^{T} and BTWP¯s1WBB^{T}W^{*}\bar{P}_{s}^{-1}W^{*}B, respectively. Note that CVCV, WBW^{*}B, Pr=Q¯s1P_{r}=\bar{Q}_{s}^{-1}, and Qr=P¯s1Q_{r}=\bar{P}_{s}^{-1} can be computed using interpolation data and samples of G(z)G(z) at the interpolation points σi\sigma_{i} and μi\mu_{i}. Furthermore, since WEVW^{*}EV and WAVW^{*}AV can also be computed non-intrusively from (27) via the Loewner framework, a data-driven low-rank BT algorithm can be formulated, analogous to its continuous-time counterpart. The pseudo-code for the data-driven PORK-based discrete-time BT (DD-PORK-DTBT) is presented in Algorithm 7.

Algorithm 7 DD-PORK-DTBT

Input: Shifts for approximating PP: (σ1,,σnp)(\sigma_{1},\cdots,\sigma_{n_{p}}); Shifts for approximating QQ: (μ1,,μnq)(\mu_{1},\cdots,\mu_{n_{q}}); Frequency-domain data: (G(σ1),,G(σnp),G(μ1),,G(μnq))\big{(}G(\sigma_{1}),\cdots,G(\sigma_{n_{p}}),G(\mu_{1}),\cdots,G(\mu_{n_{q}})\big{)} and G(σi)G^{\prime}(\sigma_{i}) for σi=μj\sigma_{i}=\mu_{j}; Reduced order: rr.

Output: ROM: (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r})

1:  Compute the Loewner quadruplet (Es,As,Bs,Cs)(E_{s},A_{s},B_{s},C_{s}) from (27).
2:  Set S¯b\bar{S}_{b}, S¯c\bar{S}_{c}, L¯b\bar{L}_{b}, and L¯c\bar{L}_{c} as in (90).
3:  Compute Q¯s\bar{Q}_{s} and P¯s\bar{P}_{s} by solving the discrete-time Lyapunov equations (88) and (89).
4:  Decompose Q¯s1=LpLp\bar{Q}_{s}^{-1}=L_{p}L_{p}^{*} and P¯s1=LqLq\bar{P}_{s}^{-1}=L_{q}L_{q}^{*}.
5:  Compute the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} from (28) and (29).
6:  Compute the ROM from (30).

8 Non-intrusive PORK-based DT-IRKA for Discrete Time Systems

Similar to the continuous-time case, a block PORK-based non-intrusive implementation of DT-IRKA can also be formulated. Here, the interpolation points αi\alpha_{i} and βi\beta_{i} are all located outside the unit circle. Let us define the following matrices:

S¯α\displaystyle\bar{S}_{\alpha} =Sα1,L¯α=LαSα1,S¯β=Sβ1,L¯β=Sβ1Lβ.\displaystyle=S_{\alpha}^{-1},\quad\bar{L}_{\alpha}=L_{\alpha}S_{\alpha}^{-1},\quad\bar{S}_{\beta}=S_{\beta}^{-1},\quad\bar{L}_{\beta}=S_{\beta}^{-1}L_{\beta}. (91)

Let Q¯α\bar{Q}_{\alpha} and P¯β\bar{P}_{\beta} be the solutions to the following discrete-time Lyapunov equations:

S¯αQ¯αS¯αQ¯α+L¯αL¯α\displaystyle\bar{S}_{\alpha}^{*}\bar{Q}_{\alpha}\bar{S}_{\alpha}-\bar{Q}_{\alpha}+\bar{L}_{\alpha}^{*}\bar{L}_{\alpha} =0,\displaystyle=0, (92)
S¯βP¯βS¯βP¯β+L¯βL¯β\displaystyle\bar{S}_{\beta}\bar{P}_{\beta}\bar{S}_{\beta}^{*}-\bar{P}_{\beta}+\bar{L}_{\beta}\bar{L}_{\beta}^{*} =0.\displaystyle=0. (93)

The ROM produced by discrete-time I-PORK is given by:

Eα\displaystyle E_{\alpha} =I,\displaystyle=I, Aα\displaystyle A_{\alpha} =Q¯α1S¯αQ¯α,\displaystyle=\bar{Q}_{\alpha}^{-1}\bar{S}_{\alpha}^{*}\bar{Q}_{\alpha},
Bα\displaystyle B_{\alpha} =Q¯α1L¯αT,\displaystyle=\bar{Q}_{\alpha}^{-1}\bar{L}_{\alpha}^{T}, C¯α\displaystyle\bar{C}_{\alpha} =CV~.\displaystyle=C\tilde{V}. (94)

Similarly, the ROM produced by discrete-time O-PORK is given by:

Eβ\displaystyle E_{\beta} =I,\displaystyle=I, Aβ\displaystyle A_{\beta} =P¯βS¯βP¯β1,\displaystyle=\bar{P}_{\beta}\bar{S}_{\beta}^{*}\bar{P}_{\beta}^{-1},
Bβ\displaystyle B_{\beta} =W~B,\displaystyle=\tilde{W}^{*}B, Cβ\displaystyle C_{\beta} =L¯βP¯β1.\displaystyle=\bar{L}_{\beta}^{*}\bar{P}_{\beta}^{-1}. (95)

Let the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} be defined as:

V^r=[(σ1IAα)1Bαb1(σrIAα)1Bαbr],\displaystyle\hat{V}_{r}=\begin{bmatrix}(\sigma_{1}I-A_{\alpha})^{-1}B_{\alpha}b_{1}&\cdots&(\sigma_{r}I-A_{\alpha})^{-1}B_{\alpha}b_{r}\end{bmatrix}, (96)
W^r=[(μ1IAβ)1Cβc1(μrIAβ)1Cβcr].\displaystyle\hat{W}_{r}=\begin{bmatrix}(\mu_{1}^{*}I-A_{\beta}^{*})^{-1}C_{\beta}^{*}c_{1}^{*}&\cdots&(\mu_{r}^{*}I-A_{\beta}^{*})^{-1}C_{\beta}^{*}c_{r}^{*}\end{bmatrix}. (97)

It can then be observed that VV~V^rV\approx\tilde{V}\hat{V}_{r} and WW~W^rW\approx\tilde{W}\hat{W}_{r}. Assuming this approximation is exact, the ROM satisfying the interpolation condition (3) can be obtained by reducing the Loewner quadruplet (Eα,β,Aα,β,Bα,β,Cα,β)(E_{\alpha,\beta},A_{\alpha,\beta},B_{\alpha,\beta},C_{\alpha,\beta}) as follows:

Er\displaystyle E_{r} =W^rEα,βV^r,\displaystyle=\hat{W}_{r}^{*}E_{\alpha,\beta}\hat{V}_{r}, Ar\displaystyle A_{r} =W^rAα,βV^r,\displaystyle=\hat{W}_{r}^{*}A_{\alpha,\beta}\hat{V}_{r}, Br\displaystyle B_{r} =W^rBα,β,\displaystyle=\hat{W}_{r}^{*}B_{\alpha,\beta}, Cr\displaystyle C_{r} =Cα,βV^r.\displaystyle=C_{\alpha,\beta}\hat{V}_{r}. (98)

When σj=μi\sigma_{j}=\mu_{i}, this ROM also satisfies the Hermite interpolation condition (4). Since V^r\hat{V}_{r} and W^r\hat{W}_{r} depend solely on the interpolation points αj\alpha_{j}, βi\beta_{i}, σj\sigma_{j}, and μi\mu_{i}, as well as the tangential directions bjb_{j} and cic_{i}, the ROM (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) can be computed in a non-intrusive manner.

It is now clear that DT-IRKA can be implemented using available transfer function samples G(αi)G(\alpha_{i}) and G(βi)G(\beta_{i}), eliminating the need for repeated measurements of G(σi)G(\sigma_{i}) and G(σi)G^{\prime}(\sigma_{i}) whenever DT-IRKA updates σi\sigma_{i}. The pseudo-code for the PORK-based DT-IRKA (PORK-DTIRKA) is outlined in Algorithm 8.

Algorithm 8 PORK-DTIRKA

Input: Sampling points: (α1,,αnp)(\alpha_{1},\cdots,\alpha_{n_{p}}), (β1,,βnq)(\beta_{1},\cdots,\beta_{n_{q}}); Transfer function samples: (G(α1),,G(αnv))\big{(}G(\alpha_{1}),\cdots,G(\alpha_{n_{v}})\big{)}, (G(β1),,G(βnq))\big{(}G(\beta_{1}),\cdots,G(\beta_{n_{q}})\big{)}, G(αi)G^{\prime}(\alpha_{i}) for αi=βj\alpha_{i}=\beta_{j}; Interpolation data: (σ1,,σr)(\sigma_{1},\cdots,\sigma_{r}), (b1,,br)(b_{1},\cdots,b_{r}), (c1,,cr)(c_{1},\cdots,c_{r}); Tolerance: tol.

Output: ROM: (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r})

1:  Compute the Loewner quadruplet (Eα,β,Aα,β,Bα,β,Cα,β)(E_{\alpha,\beta},A_{\alpha,\beta},B_{\alpha,\beta},C_{\alpha,\beta}) from (61).
2:  while(relative change in λi\lambda_{i} ¿ tol)
3:  Compute the projection matrices V^r\hat{V}_{r} and W^r\hat{W}_{r} from (96) and (97).
4:  Compute (Er,Ar,Br,Cr)(E_{r},A_{r},B_{r},C_{r}) from (98).
5:  Compute the eigenvalue decomposition: Er1Ar=TrΛTr1E_{r}^{-1}A_{r}=T_{r}\Lambda T_{r}^{-1} where Λ=diag(λ1,,λr)\Lambda=diag(\lambda_{1},\cdots,\lambda_{r}).
6:  Update the interpolation data: (σ1,,σr)=(1λ1,,1λr)(\sigma_{1},\cdots,\sigma_{r})=(\frac{1}{\lambda_{1}},\cdots,\frac{1}{\lambda_{r}}); [b1br]=BrErTr[b_{1}\cdots b_{r}]=B_{r}^{*}E_{r}^{-*}T_{r}^{-*}; [c1cr]=CrTr[c_{1}^{*}\cdots c_{r}^{*}]=C_{r}T_{r}.
7:  end while

8.1 Tracking the Error G(z)Gr(z)22||G(z)-G_{r}(z)||_{\mathcal{H}_{2}}^{2}

Let Gr(z)(i1)G_{r}(z)^{(i-1)} and Gr(z)(i)G_{r}(z)^{(i)} represent the interim ROMs in the (i1)th(i-1)^{th} and ithi^{th} iterations of DT-IRKA, respectively. Similar to the continuous-time case, the error in the (i1)th(i-1)^{th} iteration can be computed after the ithi^{th} iteration as follows:

||G(z)\displaystyle||G(z)- Gr(z)(i1)||22\displaystyle G_{r}(z)^{(i-1)}||_{\mathcal{H}_{2}}^{2}
=\displaystyle= G(z)22+Gr(z)(i1)222trace(Cr(i)(Cr(i1)Tr(i1))).\displaystyle||G(z)||_{\mathcal{H}_{2}}^{2}+||G_{r}(z)^{(i-1)}||_{\mathcal{H}_{2}}^{2}-2\text{trace}\Big{(}C_{r}^{(i)}\big{(}C_{r}^{(i-1)}T_{r}^{(i-1)}\big{)}^{*}\Big{)}.

Thus, with a delay of one iteration, the error G(z)Gr(z)2||G(z)-G_{r}(z)||_{\mathcal{H}_{2}} can be tracked by computing Gr(z)22||G_{r}(z)||_{\mathcal{H}_{2}}^{2} in each iteration. Specifically, the variable component of the error in data-driven DT-IRKA can be monitored non-intrusively by tracking the following term:

Gr(z)(i1)222trace(Cr(i)(Cr(i1)Tr(i1))).\displaystyle||G_{r}(z)^{(i-1)}||_{\mathcal{H}_{2}}^{2}-2\,\text{trace}\Big{(}C_{r}^{(i)}\big{(}C_{r}^{(i-1)}T_{r}^{(i-1)}\big{)}^{*}\Big{)}.

However, it is important to note that the term 2trace(Cr(i)(Cr(i1)Tr(i1)))-2\,\text{trace}\Big{(}C_{r}^{(i)}\big{(}C_{r}^{(i-1)}T_{r}^{(i-1)}\big{)}^{*}\Big{)} is an approximation and not exact. Its accuracy depends on the precision of the approximation of the integral (68) and (69) or the approximation of the infinite summation (78) and (79).

9 Compression and Distillation of Data Quadruplets

Throughout this paper, a consistent pattern has emerged in all the discussed data-driven algorithms: each algorithm constructs a Loewner quadruplet (in the frequency domain) or an impulse data quadruplet (in the time domain) and then reduces the respective data quadruplet, as illustrated in Figure 1.

Refer to caption
Figure 1: Working Principle

It is now evident that all interpolatory low-rank BT algorithms, including Krylov-subspace-based low-rank BT, low-rank ADI-based BT, and QuadBT, construct the ROM by reducing the corresponding data quadruplets rather than directly reducing the original system. In intrusive settings, these quadruplets are not explicitly constructed, as the low-rank factor Z^p\hat{Z}_{p} is derived from the matrices (E,A,B)(E,A,B) separately, and the low-rank factor Z^q\hat{Z}_{q} is obtained from the matrices (E,A,C)(E,A,C) separately. In other words, the input and output dynamics are approximated independently. However, in non-intrusive settings, the true implicit nature of interpolatory low-rank BT algorithms becomes apparent, revealing that they construct the ROM by reducing the data quadruplets rather than directly reducing the original system.

Before proceeding further, let us make an assumption that mnp=pnqmn_{p}=pn_{q}, ensuring that the Loewner quadruplets are interpolants of G(s)G(s). This assumption will greatly simplify our discussion, as it allows us to use the terms Loewner quadruplet and interpolant of G(s)G(s) interchangeably. Consequently, we can analyze the Loewner quadruplet using standard interpolation theory.

The following observations can be made regarding interpolatory low-rank BT methods:

  1. 1.

    Similar to numerical integration, interpolatory low-rank BT does not reduce G(s)G(s) directly. Instead, an interpolant of G(s)G(s) is first implicitly constructed (or explicitly constructed in non-intrusive data-driven settings). This interpolant is not particularly compact, as it is constructed to interpolate G(s)G(s) at several interpolation points to capture the majority of the original system’s dynamics. Subsequently, this interpolant acts as a surrogate for G(s)G(s). The ROMs produced by these low-rank BT algorithms are approximations of the interpolants of G(s)G(s), rather than G(s)G(s) itself. In this sense, low-rank BT could be termed “numerical BT” if we wish to adopt terminology analogous to numerical integration.

  2. 2.

    Since a balanced realization is a specific type of state-space representation of G(s)G(s), constructing such a realization without access to any state-space representation of G(s)G(s) appears inherently unnatural. QuadBT and the data-driven BT algorithms proposed in this paper essentially first construct a state-space realization of the interpolant of G(s)G(s) and then reduce these interpolants rather than the original system. These algorithms are non-intrusive but they perform intrusive MOR on the interpolant of G(s)G(s), for which a state-space realization can be conveniently obtained non-intrusively within the Loewner framework. Their non-intrusive nature does not stem from the fact that Hankel singular values are transfer function parameters and independent of a specific state-space realization, as argued in [11]. Instead, the balanced square-root algorithm remains intrinsically intrusive. Even in QuadBT, it operates on the intrusive state-space realization of the interpolant of G(s)G(s), which interpolates G(s)G(s) at the quadrature nodes. In conclusion, BT of G(s)G(s) is still only achievable intrusively. What can be performed non-intrusively is the interpolation within the Loewner framework.

  3. 3.

    In [11], it was argued that rational interpolation does not play a role in QuadBT. However, it is now evident that rational interpolation plays a key role in QuadBT, as it supplies QuadBT with a state-space realization. This realization is then further reduced using the square root algorithm.

  4. 4.

    Since the ROMs produced by interpolatory low-rank BT are approximations of the interpolants of G(s)G(s), it is unreasonable to expect that reducing the order of the interpolant will result in a final ROM that is more accurate than the interpolant itself. Therefore, the accuracy of the approximation in low-rank BT is directly tied to the quality of the interpolant of G(s)G(s). To ensure that low-rank BT generates ROMs nearly equivalent to those produced by standard BT, the interpolation quality must be exceptional, which heavily relies on the selection of interpolation points. Given that IRKA is regarded as one of the most effective interpolation algorithms, its ROMs should be considered strong candidates for performing low-rank BT. This is supported by [21], where IRKA is used to generate effective shifts for the ADI method.

  5. 5.

    There is some interest within the MOR community to produce BT models through interpolation; see [40, 41]. These efforts are primarily focused on constructing exact BT models using interpolation techniques. However, it is important to recognize that, in an approximate sense, low-rank BT algorithms are already producing BT models via interpolation. When we acknowledge the success of ADI-based or Krylov-subspace-based algorithms in extending the applicability of BT to large-scale systems by reducing computational costs, we are indirectly affirming that interpolation at a small number of points may not surpass BT in accuracy. However, if interpolation is performed more liberally, it can achieve sufficient accuracy to compete with BT. Interpolation at a large number of points, while powerful, introduces its own complexities, which will be discussed shortly. Nevertheless, the accuracy and effectiveness of interpolation as a tool in MOR must be acknowledged.

  6. 6.

    The data-driven IRKA algorithms presented in this paper leverage the same principles as low-rank BT. They compute an interpolant of G(s)G(s) by interpolating at several points to capture the majority of the dynamics of G(s)G(s). This interpolant then serves as a surrogate for G(s)G(s), allowing the algorithms to sample the interpolant as IRKA updates the interpolation points, rather than directly sampling G(s)G(s). This approach enables the data-driven IRKA algorithms to bypass the need for new experiments to obtain additional samples of G(s)G(s).

Having established that all interpolatory low-rank BT algorithms essentially reduce their respective data quadruplets, one might consider directly applying standard MOR algorithms like BT and IRKA to these quadruplets to obtain a compact ROM. However, these quadruplets are often not as well-behaved as desired. In many cases, when constructing an interpolant in the Loewner framework with a large number of interpolation points, the resulting interpolant is an unstable system with several poles in the right-half plane [7, 22]. As a result, standard MOR algorithms that require a stable original model cannot be directly applied to reduce the size of these quadruplets. Additionally, the Loewner matrix WTEVW^{T}EV tends to become singular as the number of interpolation points increases [7, 22], rendering MOR algorithms that assume the non-singularity of the EE-matrix unsuitable for directly reducing the order of Loewner interpolants. QuadBT and the algorithms proposed in this paper can be viewed as “compression” algorithms, designed to extract a compact ROM from these quadruplets. Moreover, these algorithms can also be seen as “distillation” algorithms, as they can extract ROMs with various properties from the same “raw” quadruplet by processing it differently. They effectively distill a compact, useful, and well-behaved ROM from the raw data quadruplets, which cannot be directly handled by standard MOR algorithms that assume the original model is well-behaved (like stable and minimal). This opens an interesting avenue for future research: developing similar compression strategies in intrusive settings to handle original systems that are similarly ill-behaved, much like these data quadruplets.

10 Numerical Examples

In this section, the performance of the proposed algorithms is compared with their intrusive counterparts, i.e., BT and IRKA. The first example comprises numerical results related to continuous time algorithms while the second example comprises numerical results related to discrete-time algorithms.

10.1 Experimental Setup

For quadrature-based algorithms, QuadBT [11] is first used to generate ROMs. Subsequently, the proposed quadrature-based IRKA algorithms compress and distill the same quadruplet produced by QuadBT to extract 2\mathcal{H}_{2}-optimal ROMs. The mirror images of the poles of the ROM obtained from frequency-domain QuadBT are used as sampling points for the quadruplets distilled by DD-ADI-BT and PORK-IRKA. Similarly, the reciprocals of the poles of the ROM from frequency-domain QuadBT serve as sampling points for the quadruplets distilled by DD-PORK-DTBT and PORK-DTIRKA. Both BT and IRKA algorithms compress and distill the same raw quadruplet to extract their respective ROMs. All IRKA-based algorithms are initialized arbitrarily, and they converge within 20 iterations for all experiments conducted in this section. The results presented here are generated using MATLAB R2021b on a laptop running Windows 11 as the operating system, equipped with a 2GHz Intel i7 processor and 16GB of RAM.

10.2 Example 1: Continuous Time

In this example, we use the 120th120^{th}-order CD player model, which has two inputs and two outputs, from the benchmark collection of [42], to compare the performance of the proposed algorithms with intrusive BT, IRKA, and QuadBT. First, using the exponential trapezoidal rule (the numerical quadrature method preferred in [11] for achieving high accuracy), 5050 nodes and weights are generated within the frequency range of 10210^{-2} to 10210^{2} rad/sec for frequency-domain QuadBT. The same nodes are used to approximate both the controllability and observability Gramians. Transfer function samples at these nodes are generated using the state-space realization of the CD player model provided in [42]. For time-limited QuadBT, 100100 nodes and weights are generated within the time interval of 0 to 4040 seconds using the Gauss-Legendre quadrature rule. Impulse response samples are generated using the state-space realization of the CD player model available in [42]. Using this data, the respective quadruplets are constructed and used to execute QuadBT. Subsequently, 2222 ADI shifts are generated as described in subsection 10.1. Transfer function samples are then generated, and the associated quadruplet is constructed.

The largest 2020 Hankel singular values approximated by QuadBT and DD-ADI-BT are shown in Figure 2.

Refer to caption
Figure 2: Comparison of Hankel singular values

It can be seen that DD-ADI-BT closely approximates the majority of the Hankel singular values while using fewer than half the number of transfer function samples. This result is expected, as ADI-based BT is known to provide accurate approximations even with a limited number of shifts. The \mathcal{H}_{\infty} norm of the relative error G(s)Gr(s)G(s)\frac{||G(s)-G_{r}(s)||_{\mathcal{H}_{\infty}}}{||G(s)||_{\mathcal{H}_{\infty}}} for ROMs of orders 1201-20 is displayed in Figure 3. It can be observed that DD-ADI-BT performs comparably to intrusive BT in terms of accuracy and outperforms QuadBT in this example.

Refer to caption
Figure 3: Comparison of relative error G(s)Gr(s)G(s)\frac{||G(s)-G_{r}(s)||_{\mathcal{H}_{\infty}}}{||G(s)||_{\mathcal{H}_{\infty}}}

Using the same respective quadruplets, FD-Quad-IRKA, TD-Quad-IRKA, and PORK-IRKA are used to extract an 8th8^{th}-order ROM. The weights in FD-Quad-IRKA and TD-Quad-IRKA are computed using trapezoidal rule for the same nodes used by QuadBT. Figure 4 displays the singular values of G(s)G(s) (for input 1 and output 1) and the ROMs Gr(s)G_{r}(s) generated by IRKA, FD-Quad-IRKA, TD-Quad-IRKA, and PORK-IRKA. It is evident that the proposed algorithms achieve accuracy comparable to that of IRKA. For economy of space, only the frequency response of the 1st1^{st} input-output channel is plotted.

Refer to caption
Figure 4: Singular values of G(s)G(s) and Gr(s)G_{r}(s)

10.3 Example 2: Discrete Time

For this example, we use the model considered in [11], which is a 40th40^{th}-order low-pass Butterworth filter with a cutoff frequency of 0.60.6 rad/sec. First, using the Gauss-Legendre quadrature rule, 100100 nodes and weights are generated within the frequency range of π-\pi to π\pi rad/sec for frequency-domain QuadBT. These nodes are used to approximate both the controllability and observability Gramians. Transfer function samples at these nodes are generated using the state-space realization of the Butterworth filter model, created using MATLAB’s ‘butter’ command. For time-limited QuadBT, 100100 impulse response samples are generated. Using this data, the respective quadruplets are constructed and used to implement QuadBT. Subsequently, 2020 PORK shifts are generated as described in subsection 10.1. Transfer function samples are then generated, and the associated quadruplet is constructed.

The largest 2020 Hankel singular values approximated by QuadBT and DD-PORK-DTBT are shown in Figure 5.

Refer to caption
Figure 5: Comparison of Hankel singular values

It can be seen that DD-PORK-DTBT closely approximates all the 2020 Hankel singular values while using fewer transfer function samples. The \mathcal{H}_{\infty} norm of the relative error G(z)Gr(z)G(z)\frac{||G(z)-G_{r}(z)||_{\mathcal{H}_{\infty}}}{||G(z)||_{\mathcal{H}_{\infty}}} for ROMs of orders 1201-20 is displayed in Figure 6. It can be observed that DD-PORK-DTBT performs comparably to intrusive BT in terms of accuracy.

Refer to caption
Figure 6: Comparison of relative error G(z)Gr(z)G(z)\frac{||G(z)-G_{r}(z)||_{\mathcal{H}_{\infty}}}{||G(z)||_{\mathcal{H}_{\infty}}}

Using the same respective quadruplets, FD-Quad-DTIRKA, TD-DTIRKA, and PORK-DTIRKA are used to extract an 15th15^{th}-order ROM. The weights in FD-Quad-DTIRKA are computed using trapezoidal rule for the same nodes used by QuadBT. Figure 7 displays the singular values of G(s)G(s) and the ROMs Gr(s)G_{r}(s) generated by DT-IRKA, FD-Quad-DTIRKA, TD-DTIRKA, and PORK-DTIRKA. It is evident that the proposed algorithms achieve accuracy comparable to that of DT-IRKA.

Refer to caption
Figure 7: Singular values of G(z)G(z) and Gr(z)G_{r}(z)

11 Conclusion

This paper presents data-driven, non-intrusive implementations of BT and IRKA for both continuous-time and discrete-time systems. The proposed methods utilize available frequency or time-domain data to compute ROMs. It has been observed that both QuadBT and the algorithms introduced in this paper effectively compress and distill their respective raw quadruplets, resulting in compact and practical ROMs. Numerical experiments demonstrate that the proposed algorithms perform comparably to their intrusive counterparts.

References

  • [1] A. C. Antoulas, S. Lefteriu, A. C. Ionita, P. Benner, A. Cohen, A tutorial introduction to the Loewner framework for model reduction, Model Reduction and Approximation: Theory and Algorithms 15 (2017) 335.
  • [2] G. Obinata, B. D. Anderson, Model reduction for control system design, Springer Science & Business Media, 2012.
  • [3] A. C. Antoulas, Approximation of large-scale dynamical systems, SIAM, 2005.
  • [4] B. Moore, Principal component analysis in linear systems: Controllability, observability, and model reduction, IEEE Transactions on Automatic Control 26 (1) (1981) 17–32.
  • [5] P. Benner, J. Saak, Numerical solution of large and sparse continuous time algebraic matrix Riccati and Lyapunov equations: A state of the art survey, GAMM-Mitteilungen 36 (1) (2013) 32–52.
  • [6] V. Simoncini, Computational methods for linear matrix equations, SIAM Review 58 (3) (2016) 377–441.
  • [7] A. Mayo, A. C. Antoulas, A framework for the solution of the generalized realization problem, Linear Algebra and Its Applications 425 (2-3) (2007) 634–662.
  • [8] Y. Nakatsukasa, O. Sète, L. N. Trefethen, The AAA algorithm for rational approximation, SIAM Journal on Scientific Computing 40 (3) (2018) A1494–A1522.
  • [9] I. V. Gosea, C. Poussot-Vassal, A. C. Antoulas, Data-driven modeling and control of large-scale dynamical systems in the Loewner framework: Methodology and applications, in: Handbook of Numerical Analysis, Vol. 23, Elsevier, 2022, pp. 499–530.
  • [10] G. Scarciotti, A. Astolfi, Interconnection-based model order reduction-A survey, European Journal of Control 75 (2024) 100929.
  • [11] I. V. Gosea, S. Gugercin, C. Beattie, Data-driven balancing of linear dynamical systems, SIAM Journal on Scientific Computing 44 (1) (2022) A554–A582.
  • [12] S. Gugercin, A. C. Antoulas, C. Beattie, 2\mathcal{H}_{2} model reduction for large-scale linear dynamical systems, SIAM Journal on Matrix Analysis and Applications 30 (2) (2008) 609–638.
  • [13] C. Beattie, S. Gugercin, Realization-independent 2\mathcal{H}_{2}-approximation, in: 2012 IEEE 51st IEEE Conference on Decision and Control (CDC), IEEE, 2012, pp. 4953–4958.
  • [14] T. Wolf, H. K. Panzer, B. Lohmann, 2\mathcal{H}_{2} pseudo-optimality in model order reduction by Krylov subspace methods, in: 2013 European Control Conference (ECC), IEEE, 2013, pp. 3427–3432.
  • [15] T. Wolf, 2\mathcal{H}_{2} pseudo-optimal model order reduction, Ph.D. thesis, Technische Universität München (2014).
  • [16] P. Benner, P. Kürschner, J. Saak, Efficient handling of complex shift parameters in the low-rank Cholesky factor ADI method, Numerical Algorithms 62 (2013) 225–251.
  • [17] J. Saak, P. Benner, P. Kürschner, A goal-oriented dual LRCF-ADI for balanced truncation, IFAC Proceedings Volumes 45 (2) (2012) 752–757.
  • [18] C. A. Beattie, S. Gugercin, et al., Model reduction by rational interpolation, Model Reduction and Approximation 15 (2017) 297–334.
  • [19] M. S. Tombs, I. Postlethwaite, Truncated balanced realization of a stable non-minimal state-space system, International Journal of Control 46 (4) (1987) 1319–1330.
  • [20] T. Wolf, H. K. Panzer, The ADI iteration for Lyapunov equations implicitly performs 2\mathcal{H}_{2} pseudo-optimal model order reduction, International Journal of Control 89 (3) (2016) 481–493.
  • [21] P. Benner, P. Kürschner, J. Saak, Self-generating and efficient shift parameters in ADI methods for large lyapunov and sylvester equations, Electronic Transactions on Numerical Analysis 43 (2014) 142–162.
  • [22] J. Mao, G. Scarciotti, Data-driven model reduction by two-sided moment matching, Automatica 166 (2024) 111702.
  • [23] L. Lennart, System identification: Theory for the user, Vol. 28, 1999.
  • [24] H. Özbay, S. Gümüşsoy, K. Kashima, Y. Yamamoto, Frequency Domain Techniques for \mathcal{H}_{\infty} Control of Distributed Parameter Systems, SIAM, 2018.
  • [25] R. Pintelon, J. Schoukens, Y. Rolain, Frequency-domain approach to continuous-time system identification: Some practical aspects, Identification of Continuous-time models from Sampled Data (2008) 215–248.
  • [26] J. Gillberg, Frequency domain identification of continuous-time systems: Reconstruction and robustness, Ph.D. thesis, Institutionen för systemteknik (2006).
  • [27] E. A. Morelli, J. A. Grauer, Practical aspects of frequency-domain approaches for aircraft system identification, Journal of Aircraft 57 (2) (2020) 268–291.
  • [28] D. C. Sorensen, A. Antoulas, The Sylvester equation and approximate balanced reduction, Linear Algebra and Its Applications 351 (2002) 671–700.
  • [29] U. Zulfiqar, V. Sreeram, X. Du, Frequency-limited pseudo-optimal rational Krylov algorithm for power system reduction, International Journal of Electrical Power & Energy Systems 118 (2020) 105798.
  • [30] G.-B. Stan, J.-J. Embrechts, D. Archambeau, Comparison of different impulse response measurement techniques, Journal of the Audio Engineering Society 50 (4) (2002) 249–262.
  • [31] R. J. Finno, S. L. Gassman, Impulse response evaluation of drilled shafts, Journal of Geotechnical and Geoenvironmental Engineering 124 (10) (1998) 965–975.
  • [32] M. Holters, T. Corbach, U. Zölzer, Impulse response measurement techniques and their applicability in the real world, In: Proceedings of the 12th International Conference on Digital Audio Effects (DAFx-09), 2009, pp. 108–112.
  • [33] S. Foster, Impulse response measurement using golay codes, In: ICASSP’86. IEEE International Conference on Acoustics, Speech, and Signal Processing, Vol. 11, IEEE, 1986, pp. 929–932.
  • [34] J. Borish, J. B. Angell, An efficient algorithm for measuring the impulse response using pseudorandom noise, Journal of the Audio Engineering Society 31 (7/8) (1983) 478–488.
  • [35] U. Zulfiqar, V. Sreeram, X. Du, Time-limited pseudo-optimal-model order reduction, IET Control Theory & Applications 14 (14) (2020) 1995–2007.
  • [36] P. Benner, M. Köhler, J. Saak, Sparse-dense Sylvester equations in 2\mathcal{H}_{2}-model order reduction, Preprint MPIMD/11-11, Max Planck Institute Magdeburg, available from http://www.mpi-magdeburg.mpg.de/preprints/ (Dec. 2011).
  • [37] A. Bunse-Gerstner, D. Kubalińska, G. Vossen, D. Wilczek, 2\mathcal{H}_{2}-norm optimal model reduction for large scale discrete dynamical MIMO systems, Journal of Computational and Applied Mathematics 233 (5) (2010) 1202–1216.
  • [38] M. S. Ackermann, S. Gugercin, Time-domain iterative rational Krylov method, arXiv preprint arXiv:2407.12670 (2024).
  • [39] G.-R. Duan, Generalized Sylvester equations/g, R. Duan. Unified Parametric Solutions: CRC Press, Boca Raton, FL (2015).
  • [40] T. C. Ionescu, J. M. Scherpen, O. V. Iftime, A. Astolfi, Balancing as a moment matching problem, in: Proc. 20th int. symp. On Mathematical Theory of Networks and Sys, 2012.
  • [41] Y. Kawano, T. C. Ionescu, O. V. Iftime, Gramian preserving moment matching for linear systems, In: 2023 European Control Conference (ECC), IEEE, 2023, pp. 1–6.
  • [42] Y. Chahlaoui, P. V. Dooren, Benchmark examples for model reduction of linear time-invariant dynamical systems, in: Dimension reduction of large-scale systems, Springer, 2005, pp. 379–392.