Efficient polynomial L -approximations ARITH 18 - Montpellier - - PowerPoint PPT Presentation

efficient polynomial l approximations
SMART_READER_LITE
LIVE PREVIEW

Efficient polynomial L -approximations ARITH 18 - Montpellier - - PowerPoint PPT Presentation

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion Efficient polynomial L -approximations ARITH 18 - Montpellier Nicolas


slide-1
SLIDE 1

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Efficient polynomial L∞-approximations

ARITH 18 - Montpellier Nicolas Brisebarre Sylvain Chevillard

Laboratoire de l’informatique du parallélisme Arenaire team

June 26, 2007

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 1

slide-2
SLIDE 2

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Contents

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 2

slide-3
SLIDE 3

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Functions approximation

Graph of f : x → arctan(x) (interval [−1, 4])

◮ Let f be a real valued

function : f : [a, b] → R.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 3

slide-4
SLIDE 4

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Functions approximation

(Rn[X] : set of polynomials with real coefficients and degree at most n). Here n = 2

◮ Let f be a real valued

function : f : [a, b] → R.

◮ Let p ∈ Rn[X]

approximating f.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 3

slide-5
SLIDE 5

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Functions approximation

(Rn[X] : set of polynomials with real coefficients and degree at most n). Here n = 2

◮ Let f be a real valued

function : f : [a, b] → R.

◮ Let p ∈ Rn[X]

approximating f.

◮ Approximation error at

point x: ε(x) = p(x) − f (x).

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 3

slide-6
SLIDE 6

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Approximation error

◮ ε(x) = p(x) − f (x)

  • ver [a, b]
  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 4

slide-7
SLIDE 7

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Approximation error

◮ ε(x) = p(x) − f (x)

  • ver [a, b]

◮ max{|ε(x)|, x ∈ [a, b]}

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 4

slide-8
SLIDE 8

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Approximation error

◮ ε(x) = p(x) − f (x)

  • ver [a, b]

◮ max{|ε(x)|, x ∈ [a, b]} ◮ Infinite norm: ε∞ = p − f ∞ = max{|ε(x)|, x ∈ [a, b]}

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 4

slide-9
SLIDE 9

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Approximation error

◮ ε(x) = p(x) − f (x)

  • ver [a, b]

◮ max{|ε(x)|, x ∈ [a, b]} ◮ Infinite norm: ε∞ = p − f ∞ = max{|ε(x)|, x ∈ [a, b]} ◮ Best approximation problem:

given a degree n, find p ∈ Rn[X] minimizing p − f ∞.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 4

slide-10
SLIDE 10

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Theory of polynomial approximation

Facts:

◮ There exists a unique best

approximation polynomial.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 5

slide-11
SLIDE 11

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Theory of polynomial approximation

Facts:

◮ There exists a unique best

approximation polynomial.

◮ Characterization:

Chebyshev’s theorem.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 5

slide-12
SLIDE 12

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Theory of polynomial approximation

Facts:

◮ There exists a unique best

approximation polynomial.

◮ Characterization:

Chebyshev’s theorem.

◮ To compute it:

Remez’ algorithm (minimax in Maple).

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 5

slide-13
SLIDE 13

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

The problem

◮ Computers: finite memory.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 6

slide-14
SLIDE 14

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

The problem

◮ Computers: finite memory. ◮ IEEE-754 standard: defines floating-point numbers.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 6

slide-15
SLIDE 15

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

The problem

◮ Computers: finite memory. ◮ IEEE-754 standard: defines floating-point numbers. ◮ A floating-point number with radix 2 and precision t, is a

number of the form x = m · 2e where

◮ m ∈ Z (written with exactly t bits) is called its mantissa; ◮ e ∈ Z is its exponent.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 6

slide-16
SLIDE 16

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

The problem

◮ Computers: finite memory. ◮ IEEE-754 standard: defines floating-point numbers. ◮ A floating-point number with radix 2 and precision t, is a

number of the form x = m · 2e where

◮ m ∈ Z (written with exactly t bits) is called its mantissa; ◮ e ∈ Z is its exponent.

