Computational complexity of solving polynomial differential - - PowerPoint PPT Presentation

computational complexity of solving polynomial
SMART_READER_LITE
LIVE PREVIEW

Computational complexity of solving polynomial differential - - PowerPoint PPT Presentation

Computational complexity of solving polynomial differential equations over unbounded domains Amaury Pouly Joint work with Daniel Graa 10 May 2018 / 19 Ordinary Differential Equations (ODEs) System of ODEs: y 1 ( 0 )= y 0 , 1


slide-1
SLIDE 1

Computational complexity of solving polynomial differential equations over unbounded domains

Amaury Pouly Joint work with Daniel Graça 10 May 2018

−∞ / 19

slide-2
SLIDE 2

Ordinary Differential Equations (ODEs)

System of ODEs:      y1(0)= y0,1 . . . yn(0)= y0,n      y′

1(t)= f1(y1(t), . . . , yn(t), t)

. . . y′

n(t)= fn(y1(t), . . . , yn(t), t)

More compactly: y(0) = y0 y′(t) = f(y(t), t)

1 / 19

slide-3
SLIDE 3

Ordinary Differential Equations (ODEs)

System of ODEs:      y1(0)= y0,1 . . . yn(0)= y0,n      y′

1(t)= f1(y1(t), . . . , yn(t), t)

. . . y′

n(t)= fn(y1(t), . . . , yn(t), t)

More compactly: y(0) = y0 y′(t) = f(y(t), t) Get rid of the time: y(0) = y0 z(0) = 0 y′(t) = f(y(t), z(t)) z′(t) = 1

1 / 19

slide-4
SLIDE 4

Ordinary Differential Equations (ODEs)

System of ODEs:      y1(0)= y0,1 . . . yn(0)= y0,n      y′

1(t)= f1(y1(t), . . . , yn(t), t)

. . . y′

n(t)= fn(y1(t), . . . , yn(t), t)

More compactly: y(0) = y0 y′(t) = f(y(t), t) Get rid of the time: y(0) = y0 z(0) = 0 y′(t) = f(y(t), z(t)) z′(t) = 1 In this talk: autonomous first order explicit system of ODEs y(0) = y0 y′ = f(y) y : (a, b) → Rn

1 / 19

slide-5
SLIDE 5

A word on computability for real functions

Classical computability (Turing machine): compute on words, integers, rationals, ...

2 / 19

slide-6
SLIDE 6

A word on computability for real functions

Classical computability (Turing machine): compute on words, integers, rationals, ... Real computability: at least two different notions BSS (Blum-Shub-Smale) machine: register machine that can store arbitrary real numbers and that can compute rational functions over reals at unit cost. Comparisons between reals are allowed.

2 / 19

slide-7
SLIDE 7

A word on computability for real functions

Classical computability (Turing machine): compute on words, integers, rationals, ... Real computability: at least two different notions BSS (Blum-Shub-Smale) machine: register machine that can store arbitrary real numbers and that can compute rational functions over reals at unit cost. Comparisons between reals are allowed. Computable Analysis: reals are represented as converging Cauchy sequences, computations are carried out by rational approximations using Turing machines. Comparisons between reals is not decidable in general. Computable implies continuous.

2 / 19

slide-8
SLIDE 8

A word on computability for real functions

Classical computability (Turing machine): compute on words, integers, rationals, ... Real computability: at least two different notions BSS (Blum-Shub-Smale) machine: register machine that can store arbitrary real numbers and that can compute rational functions over reals at unit cost. Comparisons between reals are allowed. Computable Analysis: reals are represented as converging Cauchy sequences, computations are carried out by rational approximations using Turing machines. Comparisons between reals is not decidable in general. Computable implies continuous. In this talk (unless specified) We use Computable Analysis.

2 / 19

slide-9
SLIDE 9

Computability of solutions: the theory

Let I = (a, b) and f ∈ C0(Rn). Assume y ∈ C1(I, Rn) satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). (1) Given t ∈ I and n ∈ N, can we compute q ∈ Qn s.t. q − y(t) 2−n ?

3 / 19

slide-10
SLIDE 10

Computability of solutions: the theory

Let I = (a, b) and f ∈ C0(Rn). Assume y ∈ C1(I, Rn) satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). (1) Is y computable?

3 / 19

slide-11
SLIDE 11

Computability of solutions: the theory

Let I = (a, b) and f ∈ C0(Rn). Assume y ∈ C1(I, Rn) satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). (1) Is y computable? Theorem (Pour-El and Richards) There exists a computable (hence continuous) f such that none of the solutions to (1) is computable.

3 / 19

slide-12
SLIDE 12

