A (truly) universal differential equation Amaury Pouly Joint work - - PowerPoint PPT Presentation

a truly universal differential equation
SMART_READER_LITE
LIVE PREVIEW

A (truly) universal differential equation Amaury Pouly Joint work - - PowerPoint PPT Presentation

A (truly) universal differential equation Amaury Pouly Joint work with Olivier Bournez and Daniel Graa Travel supported by NSF DMS-1952694 14 february 2020 1 / 24 What is a computer? 2 / 24 What is a computer? 2 / 24 What is a computer?


slide-1
SLIDE 1

A (truly) universal differential equation

Amaury Pouly Joint work with Olivier Bournez and Daniel Graça Travel supported by NSF DMS-1952694 14 february 2020

1 / 24

slide-2
SLIDE 2

What is a computer?

2 / 24

slide-3
SLIDE 3

What is a computer?

2 / 24

slide-4
SLIDE 4

What is a computer?

VS

2 / 24

slide-5
SLIDE 5

Church Thesis

Computability discrete Turing machine boolean circuits logic recursive functions lambda calculus quantum analog continuous

Church Thesis

All reasonable models of computation are equivalent.

3 / 24

slide-6
SLIDE 6

Church Thesis

Complexity discrete Turing machine boolean circuits logic recursive functions lambda calculus quantum analog continuous

  • ?

?

Effective Church Thesis

All reasonable models of computation are equivalent for complexity.

3 / 24

slide-7
SLIDE 7

Polynomial Differential Equations

Differential Analyzer

4 / 24

slide-8
SLIDE 8

Polynomial Differential Equations

Differential Analyzer k

k

+

u+v u v

×

uv u v

  • u

u

General Purpose Analog Computer, Shannon 1936

4 / 24

slide-9
SLIDE 9

Polynomial Differential Equations

Differential Analyzer k

k

+

u+v u v

×

uv u v

  • u

u

General Purpose Analog Computer, Shannon 1936 Polynomial differential equations : y(0)= y0 y′(t)= p(y(t)) ◮ Rich class ◮ Stable (+,×,◦,/,ED) ◮ No closed-form solution

4 / 24

slide-10
SLIDE 10

Polynomial Differential Equations

Differential Analyzer k

k

+

u+v u v

×

uv u v

  • u

u

General Purpose Analog Computer, Shannon 1936 Polynomial differential equations : y(0)= y0 y′(t)= p(y(t)) ◮ Rich class ◮ Stable (+,×,◦,/,ED) ◮ No closed-form solution Reaction networks : ◮ chemical ◮ enzymatic Newton mechanics

4 / 24

slide-11
SLIDE 11

Example of dynamical system

θ ℓ

m

g ¨ θ + g

ℓ sin(θ) = 0

5 / 24

slide-12
SLIDE 12

Example of dynamical system

θ ℓ

m

g ¨ θ + g

ℓ sin(θ) = 0

       y′

1 = y2

y′

2 = − g l y3

y′

3 = y2y4

y′

4 = −y2y3

⇔        y1 = θ y2 = ˙ θ y3 = sin(θ) y4 = cos(θ)

5 / 24

slide-13
SLIDE 13

Example of dynamical system

θ ℓ

m

g ×

  • ×
  • −g

× ×

−1

  • y1

y2 y3 y4 ¨ θ + g

ℓ sin(θ) = 0

       y′

1 = y2

y′

2 = − g l y3

y′

3 = y2y4

y′

4 = −y2y3

⇔        y1 = θ y2 = ˙ θ y3 = sin(θ) y4 = cos(θ)

5 / 24

slide-14
SLIDE 14

Example of dynamical system

θ ℓ

m

g ×

  • ×
  • −g

× ×

−1

  • y1

y2 y3 y4 ¨ θ + g

ℓ sin(θ) = 0

       y′

1 = y2

y′

2 = − g l y3

y′

3 = y2y4

y′

4 = −y2y3

⇔        y1 = θ y2 = ˙ θ y3 = sin(θ) y4 = cos(θ)

Historical remark : the word “analog”

The pendulum and the circuit have the same equation. One can study

  • ne using the other by analogy.

5 / 24

slide-15
SLIDE 15

Computing with differential equations

Generable functions y(0)= y0 y′(x)= p(y(x)) x ∈ R f(x) = y1(x) x

y1(x)

Shannon’s notion

6 / 24

slide-16
SLIDE 16

Computing with differential equations

Generable functions y(0)= y0 y′(x)= p(y(x)) x ∈ R f(x) = y1(x) x

y1(x)

Shannon’s notion sin, cos, exp, log, ... Considered "weak" : not Γ and ζ Only analytic functions

6 / 24

slide-17
SLIDE 17

Does a balance scale compute a function?

Inputs : x, y ∈ [0, +∞) x y

7 / 24

slide-18
SLIDE 18

Does a balance scale compute a function?

Inputs : x, y ∈ [0, +∞) x y x y x = y

7 / 24

slide-19
SLIDE 19

Does a balance scale compute a function?

Inputs : x, y ∈ [0, +∞) x y x y x y x = y x > y

7 / 24