◮ In practice: one has to store the coefficients into

floating-point numbers.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 6

slide-17
SLIDE 17

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

The problem

◮ Computers: finite memory. ◮ IEEE-754 standard: defines floating-point numbers. ◮ A floating-point number with radix 2 and precision t, is a

number of the form x = m · 2e where

◮ m ∈ Z (written with exactly t bits) is called its mantissa; ◮ e ∈ Z is its exponent.

◮ In practice: one has to store the coefficients into

floating-point numbers.

◮ Naive method: compute the minimax with Remez’ algorithm

and a high precision. Then round each coefficient to the nearest floating-point number.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 6

slide-18
SLIDE 18

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Failure of the naive method

◮ Example with f (x) = log2(1 + 2−x):

◮ on [0; 1] ◮ approximated by a degree 6 polynomial ◮ with single precision coefficients (24 bits).

Minimax Naive method Optimal 8.3 · 10−10 119 · 10−10 10.06 · 10−10

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 7

slide-19
SLIDE 19

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Failure of the naive method

◮ Example with f (x) = log2(1 + 2−x):

◮ on [0; 1] ◮ approximated by a degree 6 polynomial ◮ with single precision coefficients (24 bits).

Minimax Naive method Optimal 8.3 · 10−10 119 · 10−10 10.06 · 10−10

◮ The problem has been studied by

◮ W. Kahan; ◮ D. Kodek (precision t < 10, degree n < 20); ◮ N. Brisebarre, J.-M. Muller and A. Tisserand (using linear

programming).

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 7

slide-20
SLIDE 20

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Description of our method

Our goal: find p approximating f with the following form: m0 · 2e0 + m1 · 2e1X + · · · + mn · 2enX n (mi ∈ Z).

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 8

slide-21
SLIDE 21

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Description of our method

Our goal: find p approximating f with the following form: m0 · 2e0 + m1 · 2e1X + · · · + mn · 2enX n (mi ∈ Z).

◮ We use the idea of interpolation:

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 8

slide-22
SLIDE 22

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Description of our method

Our goal: find p approximating f with the following form: m0 · 2e0 + m1 · 2e1X + · · · + mn · 2enX n (mi ∈ Z).

◮ We use the idea of interpolation:

◮ we choose n + 1 points x0, · · · , xn in [a, b] ;

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 8

slide-23
SLIDE 23

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Description of our method

Our goal: find p approximating f with the following form: m0 · 2e0 + m1 · 2e1X + · · · + mn · 2enX n (mi ∈ Z).

◮ We use the idea of interpolation:

◮ we choose n + 1 points x0, · · · , xn in [a, b] ; ◮ we search m0, · · · , mn such that for all i

p(xi) = m0 · 2e0 + m1 · 2e1xi + · · · + mn · 2enxn

i ≃ f (xi)

.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 8

slide-24
SLIDE 24

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Description of our method

Our goal: find p approximating f with the following form: m0 · 2e0 + m1 · 2e1X + · · · + mn · 2enX n (mi ∈ Z).

◮ We use the idea of interpolation:

◮ we choose n + 1 points x0, · · · , xn in [a, b] ; ◮ we search m0, · · · , mn such that for all i

p(xi) = m0 · 2e0 + m1 · 2e1xi + · · · + mn · 2enxn

i ≃ f (xi)

.

◮ Rewritten with vectors:

m0      2e0 2e0 . . . 2e0      + · · · + mn      2en · xn 2en · xn

1

. . . 2en · xn

n

    

  • Γ of the form Z−

→ b0+Z− → b1+···+Z− → bn

≃      f (x0) f (x1) . . . f (xn)     

→ t ∈Rn+1

.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 8

slide-25
SLIDE 25

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Let (− → b1, · · · , − → bn) be a basis of a real vector space.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 9

slide-26
SLIDE 26

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Let (− → b1, · · · , − → bn) be a basis of a real vector space. The set of all integer combinations of the − → bi is called a lattice: Γ = Z− → b1 + Z− → b2 + · · · + Z− → bn .

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 9