Computability of solutions: the theory

Let I = (a, b) and f ∈ C0(Rn). Assume y ∈ C1(I, Rn) satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). (1) Is y computable? Theorem (Pour-El and Richards) There exists a computable (hence continuous) f such that none of the solutions to (1) is computable. Theorem (Ruohonen) If f is computable and (1) has a unique solution, then it is computable.

3 / 19

slide-13
SLIDE 13

Computability of solutions: the theory

Let I = (a, b) and f ∈ C0(Rn). Assume y ∈ C1(I, Rn) satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). (1) Is y computable? Theorem (Pour-El and Richards) There exists a computable (hence continuous) f such that none of the solutions to (1) is computable. Theorem (Ruohonen) If f is computable and (1) has a unique solution, then it is computable. Theorem (Buescu, Campagnolo and Graça) Computing the maximum interval of life (or deciding if it is bounded) is undecidable, even if f is a polynomial.

3 / 19

slide-14
SLIDE 14

Computability of solutions: the theory

Let I = (a, b) and f ∈ C0(Rn). Assume y ∈ C1(I, Rn) satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). (1) Is y computable? Theorem (Pour-El and Richards) There exists a computable (hence continuous) f such that none of the solutions to (1) is computable. Theorem (Ruohonen) If f is computable and (1) has a unique solution, then it is computable. Theorem (Buescu, Campagnolo and Graça) Computing the maximum interval of life (or deciding if it is bounded) is undecidable, even if f is a polynomial. Theorem (Collins and Graça) The map f → y(·) for those f where y is unique, is computable.

3 / 19

slide-15
SLIDE 15

Complexity of solutions: typical textbook result

Assume f Lipschitz and computable, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)).

4 / 19

slide-16
SLIDE 16

Complexity of solutions: typical textbook result

Assume f Lipschitz and computable, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). Theorem (Folklore, simplified) The classical Runge–Kutta method is a fourth-order method:

4 / 19

slide-17
SLIDE 17

Complexity of solutions: typical textbook result

Assume f Lipschitz and computable, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). Theorem (Folklore, simplified) The classical Runge–Kutta method is a fourth-order method: given a time t ∈ I and a time step h, the algorithm returns q ∈ Qn s.t. q − y(t) O

  • h4

and has running time O 1

h4

  • .

4 / 19

slide-18
SLIDE 18

Complexity of solutions: typical textbook result

Assume f Lipschitz and computable, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). Theorem (Folklore, simplified) The classical Runge–Kutta method is a fourth-order method: given a time t ∈ I and a time step h, the algorithm returns q ∈ Qn s.t. q − y(t) O

  • h4

and has running time O 1

h4

  • .

Usually followed by benchmarks.

4 / 19

slide-19
SLIDE 19

Complexity of solutions: typical textbook result

Assume f Lipschitz and computable, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). Theorem (Folklore, simplified) The classical Runge–Kutta method is a fourth-order method: given a time t ∈ I and a time step h, the algorithm returns q ∈ Qn s.t. q − y(t) O

  • h4

and has running time O 1

h4

  • .

Usually followed by benchmarks. Problems with this approach: Accuracy of the result? O

  • h4

Ah4 but A is unknown Same problem with complexity f is Lipschitz: typically only holds over compact domains

4 / 19

slide-20
SLIDE 20

Complexity of solutions: typical textbook result

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)).

5 / 19

slide-21
SLIDE 21

Complexity of solutions: typical textbook result

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). Theorem (Folklore, simplified) Euler’s method global truncation error is: hM 2K

  • eKt − 1
  • where M = sup

u∈I

  • y′′(u)
  • .

5 / 19

slide-22
SLIDE 22

Complexity of solutions: typical textbook result

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). Theorem (Folklore, simplified) Euler’s method global truncation error is: hM 2K

  • eKt − 1
  • = O (h)

where M = sup

u∈I

  • y′′(u)
  • .

In particular it has order 1 over compact time (I) domains.

5 / 19

slide-23
SLIDE 23

Complexity of solutions: typical textbook result

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). Theorem (Folklore, simplified) Euler’s method global truncation error is: hM 2K

  • eKt − 1
  • = O (h)

where M = sup

u∈I

  • y′′(u)
  • .

In particular it has order 1 over compact time (I) domains. This bound is “useless” unless: you know K: f must be Lipschitz on “{y(u) : u ∈ I}” or globally

5 / 19

slide-24
SLIDE 24

Complexity of solutions: typical textbook result

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)). Theorem (Folklore, simplified) Euler’s method global truncation error is: hM 2K

  • eKt − 1
  • = O (h)

where M = sup

u∈I

  • y′′(u)
  • .