slide-20
SLIDE 20

Does a balance scale compute a function?

Inputs : x, y ∈ [0, +∞) x y x y x y x y x = y x > y x < y

7 / 24

slide-21
SLIDE 21

Does a balance scale compute a function?

Inputs : x, y ∈ [0, +∞) x y x y x y x y x = y x > y x < y Output : sign(x − y)?

7 / 24

slide-22
SLIDE 22

More formally

t

1 −1 Yes No

y1(t) y1(t) y1(t) x

8 / 24

slide-23
SLIDE 23

More formally

t

1 −1 Yes No

y1(t) y1(t) y1(t) x

Theorem (Bournez et al, 2010)

This is equivalent to a Turing machine.

8 / 24

slide-24
SLIDE 24

More formally

t

1 −1 Yes No

y1(t) y1(t) y1(t) x

Theorem (Bournez et al, 2010)

This is equivalent to a Turing machine. ◮ analog computability theory ◮ purely continuous characterization of classical computability

8 / 24

slide-25
SLIDE 25

Computing with differential equations (cont.)

Generable functions y(0)= y0 y′(x)= p(y(x)) x ∈ R f(x) = y1(x) x

y1(x)

Shannon’s notion sin, cos, exp, log, ... Considered "weak" : not Γ and ζ Only analytic functions Computable y(0)= q(x) y′(t)= p(y(t)) x ∈ R t ∈ R+ f(x) = lim

t→∞ y1(t)

t

f(x) x y1(t)

Modern notion sin, cos, exp, log, Γ, ζ, ... Turing powerful [Bournez et al., 2007]

9 / 24

slide-26
SLIDE 26

Universal differential equations

Generable functions x

y1(x)

subclass of analytic functions Computable functions t

f(x) x y1(t)

any computable function

10 / 24

slide-27
SLIDE 27

Universal differential equations

Generable functions x

y1(x)

subclass of analytic functions Computable functions t

f(x) x y1(t)

any computable function x

y1(x)

10 / 24

slide-28
SLIDE 28

Universal differential algebraic equation (DAE)

x

y(x)

Theorem (Rubel, 1981)

For any continuous functions f and ε, there exists y : R → R solution to 3y′4y

′′y ′′′′2

−4y′4y

′′′2y ′′′′ + 6y′3y ′′2y ′′′y ′′′′ + 24y′2y ′′4y ′′′′

−12y′3y

′′y ′′′3 − 29y′2y ′′3y ′′′2 + 12y ′′7

= 0 such that ∀t ∈ R, |y(t) − f(t)| ε(t).

11 / 24

slide-29
SLIDE 29

Universal differential algebraic equation (DAE)

x

y(x)

Theorem (Rubel, 1981)

There exists a fixed polynomial p and k ∈ N such that for any conti- nuous functions f and ε, there exists a solution y : R → R to p(y, y′, . . . , y(4)) = 0 such that ∀t ∈ R, |y(t) − f(t)| ε(t).

11 / 24

slide-30
SLIDE 30

Universal differential algebraic equation (DAE)

x

y(x)

Theorem (Rubel, 1981)

There exists a fixed polynomial p and k ∈ N such that for any conti- nuous functions f and ε, there exists a solution y : R → R to p(y, y′, . . . , y(4)) = 0 such that ∀t ∈ R, |y(t) − f(t)| ε(t). Problem : this is «weak» result.

11 / 24

slide-31
SLIDE 31

The problem with Rubel’s DAE

The solution y is not unique, even with added initial conditions : p(y, y′, . . . , y(k)) = 0, y(0) = α0, y′(0) = α1, . . . , y(k)(0) = αk In fact, this is fundamental for Rubel’s proof to work!

12 / 24

slide-32
SLIDE 32

The problem with Rubel’s DAE

The solution y is not unique, even with added initial conditions : p(y, y′, . . . , y(k)) = 0, y(0) = α0, y′(0) = α1, . . . , y(k)(0) = αk In fact, this is fundamental for Rubel’s proof to work! ◮ Rubel’s statement : this DAE is universal ◮ More realistic interpretation : this DAE allows almost anything

Open Problem (Rubel, 1981)

Is there a universal ODE y′ = p(y)? Note : explicit polynomial ODE ⇒ unique solution

12 / 24

slide-33
SLIDE 33

Rubel’s proof in one slide

◮ Take f(t) = e

−1 1−t2 for −1 < t < 1 and f(t) = 0 otherwise.

It satisfies (1 − t2)2f

′′(t) + 2tf ′(t) = 0.

t

13 / 24

slide-34
SLIDE 34

Rubel’s proof in one slide

◮ Take f(t) = e

−1 1−t2 for −1 < t < 1 and f(t) = 0 otherwise.

It satisfies (1 − t2)2f

′′(t) + 2tf ′(t) = 0.

◮ For any a, b, c ∈ R, y(t) = cf(at + b) satisfies 3y′4y′′y′′′′2 −4y′4y′′2y′′′′ + 6y′3y′′2y′′′y′′′′ + 24y′2y′′4y′′′′ −12y′3y′′y′′′3 − 29y′2y′′3y′′′2 + 12y′′7 = 0 Translation and rescaling : t