slide-27
SLIDE 27

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Let (− → b1, · · · , − → bn) be a basis of a real vector space. The set of all integer combinations of the − → bi is called a lattice: Γ = Z− → b1 + Z− → b2 + · · · + Z− → bn . In general, a lattice has infinitely many bases.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 9

slide-28
SLIDE 28

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Let (− → b1, · · · , − → bn) be a basis of a real vector space. The set of all integer combinations of the − → bi is called a lattice: Γ = Z− → b1 + Z− → b2 + · · · + Z− → bn . In general, a lattice has infinitely many bases.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 9

slide-29
SLIDE 29

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Let (− → b1, · · · , − → bn) be a basis of a real vector space. The set of all integer combinations of the − → bi is called a lattice: Γ = Z− → b1 + Z− → b2 + · · · + Z− → bn . In general, a lattice has infinitely many bases.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 9

slide-30
SLIDE 30

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Algorithmic problems:

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 10

slide-31
SLIDE 31

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Algorithmic problems:

◮ Shortest vector problem (SVP)

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 10

slide-32
SLIDE 32

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Algorithmic problems:

◮ Shortest vector problem (SVP) ◮ Closest vector problem (CVP)

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 10

slide-33
SLIDE 33

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Algorithmic problems:

◮ Shortest vector problem (SVP) ◮ Closest vector problem (CVP)

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 10

slide-34
SLIDE 34

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Algorithmic problems:

◮ Shortest vector problem (SVP) ◮ Closest vector problem (CVP)

LLL algorithm: Lenstra, Lenstra Jr. and Lovász.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 10

slide-35
SLIDE 35

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Algorithmic problems:

◮ Shortest vector problem (SVP) ◮ Closest vector problem (CVP)

LLL algorithm: finds pretty short vectors in polynomial time.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 10

slide-36
SLIDE 36

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Notions about lattices

Algorithmic problems:

◮ Shortest vector problem (SVP) ◮ Closest vector problem (CVP)

LLL algorithm: used by Babai to solve an approximation of CVP.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 10

slide-37
SLIDE 37

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

A concrete and toy case

◮ We want to approximate f : x → log2(1 + 2(−x))

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 11

slide-38
SLIDE 38

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

A concrete and toy case

◮ We want to approximate f : x → log2(1 + 2(−x))

◮ on [0, 1] ◮ by a polynomial of degree 6. ◮ Each coefficient is stored in a single-precision number (24 bits).

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 11

slide-39
SLIDE 39

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Datas

Best real Naive method Enhanced method 8.34e−10 119e−10 49.9e−10

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 12

slide-40
SLIDE 40

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Datas

Best real Naive method Enhanced method 8.34e−10 119e−10 49.9e−10

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 12

slide-41
SLIDE 41

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Datas

Best real Naive method Enhanced method 8.34e−10 119e−10 49.9e−10

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 12

slide-42
SLIDE 42

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Datas

Best real Naive method Enhanced method 8.34e−10 119e−10 49.9e−10

◮ How to choose the points?

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 12

slide-43
SLIDE 43

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Datas

Best real Naive method Enhanced method 8.34e−10 119e−10 49.9e−10

◮ How to choose the points? ◮ We need n + 1 points.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 12

slide-44
SLIDE 44

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Datas

Best real Naive method Enhanced method 8.34e−10 119e−10 49.9e−10

◮ How to choose the points? ◮ We need n + 1 points. ◮ They should correspond to

the interpolation intuition.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 12

slide-45
SLIDE 45

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Datas

Best real Naive method Enhanced method 8.34e−10 119e−10 49.9e−10

◮ How to choose the points? ◮ We need n + 1 points. ◮ They should correspond to

the interpolation intuition.

◮ Chebyshev’s theorem gives

n + 1 such points.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 12

slide-46
SLIDE 46

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Results with our method

Best real Naive method Enhanced method Our method 8.34e−10 119e−10 49.9e−10 10.24e−10

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 13

slide-47
SLIDE 47

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Results with our method

Best real Naive method Enhanced method Our method 8.34e−10 119e−10 49.9e−10 10.24e−10

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 13