In particular it has order 1 over compact time (I) domains. This bound is “useless” unless: you know K: f must be Lipschitz on “{y(u) : u ∈ I}” or globally you know M: but it depends on y !! Chicken-and-egg problem: the constant in the accuracy bound depends on computing the solution.

5 / 19

slide-25
SLIDE 25

Complexity of solutions: the rescaling “myth”

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)) with unbounded I = [0, +∞).

6 / 19

slide-26
SLIDE 26

Complexity of solutions: the rescaling “myth”

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)) with unbounded I = [0, +∞). To compute y(T) we could:

1

Define z(u) = y(Tu), then y(T) = z(1)

2

Observe that z′(u) = Tf(z) =: fT(z)

3

Solve z(0) = y0, z′ = fT(z) [0, 1] is a compact!

6 / 19

slide-27
SLIDE 27

Complexity of solutions: the rescaling “myth”

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)) with unbounded I = [0, +∞). To compute y(T) we could:

1

Define z(u) = y(Tu), then y(T) = z(1)

2

Observe that z′(u) = Tf(z) =: fT(z)

3

Solve z(0) = y0, z′ = fT(z) [0, 1] is a compact! Bad analysis: y(T) = z(1) Accuracy: O(h) (compact)

6 / 19

slide-28
SLIDE 28

Complexity of solutions: the rescaling “myth”

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)) with unbounded I = [0, +∞). To compute y(T) we could:

1

Define z(u) = y(Tu), then y(T) = z(1)

2

Observe that z′(u) = Tf(z) =: fT(z)

3

Solve z(0) = y0, z′ = fT(z) [0, 1] is a compact! Bad analysis: y(T) = z(1) Accuracy: O(h) (compact) Better analysis: Accuracy: AKT ,Mzh where KT = Lipschitz constant of fT Mz = max

u∈[0,1]

  • z′′(u)
  • = max

t∈[0,T]

  • y′′(t)
  • 6 / 19
slide-29
SLIDE 29

Complexity of solutions: the rescaling “myth”

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)) with unbounded I = [0, +∞). To compute y(T) we could:

1

Define z(u) = y(Tu), then y(T) = z(1)

2

Observe that z′(u) = Tf(z) =: fT(z)

3

Solve z(0) = y0, z′ = fT(z) [0, 1] is a compact! Bad analysis: y(T) = z(1) Accuracy: O(h) (compact) Better analysis: Accuracy: AKT ,Mzh where KT = Lipschitz constant of fT Mz = max

u∈[0,1]

  • z′′(u)
  • = max

t∈[0,T]

  • y′′(t)
  • Note: now f really needs to be

globally Lipschitz.

6 / 19

slide-30
SLIDE 30

Complexity of solutions: the rescaling “myth”

Assume f computable and K-Lipschitz, and y : I → Rn satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)) with unbounded I = [0, +∞). To compute y(T) we could:

1

Define z(u) = y(Tu), then y(T) = z(1)

2

Observe that z′(u) = Tf(z) =: fT(z)

3

Solve z(0) = y0, z′ = fT(z) [0, 1] is a compact! Bad analysis: y(T) = z(1) Accuracy: O(h) (compact) Better analysis: Accuracy: AKT ,Mzh where KT = Lipschitz constant of fT Mz = max

u∈[0,1]

  • z′′(u)
  • = max

t∈[0,T]

  • y′′(t)
  • Note: now f really needs to be

globally Lipschitz. Conclusion This tells us nothing about the complexity of the problem.

6 / 19

slide-31
SLIDE 31

Side note on practical methods

Assume y : [0, 1] → Rn satisfies ∀t ∈ [0, 1]: y(0) = 0, y′(t) = f(y(t)). There exists methods of the form: given h and t, compute q ∈ Qn and ε > 0 such that y(t) − q ε with the guarantee that ε → 0 as h → 0. These methods have no upper bound on complexity. They usually rely on interval arithmetic.

7 / 19

slide-32
SLIDE 32

Nonuniform complexity-theoretic approach

Assume y : [0, 1] → Rn satisfies ∀t ∈ [0, 1]: y(0) = 0, y′(t) = f(y(t)). Assumption on f Lower bound on y Upper bound on y computable arbitrary computable if unique

8 / 19

slide-33
SLIDE 33

Nonuniform complexity-theoretic approach

Assume y : [0, 1] → Rn satisfies ∀t ∈ [0, 1]: y(0) = 0, y′(t) = f(y(t)). Assumption on f Lower bound on y Upper bound on y computable arbitrary computable if unique PTIME arbitrary computable

8 / 19

slide-34
SLIDE 34

Nonuniform complexity-theoretic approach

