componentwise accurate numerical methods for markov
play

Componentwise accurate numerical methods for Markov-modulated - PowerPoint PPT Presentation

Componentwise accurate numerical methods for Markov-modulated Brownian motion Giang T. Nguyen 1 Federico Poloni 2 1 U of Adelaide, School of Mathematical Sciences 2 U Pisa, Italy, Dept of Computer Science 9 th Matrix Analytic Methods Conference


  1. Componentwise accurate numerical methods for Markov-modulated Brownian motion Giang T. Nguyen 1 Federico Poloni 2 1 U of Adelaide, School of Mathematical Sciences 2 U Pisa, Italy, Dept of Computer Science 9 th Matrix Analytic Methods Conference Budapest, June 2016 F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 1 / 19

  2. Subtraction-free algorithms Error analysis in an (imprecise) slogan TL;DR: when you subtract two close numbers, you lose accuracy. More precise: instead of a and b , a computer may store a + δ and b + ε ; the number ( a + δ ) − ( b + ε ) may be at a large relative distance from a − b (if a and b have the same sign). So, let’s stop doing subtractions. Luckily, for many probabilities computations this is possible. E.g., computing AB , for A ≥ 0 , B ≥ 0. Most subtractions come from M-matrices, but we can avoid them! F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 2 / 19

  3. Regular M-matrices A matrix A with sign pattern (possibly including zeros)   + − − − − + − −   A =   − − + −     − − − + is called regular M -matrix if there are v > 0 , w ≥ 0 such that A v = w . E.g., ( − Q ) 1 = 0 for the rate matrix of a CTMC Attention! [Guo CH, 2013] � � 0 0 Not all M-matrices are regular! E.g., − 1 0 F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 3 / 19

  4. GTH algorithm For a regular M-matrix A , one can store its off-diagonal entries, v and w (triplet representation).   ? − − − − ? − −   A = A v = w   − − ? −     − − − ? GTH-like algorithm [Grassmann et al ’85, O’Cinneide ’93, Alfa et al ’02. . . ] Given a triplet representation for A ∈ R n × n , one can compute B = A − 1 subtraction-free, obtaining perfect componentwise accuracy: | ˜ b ij − b ij | ≤ O ( n 3 ) · | b ij | · eps . Variants: LU factorization, left and right kernel, Perron vector. Variant: v ⊤ A = w ⊤ F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 4 / 19

  5. GTH algorithm An example � � 1 − 1 : can only compute inverse up to accuracy κ ( A ) ≈ ε − 1 . A = − 1 1 + ε � � � � � � ? − 1 1 0 A = such that A = : full accuracy possible. − 1 ? 1 ε Works especially well when dealing with different orders of magnitude. Plan: triplet representation are a great idea — let’s rewrite our matrix iterations to use them! F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 5 / 19

  6. Obtaining triplets Theorem [Nguyen P. ’16 — or earlier?] Given a regular M -matrix and its triplet representation partitioned as � � � � � � A B v 1 w 1 = , C D v 2 w 2 one can obtain explicitly without subtractions triplet representations for its submatrices and Schur complements (censorings): Dv 2 = w 2 − Cv 1 , ( A − BD − 1 C ) v 1 = w 1 − BD − 1 w 2 . F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 6 / 19

  7. Cyclic reduction CR solves matrix equations of the form R 2 A − RB + C = 0, with A , C ≥ 0, and B − A − C a regular M-matrix [Bini et al ’01, BLM book] Cyclic Reduction A 0 = A , B 0 = “ B 0 = B , C 0 = C A k +1 = A k B − 1 k A k , B k +1 = B k − A k B − 1 k C k − C k B − 1 k A k , C k +1 = C k B − 1 k C k , B k +1 = “ “ B k − C k B − 1 k A k . At the end of the iteration, R = C 0 “ B − 1 ∞ , where “ B ∞ = lim “ B k . F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 7 / 19

  8. Cyclic Reduction and triplets  ... ...    ...   B − C     Cyclic Reduction = Schur complements on − A − C B     ...   − A  B    ... ...   Two triplet representations follow: ( A k − B k + C k ) 1 = 0 : gives triplet for B k , already known and used. [e.g. Bini et al, SMCTools software] ( A 0 − “ B k + C k ) 1 = 0 : gives triplet for “ B ∞ , new for the final step. Theorem [Nguyen P. ’16] CR with triplet representations gives | ˜ f − f | ≤ O (2 k n 4 ) | f | eps for the computed value ˜ f of each entry f of A k , B k , C k , “ B k , R k . F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 8 / 19

  9. Doubling algorithm An unusual matrix iteration that can be seen as repeated censoring / Schur complementation: �� − 1 � � � � � � � � � � 0 0 0 0 E new G new G E G E = + I − H new F new H 0 0 F H 0 0 F Keep track of triplet representations at each step = ⇒ componentwise-accurate algorithms for fluid queues / Riccati equations. [Xue et al ’12, Nguyen P. ’15, Xue Li ’16] F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 9 / 19

  10. Markov-modulated Brownian motion [Asmussen ’95, Karandikar Kulkarni ’95, Rogers ’94] φ ( t ) continuous-time Markov chain with transition matrix Q ∈ R n × n ; y ( t ) evolves as Brownian motion with drift d φ ( t ) and variance v φ ( t ) . The invariant density follows p ′′ ( x ) V − p ′ ( x ) D + p ( x ) Q = 0 . V , D ∈ R n × n diagonal matrices containing v i , d i . Invariant density and many properties can be computed using an invariant pair, i.e., ( X ∈ R ℓ × ℓ , U ∈ R ℓ × n ) such that X 2 UV − XUD + UQ = 0 . [Rogers ’94, Ivanovs, ’10, Betcke Kressner ’11, Gohberg et al ’82] � � Often, U = . I Ψ F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 10 / 19

  11. Invariant pairs and Cyclic Reduction How do we compute invariant pairs? Cyclic reduction gives a special one: R 2 IA − RIB + IC = 0 . Plan: tinker with the problem to turn it into this form. Discretizing transformation from eigenvalue properties: [Bini et al ’10] we need a “continuous-time stable” pair: eig ( X ) ⊆ left half-plane. CR produces a “discrete-time stable” one: eig ( R ) ⊆ unit circle So we make a change of variables R = f ( X ). R = ( I + X )( I − X ) − 1 won’t work: cannot find X = f − 1 ( R ) subtraction-free. Instead, we use R = I + hX , with h sufficiently small. F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 11 / 19

  12. The algorithm 1 Choose h small enough so that v i + d i h + q ii h 2 > 0 (*) (and the subtraction is ‘tame’). 2 Set A := 1 B := 2 1 h 2 V + 1 C := 1 h 2 V + 1 h 2 V ≥ 0 , h D , h D + Q ≥ 0 . 3 Use subtraction-free CR on ( A , B , C ) to compute R . 4 Compute the off-diagonal of X = h − 1 ( R − I ). 5 Compute the left Perron vector µ of Q using the triplet Q 1 = 0 . 6 Compute the triplet µ ( − X ) = 1 h µ A ∞ “ B − 1 ∞ , and obtain diag( X ). Works whenever v i > 0 for all i (positive variances). Otherwise, we can’t enforce (*) F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 12 / 19

  13. Zero variances In E 2 = { i : v i = 0 , d i ≤ 0 } , we can’t obtain v i + d i h + q ii h 2 > 0. We won’t be able to choose U = I , because we only have enough stable eigenvalues to form an invariant pair of size n − | E 2 | . Solution to both problems: shift infinite eigenvalues [He et al ’01] . From: � � � � � � + 0 + 0 + + A = B = C = , , 0 0 0 − + ?? move 2 nd column “one matrix to the left” and change its sign: � � � � � � + 0 + − + 0 ˆ ˆ ˆ A = B = C = , , . 0 + 0 + 0 M Shift ⇐ ⇒ differentiating some of the equations. See “index reduction” in ODE literature. [Kunkel Mehrmann ’06] F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 13 / 19

  14. Recovering the solution Still, R is not the final solution. � � + 0 “ B − 1 The shift trick adds spurious zero eigenvalues: R = ∞ . + 0 Solution to remove them: switch to a different invariant pair: ( KRK − 1 ) 2 KA + ( KRK − 1 ) KB + KC = 0 . � 2 � � � � � � � � � 0 0 R 11 I Ψ R 11 I Ψ I Ψ A + B + C = 0 . R 12 0 0 I R 12 0 0 I 0 I New R is block-triangular = ⇒ “reduced invariant pair” ( R 11 , [ I Ψ ]). True but not obvious: all this can be done subtraction-free. F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 14 / 19

  15. The (general) algorithm 1 Choose h small so that h − 2 v i + h − 1 d i + q ii > 0 for all i �∈ E 2 . 2 Set A := 1 B := 2 1 h 2 V + 1 C := 1 h 2 V + 1 h 2 V ≥ 0 , h D , h D + Q ≥ 0 . 3 Shift technique to produce equivalent ˆ A , ˆ B , ˆ C . 4 Use componentwise accurate CR on (ˆ A , ˆ B , ˆ C ) to compute ˆ B ∞ . 5 Use similarity as in the previous slide to compute ( R 11 , [ I Ψ ]). 6 Compute the off-diagonal of X = h − 1 ( R 11 − I ). 7 Compute the left Perron vector µ of Q using the triplet Q 1 = 0 . 8 Compute a triplet v ⊤ ( − X ) = w ⊤ (long formula omitted). Works even with zero variances. F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 15 / 19

  16. Experiments: the competitors KK [Karandikar Kulkarni ’95] : compute eigenvalues explicitly. AS [Agapie Sohraby ’01] : iterative algorithm for span(stable eigenvalues), then orthogonal transformations. LN [Latouche Nguyen ’15] : (non-subtraction-free) Cyclic Reduction. QZ QZ algorithm: orthogonal transformations — well-known linear algebra workhorse. NP our new algorithm. F. Poloni (U Pisa) Componentwise MMBM MAM9 2016 16 / 19

Recommend


More recommend