Reliable Evaluation of the Worst-Case Peak Gain Matrix in Multiple - - PowerPoint PPT Presentation

reliable evaluation of the worst case peak gain matrix in
SMART_READER_LITE
LIVE PREVIEW

Reliable Evaluation of the Worst-Case Peak Gain Matrix in Multiple - - PowerPoint PPT Presentation

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion Reliable Evaluation of the Worst-Case Peak Gain Matrix in Multiple Precision Anastasia Volkova, Thibault Hilaire, Christoph Lauter Sorbonne Universit


slide-1
SLIDE 1

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Reliable Evaluation of the Worst-Case Peak Gain Matrix in Multiple Precision

Anastasia Volkova, Thibault Hilaire, Christoph Lauter

Sorbonne Universit´ es, UPMC Univ Paris 06, UMR 7606, LIP6, F-75005, Paris, France

22nd IEEE Symposium on Computer Arithmetic June 23, 2015

1/24

slide-2
SLIDE 2

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Digital filters

u(k) H y(k)

2/24

slide-3
SLIDE 3

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Digital filters

u(k) H y(k) Linear Time-Invariant filter in state-space representation: H

  • x(k + 1)

= Ax(k) + Bu(k) y(k) = Cx(k) + Du(k) where A ∈ Rn×n, B ∈ Rn×q, C ∈ Rp×n, D ∈ Rp×q

2/24

slide-4
SLIDE 4

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Digital filters

u(k) H y(k) Linear Time-Invariant filter in state-space representation: H

  • x(k + 1)

= Ax(k) + Bu(k) y(k) = Cx(k) + Du(k) where A ∈ Rn×n, B ∈ Rn×q, C ∈ Rp×n, D ∈ Rp×q Bounded-Input Bounded-Output (BIBO) stability: ρ(A) < 1

2/24

slide-5
SLIDE 5

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Worst-Case Peak Gain: Definitions

Definition Worst-case peak gain (WCPG) W is the largest possible peak value of the output y(k) over all possible inputs u(k): W := |D| +

  • k=0
  • CAkB
  • H

3/24

slide-6
SLIDE 6

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Worst-Case Peak Gain: Motivation

WCPG is required: To measure how the computational errors in the implemented filter are propagated to the output To measure the magnitude of each variable for implementations in fixed-point arithmetic

4/24

slide-7
SLIDE 7

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Worst-Case Peak Gain: Motivation

WCPG is required: To measure how the computational errors in the implemented filter are propagated to the output To measure the magnitude of each variable for implementations in fixed-point arithmetic Goal: Given a small ε > 0 compute a floating-point approximation S on the WCPG such that element-by-element |W − S| < ε

4/24

slide-8
SLIDE 8

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Outline

1

Problem statement

2

Algorithm of WCPG evaluation

3

Basic bricks

4

Numerical Examples

5

Conclusion

5/24

slide-9
SLIDE 9

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Worst-Case Peak Gain W = |D| +

  • k=0
  • CAkB
  • 6/24
slide-10
SLIDE 10

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Worst-Case Peak Gain W = |D| +

  • k=0
  • CAkB
  • Cannot sum infinitely =

⇒ need to truncate the sum

6/24

slide-11
SLIDE 11

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Worst-Case Peak Gain W = |D| +

  • k=0
  • CAkB
  • Cannot sum infinitely =

⇒ need to truncate the sum 6 sources of errors = ⇒ allocate 6 ”buckets” εi out of the error budget ε

6/24

slide-12
SLIDE 12

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 1

  • k=0
  • CAkB
  • 7/24
slide-13
SLIDE 13

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 1

  • k=0
  • CAkB

N

  • k=0
  • CAkB
  • 7/24
slide-14
SLIDE 14

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 1

  • k=0
  • CAkB

N

  • k=0
  • CAkB
  • ≤ ε1

Step 1 Compute an approximate lower bound on truncation

  • rder N such that the truncation error is smaller than

ε1.

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 7/24

slide-15
SLIDE 15

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 1

  • k=0
  • CAkB

N

  • k=0
  • CAkB
  • ≤ ε1

Step 1 Compute an approximate lower bound on truncation

  • rder N such that the truncation error is smaller than

ε1. Lower bound on truncation order N N ≥ log

