Abstract
Markov-modulated fluid queues are popular stochastic processes frequently used for modelling real-life applications. An important performance measure to evaluate in these applications is their steady-state behaviour, which is determined by the stationary density. Computing it requires solving a (nonsymmetric) M-matrix algebraic Riccati equation, and indeed computing the stationary density is the most important application of this class of equations. Xue et al. (Numer Math 120:671–700, 2012) provided a componentwise first-order perturbation analysis of this equation, proving that the solution can be computed to high relative accuracy even in the smallest entries, and suggested several algorithms for computing it. An important step in all proposed algorithms is using so-called triplet representations, which are special representations for M-matrices that allow for a high-accuracy variant of Gaussian elimination, the GTH-like algorithm. However, triplet representations for all the M-matrices needed in the algorithm were not found explicitly. This can lead to an accuracy loss that prevents the algorithms from converging in the componentwise sense. In this paper, we focus on the structured doubling algorithm, the most efficient among the proposed methods in Xue et al., and build upon their results, providing (i) explicit and cancellation-free expressions for the needed triplet representations, allowing the algorithm to be performed in a really cancellation-free fashion; (ii) an algorithm to evaluate the final part of the computation to obtain the stationary density; and (iii) a componentwise error analysis for the resulting algorithm, the first explicit one for this class of algorithms. We also present numerical results to illustrate the accuracy advantage of our method over standard (normwise-accurate) algorithms.
Similar content being viewed by others
Notes
For an analysis of the componentwise accuracy of scaling and squaring algorithms, see [2].
References
Alfa, A.S., Xue, J., Ye, Q.: Accurate computation of the smallest eigenvalue of a diagonally dominant \(M\)-matrix. Math. Comput. 71(237), 217–236 (2002)
Arioli, M., Codenotti, B., Fassino, C.: The Padé method for computing the matrix exponential. Linear Algebra Appl. 240, 111–130 (1996)
Bean, N.G., O’Reilly, M.M., Sargison, J.E.: A stochastic fluid flow model of the operation and maintenance of power generation systems. IEEE Trans. Power Syst. 25(3), 1361–1374 (2010)
Berman, A., Plemmons, R.J.: Nonnegative matrices in the mathematical sciences, Classics in Applied Mathematics, vol. 9. Society for Industrial and Applied Mathematics (SIAM), Philadelphia (1994, revised reprint of the 1979 original)
Bini, D.A., Gemignani, L.: Solving quadratic matrix equations and factoring polynomials: new fixed point iterations based on Schur complements of Toeplitz matrices. Numer. Linear Algebra Appl. 12(2–3), 181–189 (2005)
Bini, D.A., Iannazzo, B., Meini, B.: Numerical solution of algebraic Riccati equations, Fundamentals of Algorithms, vol. 9. Society for Industrial and Applied Mathematics (SIAM), Philadelphia (2012)
Bini, D.A., Iannazzo, B., Meini, B., Poloni, F.: Nonsymmetric algebraic Riccati equations associated with an M-matrix: recent advances and algorithms. In: Olshevsky, V., Tyrtyshnikov, E. (eds.) Matrix Methods: Theory, Algorithms and Applications, chapter 10, pp. 176–209. World Scientific Publishing (2010)
Bini, D.A., Latouche, G., Meini, B.: Numerical Methods for Structured Markov Chains. Numerical Mathematics and Scientific Computation. Oxford University Press, Oxford (2005)
Bini, D.A., Meini, B., Poloni, F.: Transforming algebraic Riccati equations into unilateral quadratic matrix equations. Numer. Math. 116(4), 553–578 (2010)
Crabtree, D.E., Haynsworth, E.V.: An identity for the Schur complement of a matrix. Proc. Am. Math. Soc. 22, 364–366 (1969)
da Silva Soares, A.: Fluid queues—building upon the analogy with QBD processes. PhD thesis, Université libre de Bruxelles (2005)
Golub, G.H., Van Loan, C.F.: Matrix Computations. Johns Hopkins Studies in the Mathematical Sciences, 3rd edn. Johns Hopkins University Press, Baltimore (1996)
Govorun, M., Latouche, G., Remiche, M.-A.: Stability for fluid queues: characteristic inequalities. Stoch. Models 29(1), 64–88 (2013)
Guo, X.-X., Lin, W.-W., Xu, S.-F.: A structure-preserving doubling algorithm for nonsymmetric algebraic Riccati equation. Numer. Math. 103, 393–412 (2006)
Higham, N.J.: The Matrix Function Toolbox. http://www.ma.man.ac.uk/higham/mftoolbox
Higham, N.J.: Accuracy and Stability of Numerical Algorithms, 2nd edn. Society for Industrial and Applied Mathematics (SIAM), Philadelphia (2002)
Higham, N.J.: The scaling and squaring method for the matrix exponential revisited. SIAM J. Matrix Anal. Appl. 26(4), 1179–1193 (2005, electronic)
Higham, N.J.: Functions of Matrices. Theory and Computation. Society for Industrial and Applied Mathematics (SIAM), Philadelphia (2008)
Latouche, G., Taylor, P.G.: A stochastic fluid model for an ad hoc mobile network. Queueing Syst. 63(1), 109–129 (2009)
Mandjes, M., Mitra, D., Scheinhardt, W.: Simple models of network access, with applications to the design of joint rate and admission control. In: INFOCOM 2002. Proceedings of Twenty-First Annual Joint Conference of the IEEE Computer and Communications Societies. IEEE, vol. 1, pp. 3–12 (2002)
Meyer, C.D.: Stochastic complementation, uncoupling Markov chains, and the theory of nearly reducible systems. SIAM Rev. 31(2), 240–272 (1989)
Mitra, D.: Stochastic theory of a fluid model of producers and consumers coupled by a buffer. Adv. Appl. Probab. 20(3), 646–676 (1988)
Poloni, F., Reis, T.: The SDA method for numerical solution of Lur’e equations. Technical Report 1101.1231, arXiv.org (2011)
Ramaswami, V.: Matrix analytic methods for stochastic fluid flows. In: Smith, D., Hey, P. (eds.) Proceedings of the 16th International Teletraffic Congress. Teletraffic Engineering in a Competitive World, pp. 1019–1030. Elsevier Science B.V, Edinburgh (1999)
Rogers, L.C.G.: Fluid models in queueing theory and Wiener-Hopf factorization of Markov chains. Ann. Appl. Probab. 4, 390–413 (1994)
Shao, M., Gao, W., Xue, J.: Aggressively truncated Taylor series method for accurate computation of exponentials of essentially nonnegative matrices. SIAM J. Matrix Anal. Appl. 35(2), 317–338 (2014)
van Foreest, N., Mandjes, M., Scheinhardt, W.: Analysis of a feedback fluid model for heterogeneous TCP sources. Stoch. Models 19(3), 299–324 (2003)
Wang, W.-G., Wang, W.-C., Li, R.-C.: Alternating-directional doubling algorithm for \(M\)-matrix algebraic Riccati equations. SIAM J. Matrix Anal. Appl. 33(1), 170–194 (2012)
Xue, J., Xu, S., Li, R.-C.: Accurate solutions of M-matrix algebraic Riccati equations. Numer. Math. 120, 671–700 (2012)
Xue, J., Ye, Q.: Entrywise relative perturbation bounds for exponentials of essentially non-negative matrices. Numer. Math. 110(3), 393–403 (2008)
Xue, J., Ye, Q.: Computing exponentials of essentially non-negative matrices entrywise to high relative accuracy. Math. Comput. 82(283), 1577–1596 (2013)
Acknowledgments
The first author would like to acknowledge the financial support of the Australian Research Council through the Discovery Grant DP110101663. The second author would like to acknowledge the financial support of Istituto Nazionale di Alta Matematica, and thank N. Higham and M. Shao for useful discussions on the accuracy of various algorithms for the computation of the exponential of a \(-M\)-matrix; in particular, N. Higham pointed us to the paper [2]. Both authors are grateful to helpful comments of N. Bean.
Author information
Authors and Affiliations
Corresponding author
Appendices
Appendix: Doubling and censoring
In this section, we derive some results connecting the doubling map \(\mathcal {F}\) to the concept of censoring (or stochastic complementation) in Markov chains, which we shall need in the next section when we prove the numerical accuracy of Algorithm 2, our componentwise accurate SDA. In particular, Theorem 6.1 and Lemma 6.2 are standard results on censoring that we shall need.
Theorem 6.1
[21, Theorems 2.1 and 2.2] Consider \(\mathcal {S} = \{1, \ldots , m\} = \mathcal {S}_1 \cup \mathcal {S}_2\), where \(\mathcal {S}_1 \cap \mathcal {S}_2 = \emptyset \), and let \(P\) be an \(m \times m\) stochastic matrix partitioned as
where \(P_{\ell m}\) contains the transition probabilities from \(\mathcal {S}_{\ell }\) to \(\mathcal {S}_m\). Suppose that \(I-P_{11}\) is invertible. Then,
-
(i)
\(P':=P_{22}+P_{21}(I-P_{11})^{-1}P_{12}\) is stochastic.
-
(ii)
If a row vector \(\varvec{\xi }=\begin{bmatrix} \varvec{\xi }_1&\quad \! \varvec{\xi }_2 \end{bmatrix}\ge \varvec{0}\) is such that \(\varvec{\xi } P=\varvec{\xi }\), then \(\varvec{\xi }_2 P'=\varvec{\xi }_2\).
The matrix \(P'\) is said to be the matrix obtained by censoring the set \(\mathcal {S}_1\) or the submatrix \(P_{11}\). Censoring can alternatively be described in fully linear algebraic terms: the matrix \(I-P'\) is the Schur complement of the submatrix \(I-P_{11}\) in \(I-P\).
Lemma 6.2
(Quotient property, [10]) Let \(P\) be an \(m \times m\) stochastic matrix, and \(\mathcal {T}\) and \(\mathcal {U}\) be two disjoint subsets of \(\mathcal {S} = \{1,2,\dots ,m\}\), with \(\mathcal {S} \backslash (\mathcal {T} \cup \mathcal {U}) \ne \emptyset \). Define \(P'\) to be the matrix obtained from \(P\) by censoring \(\mathcal {T}\), and \(P''\) the matrix obtained from \(P'\) by censoring \(\mathcal {U}\).
Then, \(P''\) is also the matrix obtained from \(P\) by censoring \(\mathcal {T}\cup \mathcal {U}\).
It was proved in [9] that the doubling map \(\mathcal {F}\) (13) corresponds to a step in another, similar iteration, Cyclic Reduction, on the matrices
Moreover, it was also established [5, 8] that Cyclic Reduction corresponds to Schur complementation on a suitable tridiagonal block-Toeplitz matrix; thus, it should not be surprising that there is a direct interpretation of doubling as Schur complementation/censoring, which is our next result. This result is slightly different from the existing ones, since we are interested with block-circulant matrices rather than block-tridiagonal ones here; nevertheless, the proof is similar (see, for instance, [8, Section 7.3]).
Let \(Z_m\) be the \(m \times m\) circulant generator matrix, defined by
and denote by \(\otimes \) the Kronecker product.
Theorem 6.3
Let \(P\) be a \(n\times n\) stochastic matrix, and define \(E\), \(F\), \(G\), and \(H\) as in (11), and \(A_+\), \(A_=\), and \(A_-\) as in (30). Then, for \(k \ge 0\) the matrix \(\mathcal {F}^k(P)\) is obtained by censoring the top \((2^k-1)n\times (2^k-1)n\) block of the \(2^kn\times 2^kn\) matrix
Here and in the following, for clarity we omit blocks of zeros from some large block matrices such as the one in (31).
Proof
We prove the theorem by induction. For \(k=1\),
Then, using the identity
we can verify the result directly.
Now, we assume that the result holds for a certain \(k\) and prove it for \(k+1\). Let \(\widehat{P}:=\mathcal {F}(P)\). We first prove that the matrix obtained by censoring out the components corresponding to the blocks with odd index numbers from \(P^{(2^{k+1})}\) is exactly \(\widehat{P}^{(2^k)}\), that is, the matrix with the same structure (31) built starting from \(\widehat{P}\). The result then follows from Lemma 6.2.
We first reorder the blocks in \(P^{(2^{k+1})}\) to put the odd-numbered ones on the top, obtaining
Next, we censor the top part, \(I \otimes A_{=}\), to obtain
where \(\widehat{E},\widehat{F},\widehat{G},\) and \(\widehat{H}\) are the blocks of \(\widehat{P}\) as in (12). The last expression is precisely \(\widehat{P}^{(2^k)}\). By the inductive hypothesis, the matrix obtained by censoring the top \((2^k-1)n \times (2^k-1)n\) of this matrix is \(\mathcal {F}^k(\widehat{P})=\mathcal {F}^{k+1}(P)\), which completes the proof. \(\square \)
Remark 6.4
One can obtain a different, probabilistic proof for this result relying on a physical interpretation of doubling algorithms in terms of the underlying fluid queue. We are currently working on an explanation for these algorithms from a probabilistic point of view, giving some insight that complements the linear-algebraic point of view presented in this paper.
Similarly, we can express the initial values of the doubling algorithms as the censoring of a suitable stochastic matrix.
Theorem 6.5
Let \((T,C)\) be the transition and rate matrices of a fluid queue, and let \(\gamma \le \left( \max _{i} Q_{ii}\right) ^{-1}\). Then, \(P_0\) as in (15) is obtained by censoring the first \(n\) states out of
Proof
Clearly, \(0+I(I-(I-\gamma Q))^{-1}\gamma R=Q^{-1}R\), so it suffices to prove that \(S\) is stochastic. For the nonnegativity, we need only to verify that the diagonal entries of \(R\) are nonnegative, which holds because \(\alpha \le \alpha _{\mathrm {opt}},\beta \le \beta _{\mathrm {opt}}\), and that the diagonal entries of \(I-\gamma Q\) are nonnegative, which holds because of the choice of \(\gamma \). Moreover, substituting the definitions of \(Q\) and \(R\) from (15), and using \(T\mathbf {1}=\varvec{0}\), one sees that \(S\mathbf {1}=\mathbf {1}\). \(\square \)
Corollary 6.6
Let \(\varvec{\xi }\ge 0\) be such that \(\varvec{\xi }T=\varvec{0}\). Then, for \(k \ge 0\), \(P_k\) is stochastic and \(\varvec{\xi }|C|P_k= \varvec{\xi }|C|\).
Proof
By their definitions and the fact that \(\varvec{\xi }T=\varvec{0}\),
and consequently that \(\begin{bmatrix} \varvec{\xi }&\quad \! \gamma \varvec{\xi }|C| \end{bmatrix}S=\begin{bmatrix} \varvec{\xi }&\quad \! \gamma \varvec{\xi }|C| \end{bmatrix}\). Hence, by applying Theorem 6.1 to \(P_0\) as a censoring of \(S\), the corollary holds for \(k=0\).
For \(k > 0\), one can verify directly that \((\mathbf {1}^\top \otimes \varvec{\xi })P^{(2^k)}=(\mathbf {1}^\top \otimes \varvec{\xi })\), so the result follows again from applying Theorem 6.1 to \(P_k\) as a censoring of \(P^{(2^k)}\). \(\square \)
Appendix: Componentwise stability of SDA
In this section, we prove the results on componentwise stability of SDA, thus giving the proof of Theorem 4.4. We begin with a perturbation bound that tells us how the iterates are affected by a small change in the initial values.
1.1 Componentwise perturbation bounds
We focus on first-order results, assuming \(\varepsilon \) to be a small parameter and hence ignoring all terms containing \(\varepsilon ^2\) and higher powers of \(\varepsilon \). For brevity, we use the notation \(A \mathrel {\dot{\le }}B\) to denote \(A \le [1+O(\varepsilon ^2)] B\). Moreover, we focus at first on the case \(n_+\approx n_-\); hence, we replace \(n_+\) and \(n_-\) liberally with \(n_{\max }:=\max (n_+,n_-)\) in our bound. The results of a more accurate analysis that keeps track of the differences between \(n_+\) and \(n_-\) are reported later in Sect. 7.3.
We state here two useful lemmas. The first is a small variant of [1, Lemma 2.2], while the second is a simple consequence of the triangle inequality.
Lemma 7.1
Let \(({{\mathrm{offdiag}}}(A),\mathbf {1}, \varvec{w})\) and \(({{\mathrm{offdiag}}}(\tilde{A}),\mathbf {1},\) \(\tilde{\varvec{w}})\) be triplet representations for two \(m\times m\) M-matrices \(A\) and \(\tilde{A}\) such that
Then,
Lemma 7.2
Let \(A,B,\tilde{A},\) and \(\tilde{B}\) be nonnegative matrices of suitable sizes such that \(|A-\tilde{A}|\mathrel {\dot{\le }}a\varepsilon A\) and \(|B-\tilde{B}|\mathrel {\dot{\le }}b\varepsilon B\). Then,
-
(i)
\(|A+B-(\tilde{A}+\tilde{B})| \mathrel {\dot{\le }}\max (a,b) \varepsilon (A+B)\).
-
(ii)
\(|AB-\tilde{A}\tilde{B}| \mathrel {\dot{\le }}(a+b)\varepsilon AB\).
The following lemma provides a perturbation bound for censoring.
Lemma 7.3
Consider two stochastic matrices
with \(P_{11},\tilde{P}_{11}\in \mathbb {R}^{m\times m}\), \(|{{\mathrm{offdiag}}}(P-\tilde{P})|\le \varepsilon {{\mathrm{offdiag}}}(P),\) and suppose that \(I-P_{11}\) is invertible. Then,
If, in addition, \(|\mathrm {diag}(P_{22})-\mathrm {diag}(\tilde{P}_{22})|\le (2m+1)\varepsilon P_{22}\), then
Proof
We have
Thus, \(I-P_{11}\) and \(I-\tilde{P}_{11}\) satisfy the hypotheses of Lemma 7.1 and hence \(|(I-\tilde{P}_{11})^{-1}-(I-P_{11})^{-1}|\le (2m-1)\varepsilon (I-P_{11})^{-1}\). The results now follow by propagating errors with the help of Lemma 7.2. \(\square \)
We start from a componentwise perturbation bound for \(P_0\).
Lemma 7.4
Let \((T,C)\) and \((\tilde{T},\tilde{C})\) be two pairs of the transition matrix and the rate matrix of two fluid queues such that
Consider \(P_0=Q^{-1}R\) and its analogous \(\tilde{P}_0=\tilde{Q}^{-1}\tilde{R}\) computed using the same formulas (15) but starting from \(\tilde{T}\) and \(\tilde{C}\), and with the same values of \(\alpha \) and \(\beta \), chosen such that \(\alpha \le \alpha _{\mathrm {opt}},\beta \le \beta _{\mathrm {opt}}\). Then,
Proof
We have
Hence, for \(S\) from (32) and its analog \(\tilde{S}\) (where we take the same value of \(\gamma \) for both), we have the bound \(|{{\mathrm{offdiag}}}(\tilde{S})-{{\mathrm{offdiag}}}(S)|\le \varepsilon {{\mathrm{offdiag}}}(S)\). By Lemma 7.3, we obtain the required result. \(\square \)
Next, we derive a perturbation bound for the result of \(k\) steps of SDA.
Lemma 7.5
Let \(P\) and \(\tilde{P}\) be two \(n\times n\) stochastic matrices such that \(|\tilde{P}-P|\le \varepsilon P\), and \(\mathcal {F}\) be the doubling map (13). Then,
Proof
Consider the matrices \(P^{(2^k)}\) and its analog \(\tilde{P}^{(2^k)}\) defined in the same way but starting from \(\tilde{P}\). They are stochastic matrices, and they satisfy the hypotheses of Lemma 7.3. We apply the second part of this lemma, which completes the proof. \(\square \)
By applying the first part of Lemma 7.3 rather than the second, we get a corresponding bound for
Corollary 7.6
With the hypotheses of Lemma 7.5, we have
The above bound gives us immediately \(|\tilde{G}_k-G_k|\mathrel {\dot{\le }}n2^k\varepsilon G_k\) for the doubling iterates starting from two nearby sets of matrices. This bound, however, is quite weak: in particular, it would allow for \(\lim _{k\rightarrow \infty } |\tilde{G}_k-G_k|=\infty \), while one would expect this quantity to converge, since \(G_k\rightarrow \Psi \) and \(\tilde{G}_k\rightarrow \tilde{\Psi }\).
Here, we overestimate the error: essentially, we compute a new term of the sum \(G_k = G_0 + J_1 + J_2 + \dots + J_k\) at each step, and at the same time make the following estimate:
Indeed, the last line is how errors in sums are bounded using Lemma 7.2. However, the factors \(J_k\) decay exponentially like \(O(\delta ^{2^k})\), and this compensates for the growing powers of two. The following theorem formalizes this intuition to improve this bound.
Theorem 7.7
With the hypotheses of Lemma 7.5, we have
for a suitable constant \(\widehat{K}_0\).
Proof
We know from Theorem 3.1 that \(0\le \Psi -G_k\le K_0 \delta ^{2^k}\), and that \(\Psi -G_k\le \Psi \). Hence we can write, for a suitable constant \(\widehat{K}_0\) (different in general from \(K_0\)), \(\Psi -G_k \le \widehat{K}_0 \delta ^{2^k}\Psi \).
\(\square \)
Clearly, an analogous result for \(H_k\) holds.
1.2 Numerical stability
We now establish a more complex result that keeps track also of the numerical errors in an implementation of the algorithm in floating-point arithmetic. We denote by \({\mathrm {u}}\) the machine precision, and ignore second-order terms in \({\mathrm {u}}\) by hiding them again in the syntax \(A \mathrel {\dot{\le }}B\).
We shall rely on the two following lemmas. The first one is a version of Lemma 7.2 that keeps track of floating point arithmetic errors as well.
Lemma 7.8
Let \(A\) and \(B\) be nonnegative matrices of suitable sizes, and let \(\tilde{A}\) and \(\tilde{B}\) be matrices of floating point numbers such that \(|A-\tilde{A}|\mathrel {\dot{\le }}a {\mathrm {u}} A\), \(|B-\tilde{B}|\mathrel {\dot{\le }}b {\mathrm {u}} B\).
-
1.
Let \(\tilde{S}\) be the result of the matrix addition \(\tilde{A}+\tilde{B}\) performed in floating point arithmetic. Then,
$$\begin{aligned} |\tilde{S}-(A+B)|\mathrel {\dot{\le }}(\max (a,b)+1){\mathrm {u}}(A+B). \end{aligned}$$ -
2.
Let \(\tilde{P}\) be the result of the matrix product \(\tilde{A}\tilde{B}\) performed in floating point arithmetic. Then,
$$\begin{aligned} |\tilde{P}-(AB)|\mathrel {\dot{\le }}(a+b+m){\mathrm {u}}(AB), \end{aligned}$$where \(m\) is the number of columns of \(A\) (and rows of \(B\)).
The second one is a slight variation of Theorem 4.1 to convert it to the same form as the bounds in Lemma 7.8.
Lemma 7.9
Let \(A, \tilde{A} \in \mathbb {R}^{m\times m}\) be two M-matrices with triplet representations \(({{\mathrm{offdiag}}}(A),\mathbf {1},\varvec{w})\) and \(({{\mathrm{offdiag}}}(\tilde{A}),\mathbf {1},\tilde{\varvec{w}})\), and \(B, \tilde{B} \in \mathbb {R}^{m\times k}\) be nonnegative, such that
and all of \({{\mathrm{offdiag}}}(\tilde{A}), \tilde{B},\) and \(\tilde{\varvec{w}}\) are floating-point numbers.
Let \(\tilde{X}\) be the result of the operation \(\tilde{A}^{-1}\tilde{B}\) performed in floating-point arithmetic with the GTH-like algorithm. Then,
Proof
By Lemma 7.1, \(|A^{-1}-\tilde{A}^{-1}|\mathrel {\dot{\le }}(2m-1){\mathrm {u}}A^{-1}\). Using this result and Lemma 7.2, we get
By Theorem 4.1,
The result follows using the triangle inequality. \(\square \)
Our first result towards an accuracy proof concerns the initial values.
Proposition 7.10
Let Algorithm 2 be performed in floating-point arithmetic with \(\alpha \le 2\alpha _\mathrm {opt}\) and \(\beta \le 2\beta _\mathrm {opt}\). Then, the computed approximation \(\tilde{P}_0\) to \(P_0\) satisfies the bound
with \(K_1:=\psi (n)+5n+2\) and \(\psi (n)\) defined as in Theorem 4.1.
Proof
We assume without loss of generality that \(\alpha \) and \(\beta \) are exact machine numbers (otherwise, we simply replace them with their machine representation). The machine representations of \(T\) and \(c_i\) satisfy \(|\tilde{T}-T|\le \mathrm {u}T\) and \(|\tilde{c}_i-c_i|\le \mathrm {u}c_i\).
Let \(\tilde{Q}\) and \(\tilde{R}\) be the computed versions of \(Q\) and \(R\) in floating-point arithmetic. They are computed by taking the machine representation of the corresponding entry of \(T\) and multiplying it by \(\alpha \) or \(\beta \), hence
and
The quantities \(d_i:=\beta \sum _{j\ne i} T_{ij}\), for \(i\in \mathcal {S}_+\), are computed (with \(n-1\) additions and one multiplication) up to an error \(|\tilde{d}_i-d_i|\mathrel {\dot{\le }}(n+1) \mathrm {u}d_i\), as we get by applying repeatedly Lemma 7.8. Moreover, due to our choice of \(\beta \), \(c_i \ge 2d_i\), which implies \(d_i\le c_i-d_i\) and \(c_i\le 2(c_i-d_i)\). Hence we have
A similar bound applies for \(i\in \mathcal {S}_-\). Putting everything together, we have \(|\tilde{R}-R|\le (n+4)R\), \(|{{\mathrm{offdiag}}}(\tilde{Q})-{{\mathrm{offdiag}}}(Q)|\mathrel {\dot{\le }}2\mathrm {u}{{\mathrm{offdiag}}}(Q)\), and \(|\tilde{C}\mathbf {1}-C\mathbf {1}|\le \mathrm {u}C\mathbf {1}\). Hence, by Lemma 7.9
\(\square \)
We are now ready to assess the numerical error a single SDA step.
Lemma 7.11
Let \(\tilde{\mathcal {F}}\) be the map that computes approximately the result of one iteration of SDA implementing Equations (12) in machine arithmetic. For any \(n\times n\) stochastic matrix \(P\), we have
with \(K_2:=\psi (n_{\max }) + 4n_{\max }^2+2n_{\max }-1\).
Proof
Let \(E,F,G,H\) be the blocks of \(P\), \(\widehat{E},\widehat{F},\widehat{G},\widehat{H}\) those of \(\mathcal {F}(P)\), and \(\tilde{E},\tilde{F},\tilde{G},\tilde{H}\) those of \(\tilde{\mathcal {F}}(P)\). For simplicity, with a slight abuse of notation, for any matrix \(X\ge 0\) appearing in the algorithm we denote here by \(c(X)\) its computed value in machine arithmetic along the SDA step computation. Applying Lemma 7.8 repeatedly, we have \(|c(GH)-GH| \le n_-{\mathrm {u}} \tilde{G}\tilde{H}\) and
Hence
and carrying on the error propagation in the same fashion leads to
The error computations for the other three iterates \(\tilde{E}\), \(\tilde{F}\), \(\tilde{H}\) are analogous. \(\square \)
We are now ready to tackle several doubling steps together.
Theorem 7.12
Let \(\tilde{P}_k=\tilde{\mathcal {F}}^k(\tilde{P}_0)\) be the approximation to \(P_k=\mathcal {F}^k(P_0)\) computed by Algorithm 2 performed in floating-point arithmetic with machine precision \({\mathrm {u}}\), using values of the parameters \(\alpha ,\beta \) such that \(\alpha \le 2\alpha _\mathrm {opt}\) and \(\beta \le 2\beta _\mathrm {opt}\). Then,
Proof
We prove the result by induction on \(k\).
The following manipulation is nothing but a formal version of the statement that when considering first-order error bounds, we can simply add up the local errors in every step of the algorithm. We start from the telescopic sum
By Lemma 7.11,
hence we can apply Lemma 7.5 with \(\varepsilon =K_2\mathrm {u}\), to obtain for each \(h \ge 1\)
In the last line, we have substituted \(P_{k-h}\) for \(\tilde{P}_{k-h}\), which is possible because the two expressions differ only for a term of magnitude \(O(\mathrm {u})\) by inductive hypothesis.
Insert this inequality into (34) to obtain
Moreover, using again Lemma 7.5 we get
Combining (35) and (36) we get the required result. \(\square \)
Again, this error bound is exponential in \(k\), which is quite unwelcome. We can improve it using the same trick as in Theorem 7.7. Since computing \(J_k\) is just removing the final addition from the algorithm, the previous bound can be easily modified to yield \(|\tilde{J}_k-J_k| \le n2^k(K_1+K_2)\mathrm {u}J_k\). Now we proceed as in the proof of Theorem 7.7 to prove Theorem 4.4.
Proof (of Theorem 4.4) The matrix \(\tilde{G}_k\) is the result of the addition (in machine arithmetic) of the matrices \(\tilde{G}_0, \tilde{J}_1, \tilde{J}_2, \dots , \tilde{J}_k\), performed in this order at different steps along the algorithm. For this addition, we have
\(\square \)
1.3 The unbalanced case
In the previous bounds we have replaced \(n_+\) and \(n_-\) with \(n_{\max }\) for simplicity; hence, these bounds are overestimated whenever \(n_-\ne n_+\). It turns out that there is a different strategy that we can adopt in this case, which leads to a slightly smaller value of \(K_2\). First of all, we recall from [29] that the following alternative formulas equivalent to (12) can also be used for the doubling step
If \(n_+=n_-\), the formulas (12) are the ones with the lower computational cost; however, if \(n_+ < n_-\), one can invert the \(n_+\times n_+\) matrix \(I-G_k H_k\) rather than the larger \(n_-\times n_-\) matrix \(I-H_kG_k\), that is, use (12a), (37b), (12c), (37d), and vice versa if \(n_- < n_+\).
By using the appropriate formulas, one can derive a slightly tighter version of Lemma 7.11. We report only the final result here, since the proof is basically unchanged.
Theorem 7.13
If we choose for each iterate the formula with the smallest matrix to invert among (12) and (37), then in Lemma 7.11 (as well as in Theorems 7.12 and 4.4) we may replace the factor \(K_2\) with
Rights and permissions
About this article
Cite this article
Nguyen, G.T., Poloni, F. Componentwise accurate fluid queue computations using doubling algorithms. Numer. Math. 130, 763–792 (2015). https://doi.org/10.1007/s00211-014-0675-4
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00211-014-0675-4