13 / 24

slide-35
SLIDE 35

Rubel’s proof in one slide

◮ Take f(t) = e

−1 1−t2 for −1 < t < 1 and f(t) = 0 otherwise.

It satisfies (1 − t2)2f

′′(t) + 2tf ′(t) = 0.

◮ For any a, b, c ∈ R, y(t) = cf(at + b) satisfies

3y′4y′′y′′′′2−4y′4y′′2y′′′′+6y′3y′′2y′′′y′′′′+24y′2y′′4y′′′′−12y′3y′′y′′′3−29y′2y′′3y′′′2+12y′′7=0

◮ Can glue together arbitrary many such pieces t

13 / 24

slide-36
SLIDE 36

Rubel’s proof in one slide

◮ Take f(t) = e

−1 1−t2 for −1 < t < 1 and f(t) = 0 otherwise.

It satisfies (1 − t2)2f

′′(t) + 2tf ′(t) = 0.

◮ For any a, b, c ∈ R, y(t) = cf(at + b) satisfies

3y′4y′′y′′′′2−4y′4y′′2y′′′′+6y′3y′′2y′′′y′′′′+24y′2y′′4y′′′′−12y′3y′′y′′′3−29y′2y′′3y′′′2+12y′′7=0

◮ Can glue together arbitrary many such pieces ◮ Can arrange so that

  • f is solution : piecewise pseudo-linear

t

13 / 24

slide-37
SLIDE 37

Rubel’s proof in one slide

◮ Take f(t) = e

−1 1−t2 for −1 < t < 1 and f(t) = 0 otherwise.

It satisfies (1 − t2)2f

′′(t) + 2tf ′(t) = 0.

◮ For any a, b, c ∈ R, y(t) = cf(at + b) satisfies

3y′4y′′y′′′′2−4y′4y′′2y′′′′+6y′3y′′2y′′′y′′′′+24y′2y′′4y′′′′−12y′3y′′y′′′3−29y′2y′′3y′′′2+12y′′7=0

◮ Can glue together arbitrary many such pieces ◮ Can arrange so that

  • f is solution : piecewise pseudo-linear

t Conclusion : Rubel’s equation allows any piecewise pseudo-linear functions, and those are dense in C0

13 / 24

slide-38
SLIDE 38

Universal initial value problem (IVP)

x

y1(x)

Theorem

There exists a fixed (vector of) polynomial p such that for any continuous functions f and ε, there exists α ∈ Rd such that y(0) = α, y′(t) = p(y(t)) has a unique solution y : R → Rd and ∀t ∈ R, |y1(t) − f(t)| ε(t).

14 / 24

slide-39
SLIDE 39

Universal initial value problem (IVP)

x

y1(x)

Notes : ◮ system of ODEs, ◮ y is analytic, ◮ we need d ≈ 300.

Theorem

There exists a fixed (vector of) polynomial p such that for any continuous functions f and ε, there exists α ∈ Rd such that y(0) = α, y′(t) = p(y(t)) has a unique solution y : R → Rd and ∀t ∈ R, |y1(t) − f(t)| ε(t).

14 / 24

slide-40
SLIDE 40

Universal initial value problem (IVP)

x

y1(x)

Notes : ◮ system of ODEs, ◮ y is analytic, ◮ we need d ≈ 300.

Theorem

There exists a fixed (vector of) polynomial p such that for any continuous functions f and ε, there exists α ∈ Rd such that y(0) = α, y′(t) = p(y(t)) has a unique solution y : R → Rd and ∀t ∈ R, |y1(t) − f(t)| ε(t). Remark : α is usually transcendental, but computable from f and ε

14 / 24

slide-41
SLIDE 41

Universal DAE revisited

x

y1(x)

Theorem

There exists a fixed polynomial p and k ∈ N such that for any continuous functions f and ε, there exists α0, . . . , αk ∈ R such that p(y, y′, . . . , y(k)) = 0, y(0) = α0, y′(0) = α1, . . . , y(k)(0) = αk has a unique analytic solution and this solution satisfies such that |y(t) − f(t)| ε(t).

15 / 24

slide-42
SLIDE 42

A brief stop

Before I can explain the proof, you need to know more of polynomial ODEs and what I mean by programming with ODEs.

16 / 24

slide-43
SLIDE 43

Generable functions : a summary

Definition

f : R → R is generable if ∃ d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R. x

y1(x)

17 / 24

slide-44
SLIDE 44

Generable functions : a summary

Definition

f : R → R is generable if ∃ d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R. x

y1(x)

Nice theory for the class of total and univariate generable functions : ◮ analytic ◮ contains polynomials, sin, cos, tanh, exp ◮ stable under ±, ×, /, ◦ and Initial Value Problems (IVP) y′ = f(y) ◮ solutions to polynomial ODEs form a very large class

17 / 24

slide-45
SLIDE 45

Why is this useful?

Writing polynomial ODEs by hand is hard.

18 / 24

slide-46
SLIDE 46

Why is this useful?

Writing polynomial ODEs by hand is hard. Using generable functions, we can build complicated multivariate partial functions using other operations, and we know they are solutions to polynomial ODEs by construction.