Assume y : [0, 1] → Rn satisfies ∀t ∈ [0, 1]: y(0) = 0, y′(t) = f(y(t)). Assumption on f Lower bound on y Upper bound on y computable arbitrary computable if unique PTIME arbitrary computable PTIME + Lipschitz PSPACE-hard PSPACE

8 / 19

slide-35
SLIDE 35

Nonuniform complexity-theoretic approach

Assume y : [0, 1] → Rn satisfies ∀t ∈ [0, 1]: y(0) = 0, y′(t) = f(y(t)). Assumption on f Lower bound on y Upper bound on y computable arbitrary computable if unique PTIME arbitrary computable PTIME + Lipschitz PSPACE-hard PSPACE PTIME + C1 PSPACE-hard PSPACE

8 / 19

slide-36
SLIDE 36

Nonuniform complexity-theoretic approach

Assume y : [0, 1] → Rn satisfies ∀t ∈ [0, 1]: y(0) = 0, y′(t) = f(y(t)). Assumption on f Lower bound on y Upper bound on y computable arbitrary computable if unique PTIME arbitrary computable PTIME + Lipschitz PSPACE-hard PSPACE PTIME + C1 PSPACE-hard PSPACE PTIME + Ck, k 2 CH-hard PSPACE

8 / 19

slide-37
SLIDE 37

Nonuniform complexity-theoretic approach

Assume y : [0, 1] → Rn satisfies ∀t ∈ [0, 1]: y(0) = 0, y′(t) = f(y(t)). Assumption on f Lower bound on y Upper bound on y computable arbitrary computable if unique PTIME arbitrary computable PTIME + Lipschitz PSPACE-hard PSPACE PTIME + C1 PSPACE-hard PSPACE PTIME + Ck, k 2 CH-hard PSPACE PTIME + analytic — PTIME

8 / 19

slide-38
SLIDE 38

Nonuniform complexity-theoretic approach

Assume y : [0, 1] → Rn satisfies ∀t ∈ [0, 1]: y(0) = 0, y′(t) = f(y(t)). Assumption on f Lower bound on y Upper bound on y computable arbitrary computable if unique PTIME arbitrary computable PTIME + Lipschitz PSPACE-hard PSPACE PTIME + C1 PSPACE-hard PSPACE PTIME + Ck, k 2 CH-hard PSPACE PTIME + analytic — PTIME But those results can be deceiving...          y1(0)= 1 y2(0)= 1 . . . yn(0)= 1          y′

1= y1

y′

2= y1y2

. . . y′

n= yn−1yn

→ y(t) = O

  • ee...et

y is PTIME over [0, 1]

8 / 19

slide-39
SLIDE 39

Nonuniform complexity: limitation

Example: f PTIME analytic ⇒ y PTIME ⇒ y(t) ± 2−n in time Ank But:

9 / 19

slide-40
SLIDE 40

Nonuniform complexity: limitation

Example: f PTIME analytic ⇒ y PTIME ⇒ y(t) ± 2−n in time Ank But: “Hides” some of the complexity: A,k could be arbitrarily horrible depending on the dimension and f.

9 / 19

slide-41
SLIDE 41

Nonuniform complexity: limitation

Example: f PTIME analytic ⇒ y PTIME ⇒ y(t) ± 2−n in time Ank But: “Hides” some of the complexity: A,k could be arbitrarily horrible depending on the dimension and f. Nonconstructive: might be a different algrithm for each f, or depend on uncomputable constants.

9 / 19

slide-42
SLIDE 42

Nonuniform complexity: limitation

Example: f PTIME analytic ⇒ y PTIME ⇒ y(t) ± 2−n in time Ank But: “Hides” some of the complexity: A,k could be arbitrarily horrible depending on the dimension and f. Nonconstructive: might be a different algrithm for each f, or depend on uncomputable constants. Conclusion This only slightly better than the previous approach.

9 / 19

slide-43
SLIDE 43

Uniform (operator) complexity approach

Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)), where f : Rn → Rn is .... Then y(t) ± 2−n can be computed in time T(t, n, Kd, Kf) where Kd: depends on the dimension d Kf: depends on f and its representation

10 / 19

slide-44
SLIDE 44

Uniform (operator) complexity approach

Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)), where f : Rn → Rn is .... Then y(t) ± 2−n can be computed in time T(t, n, Kd, Kf) where Kd: depends on the dimension d Kf: depends on f and its representation Assumption on f Lower bound on T Upper bound on T

10 / 19

slide-45
SLIDE 45