ε1 Mmin

log ρ(A)

  • with

M :=

n

  • l=1

|Rl| 1 − |λl| |λl| ρ(A)

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 7/24

slide-16
SLIDE 16

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 2

N

  • k=0
  • CAkB
  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ 8/24

slide-17
SLIDE 17

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 2

N

  • k=0
  • CAkB

N

  • k=0
  • CV T kV −1B
  • (≤ ε2

× = cancellation

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ 8/24

slide-18
SLIDE 18

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 2

(

N

  • k=0
  • CAkB

N

  • k=0
  • CV T kV −1B
  • (≤ ε2

× = cancellation × = less cancellation

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ 8/24

slide-19
SLIDE 19

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 2

(

N

  • k=0
  • CAkB

N

  • k=0
  • CV T kV −1B
  • (≤ ε2

× = cancellation × = less cancellation A = XEX −1

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ 8/24

slide-20
SLIDE 20

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 2

(

N

  • k=0
  • CAkB

N

  • k=0
  • CV T kV −1B
  • (≤ ε2

× = cancellation × = less cancellation A = XEX −1 V ≈ X and T ≈ E

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ 8/24

slide-21
SLIDE 21

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 2

(

N

  • k=0
  • CAkB

N

  • k=0
  • CV T kV −1B
  • (≤ ε2

× = cancellation × = less cancellation A = XEX −1 V ≈ X and T ≈ E T ≈ V −1 × A × V Ak ≈ V × T k × V −1

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ 8/24

slide-22
SLIDE 22

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 2

N

  • k=0
  • CAkB
  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 9/24

slide-23
SLIDE 23

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 2

N

  • k=0
  • CAkB

N

  • k=0
  • CV T kV −1B
  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 9/24

slide-24
SLIDE 24

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 2

  • N
  • k=0
  • CAkB

N

  • k=0
  • CV T kV −1B
  • ≤ ε2

Step 2 Given matrix V compute T such that the error of substitution of the product V T kV −1 instead of Ak is less than ε2.

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 9/24

slide-25
SLIDE 25

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 3

N

  • k=0
  • CV T kV −1B
  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 10/24

slide-26
SLIDE 26

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 3

N

  • k=0
  • CV T kV −1B

N

  • k=0
  • C ′T kB′
  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 10/24

slide-27
SLIDE 27

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 3

  • N
  • k=0
  • CV T kV −1B

N

  • k=0
  • C ′T kB′
  • ≤ ε3

Step 3 Compute the products CV and V −1B such that the propagated error of matrix multiplications is bounded by ε3.

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 10/24

slide-28
SLIDE 28

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 4

N

  • k=0
  • C ′T kB′
  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 11/24

slide-29
SLIDE 29

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 4

N

  • k=0
  • C ′T kB′

N

  • k=0

|C ′PkB′| P0 := I Pk := T ⊗ Pk−1

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 11/24

slide-30
SLIDE 30

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 4

  • N
  • k=0
  • C ′T kB′

N

  • k=0

|C ′PkB′|

  • ≤ ε4

P0 := I Pk := T ⊗ Pk−1 Step 4 Compute the powers Pk of matrix T such that the propagated error of matrix multiplications is bounded by ε4.

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 11/24

slide-31
SLIDE 31

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 5

N

  • k=0

|C ′PkB′|

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

↓ SN ↓ ↓ ↓ ↓ ↓ 12/24

slide-32
SLIDE 32

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 5

N

  • k=0

|C ′PkB′| − →

N

  • k=0

|Lk| Lk := C ′ ⊗ (Pk ⊗ B′)

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 12/24

slide-33
SLIDE 33

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 5

  • N
  • k=0

|C ′PkB′| −

N

  • k=0

|Lk|

  • ≤ ε5

Lk := C ′ ⊗ (Pk ⊗ B′) Step 5 Compute on each step the matrix product C ′T kB′ such the overall error of these multiplications on each step is bounded by ε5.

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 12/24

slide-34
SLIDE 34

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 6

N

  • k=0

|Lk|

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ ↓ ↓ ↓ ↓ ↓ 13/24

slide-35
SLIDE 35

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 6

N

  • k=0

|Lk| − → SN Sk := Sk−1 ⊕ |Lk|

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 13/24

slide-36
SLIDE 36

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Step 6

  • N
  • k=0

|Lk| − SN

  • ≤ ε6

Sk := Sk−1 ⊕ |Lk| Step 6 Compute the absolute value of matrix and accumulate it in the result such that the error is bounded by ε6.

  • k=0
  • CAk B

N

  • k=0
  • CAk B

N

  • k=0
  • CV T k V −1B

N

  • k=0
  • C′T k B′

N

  • k=0
  • C′Pk B′

N

  • k=0

|Lk | ↓ SN ↓ ↓ ↓ ↓ ↓ 13/24

slide-37
SLIDE 37

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Taking εi = 1 6ε we obtain that ε1 + ε2 + . . . + ε6 ≤ ε hence the

  • verall error bound is satisfied.

A floating-point evaluation of the WCPG: Step 1: Compute N Step 2: Compute V T ← inv(V ) ⊗ (A ⊗ V ) Step 3: B′ ← inv(V ) ⊗ B C ′ ← C ⊗ V S−1 ← |D|, P−1 ← I n for k from 0 to N do: Step 4: Pk ← T ⊗ Pk−1 Step 5: Lk ← C ′ ⊗

  • Pk ⊗ B′

Step 6: Sk ← Sk−1 ⊕ abs(Lk) Step 6: end for

14/24

slide-38
SLIDE 38

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Outline

1

Problem statement

2

Algorithm of WCPG evaluation

3

Basic bricks

4

Numerical Examples

5

Conclusion

15/24

slide-39
SLIDE 39

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Basic bricks

Requirement: Provide matrix operations which satisfy an element-by-element absolute error bound δ given in the argument.

16/24

slide-40
SLIDE 40

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Basic bricks

Requirement: Provide matrix operations which satisfy an element-by-element absolute error bound δ given in the argument. Problem: In fixed-precision FP arithmetic such absolute bound is not generally possible.

16/24

slide-41
SLIDE 41

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Basic bricks

Requirement: Provide matrix operations which satisfy an element-by-element absolute error bound δ given in the argument. Problem: In fixed-precision FP arithmetic such absolute bound is not generally possible. Solution: Use multiple-precision FP arithmetic and dynamically adapt precision of the result variables.

16/24

slide-42
SLIDE 42

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Basic bricks

multiplyAndAdd(A, B, C, δ): for A ∈ Cp×n, B ∈ Cn×q, C ∈ Cp×q, computes a matrix D ∈ Cp×q such that D = A · B + C + ∆, where the error-matrix ∆ is bounded by |∆| < δ, for a certain scalar absolute error bound δ, given in argument to the algorithm. The algorithm performs an error-free scalar multiplication and uses a modified software-implemented Kulisch-like accumulator.

17/24

slide-43
SLIDE 43

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Basic bricks

sumAbs(A, B, δ): for A ∈ Rp×n, B ∈ Cp×n, computes a matrix C ∈ Rp×n such that C = A + |B| + ∆, where the error matrix ∆ is bounded by |∆| < δ, for a certain scalar absolute error bound δ, given in argument to the algorithm.

18/24

slide-44
SLIDE 44

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Basic bricks

inv(V , δ): for a complex square matrix V ∈ Cn×n, computes a matrix U ∈ Cn×n such that U = V −1 + ∆, where the error matrix ∆ is bounded by |∆| < δ, for a certain scalar absolute error bound δ, given in argument to the algorithm. The algorithm is based on Newton-Raphson matrix iteration, requires a seed matrix in argument and works on certain conditions, easily verified in our case.

19/24

slide-45
SLIDE 45

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Basic bricks

frobeniusNormUpperBound(A, δ): for A ∈ Cp×n computes f an upper bound on the Frobenius norm of A such that f = AF + γ where 0 ≤ γ < δ, for a certain scalar absolute error bound δ, given in argument to the algorithm.

20/24

slide-46
SLIDE 46

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Outline

1

Problem statement

2

Algorithm of WCPG evaluation

3

Basic bricks

4

Numerical Examples

5

Conclusion

21/24

slide-47
SLIDE 47

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Examples

Example 1: comes from Control Theory, describes a controller of vehicle longitudinal oscillation Example 2: 12th-order Butterworth filter

Example 1 Example 2 sizes n, p and q n = 10, p = 11, q = 1 n = 12, p = 1, q = 25 1 − ρ(A) 1.39 × 10−2 8.65 × 10−3 max(SN) 3.88 × 101 5.50 × 109 min(SN) 1.29 × 100 1.0 × 100 ε 2−5 2−53 2−600 2−5 2−53 2−600 N 220 2153 29182 308 4141 47811 Inversion iterations 2 4 2 3 5

  • verall max precision (bits)

212 293 1401 254 355 1459 V −1 max precision (bits) 106 173 727 148 204 756 PN max precision (bits) 64 84 639 64 86 640 SN max precision (bits) 64 79 630 64 107 658 Overall execution time (sec) 0.11 1.53 60.06 0.85 11.54 473.20

22/24

slide-48
SLIDE 48

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Examples

Example 1: comes from Control Theory, describes a controller of vehicle longitudinal oscillation Example 2: 12th-order Butterworth filter

Example 1 Example 2 sizes n, p and q n = 10, p = 11, q = 1 n = 12, p = 1, q = 25 1 − ρ(A) 1.39 × 10−2 8.65 × 10−3 max(SN) 3.88 × 101 5.50 × 109 min(SN) 1.29 × 100 1.0 × 100 ε 2−5 2−53 2−600 2−5 2−53 2−600 N 220 2153 29182 308 4141 47811 Inversion iterations 2 4 2 3 5

  • verall max precision (bits)

212 293 1401 254 355 1459 V −1 max precision (bits) 106 173 727 148 204 756 PN max precision (bits) 64 84 639 64 86 640 SN max precision (bits) 64 79 630 64 107 658 Overall execution time (sec) 0.11 1.53 60.06 0.85 11.54 473.20

22/24

slide-49
SLIDE 49

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Examples

Example 1: comes from Control Theory, describes a controller of vehicle longitudinal oscillation Example 2: 12th-order Butterworth filter

Example 1 Example 2 sizes n, p and q n = 10, p = 11, q = 1 n = 12, p = 1, q = 25 1 − ρ(A) 1.39 × 10−2 8.65 × 10−3 max(SN) 3.88 × 101 5.50 × 109 min(SN) 1.29 × 100 1.0 × 100 ε 2−5 2−53 2−600 2−5 2−53 2−600 N 220 2153 29182 308 4141 47811 Inversion iterations 2 4 2 3 5

  • verall max precision (bits)

212 293 1401 254 355 1459 V −1 max precision (bits) 106 173 727 148 204 756 PN max precision (bits) 64 84 639 64 86 640 SN max precision (bits) 64 79 630 64 107 658 Overall execution time (sec) 0.11 1.53 60.06 0.85 11.54 473.20

22/24

slide-50
SLIDE 50

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Examples

Example 1: comes from Control Theory, describes a controller of vehicle longitudinal oscillation Example 2: 12th-order Butterworth filter

Example 1 Example 2 sizes n, p and q n = 10, p = 11, q = 1 n = 12, p = 1, q = 25 1 − ρ(A) 1.39 × 10−2 8.65 × 10−3 max(SN) 3.88 × 101 5.50 × 109 min(SN) 1.29 × 100 1.0 × 100 ε 2−5 2−53 2−600 2−5 2−53 2−600 N 220 2153 29182 308 4141 47811 Inversion iterations 2 4 2 3 5

  • verall max precision (bits)

212 293 1401 254 355 1459 V −1 max precision (bits) 106 173 727 148 204 756 PN max precision (bits) 64 84 639 64 86 640 SN max precision (bits) 64 79 630 64 107 658 Overall execution time (sec) 0.11 1.53 60.06 0.85 11.54 473.20

22/24

slide-51
SLIDE 51

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Examples

Example 1: comes from Control Theory, describes a controller of vehicle longitudinal oscillation Example 2: 12th-order Butterworth filter

Example 1 Example 2 sizes n, p and q n = 10, p = 11, q = 1 n = 12, p = 1, q = 25 1 − ρ(A) 1.39 × 10−2 8.65 × 10−3 max(SN) 3.88 × 101 5.50 × 109 min(SN) 1.29 × 100 1.0 × 100 ε 2−5 2−53 2−600 2−5 2−53 2−600 N 220 2153 29182 308 4141 47811 Inversion iterations 2 4 2 3 5

  • verall max precision (bits)

212 293 1401 254 355 1459 V −1 max precision (bits) 106 173 727 148 204 756 PN max precision (bits) 64 84 639 64 86 640 SN max precision (bits) 64 79 630 64 107 658 Overall execution time (sec) 0.11 1.53 60.06 0.85 11.54 473.20

22/24

slide-52
SLIDE 52

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Examples

Example 1: comes from Control Theory, describes a controller of vehicle longitudinal oscillation Example 2: 12th-order Butterworth filter

Example 1 Example 2 sizes n, p and q n = 10, p = 11, q = 1 n = 12, p = 1, q = 25 1 − ρ(A) 1.39 × 10−2 8.65 × 10−3 max(SN) 3.88 × 101 5.50 × 109 min(SN) 1.29 × 100 1.0 × 100 ε 2−5 2−53 2−600 2−5 2−53 2−600 N 220 2153 29182 308 4141 47811 Inversion iterations 2 4 2 3 5

  • verall max precision (bits)

212 293 1401 254 355 1459 V −1 max precision (bits) 106 173 727 148 204 756 PN max precision (bits) 64 84 639 64 86 640 SN max precision (bits) 64 79 630 64 107 658 Overall execution time (sec) 0.11 1.53 60.06 0.85 11.54 473.20

22/24

slide-53
SLIDE 53

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Conclusion and Perspectives

Conclusion Rigorous evaluation of the WCPG matrix Direct formula for truncation order determination Implementation of a library in C Perspectives Use a multiprecision eigensolver Formalize proofs in a Formal Proof Checker Other measures for filter analysis

23/24

slide-54
SLIDE 54

Problem statement Algorithm of WCPG evaluation Basic bricks Numerical Examples Conclusion

Thank you! Questions?

24/24

slide-55
SLIDE 55
  • Appendix. Step-by-Step Error Analysis.

Step 1. Bound on truncation error

Truncation error is the tail of the infinite sum:

  • k>N
  • CAkB
  • 1/8
slide-56
SLIDE 56
  • Appendix. Step-by-Step Error Analysis.

Step 1. Bound on truncation error

Truncation error is the tail of the infinite sum:

  • k>N
  • CAkB
  • Suppose A = XEX −1, where E = diag(λ1, . . . , λn) is the

eigenvalue matrix and X is the eigenvector matrix. Then, CAkB = CXE kX −1B =

n

  • l=1

Rlλk

l

1/8

slide-57
SLIDE 57
  • Appendix. Step-by-Step Error Analysis.

Step 1. Bound on truncation error

Truncation error is the tail of the infinite sum:

  • k>N
  • CAkB
  • Suppose A = XEX −1, where E = diag(λ1, . . . , λn) is the

eigenvalue matrix and X is the eigenvector matrix. Then, CAkB = CXE kX −1B =

n

  • l=1

Rlλk

l

Bound on truncation error

  • k>N
  • CAkB
  • ≤ ρ(A)N+1M

M :=

n

  • l=1

|Rl| 1 − |λl| |λl| ρ(A)

1/8

slide-58
SLIDE 58
  • Appendix. Step-by-Step Error Analysis.

Step 1. Bound on truncation error

Truncation error is the tail of the infinite sum:

  • k>N
  • CAkB
  • Suppose A = XEX −1, where E = diag(λ1, . . . , λn) is the

eigenvalue matrix and X is the eigenvector matrix. Then, CAkB = CXE kX −1B =

n

  • l=1

Rlλk

l

Bound on truncation error ρ(A)N+1M

!

≤ ε1 M :=

n

  • l=1

|Rl| 1 − |λl| |λl| ρ(A)

1/8

slide-59
SLIDE 59
  • Appendix. Step-by-Step Error Analysis.

Step 1. Bound on truncation order

Lower bound on truncation order N ≥ log ε1

m

log ρ(A)

  • M :=

n

  • l=1

|Rl| 1 − |λl| |λl| ρ(A) where m is defined as m := min

i,j |Mi,j|.

2/8

slide-60
SLIDE 60
  • Appendix. Step-by-Step Error Analysis.

Step 1. Bound on truncation order

Lower bound on truncation order N ≥ log ε1

m

log ρ(A)

  • M :=

n

  • l=1

|Rl| 1 − |λl| |λl| ρ(A) where m is defined as m := min

i,j |Mi,j|.

Reliable evaluation Interval Arithmetic and Rump’s Theory of Verified Inclusions are used to determine a rigorous bound of N.

2/8

slide-61
SLIDE 61
  • Appendix. Step-by-Step Error Analysis.

Step 2. ”Diagonalization” of matrix A

T := V −1AV − ∆2

3/8

slide-62
SLIDE 62
  • Appendix. Step-by-Step Error Analysis.

Step 2. ”Diagonalization” of matrix A

T := V −1AV − ∆2 V is some approximation on X ∆2 represents the element-by-element errors due to the two matrix multiplications and the inversion of matrix V

3/8

slide-63
SLIDE 63
  • Appendix. Step-by-Step Error Analysis.

Step 2. ”Diagonalization” of matrix A

T := V −1AV − ∆2 V is some approximation on X ∆2 represents the element-by-element errors due to the two matrix multiplications and the inversion of matrix V T diagonal in dominant with very small other elements T2 ≤ 1

3/8

slide-64
SLIDE 64
  • Appendix. Step-by-Step Error Analysis.

Step 2. ”Diagonalization” of matrix A

T := V −1AV − ∆2 Ak = V (T + ∆2)kV −1 The error of substitution of A by VTV −1: √n(N + 1)(N + 2) ∆2F CV F

  • V −1B
  • F

4/8

slide-65
SLIDE 65
  • Appendix. Step-by-Step Error Analysis.

Step 2. ”Diagonalization” of matrix A

T := V −1AV − ∆2 Ak = V (T + ∆2)kV −1 The error of substitution of A by VTV −1: √n(N + 1)(N + 2) ∆2F CV F

  • V −1B
  • F

!

≤ ε2

4/8

slide-66
SLIDE 66
  • Appendix. Step-by-Step Error Analysis.

Step 2. ”Diagonalization” of matrix A

T := V −1AV − ∆2 Ak = V (T + ∆2)kV −1 The error of substitution of A by VTV −1: √n(N + 1)(N + 2) ∆2F CV F

  • V −1B
  • F

!

≤ ε2 A condition on the error-matrix ∆2: ∆2F ≤ 1 √n(N + 1)(N + 2) ε2 CV F V −1BF

4/8

slide-67
SLIDE 67
  • Appendix. Step-by-Step Error Analysis.

Step 3. Computing products C ′ and B′

C ′ := CV + ∆3C B′ := V −1B + ∆3B where ∆3C ∈ Cp×n and ∆3B ∈ Cn×q are error-matrices. Bound on the multiplication errors ∆3C and ∆3B: ∆3C F ≤ 1 3√n · 1 N + 1 ε3 C ′F ∆3BF ≤ 1 3√n · 1 N + 1 ε3 B′F .

5/8

slide-68
SLIDE 68
  • Appendix. Step-by-Step Error Analysis.

Step 4. Powering T

Pk := T k − ∆4k ∆4k ∈ Cn×n error-matrix on matrix powers, including error propagation from the first to the last power. Pk = TPk−1 + Γk, where Γk ∈ Cn×n is the error-matrix on the error of the matrix multiplication at step k. Bound on the error-matrix Γk ΓkF ≤ 1 √n · 1 N − 1 · 1 N + 1 · ε4 C ′F B′F

6/8

slide-69
SLIDE 69
  • Appendix. Step-by-Step Error Analysis.

Step 5. Computing Lk

Lk := C ′PkB′ + ∆5k, where ∆5k ∈ Cp×q is the matrix of element-by-element errors for the two matrix multiplications. Bound on the error-matrix ∆5k |∆5k| ≤ 1 N + 1 · ε5.

7/8

slide-70
SLIDE 70
  • Appendix. Step-by-Step Error Analysis.

Step 6. Summation

SN = |D| +

N

  • l=0

|Ll| + ∆6, where the error-matrix ∆6 ∈ Cp×q represents the error of N + 1 absolute value accumulations. Bound on the error matrix ∆6k ∆6k ≤ 1 N ε6, k = 1 . . . N

8/8