18 / 24

slide-47
SLIDE 47

Why is this useful?

Writing polynomial ODEs by hand is hard. Using generable functions, we can build complicated multivariate partial functions using other operations, and we know they are solutions to polynomial ODEs by construction.

Example : almost rounding function

There exists a generable function round such that for any n ∈ Z, x ∈ R, λ > 2 and µ 0 : ◮ if x ∈

  • n − 1

2, n + 1 2

  • then | round(x, µ, λ) − n| 1

2,

◮ if x ∈

  • n − 1

2 + 1 λ, n + 1 2 − 1 λ

  • then | round(x, µ, λ) − n| e−µ.

See proof 18 / 24

slide-48
SLIDE 48

A simplified proof α ∈ R ODE

t 0 1 1 0 1 0 1 0 0 1 1 1 . . . digits of α binary stream generator This is the ideal curve, the real

  • ne is an approximation of it.

N O T E

19 / 24

slide-49
SLIDE 49

A simplified proof α ∈ R ODE

t 0 1 1 0 1 0 1 0 0 1 1 1 . . . digits of α binary stream generator

ODE

t “Digital” to Analog Converter (fixed frequency) Approximate Lipschitz and bounded functions with fixed precision. N O T E That’s the trickiest part. N O T E

19 / 24

slide-50
SLIDE 50

A simplified proof α ∈ R ODE

t 0 1 1 0 1 0 1 0 0 1 1 1 . . . digits of α binary stream generator

ODE

t “Digital” to Analog Converter (fixed frequency)

ODE?

t We need something more : a fast-growing ODE. N O T E

19 / 24

slide-51
SLIDE 51

A simplified proof α ∈ R ODE

t 0 1 1 0 1 0 1 0 0 1 1 1 . . . digits of α binary stream generator

ODE

t “Digital” to Analog Converter (fixed frequency)

ODE?

t We need something more : an arbitrarily fast-growing ODE. N O T E

19 / 24

slide-52
SLIDE 52

A less simplified proof

binary stream generator : digits of α ∈ R t 1 1 1 1 f(α, µ, λ, t) = 1

2 + 1 2 tanh(µ sin(2απ4round(t−1/4,λ) + 4π/3))

It’s horrible, but generable round is the mysterious rounding function...

20 / 24

slide-53
SLIDE 53

A less simplified proof

binary stream generator : digits of α ∈ R t 1 1 1 1 t d0 a0 d1 a1 d2 a2 d3 a3 dyadic stream generator : di = mi2−di, ai = 9i +

j<i dj

f(α, γ, t) = sin(2απ2round(t−1/4,γ))) round is the mysterious rounding function...

20 / 24

slide-54
SLIDE 54

A less simplified proof

t 1 1 1 1 t d0 a0 d1 a1 d2 a2 d3 a3

20 / 24

slide-55
SLIDE 55

A less simplified proof

t 1 1 1 1 t d0 a0 d1 a1 d2 a2 d3 a3

copy signal

20 / 24

slide-56
SLIDE 56

A less simplified proof

t 1 1 1 1 t d0 a0 d1 a1 d2 a2 d3 a3

copy signal copy signal

20 / 24

slide-57
SLIDE 57

A less simplified proof

t 1 1 1 1 t d0 a0 d1 a1 d2 a2 d3 a3

copy signal copy signal copy signal

20 / 24

slide-58
SLIDE 58

A less simplified proof

t 1 1 1 1 t d0 a0 d1 a1 d2 a2 d3 a3

copy signal copy signal copy signal copy signal

20 / 24

slide-59
SLIDE 59

A less simplified proof

t 1 1 1 1 t d0 a0 d1 a1 d2 a2 d3 a3

copy signal copy signal copy signal copy signal

This copy operation is the “non-trivial” part.

20 / 24

slide-60
SLIDE 60

A less simplified proof

t We can do almost piecewise constant functions...

20 / 24

slide-61
SLIDE 61

A less simplified proof

t We can do almost piecewise constant functions... ◮ ...that are bounded by 1... ◮ ...and have super slow changing frequency.

20 / 24

slide-62
SLIDE 62

A less simplified proof

t We can do almost piecewise constant functions... ◮ ...that are bounded by 1... ◮ ...and have super slow changing frequency. How do we go to arbitrarily large and growing functions? Can a polynomial ODE even have arbitrary growth?

20 / 24

slide-63
SLIDE 63

An old question on growth

Building a fast-growing ODE, that exists over R : y′

1 = y1

  • y1(t) = exp(t)

21 / 24

slide-64
SLIDE 64

An old question on growth

Building a fast-growing ODE, that exists over R : y′

1 = y1

  • y1(t) = exp(t)

y′

2 = y1y2

  • y1(t) = exp(exp(t))

21 / 24

slide-65
SLIDE 65

An old question on growth

Building a fast-growing ODE, that exists over R : y′

1 = y1

  • y1(t) = exp(t)

y′

2 = y1y2

  • y1(t) = exp(exp(t))

. . . . . . y′