Uniform (operator) complexity approach

Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)), where f : Rn → Rn is .... Then y(t) ± 2−n can be computed in time T(t, n, Kd, Kf) where Kd: depends on the dimension d Kf: depends on f and its representation Assumption on f Lower bound on T Upper bound on T computable arbitrary computable if unique

10 / 19

slide-46
SLIDE 46

Uniform (operator) complexity approach

Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)), where f : Rn → Rn is .... Then y(t) ± 2−n can be computed in time T(t, n, Kd, Kf) where Kd: depends on the dimension d Kf: depends on f and its representation Assumption on f Lower bound on T Upper bound on T computable arbitrary computable if unique PTIME + analytic arbitrary computable

10 / 19

slide-47
SLIDE 47

Uniform (operator) complexity approach

Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)), where f : Rn → Rn is .... Then y(t) ± 2−n can be computed in time T(t, n, Kd, Kf) where Kd: depends on the dimension d Kf: depends on f and its representation Assumption on f Lower bound on T Upper bound on T computable arbitrary computable if unique PTIME + analytic arbitrary computable PTIME + polynomial arbitrary computable

10 / 19

slide-48
SLIDE 48

Uniform (operator) complexity approach

Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)), where f : Rn → Rn is .... Then y(t) ± 2−n can be computed in time T(t, n, Kd, Kf) where Kd: depends on the dimension d Kf: depends on f and its representation Assumption on f Lower bound on T Upper bound on T computable arbitrary computable if unique PTIME + analytic arbitrary computable PTIME + polynomial arbitrary computable PTIME + linear — exponential?

10 / 19

slide-49
SLIDE 49

Uniform (operator) complexity approach

Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)), where f : Rn → Rn is .... Then y(t) ± 2−n can be computed in time T(t, n, Kd, Kf) where Kd: depends on the dimension d Kf: depends on f and its representation Assumption on f Lower bound on T Upper bound on T computable arbitrary computable if unique PTIME + analytic arbitrary computable PTIME + polynomial arbitrary computable PTIME + linear — exponential? Problem: we cannot predict the behaviour of y based on f only.

10 / 19

slide-50
SLIDE 50

Are you confused?

You should be! practical methods: “no complexity” nonuniform complexity: misleading uniform worst-case complexity: everything looks hard

11 / 19

slide-51
SLIDE 51

Are you confused?

You should be! practical methods: “no complexity” nonuniform complexity: misleading uniform worst-case complexity: everything looks hard Question: are we looking at the problem the wrong way?

11 / 19

slide-52
SLIDE 52

Parametrized complexity approach

Goal: Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)), where f : Rn → Rn is nice. Then y(t) ± 2−n can be computed in time poly(t, n, Kd, Kf, Ky(t))

12 / 19

slide-53
SLIDE 53

Parametrized complexity approach

Goal: Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)), where f : Rn → Rn is nice. Then y(t) ± 2−n can be computed in time poly(t, n, Kd, Kf, Ky(t)) Kd: depends on the dimension d Kf: depends on f and its representation Ky: is a reasonable parameter of y that must be unknown to the algorithm (i.e. not part of the input)

12 / 19

slide-54
SLIDE 54

Parametrized complexity approach

Goal: Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = f(y(t)), where f : Rn → Rn is nice. Then y(t) ± 2−n can be computed in time poly(t, n, Kd, Kf, Ky(t)) Kd: depends on the dimension d Kf: depends on f and its representation Ky: is a reasonable parameter of y that must be unknown to the algorithm (i.e. not part of the input) Important differences with “textbook” approach: Result is always correct Ky not assumed to be known (e.g. K and M of previous slides)

12 / 19

slide-55
SLIDE 55

Parametrized complexity result

Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = p(y(t)), where p : Rn → Rn is vector of multivariate polynomials. Theorem (TCS 2016) Assuming t ∈ I, computing y(t) ± 2−n takes time: poly(deg p, log Σp, n, ℓy(t))d where: Σp: sum of absolute value of coefficients of p

13 / 19

slide-56
SLIDE 56

Parametrized complexity result

Assume y : I → Rd satisfies ∀t ∈ I: y(0) = 0, y′(t) = p(y(t)), where p : Rn → Rn is vector of multivariate polynomials. Theorem (TCS 2016) Assuming t ∈ I, computing y(t) ± 2−n takes time: poly(deg p, log Σp, n, ℓy(t))d where: Σp: sum of absolute value of coefficients of p ℓy(t): “length” of y over [0, t] ℓy(t) = t max(1,

  • y′(u)
  • )du

Note: the algorithm find ℓ(t) automatically, it is not part of the input

13 / 19

slide-57
SLIDE 57

Euler method

y(0) = 0 y′(t) = p(y(t)) Time step h, discretize and compute ˜ yi ≈ y(ih): y(t + h) ≈ y(t) + hy′(t)

  • ˜