slide-48
SLIDE 48

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Results with our method

Best real Naive method Enhanced method Our method 8.34e−10 119e−10 49.9e−10 10.24e−10

◮ Polynomial obtained

in less than 1 second (Pentium III 1.2GHz)

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 13

slide-49
SLIDE 49

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Results with our method

Best real Naive method Enhanced method Our method 8.34e−10 119e−10 49.9e−10 10.24e−10

◮ Polynomial obtained

in less than 1 second (Pentium III 1.2GHz)

◮ Degree 30 and

precision ≈ 100

  • btained in a few

seconds

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 13

slide-50
SLIDE 50

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Results with our method

Best real Naive method Enhanced method Our method 8.34e−10 119e−10 49.9e−10 10.24e−10

◮ Polynomial obtained

in less than 1 second (Pentium III 1.2GHz)

◮ Degree 30 and

precision ≈ 100

  • btained in a few

seconds

◮ Used in CRlibm

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 13

slide-51
SLIDE 51

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Conclusion

◮ We have developed an algorithm to find very good polynomial

approximants with floating-point coefficients.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 14

slide-52
SLIDE 52

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Conclusion

◮ We have developed an algorithm to find very good polynomial

approximants with floating-point coefficients.

◮ The algorithm is a heuristic, but works well in practice.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 14

slide-53
SLIDE 53

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Conclusion

◮ We have developed an algorithm to find very good polynomial

approximants with floating-point coefficients.

◮ The algorithm is a heuristic, but works well in practice. ◮ The algorithm is flexible:

◮ each coefficient may use a different floating-point format; ◮ one may search polynomial with additional constraints: fix the

value of some coefficients, search for an even polynomial;

◮ one may optimize the relative error

ε(x) = p(x) − f (x) f (x) instead of the absolute error.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 14

slide-54
SLIDE 54

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Conclusion

◮ We have developed an algorithm to find very good polynomial

approximants with floating-point coefficients.

◮ The algorithm is a heuristic, but works well in practice. ◮ The algorithm is flexible:

◮ each coefficient may use a different floating-point format; ◮ one may search polynomial with additional constraints: fix the

value of some coefficients, search for an even polynomial;

◮ one may optimize the relative error

ε(x) = p(x) − f (x) f (x) instead of the absolute error.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 14

slide-55
SLIDE 55

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Focus on polynomial approximation

◮ The definition often gives a natural way to find a polynomial

approximation of f . ֒ → for instance: a truncated power series with a formally computed bound on the error.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 15

slide-56
SLIDE 56

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Focus on polynomial approximation

◮ The definition often gives a natural way to find a polynomial

approximation of f . ֒ → for instance: a truncated power series with a formally computed bound on the error.

◮ Truncated power series are useful but. . .

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 15

slide-57
SLIDE 57

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Focus on polynomial approximation

◮ The definition often gives a natural way to find a polynomial

approximation of f . ֒ → for instance: a truncated power series with a formally computed bound on the error.

◮ Truncated power series are useful but. . .

. . . usually inefficient in term of number of operations.

◮ Example: exp(x) on [−1; 2] with an absolute error ≤ 0.01:

◮ the series must be truncated to a degree 7 polynomial; ◮ a degree 4 polynomial is sufficient.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 15

slide-58
SLIDE 58

Scope of my researches Approximation theory Polynomial approximation with floating-point numbers Lattices and LLL algorithm A concrete and toy case Conclusion

Chebyshev’s theorem

Theorem (Chebyshev)

Let f be a continuous function on [a, b]. Let µ = inf{f − p∞}p∈Rn[X]. Then, p satisfies f − p∞ = µ if and

  • nly if there exist n + 2 points

x0 < x1 < · · · < xn+1 in [a, b] such that

  • 1. ∀i ∈ 0, n + 1, |f (xi) − p(xi)| = f − p∞
  • 2. For all i ∈ 0, n, the signs of f (xi+1) − p(xi+1) and

f (xi) − p(xi) are different.

  • N. Brisebarre, S. Chevillard

Efficient polynomial L∞-approximations 16