n = y1 · · · yn

  • yn(t) = exp(· · · exp(t) · · · ) := en(t)

21 / 24

slide-66
SLIDE 66

An old question on growth

Building a fast-growing ODE, that exists over R : y′

1 = y1

  • y1(t) = exp(t)

y′

2 = y1y2

  • y1(t) = exp(exp(t))

. . . . . . y′

n = y1 · · · yn

  • yn(t) = exp(· · · exp(t) · · · ) := en(t)

Conjecture (Emil Borel, 1899)

With n variables, cannot do better than Ot(en(Atk)).

21 / 24

slide-67
SLIDE 67

An old question on growth

Counter-example (Vijayaraghavan, 1932)

1 2 − cos(t) − cos(αt) t Sequence of arbitrarily growing spikes.

21 / 24

slide-68
SLIDE 68

An old question on growth

Counter-example (Vijayaraghavan, 1932)

1 2 − cos(t) − cos(αt) t Sequence of arbitrarily growing spikes. But not good enough for us.

21 / 24

slide-69
SLIDE 69

An old question on growth

Theorem

There exists a polynomial p : Rd → Rd such that for any continuous function f : R+ → R, we can find α ∈ Rd such that y(0) = α, y′(t) = p(y(t)) satisfies y1(t) f(t), ∀t 0.

21 / 24

slide-70
SLIDE 70

An old question on growth

Theorem

There exists a polynomial p : Rd → Rd such that for any continuous function f : R+ → R, we can find α ∈ Rd such that y(0) = α, y′(t) = p(y(t)) satisfies y1(t) f(t), ∀t 0. Note : both results require α to be transcendental. Conjecture still

  • pen for rational (or algebraic) coefficients.

21 / 24

slide-71
SLIDE 71

Proof gem : iteration with differential equations

Assume f is generable, can we iterate f with an ODE? That is, build a generable y such that y(x, n) ≈ f [n](x) for all n ∈ N

22 / 24

slide-72
SLIDE 72

Proof gem : iteration with differential equations

Assume f is generable, can we iterate f with an ODE? That is, build a generable y such that y(x, n) ≈ f [n](x) for all n ∈ N t x f(x)

1 2

1

3 2

2

y′≈0 z′≈f(y)−z

22 / 24

slide-73
SLIDE 73

Proof gem : iteration with differential equations

Assume f is generable, can we iterate f with an ODE? That is, build a generable y such that y(x, n) ≈ f [n](x) for all n ∈ N t x f(x)

1 2

1

3 2

2

y′≈0 z′≈f(y)−z y′≈z−y z′≈0

22 / 24

slide-74
SLIDE 74

Proof gem : iteration with differential equations

Assume f is generable, can we iterate f with an ODE? That is, build a generable y such that y(x, n) ≈ f [n](x) for all n ∈ N t x f(x) f [2](x)

1 2

1

3 2

2

y′≈0 z′≈f(y)−z y′≈z−y z′≈0

22 / 24

slide-75
SLIDE 75

Universal initial value problem (IVP)

x

y1(x)

Notes : ◮ system of ODEs, ◮ y is analytic, ◮ we need d ≈ 300.

Theorem

There exists a fixed (vector of) polynomial p such that for any continuous functions f and ε, there exists α ∈ Rd such that y(0) = α, y′(t) = p(y(t)) has a unique solution y : R → Rd and ∀t ∈ R, |y1(t) − f(t)| ε(t). Remark : α is usually transcendental, but computable from f and ε

23 / 24

slide-76
SLIDE 76

Universal DAE revisited

x

y1(x)

Theorem

There exists a fixed polynomial p and k ∈ N such that for any continuous functions f and ε, there exists α0, . . . , αk ∈ R such that p(y, y′, . . . , y(k)) = 0, y(0) = α0, y′(0) = α1, . . . , y(k)(0) = αk has a unique analytic solution and this solution satisfies such that |y(t) − f(t)| ε(t).

24 / 24

slide-77
SLIDE 77

Backup slides

25 / 24

slide-78
SLIDE 78

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd x

y1(x)

Note : existence and unicity of y by Cauchy-Lipschitz theorem.

26 / 24

slide-79
SLIDE 79

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f(x) = x ◮ identity y(0) = 0, y′ = 1

  • y(x) = x

26 / 24

slide-80
SLIDE 80

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f(x) = x2 ◮ squaring y1(0)= 0, y′

1= 2y2

  • y1(x)= x2

y2(0)= 0, y′

2= 1

  • y2(x)= x

26 / 24

slide-81
SLIDE 81

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f(x) = xn ◮ nth power y1(0)= 0, y′

1= ny2

  • y1(x)= xn

y2(0)= 0, y′

2= (n − 1)y3

  • y2(x)= xn−1

. . . . . . . . . yn(0)= 0, yn= 1

  • yn(x)= x

26 / 24

slide-82
SLIDE 82

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f(x) = exp(x) ◮ exponential y(0)= 1, y′= y

  • y(x)= exp(x)

26 / 24

slide-83
SLIDE 83

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f(x) = sin(x) or f(x) = cos(x) ◮ sine/cosine y1(0)= 0, y′