yi+1 = ˜ yi + hp(˜ yi) Linear approximation at each step.

14 / 19

slide-58
SLIDE 58

Euler method

y(0) = 0 y′(t) = p(y(t)) Time step h, discretize and compute ˜ yi ≈ y(ih): y(t + h) ≈ y(t) + hy′(t)

  • ˜

yi+1 = ˜ yi + hp(˜ yi) Linear approximation at each step. Does not work well in practice.

14 / 19

slide-59
SLIDE 59

Taylor method

y(0) = 0 y′(t) = p(y(t)) Time step h, discretize and compute ˜ yi ≈ y(ih): y(t + h) ≈ y(t) +

ω

  • i=1

hiy(i)(t) using y(i)(t) = polyi(y(t)) Do a ω-th order Taylor approximation at each step.

15 / 19

slide-60
SLIDE 60

Taylor method

y(0) = 0 y′(t) = p(y(t)) Time step h, discretize and compute ˜ yi ≈ y(ih): y(t + h) ≈ y(t) +

ω

  • i=1

hiy(i)(t) using y(i)(t) = polyi(y(t)) Do a ω-th order Taylor approximation at each step. Works well for ω 3 but How to choose h and ω ? One more parameter to choose! Error analysis is less obvious Complexity increases with ω

15 / 19

slide-61
SLIDE 61

Adaptive Taylor method

Adapt h and ω at each step. y(0) = 0 y′(t) = p(y(t)) Time step hi, discretize and compute ˜ yi ≈ y(

ji hi):

y(t + hi) ≈ y(t) +

ωi

  • i=1

hi

iy(i)(t)

using y(i)(t) = polyi(y(t)) Do a ωi-th order Taylor approximation at each step.

16 / 19

slide-62
SLIDE 62

Adaptive Taylor method

Adapt h and ω at each step. y(0) = 0 y′(t) = p(y(t)) Time step hi, discretize and compute ˜ yi ≈ y(

ji hi):

y(t + hi) ≈ y(t) +

ωi

  • i=1

hi

iy(i)(t)

using y(i)(t) = polyi(y(t)) Do a ωi-th order Taylor approximation at each step. Adapt the amount of computation to the hardness of the problem but Many more parameters to choose Error analysis is challenging Complexity analysis usually not done

16 / 19

slide-63
SLIDE 63

Adaptive Taylor method: parameter choice

How to choose the time steps hi and orders ωi: hi: estimate the radius of convergence ωi: try to guess the accuracy loss Use voodoo magic and interval arithmetic to ensure correctness.

17 / 19

slide-64
SLIDE 64

Adaptive Taylor method: parameter choice

How to choose the time steps hi and orders ωi: hi: estimate the radius of convergence ωi: try to guess the accuracy loss Use voodoo magic and interval arithmetic to ensure correctness. It works but most complexity insights are lost because we have no idea what we are doing.

17 / 19

slide-65
SLIDE 65

Adaptive Taylor method: parameter choice

How to choose the time steps hi and orders ωi: hi: estimate the radius of convergence ωi: try to guess the accuracy loss Use voodoo magic and interval arithmetic to ensure correctness. It works but most complexity insights are lost because we have no idea what we are doing. Our idea: we need to choose hi, ωi based on some high-level geometrical feature.

17 / 19

slide-66
SLIDE 66

Adaptive Taylor method: parameter choice

How to choose the time steps hi and orders ωi: hi: estimate the radius of convergence ωi: try to guess the accuracy loss Use voodoo magic and interval arithmetic to ensure correctness. It works but most complexity insights are lost because we have no idea what we are doing. Our idea: we need to choose hi, ωi based on some high-level geometrical feature. Our algorithm in one sentence: choose hi, ωi so that at each step, we increase the length of the solution by 1

17 / 19

slide-67
SLIDE 67

Interesting (practical ?) consequences

Compute y(t) ± ε Method

  • Max. Order

Number of steps Fixed ω ω − 1 O

  • L

ω+1 ω−1 ε− 1 ω−1

  • where

L ≈ t max(1,

  • y′(u)
  • )du

18 / 19

slide-68
SLIDE 68

Interesting (practical ?) consequences

Compute y(t) ± ε Method

  • Max. Order

Number of steps Fixed ω ω − 1 O

  • L

ω+1 ω−1 ε− 1 ω−1

  • Euler (ω = 2)

1 O

  • L3

ε

  • where

L ≈ t max(1,

  • y′(u)
  • )du

18 / 19

slide-69
SLIDE 69

Interesting (practical ?) consequences

Compute y(t) ± ε Method

  • Max. Order