1= y2

  • y1(x)= sin(x)

y2(0)= 1, y′

2= −y1

  • y2(x)= cos(x)

26 / 24

slide-84
SLIDE 84

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f(x) = tanh(x) ◮ hyperbolic tangent y(0)= 0, y′= 1 − y2

  • y(x)= tanh(x)

x tanh(x)

26 / 24

slide-85
SLIDE 85

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f(x) =

1 1+x2

◮ rational function f ′(x) =

−2x (1+x2)2 = −2xf(x)2

y1(0)= 1, y′

1= −2y2y2 1

  • y1(x)=

1 1+x2

y2(0)= 0, y′

2= 1

  • y2(x)= x

26 / 24

slide-86
SLIDE 86

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f = g ± h ◮ sum/difference (f ± g)′ = f ′ ± g′

26 / 24

slide-87
SLIDE 87

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f = gh ◮ product (gh)′ = g′h + gh′

26 / 24

slide-88
SLIDE 88

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f = 1

g

◮ inverse f ′ = −g′

g2 = −g′f 2

26 / 24

slide-89
SLIDE 89

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f =

  • g

◮ integral f ′ = g

26 / 24

slide-90
SLIDE 90

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f = g′ ◮ derivative f ′ = g′′ = (p1(z))′ = ∇p1(z) · z′

26 / 24

slide-91
SLIDE 91

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f = g ◦ h ◮ composition (z ◦ h)′ = (z′ ◦ h)h′ = p(z ◦ h)h′

26 / 24

slide-92
SLIDE 92

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f ′ = tanh ◦f ◮ Non-polynomial differential equation f ′′ = (tanh′ ◦f)f ′ = (1 − (tanh ◦f)2)f ′

26 / 24

slide-93
SLIDE 93

Generable functions (total, univariate)

Definition

f : R → R is generable if there exists d, p and y0 such that the solution y to y(0) = y0, y′(x) = p(y(x)) satisfies f(x) = y1(x) for all x ∈ R.

Types

◮ d ∈ N : dimension ◮ p ∈ Rd[Rn] : polynomial vector ◮ y0 ∈ Rd, y : R → Rd Example : f(0) = f0, f ′ = g ◦ f ◮ Initial Value Problem (IVP) f ′ = g′′ = (p(z))′ = ∇p(z) · z′

26 / 24

slide-94
SLIDE 94

Generable functions : a first summary

Nice theory for the class of total and univariate generable functions : ◮ analytic ◮ contains polynomials, sin, cos, tanh, exp ◮ stable under ±, ×, /, ◦ and Initial Value Problems (IVP) ◮ technicality on the field K of coefficients for stability under ◦

27 / 24

slide-95
SLIDE 95

Generable functions : a first summary

Nice theory for the class of total and univariate generable functions : ◮ analytic ◮ contains polynomials, sin, cos, tanh, exp ◮ stable under ±, ×, /, ◦ and Initial Value Problems (IVP) ◮ technicality on the field K of coefficients for stability under ◦ Limitations : ◮ total functions ◮ univariate

27 / 24

slide-96
SLIDE 96

Generable functions (generalization)

Definition

f : X ⊆ Rn → R is generable if X is open connected and ∃d, p, x0, y0, y such that y(x0) = y0, Jy(x) = p(y(x)) and f(x) = y1(x) for all x ∈ X. Jy(x) = Jacobian matrix of y at x

Types

◮ n ∈ N : input dimension ◮ d ∈ N : dimension ◮ p ∈ Kd×d[Rd] : polynomial matrix ◮ x0 ∈ Kn ◮ y0 ∈ Kd, y : X → Rd Notes : ◮ Partial differential equation! ◮ Unicity of solution y... ◮ ... but not existence (ie you have to show it exists)

28 / 24

slide-97
SLIDE 97

Generable functions (generalization)

Definition

f : X ⊆ Rn → R is generable if X is open connected and ∃d, p, x0, y0, y such that y(x0) = y0, Jy(x) = p(y(x)) and f(x) = y1(x) for all x ∈ X. Jy(x) = Jacobian matrix of y at x

Types

◮ n ∈ N : input dimension ◮ d ∈ N : dimension ◮ p ∈ Kd×d[Rd] : polynomial matrix ◮ x0 ∈ Kn ◮ y0 ∈ Kd, y : X → Rd Example : f(x1, x2) = x1x2

2

(n = 2, d = 3) ◮ monomial y(0, 0) =     , Jy =   y2

3

3y2y3 1 1  

  • y(x) =

  x1x2

2

x1 x2  

28 / 24

slide-98
SLIDE 98

Generable functions (generalization)

Definition

f : X ⊆ Rn → R is generable if X is open connected and ∃d, p, x0, y0, y such that y(x0) = y0, Jy(x) = p(y(x)) and f(x) = y1(x) for all x ∈ X. Jy(x) = Jacobian matrix of y at x

Types

◮ n ∈ N : input dimension ◮ d ∈ N : dimension ◮ p ∈ Kd×d[Rd] : polynomial matrix ◮ x0 ∈ Kn ◮ y0 ∈ Kd, y : X → Rd Example : f(x1, x2) = x1x2