Number of steps Fixed ω ω − 1 O

  • L

ω+1 ω−1 ε− 1 ω−1

  • Euler (ω = 2)

1 O

  • L3

ε

  • Taylor2 (ω = 3)

2 O

  • L2

√ε

  • where

L ≈ t max(1,

  • y′(u)
  • )du

18 / 19

slide-70
SLIDE 70

Interesting (practical ?) consequences

Compute y(t) ± ε Method

  • Max. Order

Number of steps Fixed ω ω − 1 O

  • L

ω+1 ω−1 ε− 1 ω−1

  • Euler (ω = 2)

1 O

  • L3

ε

  • Taylor2 (ω = 3)

2 O

  • L2

√ε

  • Taylor4 (ω = 5)

4 O

  • L3/2

4√ε

  • where

L ≈ t max(1,

  • y′(u)
  • )du

18 / 19

slide-71
SLIDE 71

Interesting (practical ?) consequences

Compute y(t) ± ε Method

  • Max. Order

Number of steps Fixed ω ω − 1 O

  • L

ω+1 ω−1 ε− 1 ω−1

  • Euler (ω = 2)

1 O

  • L3

ε

  • Taylor2 (ω = 3)

2 O

  • L2

√ε

  • Taylor4 (ω = 5)

4 O

  • L3/2

4√ε

  • Smart
  • ω = 1 + log L

ε

  • log L

ε

O

  • L∼1

where L ≈ t max(1,

  • y′(u)
  • )du

18 / 19

slide-72
SLIDE 72

Interesting (practical ?) consequences

Compute y(t) ± ε Method

  • Max. Order

Number of steps Fixed ω ω − 1 O

  • L

ω+1 ω−1 ε− 1 ω−1

  • Euler (ω = 2)

1 O

  • L3

ε

  • Taylor2 (ω = 3)

2 O

  • L2

√ε

  • Taylor4 (ω = 5)

4 O

  • L3/2

4√ε

  • Smart
  • ω = 1 + log L

ε

  • log L

ε

O

  • L∼1

Taylor∞ (ω = ∞) ∞ O (L) where L ≈ t max(1,

  • y′(u)
  • )du

18 / 19

slide-73
SLIDE 73

Interesting (practical ?) consequences

Compute y(t) ± ε Method

  • Max. Order

Number of steps Fixed ω ω − 1 O

  • L

ω+1 ω−1 ε− 1 ω−1

  • Euler (ω = 2)

1 O

  • L3

ε

  • Taylor2 (ω = 3)

2 O

  • L2

√ε

  • Taylor4 (ω = 5)

4 O

  • L3/2

4√ε

  • Smart
  • ω = 1 + log L

ε

  • log L

ε

O

  • L∼1

Taylor∞ (ω = ∞) ∞ O (L) Variable O

  • log L

ε

  • O (L)

where L ≈ t max(1,

  • y′(u)
  • )du

18 / 19

slide-74
SLIDE 74

Conclusion

Solving Ordinary Differential Equations numerically: vastly different algorithms/results for vastly different expectations practical methods: no complexity nonuniform complexity: imprecise/misleading uniform worst-case complexity: everything is hard uniform parametrized complexity: encouraging Questions: how far can we push parametrized complexity? can theory bring insight to practice? geometric complexity?

∞ / 19

slide-75
SLIDE 75

Taylor method

y(0) = 0 y′(t) = p(y(t)) t ∈ I Lemma: y(k)(t) = Pk(y(t)) = poly(y(t))

∞ / 19

slide-76
SLIDE 76

Taylor method

y(0) = 0 y′(t) = p(y(t)) t ∈ I Lemma: y(k)(t) = Pk(y(t)) = poly(y(t)) Order K, time step h, discretize compute ˜ yi ≈ y(ih): y(t + h) ≈

K

  • j=0

hj j! y(j)(t)

  • ˜

yi+1 =

K

  • j=0

hj j! Pk(˜ yi)

∞ / 19

slide-77
SLIDE 77

Taylor method

y(0) = 0 y′(t) = p(y(t)) t ∈ I Lemma: y(k)(t) = Pk(y(t)) = poly(y(t)) Order K, time step h, discretize compute ˜ yi ≈ y(ih): y(t + h) ≈

K

  • j=0

hj j! y(j)(t)

  • ˜

yi+1 =

K

  • j=0

hj j! Pk(˜ yi) Fixed order K: theoretically not enough

∞ / 19

slide-78
SLIDE 78

Taylor method

y(0) = 0 y′(t) = p(y(t)) t ∈ I Lemma: y(k)(t) = Pk(y(t)) = poly(y(t)) Order K, time step h, discretize compute ˜ yi ≈ y(ih): y(t + h) ≈