2

◮ monomial y1(0, 0)= 0, ∂x1y1= y2

3,

∂x2y1= 3y2y3

  • y1(x) = x1x2

2

y2(0, 0)= 0, ∂x1y2= 1, ∂x2y2= 0

  • y2(x) = x1

y3(0, 0)= 0, ∂x1y3= 0, ∂x2y3= 1

  • y3(x) = x2

This is tedious!

28 / 24

slide-99
SLIDE 99

Generable functions (generalization)

Definition

f : X ⊆ Rn → R is generable if X is open connected and ∃d, p, x0, y0, y such that y(x0) = y0, Jy(x) = p(y(x)) and f(x) = y1(x) for all x ∈ X. Jy(x) = Jacobian matrix of y at x

Types

◮ n ∈ N : input dimension ◮ d ∈ N : dimension ◮ p ∈ Kd×d[Rd] : polynomial matrix ◮ x0 ∈ Kn ◮ y0 ∈ Kd, y : X → Rd Last example : f(x) = 1

x for x ∈ (0, ∞)

◮ inverse function y(1)= 1, ∂xy= −y2

  • y(x) = 1

x

28 / 24

slide-100
SLIDE 100

Generable functions : summary

Nice theory for the class of multivariate generable functions (over connected domains) : ◮ analytic ◮ contains polynomials, sin, cos, tanh, exp ◮ stable under ±, ×, /, ◦ and Initial Value Problems (IVP) ◮ technicality on the field K of coefficients for stability under ◦

29 / 24

slide-101
SLIDE 101

Generable functions : summary

Nice theory for the class of multivariate generable functions (over connected domains) : ◮ analytic ◮ contains polynomials, sin, cos, tanh, exp ◮ stable under ±, ×, /, ◦ and Initial Value Problems (IVP) ◮ technicality on the field K of coefficients for stability under ◦ Natural questions : ◮ analytic → isn’t that very limited? ◮ can we generate all analytic functions?

29 / 24

slide-102
SLIDE 102

Generable functions : summary

Nice theory for the class of multivariate generable functions (over connected domains) : ◮ analytic ◮ contains polynomials, sin, cos, tanh, exp ◮ stable under ±, ×, /, ◦ and Initial Value Problems (IVP) ◮ technicality on the field K of coefficients for stability under ◦ Natural questions : ◮ analytic → isn’t that very limited? ◮ can we generate all analytic functions? No Riemann Γ and ζ are not generable.

29 / 24

slide-103
SLIDE 103

From discrete to real computability

Computable Analysis : lift Turing computability to real numbers [Ko, 1991; Weihrauch, 2000]

30 / 24

slide-104
SLIDE 104

From discrete to real computability

Computable Analysis : lift Turing computability to real numbers [Ko, 1991; Weihrauch, 2000]

Definition

x ∈ R is computable iff ∃ a computable f : N → Q such that : |x − f(n)| 10−n n ∈ N Examples : rational numbers, π, e, ... n f(n) |π − f(n)| 3 0.14 10−0 1 3.1 0.04 10−1 2 3.14 0.001 10−2 10 3.1415926535 0.9 · 10−10 10−10

30 / 24

slide-105
SLIDE 105

From discrete to real computability

Computable Analysis : lift Turing computability to real numbers [Ko, 1991; Weihrauch, 2000]

Definition

x ∈ R is computable iff ∃ a computable f : N → Q such that : |x − f(n)| 10−n n ∈ N Examples : rational numbers, π, e, ... n f(n) |π − f(n)| 3 0.14 10−0 1 3.1 0.04 10−1 2 3.14 0.001 10−2 10 3.1415926535 0.9 · 10−10 10−10 Beware :there exists uncomputable real numbers!

30 / 24

slide-106
SLIDE 106

From discrete to real computability

x f(x) x f(x)

30 / 24

slide-107
SLIDE 107

From discrete to real computability

x f(x) x f(x) y f(y)

10−m(0) 10−0

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N m : modulus of continuity

30 / 24

slide-108
SLIDE 108

From discrete to real computability

x f(x) x f(x) y

f(y) 10−m(1) 10−1

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N m : modulus of continuity

30 / 24

slide-109
SLIDE 109

From discrete to real computability

x f(x) x f(x)

y f(y) 10−m(2) 10−2

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N m : modulus of continuity

30 / 24

slide-110
SLIDE 110

From discrete to real computability

x f(x) r ∈ Q f(r)

ψ(r,0) 10−0

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N |f(r) − ψ(r, n)| 10−n r ∈ Q, n ∈ N

30 / 24

slide-111
SLIDE 111

From discrete to real computability

x f(x) r ∈ Q f(r)

ψ(r,1) 10−1

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N |f(r) − ψ(r, n)| 10−n r ∈ Q, n ∈ N

30 / 24

slide-112
SLIDE 112

From discrete to real computability

x f(x) r ∈ Q f(r)

ψ(r,2) 10−2

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N |f(r) − ψ(r, n)| 10−n r ∈ Q, n ∈ N

30 / 24

slide-113
SLIDE 113