K

  • j=0

hj j! y(j)(t)

  • ˜

yi+1 =

K

  • j=0

hj j! Pk(˜ yi) Fixed order K: theoretically not enough Variable order K: choose K depending on i, p, n and ˜ yi

∞ / 19

slide-79
SLIDE 79

Taylor method

y(0) = 0 y′(t) = p(y(t)) t ∈ I Lemma: y(k)(t) = Pk(y(t)) = poly(y(t)) Order K, time step h, discretize compute ˜ yi ≈ y(ih): y(t + h) ≈

K

  • j=0

hj j! y(j)(t)

  • ˜

yi+1 =

K

  • j=0

hj j! Pk(˜ yi) Fixed order K: theoretically not enough Variable order K: choose K depending on i, p, n and ˜ yi What about h ? Fixed h: wasteful

∞ / 19

slide-80
SLIDE 80

Taylor method

y(0) = 0 y′(t) = p(y(t)) t ∈ I Lemma: y(k)(t) = Pk(y(t)) = poly(y(t)) Order K, time step h, discretize compute ˜ yi ≈ y(ih): y(t + h) ≈

K

  • j=0

hj j! y(j)(t)

  • ˜

yi+1 =

K

  • j=0

hj j! Pk(˜ yi) Fixed order K: theoretically not enough Variable order K: choose K depending on i, p, n and ˜ yi What about h ? Fixed h: wasteful Adaptive h: choose h depending on i, p, n and ˜ yi

∞ / 19

slide-81
SLIDE 81

Choice of the parameters

Choice of h based on an effective lower bound on radius of convergence of the Taylor series: Lemma: If y′ = p(y), α = max(1, y0), k = deg(p), M = (k − 1)Σpαk−1 then:

  • y(k)(t) − Pk(y(t))
  • α(Mt)k

1 − Mt

∞ / 19

slide-82
SLIDE 82

Choice of the parameters

Choice of h based on an effective lower bound on radius of convergence of the Taylor series: Lemma: If y′ = p(y), α = max(1, y0), k = deg(p), M = (k − 1)Σpαk−1 then:

  • y(k)(t) − Pk(y(t))
  • α(Mt)k

1 − Mt Choose Mt ≈ 1

2:

t ≈ 1

M : adaptive step size

local error ≈ (Mt)k ≈ 2−k: order gives the number of correct bits

∞ / 19

slide-83
SLIDE 83

Choice of the parameters

Choice of h based on an effective lower bound on radius of convergence of the Taylor series: Lemma: If y′ = p(y), α = max(1, y0), k = deg(p), M = (k − 1)Σpαk−1 then:

  • y(k)(t) − Pk(y(t))
  • α(Mt)k

1 − Mt Choose Mt ≈ 1

2:

t ≈ 1

M : adaptive step size

local error ≈ (Mt)k ≈ 2−k: order gives the number of correct bits I spare you the analysis of the global error !

∞ / 19

slide-84
SLIDE 84

But wait...

This is impossible, right ?!

∞ / 19

slide-85
SLIDE 85

But wait...

This is impossible, right ?! Example    x(t)= tu(t) u(t)= e−t − (1 − e−t) 1

v(t)

v(t)= v0

    x(t)∼ t

1 v0

u(t)→ 1

v0

v(t)= v0

∞ / 19

slide-86
SLIDE 86

But wait...

This is impossible, right ?! Example    x(t)= tu(t) u(t)= e−t − (1 − e−t) 1

v(t)

v(t)= v0

    x(t)∼ t

1 v0

u(t)→ 1

v0

v(t)= v0 Remark All parameters are fixed except y0 = (1, 1, v0)

∞ / 19

slide-87
SLIDE 87

But wait...

This is impossible, right ?! Example    x(t)= tu(t) u(t)= e−t − (1 − e−t) 1

v(t)

v(t)= v0

    x(t)∼ t

1 v0

u(t)→ 1

v0

v(t)= v0 Remark All parameters are fixed except y0 = (1, 1, v0) Value are time t = 2 can be arbitrary large for arbitrary small v0

∞ / 19

slide-88
SLIDE 88

But wait...

This is impossible, right ?! Example    x(t)= tu(t) u(t)= e−t − (1 − e−t) 1

v(t)

v(t)= v0

    x(t)∼ t

1 v0

u(t)→ 1

v0

v(t)= v0 Remark All parameters are fixed except y0 = (1, 1, v0) Value are time t = 2 can be arbitrary large for arbitrary small v0 Theorem There is no universal bound in p, y0, t0, t and µ.

∞ / 19