From discrete to real computability

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N |f(r) − ψ(r, n)| 10−n r ∈ Q, n ∈ N Examples : polynomials, sin, exp, √· Note :all computable functions are continuous Beware :there exists (continuous) uncomputable real functions!

30 / 24

slide-114
SLIDE 114

From discrete to real computability

Definition (Computable function)

f : [a, b] → R is computable iff ∃ m : N → N, ψ : Q × N → Q computable functions such that : |x − y| 10−m(n) ⇒ |f(x) − f(y)| 10−n x, y ∈ R, n ∈ N |f(r) − ψ(r, n)| 10−n r ∈ Q, n ∈ N Examples : polynomials, sin, exp, √· Note :all computable functions are continuous Beware :there exists (continuous) uncomputable real functions!

Polytime complexity

Add “polynomial time computable” everywhere.

30 / 24

slide-115
SLIDE 115

Equivalence with computable analysis

Definition (Bournez et al, 2007)

f computable by GPAC if ∃p polynomial such that ∀x ∈ [a, b] y(0) = (x, 0, . . . , 0) y′(t) = p(y(t)) satisfies |f(x) − y1(t)| y2(t) et y2(t) − − − →

t→∞ 0.

t

f(x) x y1(t)

y1(t) − − − →

t→∞ f(x)

y2(t) = error bound

31 / 24

slide-116
SLIDE 116

Equivalence with computable analysis

Definition (Bournez et al, 2007)

f computable by GPAC if ∃p polynomial such that ∀x ∈ [a, b] y(0) = (x, 0, . . . , 0) y′(t) = p(y(t)) satisfies |f(x) − y1(t)| y2(t) et y2(t) − − − →

t→∞ 0.

t

f(x) x y1(t)

y1(t) − − − →

t→∞ f(x)

y2(t) = error bound

Theorem (Bournez et al, 2007)

f : [a, b] → R computable 1 ⇔ f computable by GPAC

31 / 24

slide-117
SLIDE 117

Equivalence with computable analysis

Definition (Bournez et al, 2007)

f computable by GPAC if ∃p polynomial such that ∀x ∈ [a, b] y(0) = (x, 0, . . . , 0) y′(t) = p(y(t)) satisfies |f(x) − y1(t)| y2(t) et y2(t) − − − →

t→∞ 0.

t

f(x) x y1(t)

y1(t) − − − →

t→∞ f(x)

y2(t) = error bound

Theorem (Bournez et al, 2007)

f : [a, b] → R computable 1 ⇔ f computable by GPAC

  • 1. In Computable Analysis, a standard model over reals built from Turing machines.

31 / 24

slide-118
SLIDE 118

Almost-rounding function

“Perfect round” :

Back to presentation

round(x) := x − 1

π arctan(tan(πx)).

32 / 24

slide-119
SLIDE 119

Almost-rounding function

“Perfect round” :

Back to presentation

round(x) := x − 1

π arctan(tan(πx)).

Undefined at x = n + 1

2 : observe that

tan(θ) = sgn(θ)

sin θ | cos(θ)|

32 / 24

slide-120
SLIDE 120

Almost-rounding function

“Perfect round” :

Back to presentation

round(x) := x − 1

π arctan(tan(πx)).

Undefined at x = n + 1

2 : observe that

tan(θ) = sgn(θ)

sin θ | cos(θ)|

Approximate sgn(θ) : sgn(θ) ≈ tanh(λx) for big λ

32 / 24

slide-121
SLIDE 121

Almost-rounding function

“Perfect round” :

Back to presentation

round(x) := x − 1

π arctan(tan(πx)).

Undefined at x = n + 1

2 : observe that

tan(θ) = sgn(θ)

sin θ | cos(θ)|

Approximate sgn(θ) : sgn(θ) ≈ tanh(λx) for big λ Prevent explosion : | cos(θ)|

  • nz(cos(θ)2)

where nz(x) ≈ x but nz(x) > 0 for all x :

32 / 24

slide-122
SLIDE 122

Almost-rounding function

“Perfect round” :

Back to presentation

round(x) := x − 1

π arctan(tan(πx)).

Undefined at x = n + 1

2 : observe that

tan(θ) = sgn(θ)

sin θ | cos(θ)|

Approximate sgn(θ) : sgn(θ) ≈ tanh(λx) for big λ Prevent explosion : | cos(θ)|

  • nz(cos(θ)2)

where nz(x) ≈ x but nz(x) > 0 for all x : nz(x) = x + some variation on tanh

32 / 24

slide-123
SLIDE 123

Almost-rounding function : gory details

Formally :

Back to presentation

rnd(x, µ, λ) = x − 1 π arctan(cltan(πx, µ, λ)) cltan(θ, µ, λ) = sin(θ)

  • nz(cos2 θ, µ + 16λ3, 4λ2)

sg(cos θ, µ + 3λ, 2λ) nz(x, µ, λ) = x + 2 λ ip1

  • 1 − x + 3

4λ, µ + 1, 4λ

  • ip1(x, µ, λ) = 1 + sg(x − 1, µ, λ)

2 sg(x, µ, λ) = tanh(xµλ) All generable functions!

33 / 24