+ All Categories
Home > Documents > Certified Roundoff Error bounds using Bernstein Expansions...

Certified Roundoff Error bounds using Bernstein Expansions...

Date post: 11-Sep-2019
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
71
Certified Roundoff Error bounds using Bernstein Expansions and Sparse Krivine-Stengle Representations A. Rocca 1,2 with V. Magron 1 and T. Dang 1 1 CNRS-Verimag, 2 TIMC-IMAG, Grenoble July 31, 2017
Transcript
Page 1: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Certified Roundoff Error bounds using BernsteinExpansions and Sparse Krivine-Stengle Representations

A. Rocca1,2 with V. Magron1 and T. Dang1

1CNRS-Verimag, 2TIMC-IMAG, Grenoble

July 31, 2017

Page 2: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Table of Contents

Introduction

Bernstein ExpansionsPreliminariesError bounds computation

Krivine-Stengle (K.S.)PreliminariesError bounds computation

Results

Page 3: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

3/34

Context

â Roundoff error bounds in computation of polynomialfunctions

â Sound bounds, or certifiable bounds

+ polynomial optimization problem = NP-Hard!

â Simple Rounding Model

. rnd(x) = x(1+ e) + u

. e: error variable, |e| ≤ 2-prec

. u: very small (single: |e| ≤ 2−24,|u| ≤ 2−150)

Page 4: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

3/34

Context

â Roundoff error bounds in computation of polynomialfunctions

â Sound bounds, or certifiable bounds+ polynomial optimization problem = NP-Hard!

â Simple Rounding Model

. rnd(x) = x(1+ e) + u

. e: error variable, |e| ≤ 2-prec

. u: very small (single: |e| ≤ 2−24,|u| ≤ 2−150)

Page 5: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

3/34

Context

â Roundoff error bounds in computation of polynomialfunctions

â Sound bounds, or certifiable bounds+ polynomial optimization problem = NP-Hard!

â Simple Rounding Model

. rnd(x) = x(1+ e) + u

. e: error variable, |e| ≤ 2-prec

. u: very small (single: |e| ≤ 2−24,|u| ≤ 2−150)

Page 6: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

3/34

Context

â Roundoff error bounds in computation of polynomialfunctions

â Sound bounds, or certifiable bounds+ polynomial optimization problem = NP-Hard!

â Simple Rounding Model. rnd(x) = x(1+ e) + u. e: error variable, |e| ≤ 2-prec

. u: very small (single: |e| ≤ 2−24,|u| ≤ 2−150)

Page 7: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

4/34

Related WorksFeature Real2Float Rosa FPTaylor Gappa Fluctuat

[5] [1] [6] [2] [3]Basic FP operations/formats

√ √ √ √ √

Special values (±∞, NaN)√

Input uncertainties√ √ √ √ √

Transcendental functions√ √

Discontinuity errors√ √ √

Proof certificates√ √ √

Methods SDP/SOS(Sparse)

SMT &Int.Arith

SymbolicTaylorExpans.

Int.Arith.

StaticAnalysis

Page 8: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

5/34

Contributions

â Two methods for roundoff error upper bounds:

+ Bernstein expansions.+ Sparse Krivine-Stengle representations.

â Three implementations:

+ FPBern(a): C++ double precision implementation [4].+ FPBern(b): Matlab rational arithmetic implementation [4].+ FPKriSten: Matlab & Cplex Sparse Krivine-Stengle representations[7].

Page 9: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

5/34

Contributions

â Two methods for roundoff error upper bounds:+ Bernstein expansions.+ Sparse Krivine-Stengle representations.

â Three implementations:

+ FPBern(a): C++ double precision implementation [4].+ FPBern(b): Matlab rational arithmetic implementation [4].+ FPKriSten: Matlab & Cplex Sparse Krivine-Stengle representations[7].

Page 10: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

5/34

Contributions

â Two methods for roundoff error upper bounds:+ Bernstein expansions.+ Sparse Krivine-Stengle representations.

â Three implementations:

+ FPBern(a): C++ double precision implementation [4].+ FPBern(b): Matlab rational arithmetic implementation [4].+ FPKriSten: Matlab & Cplex Sparse Krivine-Stengle representations[7].

Page 11: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

5/34

Contributions

â Two methods for roundoff error upper bounds:+ Bernstein expansions.+ Sparse Krivine-Stengle representations.

â Three implementations:+ FPBern(a): C++ double precision implementation [4].+ FPBern(b): Matlab rational arithmetic implementation [4].+ FPKriSten: Matlab & Cplex Sparse Krivine-Stengle representations[7].

Page 12: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

6/34

Simple Running Example

â A simple example:

f(x) := x2 − x , ∀x ∈ X = [0,1].

Floating point approximation:

f̂(x,e) = (((1+ e1)x(1+ e1)x)(1+ e2)− x(1+ e1))(1+ e3).

Roundoff error upper bound:

r(x,e) := maxx∈[0,1]e∈[−ε,ε]3

(|f̂(x,e)− f(x)|) .

|f̂(x,e)− f(x)| ≤ |l(x,e)|+ |h(x,e)|

Page 13: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

7/34

Simple Running Example

â A simple example:

f(x) := x2 − x , ∀x ∈ X = [0,1].

Floating point approximation:

f̂(x,e) = (((1+ e1)x(1+ e1)x)(1+ e2)− x(1+ e1))(1+ e3).

Roundoff error upper bound of:

|f̂(x,e)− f(x)| ≤ |l(x,e)|︸ ︷︷ ︸Our Focus

+

Interval Arithmetic or O(|e|2)︷ ︸︸ ︷|h(x,e)|

Page 14: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

8/34

Simple Running Example

â A simple example:

f(x) := x2 − x , ∀x ∈ X = [0,1].

Floating point approximation:

f̂(x,e) = (((1+ e1)x(1+ e1)x)(1+ e2)− x(1+ e1))(1+ e3).

Roundoff error upper bound of:

l(x,e) = (2x2 − x)e1 + x2e2 + (x2 − x)e3.

Page 15: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 9/34

Bernstein Expansions - Notions

Bernstein BasisGiven γ, α,d ∈ Nn, and x ∈ [0,1]n:

f(x) = ∑γ

aγxγ = ∑α≤d

b(f)α Bd,α(x).

b(f)α = ∑β<α

(αβ)

(dβ)aβ, 0 ≤ α ≤ d.

Some properties:

minα≤d

b(f)α ≤ f(x) ≤maxα≤d

b(f)α .

(d+1)1 =n

∏i=1

(di + 1).

Page 16: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 10/34

Bernstein Expansions - A picture

Page 17: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 11/34

Rounding with Bernstein Expansions - Theory

Re-writing l(x,e) := ∑mj=1 sj(x)ej.

Given e ∈ [−1,1]m and x ∈ [0,1]n:

l′d :=maxα≤d

m

∑j=1

|b(sj)α |, ⇒ Sparse decomposition

and l′d := −l′d.

Roundoff upper bounds - Bernstein

l′d ≤ l′(x,e) ≤ l′d ∀(x,e) ∈ X× E .

Page 18: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 12/34

Rounding with Bernstein Expansions - Example

l(x,e) = (2x2 − x)︸ ︷︷ ︸s1(x)

e1 +

s2(x)︷︸︸︷x2 e2 + (x2 − x)︸ ︷︷ ︸

s3(x)

e3, d = (2)

bs1 = [0,−0.5,1], bs2 = [0,0,1], bs3 = [0,−0.5,0]

â maxα≤2 ∑3j=1 |b(sj)α | = 2

+ l′d = 2 ⇒ l∗ ≤ 2ε

# Bernstein coefficients:

+ SPARSE: m(d+1)n = 9+ DENSE: (d+1)n+m = 24

Page 19: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 12/34

Rounding with Bernstein Expansions - Example

l(x,e) = (2x2 − x)︸ ︷︷ ︸s1(x)

e1 +

s2(x)︷︸︸︷x2 e2 + (x2 − x)︸ ︷︷ ︸

s3(x)

e3, d = (2)

bs1 = [0,−0.5,1], bs2 = [0,0,1], bs3 = [0,−0.5,0]

â maxα≤2 ∑3j=1 |b(sj)α | = 2

+ l′d = 2 ⇒ l∗ ≤ 2ε

# Bernstein coefficients:+ SPARSE: m(d+1)n = 9+ DENSE: (d+1)n+m = 24

Page 20: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 13/34

Semi-algebraic set K

Page 21: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 14/34

Krivine-Stengle - Notions

K = {x ∈ Rn : 0 ≤ gi(x) ≤ 1, i = 1, . . . ,p}, with g1, . . . ,gp ∈ R[x].

Krivine-Stengle RepresentationsLet ψ ∈ R[x] positive over K. Then ∃k ∈ N and λα,β ≥ 0 suchthat:

ψ(x) = ∑|α+β|≤k

λα,βhα,β(x), ∀x ∈ Rn.

hα,β(x) = gα(1−g)β =p

∏i=1

gαii (1− gi)

βi

Page 22: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 15/34

Krivine-Stengle - Sparsity (I)

Example on K = [0,1]3

f(x) = x1x2 + x21x3 ⇒ J1 = I1 = {1,2}, J2 = I2 = {1,3}

Given m ∈ N, Ij ⊆ {1, . . . ,n}, and Jj ⊆ {1, . . . ,p} for all j = 1, . . . ,m{Ij},{Jj} define a sparsity pattern of f positive on K if:

• f = ∑mj=1 fj with fj ∈ R[x, Ij],

⇒ x1x2 + x21x3

• gi ∈ R[x, Ij] ∀i ∈ Jj, ∀j = 1, . . . ,m,

⇒ gi = xi, i ≤ 3

•∪mj=1 Ij = {1, . . . ,n} and ∪m

j=1 Jj = {1, . . . ,p},• (Running Intersection Property) ∀j = 1, . . . ,m− 1, ∃s ≤ j s.t.Ij+1 ∩

∪ji=1 Ii ⊆ Is,

⇒ I2 ∩ I1 = {1} ⊂ I1

Page 23: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 15/34

Krivine-Stengle - Sparsity (I)

Example on K = [0,1]3

f(x) = x1x2 + x21x3 ⇒ J1 = I1 = {1,2}, J2 = I2 = {1,3}

Given m ∈ N, Ij ⊆ {1, . . . ,n}, and Jj ⊆ {1, . . . ,p} for all j = 1, . . . ,m{Ij},{Jj} define a sparsity pattern of f positive on K if:

• f = ∑mj=1 fj with fj ∈ R[x, Ij],

⇒ x1x2 + x21x3• gi ∈ R[x, Ij] ∀i ∈ Jj, ∀j = 1, . . . ,m,

⇒ gi = xi, i ≤ 3

•∪mj=1 Ij = {1, . . . ,n} and ∪m

j=1 Jj = {1, . . . ,p},• (Running Intersection Property) ∀j = 1, . . . ,m− 1, ∃s ≤ j s.t.Ij+1 ∩

∪ji=1 Ii ⊆ Is,

⇒ I2 ∩ I1 = {1} ⊂ I1

Page 24: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 15/34

Krivine-Stengle - Sparsity (I)

Example on K = [0,1]3

f(x) = x1x2 + x21x3 ⇒ J1 = I1 = {1,2}, J2 = I2 = {1,3}

Given m ∈ N, Ij ⊆ {1, . . . ,n}, and Jj ⊆ {1, . . . ,p} for all j = 1, . . . ,m{Ij},{Jj} define a sparsity pattern of f positive on K if:

• f = ∑mj=1 fj with fj ∈ R[x, Ij], ⇒ x1x2 + x21x3

• gi ∈ R[x, Ij] ∀i ∈ Jj, ∀j = 1, . . . ,m,

⇒ gi = xi, i ≤ 3

•∪mj=1 Ij = {1, . . . ,n} and ∪m

j=1 Jj = {1, . . . ,p},• (Running Intersection Property) ∀j = 1, . . . ,m− 1, ∃s ≤ j s.t.Ij+1 ∩

∪ji=1 Ii ⊆ Is,

⇒ I2 ∩ I1 = {1} ⊂ I1

Page 25: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 15/34

Krivine-Stengle - Sparsity (I)

Example on K = [0,1]3

f(x) = x1x2 + x21x3 ⇒ J1 = I1 = {1,2}, J2 = I2 = {1,3}

Given m ∈ N, Ij ⊆ {1, . . . ,n}, and Jj ⊆ {1, . . . ,p} for all j = 1, . . . ,m{Ij},{Jj} define a sparsity pattern of f positive on K if:

• f = ∑mj=1 fj with fj ∈ R[x, Ij], ⇒ x1x2 + x21x3

• gi ∈ R[x, Ij] ∀i ∈ Jj, ∀j = 1, . . . ,m,

⇒ gi = xi, i ≤ 3•

∪mj=1 Ij = {1, . . . ,n} and ∪m

j=1 Jj = {1, . . . ,p},• (Running Intersection Property) ∀j = 1, . . . ,m− 1, ∃s ≤ j s.t.Ij+1 ∩

∪ji=1 Ii ⊆ Is,

⇒ I2 ∩ I1 = {1} ⊂ I1

Page 26: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 15/34

Krivine-Stengle - Sparsity (I)

Example on K = [0,1]3

f(x) = x1x2 + x21x3 ⇒ J1 = I1 = {1,2}, J2 = I2 = {1,3}

Given m ∈ N, Ij ⊆ {1, . . . ,n}, and Jj ⊆ {1, . . . ,p} for all j = 1, . . . ,m{Ij},{Jj} define a sparsity pattern of f positive on K if:

• f = ∑mj=1 fj with fj ∈ R[x, Ij], ⇒ x1x2 + x21x3

• gi ∈ R[x, Ij] ∀i ∈ Jj, ∀j = 1, . . . ,m, ⇒ gi = xi, i ≤ 3

•∪mj=1 Ij = {1, . . . ,n} and ∪m

j=1 Jj = {1, . . . ,p},• (Running Intersection Property) ∀j = 1, . . . ,m− 1, ∃s ≤ j s.t.Ij+1 ∩

∪ji=1 Ii ⊆ Is,

⇒ I2 ∩ I1 = {1} ⊂ I1

Page 27: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 15/34

Krivine-Stengle - Sparsity (I)

Example on K = [0,1]3

f(x) = x1x2 + x21x3 ⇒ J1 = I1 = {1,2}, J2 = I2 = {1,3}

Given m ∈ N, Ij ⊆ {1, . . . ,n}, and Jj ⊆ {1, . . . ,p} for all j = 1, . . . ,m{Ij},{Jj} define a sparsity pattern of f positive on K if:

• f = ∑mj=1 fj with fj ∈ R[x, Ij], ⇒ x1x2 + x21x3

• gi ∈ R[x, Ij] ∀i ∈ Jj, ∀j = 1, . . . ,m, ⇒ gi = xi, i ≤ 3•

∪mj=1 Ij = {1, . . . ,n} and ∪m

j=1 Jj = {1, . . . ,p},

• (Running Intersection Property) ∀j = 1, . . . ,m− 1, ∃s ≤ j s.t.Ij+1 ∩

∪ji=1 Ii ⊆ Is,

⇒ I2 ∩ I1 = {1} ⊂ I1

Page 28: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 15/34

Krivine-Stengle - Sparsity (I)

Example on K = [0,1]3

f(x) = x1x2 + x21x3 ⇒ J1 = I1 = {1,2}, J2 = I2 = {1,3}

Given m ∈ N, Ij ⊆ {1, . . . ,n}, and Jj ⊆ {1, . . . ,p} for all j = 1, . . . ,m{Ij},{Jj} define a sparsity pattern of f positive on K if:

• f = ∑mj=1 fj with fj ∈ R[x, Ij], ⇒ x1x2 + x21x3

• gi ∈ R[x, Ij] ∀i ∈ Jj, ∀j = 1, . . . ,m, ⇒ gi = xi, i ≤ 3•

∪mj=1 Ij = {1, . . . ,n} and ∪m

j=1 Jj = {1, . . . ,p},• (Running Intersection Property) ∀j = 1, . . . ,m− 1, ∃s ≤ j s.t.Ij+1 ∩

∪ji=1 Ii ⊆ Is,

⇒ I2 ∩ I1 = {1} ⊂ I1

Page 29: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 15/34

Krivine-Stengle - Sparsity (I)

Example on K = [0,1]3

f(x) = x1x2 + x21x3 ⇒ J1 = I1 = {1,2}, J2 = I2 = {1,3}

Given m ∈ N, Ij ⊆ {1, . . . ,n}, and Jj ⊆ {1, . . . ,p} for all j = 1, . . . ,m{Ij},{Jj} define a sparsity pattern of f positive on K if:

• f = ∑mj=1 fj with fj ∈ R[x, Ij], ⇒ x1x2 + x21x3

• gi ∈ R[x, Ij] ∀i ∈ Jj, ∀j = 1, . . . ,m, ⇒ gi = xi, i ≤ 3•

∪mj=1 Ij = {1, . . . ,n} and ∪m

j=1 Jj = {1, . . . ,p},• (Running Intersection Property) ∀j = 1, . . . ,m− 1, ∃s ≤ j s.t.Ij+1 ∩

∪ji=1 Ii ⊆ Is, ⇒ I2 ∩ I1 = {1} ⊂ I1

Page 30: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 16/34

Krivine-Stengle - Sparsity (II)

Kj = {x ∈ Rnj : 0 ≤ gi(x) ≤ 1, i ∈ Jj}, with j = 1, . . . ,m

Sparse K.S. representationsIf f positive over K, and there exists some sparsity pattern{Ij}, {Jj}:

f =m

∑j=1

ϕj and ϕj > 0 over Kj

ϕj = ∑|αj+βj|≤k

λαj,βjhαj,βj

, j = 1, . . . ,m, λαj,βj≥ 0.

hαj,βj:= gαj(1−g)βj , with αj, βj ∈ Nnj

Page 31: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 17/34

Rounding with Sparse K.S - Theory

l(x,e) :=m

∑j=1

∂r(x,e)∂ej

(x,0)ej =m

∑j=1

sj(x)ej

K = {y ∈ Rn+m : 0 ≤ gj(y) ≤ 1 , j = 1, . . . ,n+m} ,

with (for x ∈ [0,1]n): gj(y) := xj, j = 1, . . . ,nand: gj(y) := 1

2 +ej2 , j = n+ 1, . . . ,n+m.

Jj = Ij = {1, . . . ,n,n+ j}

â hαj,βj(y) = hα′j,β

′j,γj,δj

(x,e) = xα′j(1− x)β′j(12 +

ej2 )

γj(12 − ej2 )

δj .

Page 32: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 18/34

Rounding with Sparse K.S - Theory

â l(x,e) := ∑mj=1

∂r(x,e)∂ej

(x,0)ej = ∑mj=1 sj(x)ej

â hαj,βj(y) = xα′j(1− x)β′

j(12 +ej2 )

γj(12 − ej2 )

δj .

l′k :=maxt∈R

t ,

s.t l′(x,e)− t ≥ 0,∀(x,e) ∈ K.

Page 33: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 19/34

Rounding with Sparse K.S - Theory

â l(x,e) := ∑mj=1

∂r(x,e)∂ej

(x,0)ej = ∑mj=1 sj(x)ej

â hαj,βj(y) = xα′j(1− x)β′

j(12 +ej2 )

γj(12 − ej2 )

δj .

l′k := maxt,λαj,βj

t ,

s.t l′ − t =m

∑j=1

ϕj ,

ϕj = ∑|αj+βj|≤k

λαj,βjhαj,βj

,

λαj,βj≥ 0 , j = 1, . . . ,m .

Page 34: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 20/34

Rounding with Sparse K.S - Linear Programmingl′k := max

t,λαj,βj

t ,

s.t l′ − t =m

∑j=1

ϕj ,

ϕj = ∑|αj+βj|≤k

λαj,βjhαj,βj

, j = 1, . . . ,m ,

λαj,βj≥ 0 , j = 1, . . . ,m .

â Equivalent to a Linear Program (LP).+ Optimization with linear cost function & Polytopic feasible set.

â Used LP solver in implementation: Cplex.

Page 35: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 21/34

Rounding with Sparse K.S - Example

l′3 := maxt,λαj ,βj

t ,

s.t (2x2 − x)e1 + x2e2 + (x2 − x)e3 − t =m

∑j=1

ϕj ,

ϕj = ∑|αj+βj |≤3

λαj ,βjhαj ,β1

(x,ej) ,

λαj ,βj≥ 0 , j = 1, . . . ,3 .

+ l′∗ ≤max(|l′3|, |l′3|) = 2

Solving a LP of:â SPARSE (var):

m(2(n+1)+kk ) +1 = 106

â DENSE (var):(2(n+m)+k

k ) + 1 = 165â SPARSE (constraint):

[ mkn+1 + 1](n+kk ) = 22

â DENSE (constraint):(n+m+k

k ) = 35

Page 36: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 21/34

Rounding with Sparse K.S - Example

l′3 := maxt,λαj ,βj

t ,

s.t (2x2 − x)e1 + x2e2 + (x2 − x)e3 − t =m

∑j=1

ϕj ,

ϕj = ∑|αj+βj |≤3

λαj ,βjhαj ,β1

(x,ej) ,

λαj ,βj≥ 0 , j = 1, . . . ,3 .

+ l′∗ ≤max(|l′3|, |l′3|) = 2

Solving a LP of:â SPARSE (var):

m(2(n+1)+kk ) +1 = 106â DENSE (var):

(2(n+m)+kk ) + 1 = 165

â SPARSE (constraint):[ mkn+1 + 1](n+kk ) = 22

â DENSE (constraint):(n+m+k

k ) = 35

Page 37: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 21/34

Rounding with Sparse K.S - Example

l′3 := maxt,λαj ,βj

t ,

s.t (2x2 − x)e1 + x2e2 + (x2 − x)e3 − t =m

∑j=1

ϕj ,

ϕj = ∑|αj+βj |≤3

λαj ,βjhαj ,β1

(x,ej) ,

λαj ,βj≥ 0 , j = 1, . . . ,3 .

+ l′∗ ≤max(|l′3|, |l′3|) = 2

Solving a LP of:â SPARSE (var):

m(2(n+1)+kk ) +1 = 106â DENSE (var):

(2(n+m)+kk ) + 1 = 165

â SPARSE (constraint):[ mkn+1 + 1](n+kk ) = 22

â DENSE (constraint):(n+m+k

k ) = 35

Page 38: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

Preliminaries Error bounds computation 21/34

Rounding with Sparse K.S - Example

l′3 := maxt,λαj ,βj

t ,

s.t (2x2 − x)e1 + x2e2 + (x2 − x)e3 − t =m

∑j=1

ϕj ,

ϕj = ∑|αj+βj |≤3

λαj ,βjhαj ,β1

(x,ej) ,

λαj ,βj≥ 0 , j = 1, . . . ,3 .

+ l′∗ ≤max(|l′3|, |l′3|) = 2

Solving a LP of:â SPARSE (var):

m(2(n+1)+kk ) +1 = 106â DENSE (var):

(2(n+m)+kk ) + 1 = 165

â SPARSE (constraint):[ mkn+1 + 1](n+kk ) = 22

â DENSE (constraint):(n+m+k

k ) = 35

Page 39: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

22/34

Compared tools

Real2Float Ocaml/Coq CertificatesRosa Java No CertificateFPTaylor Ocaml/Hol Light Certificates

â Using default features: rounding of polynomial functions overboxes.

â No convergence speed study.. Additional custom made benchmarks:

ex-n-nSum-deg(x) :=nSum

∑j=0

(deg

∏k=1

(n

∑i=1

xi)) .

Page 40: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

23/34

Performances (seconds) - Classical BenchmarksC++ Matlab Matlab Ocaml Java OCaml

Benchmark n m d FPBern(a) FPBern(b) FPKriSten Real2Float Rosa FPTaylorrigidBody1 3 10 3 5e–4 0.88 0.22(0.02) 0.58 0.13 1.84rigidBody2 3 15 5 2e–3 1.87 2.78(0.47) 0.26 2.17 3.01kepler0 6 21 3 4e–3 9.62 1.93(0.18) 0.22 3.78 4.93kepler1 4 28 4 6e–3 6.91 3.93(0.53) 17.6 63.1 9.33kepler2 6 42 4 5e–2 64.9 20.5(3.75) 16.5 106 19.1sineTaylor 1 13 8 6e–4 0.50 0.92(0.27) 1.05 3.50 2.91sineOrder3 1 6 4 2e–4 0.27 0.08(0.01) 0.40 0.48 1.90sqroot 1 15 5 2e–4 0.34 0.24(0.02) 0.14 0.77 2.70himmilbeau 2 11 5 1e–3 1.72 0.77(0.22) 0.20 2.51 3.28schwefel 3 15 5 2e–3 3.04 2.90(0.56) 0.23 3.91 0.53magnetism 7 27 3 9e–2 176 3.07(0.26) 0.29 1.95 5.91caprasse 4 34 5 6e–3 6.03 18.8(4.89) 3.63 17.6 12.2

+ FPBern(a): not certified but fast.

+ FPBern(b): sound & “not too slow”.+ FPKriSten: certificates & LP solving fast.

Page 41: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

23/34

Performances (seconds) - Classical BenchmarksC++ Matlab Matlab Ocaml Java OCaml

Benchmark n m d FPBern(a) FPBern(b) FPKriSten Real2Float Rosa FPTaylorrigidBody1 3 10 3 5e–4 0.88 0.22(0.02) 0.58 0.13 1.84rigidBody2 3 15 5 2e–3 1.87 2.78(0.47) 0.26 2.17 3.01kepler0 6 21 3 4e–3 9.62 1.93(0.18) 0.22 3.78 4.93kepler1 4 28 4 6e–3 6.91 3.93(0.53) 17.6 63.1 9.33kepler2 6 42 4 5e–2 64.9 20.5(3.75) 16.5 106 19.1sineTaylor 1 13 8 6e–4 0.50 0.92(0.27) 1.05 3.50 2.91sineOrder3 1 6 4 2e–4 0.27 0.08(0.01) 0.40 0.48 1.90sqroot 1 15 5 2e–4 0.34 0.24(0.02) 0.14 0.77 2.70himmilbeau 2 11 5 1e–3 1.72 0.77(0.22) 0.20 2.51 3.28schwefel 3 15 5 2e–3 3.04 2.90(0.56) 0.23 3.91 0.53magnetism 7 27 3 9e–2 176 3.07(0.26) 0.29 1.95 5.91caprasse 4 34 5 6e–3 6.03 18.8(4.89) 3.63 17.6 12.2

+ FPBern(a): not certified but fast.+ FPBern(b): sound & “not too slow”.

+ FPKriSten: certificates & LP solving fast.

Page 42: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

23/34

Performances (seconds) - Classical BenchmarksC++ Matlab Matlab Ocaml Java OCaml

Benchmark n m d FPBern(a) FPBern(b) FPKriSten Real2Float Rosa FPTaylorrigidBody1 3 10 3 5e–4 0.88 0.22(0.02) 0.58 0.13 1.84rigidBody2 3 15 5 2e–3 1.87 2.78(0.47) 0.26 2.17 3.01kepler0 6 21 3 4e–3 9.62 1.93(0.18) 0.22 3.78 4.93kepler1 4 28 4 6e–3 6.91 3.93(0.53) 17.6 63.1 9.33kepler2 6 42 4 5e–2 64.9 20.5(3.75) 16.5 106 19.1sineTaylor 1 13 8 6e–4 0.50 0.92(0.27) 1.05 3.50 2.91sineOrder3 1 6 4 2e–4 0.27 0.08(0.01) 0.40 0.48 1.90sqroot 1 15 5 2e–4 0.34 0.24(0.02) 0.14 0.77 2.70himmilbeau 2 11 5 1e–3 1.72 0.77(0.22) 0.20 2.51 3.28schwefel 3 15 5 2e–3 3.04 2.90(0.56) 0.23 3.91 0.53magnetism 7 27 3 9e–2 176 3.07(0.26) 0.29 1.95 5.91caprasse 4 34 5 6e–3 6.03 18.8(4.89) 3.63 17.6 12.2

+ FPBern(a): not certified but fast.+ FPBern(b): sound & “not too slow”.

+ FPKriSten: certificates & LP solving fast.

Page 43: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

24/34

Performances (seconds) - Generated BenchmarksC++ Matlab Matlab Ocaml Java OCaml

Benchmark n m d FPBern(a) FPBern(b) FPKriSten Real2Float Rosa FPTaylorex-2-2-5 2 9 3 4e–4 0.69 0.12(0.01) 0.07 4.20 2.30ex-2-2-10 2 14 3 5e–4 0.71 0.17(0.01) 0.35 4.75 3.42ex-2-2-15 2 19 3 6e–4 0.72 0.23(0.02) 9.75 5.33 4.91ex-2-2-20 2 24 3 8e–4 0.73 0.28(0.02) TIMEOUT 6.28 6.27ex-2-5-2 2 9 6 2e–2 2.34 1.23(0.26) 0.27 4.26 2.53ex-2-10-2 2 14 11 2e–2 7.34 96.9(58.5) 49.2 9.37 5.07ex-5-2-2 5 12 3 8e–3 18.3 0.70(0.08) 0.21 4.45 12.3ex-10-2-2 10 22 3 2.50 TIMEOUT 6.11(0.6) 30.7 5.34 34.6

+ No major effect of the error variables.

+ Bernstein appropriate for “high” degree:O(dn) (fixed n)

+ K.S. appropriate for “high” dimension:O(nd) (fixed d)

Page 44: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

24/34

Performances (seconds) - Generated BenchmarksC++ Matlab Matlab Ocaml Java OCaml

Benchmark n m d FPBern(a) FPBern(b) FPKriSten Real2Float Rosa FPTaylorex-2-2-5 2 9 3 4e–4 0.69 0.12(0.01) 0.07 4.20 2.30ex-2-2-10 2 14 3 5e–4 0.71 0.17(0.01) 0.35 4.75 3.42ex-2-2-15 2 19 3 6e–4 0.72 0.23(0.02) 9.75 5.33 4.91ex-2-2-20 2 24 3 8e–4 0.73 0.28(0.02) TIMEOUT 6.28 6.27ex-2-5-2 2 9 6 2e–2 2.34 1.23(0.26) 0.27 4.26 2.53ex-2-10-2 2 14 11 2e–2 7.34 96.9(58.5) 49.2 9.37 5.07ex-5-2-2 5 12 3 8e–3 18.3 0.70(0.08) 0.21 4.45 12.3ex-10-2-2 10 22 3 2.50 TIMEOUT 6.11(0.6) 30.7 5.34 34.6

+ No major effect of the error variables.+ Bernstein appropriate for “high” degree:

O(dn) (fixed n)

+ K.S. appropriate for “high” dimension:O(nd) (fixed d)

Page 45: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

24/34

Performances (seconds) - Generated BenchmarksC++ Matlab Matlab Ocaml Java OCaml

Benchmark n m d FPBern(a) FPBern(b) FPKriSten Real2Float Rosa FPTaylorex-2-2-5 2 9 3 4e–4 0.69 0.12(0.01) 0.07 4.20 2.30ex-2-2-10 2 14 3 5e–4 0.71 0.17(0.01) 0.35 4.75 3.42ex-2-2-15 2 19 3 6e–4 0.72 0.23(0.02) 9.75 5.33 4.91ex-2-2-20 2 24 3 8e–4 0.73 0.28(0.02) TIMEOUT 6.28 6.27ex-2-5-2 2 9 6 2e–2 2.34 1.23(0.26) 0.27 4.26 2.53ex-2-10-2 2 14 11 2e–2 7.34 96.9(58.5) 49.2 9.37 5.07ex-5-2-2 5 12 3 8e–3 18.3 0.70(0.08) 0.21 4.45 12.3ex-10-2-2 10 22 3 2.50 TIMEOUT 6.11(0.6) 30.7 5.34 34.6

+ No major effect of the error variables.+ Bernstein appropriate for “high” degree:

O(dn) (fixed n)+ K.S. appropriate for “high” dimension:

O(nd) (fixed d)

Page 46: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

25/34

Accuracy - Classical BenchmarksC++ Matlab Matlab Ocaml Java OCaml

Benchmark n m d FPBern(a) FPBern(b) FPKriSten Real2Float Rosa FPTaylorrigidBody1 3 10 3 5.33e–13 5.33e–13 5.33e–13 5.33e–13 5.08e–13 3.87e–13rigidBody2 3 15 5 6.48e–11 6.48e–11 6.48e–11 6.48e–11 6.48e–11 5.24e–11kepler0 6 21 3 1.08e–13 1.08e–13 1.08e–13 1.18e–13 1.16e–13 1.05e–13kepler1 4 28 4 4.23e–13 4.04e–13 4.23e–13 4.47e–13 6.49e–13 4.49e–13kepler2 6 42 4 2.03e–12 2.03e–12 2.03e–12 2.09e–12 2.89e–12 2.10e–12sineTaylor 1 13 8 5.51e–16 5.48e–16 5.51e–16 6.03e–16 9.56e–16 6.75e–16sineOrder3 1 6 4 1.35e–15 1.35e–15 1.25e–15 1.19e–15 1.11e–15 9.97e–16sqroot 1 15 5 1.29e–15 1.29e–15 1.29e–15 1.29e–15 8.41e–16 7.13e–16himmilbeau 2 11 5 2.00e–12 2.00e–12 1.97e–12 1.43e–12 1.43e–12 1.32e–12schwefel 3 15 5 1.48e–11 1.48e–11 1.48e–11 1.49e–11 1.49e–11 1.03e–11magnetism 7 27 3 1.27e–14 1.27e–14 1.27e–14 1.27e–14 1.27e–14 7.61e–15caprasse 4 34 5 4.49e–15 4.49e–15 4.49e–15 5.63e–15 5.96e–15 3.04e–15

+ Similar accuracy to Real2Float & Rosa.

Page 47: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

25/34

Accuracy - Classical BenchmarksC++ Matlab Matlab Ocaml Java OCaml

Benchmark n m d FPBern(a) FPBern(b) FPKriSten Real2Float Rosa FPTaylorrigidBody1 3 10 3 5.33e–13 5.33e–13 5.33e–13 5.33e–13 5.08e–13 3.87e–13rigidBody2 3 15 5 6.48e–11 6.48e–11 6.48e–11 6.48e–11 6.48e–11 5.24e–11kepler0 6 21 3 1.08e–13 1.08e–13 1.08e–13 1.18e–13 1.16e–13 1.05e–13kepler1 4 28 4 4.23e–13 4.04e–13 4.23e–13 4.47e–13 6.49e–13 4.49e–13kepler2 6 42 4 2.03e–12 2.03e–12 2.03e–12 2.09e–12 2.89e–12 2.10e–12sineTaylor 1 13 8 5.51e–16 5.48e–16 5.51e–16 6.03e–16 9.56e–16 6.75e–16sineOrder3 1 6 4 1.35e–15 1.35e–15 1.25e–15 1.19e–15 1.11e–15 9.97e–16sqroot 1 15 5 1.29e–15 1.29e–15 1.29e–15 1.29e–15 8.41e–16 7.13e–16himmilbeau 2 11 5 2.00e–12 2.00e–12 1.97e–12 1.43e–12 1.43e–12 1.32e–12schwefel 3 15 5 1.48e–11 1.48e–11 1.48e–11 1.49e–11 1.49e–11 1.03e–11magnetism 7 27 3 1.27e–14 1.27e–14 1.27e–14 1.27e–14 1.27e–14 7.61e–15caprasse 4 34 5 4.49e–15 4.49e–15 4.49e–15 5.63e–15 5.96e–15 3.04e–15

+ Similar accuracy to Real2Float & Rosa.

Page 48: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

25/34

Accuracy - Classical BenchmarksC++ Matlab Matlab Ocaml Java OCaml

Benchmark n m d FPBern(a) FPBern(b) FPKriSten Real2Float Rosa FPTaylorrigidBody1 3 10 3 5.33e–13 5.33e–13 5.33e–13 5.33e–13 5.08e–13 3.87e–13rigidBody2 3 15 5 6.48e–11 6.48e–11 6.48e–11 6.48e–11 6.48e–11 5.24e–11kepler0 6 21 3 1.08e–13 1.08e–13 1.08e–13 1.18e–13 1.16e–13 1.05e–13kepler1 4 28 4 4.23e–13 4.04e–13 4.23e–13 4.47e–13 6.49e–13 4.49e–13kepler2 6 42 4 2.03e–12 2.03e–12 2.03e–12 2.09e–12 2.89e–12 2.10e–12sineTaylor 1 13 8 5.51e–16 5.48e–16 5.51e–16 6.03e–16 9.56e–16 6.75e–16sineOrder3 1 6 4 1.35e–15 1.35e–15 1.25e–15 1.19e–15 1.11e–15 9.97e–16sqroot 1 15 5 1.29e–15 1.29e–15 1.29e–15 1.29e–15 8.41e–16 7.13e–16himmilbeau 2 11 5 2.00e–12 2.00e–12 1.97e–12 1.43e–12 1.43e–12 1.32e–12schwefel 3 15 5 1.48e–11 1.48e–11 1.48e–11 1.49e–11 1.49e–11 1.03e–11magnetism 7 27 3 1.27e–14 1.27e–14 1.27e–14 1.27e–14 1.27e–14 7.61e–15caprasse 4 34 5 4.49e–15 4.49e–15 4.49e–15 5.63e–15 5.96e–15 3.04e–15

+ Similar accuracy to Real2Float & Rosa.

Page 49: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

26/34

Accuracy - Generated BenchmarksC++ Matlab Matlab Ocaml Java OCaml

Benchmark n m d FPBern(a) FPBern(b) FPKriSten Real2Float Rosa FPTaylorex-2-2-5 2 9 3 2.23e–14 2.23e–14 2.23e–14 2.23e–14 2.23e–14 1.96e–14ex-2-2-10 2 14 3 5.33e–14 5.33e–14 5.33e–14 5.33e–15 5.33e–14 4.85e–14ex-2-2-15 2 19 3 9.55e–14 9.55e–14 9.55e–14 9.55e–14 9.55e–14 8.84e–14ex-2-2-20 2 24 3 1.49e–13 1.49e–13 1.49e–13 TIMEOUT 1.49e–13 1.40e–13ex-2-5-2 2 9 6 1.67e–13 1.67e–13 1.67e–13 1.67e–13 1.67e–13 1.41e–13ex-2-10-2 2 14 11 1.05e–11 1.05e–11 1.34e–11 1.05e–11 1.05e–11 8.76e–12ex-5-2-2 5 12 3 8.55e–14 8.55e–14 8.55e–14 8.55e–14 8.55e–14 7.72e–14ex-10-2-2 10 22 3 5.16e–13 TIMEOUT 5.16e–13 5.16e–13 5.16e–13 4.82e–13

+ Optimal Solutions on the custom benchmarks !

Page 50: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

27/34

Result Overview

â FPBern & FPKriSten: similar accuracy with Real2Float & Rosa.

â FPBern(a): Not sound BUT very fast.â FPBern(b): Sound BUT a bit slower ⇒ Matlab.â FPKriSten:

– Generate certificates.– LP built in Matlab THEN solved with Cplex ⇒ Speed up possible.

Page 51: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

27/34

Result Overview

â FPBern & FPKriSten: similar accuracy with Real2Float & Rosa.â FPBern(a): Not sound BUT very fast.

â FPBern(b): Sound BUT a bit slower ⇒ Matlab.â FPKriSten:

– Generate certificates.– LP built in Matlab THEN solved with Cplex ⇒ Speed up possible.

Page 52: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

27/34

Result Overview

â FPBern & FPKriSten: similar accuracy with Real2Float & Rosa.â FPBern(a): Not sound BUT very fast.â FPBern(b): Sound BUT a bit slower ⇒ Matlab.

â FPKriSten:

– Generate certificates.– LP built in Matlab THEN solved with Cplex ⇒ Speed up possible.

Page 53: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

27/34

Result Overview

â FPBern & FPKriSten: similar accuracy with Real2Float & Rosa.â FPBern(a): Not sound BUT very fast.â FPBern(b): Sound BUT a bit slower ⇒ Matlab.â FPKriSten:

– Generate certificates.– LP built in Matlab THEN solved with Cplex ⇒ Speed up possible.

Page 54: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

27/34

Result Overview

â FPBern & FPKriSten: similar accuracy with Real2Float & Rosa.â FPBern(a): Not sound BUT very fast.â FPBern(b): Sound BUT a bit slower ⇒ Matlab.â FPKriSten:– Generate certificates.

– LP built in Matlab THEN solved with Cplex ⇒ Speed up possible.

Page 55: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

27/34

Result Overview

â FPBern & FPKriSten: similar accuracy with Real2Float & Rosa.â FPBern(a): Not sound BUT very fast.â FPBern(b): Sound BUT a bit slower ⇒ Matlab.â FPKriSten:– Generate certificates.– LP built in Matlab THEN solved with Cplex ⇒ Speed up possible.

Page 56: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

28/34

Conclusions

+ Similar accuracy.

+ Computational cost due to error variables e drasticallyreduced.

+ Bernstein appropriate for “high” degree/low dimensions.+ K.S. appropriate for “higher” dimensions/low degree.

Page 57: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

28/34

Conclusions

+ Similar accuracy.+ Computational cost due to error variables e drasticallyreduced.

+ Bernstein appropriate for “high” degree/low dimensions.+ K.S. appropriate for “higher” dimensions/low degree.

Page 58: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

28/34

Conclusions

+ Similar accuracy.+ Computational cost due to error variables e drasticallyreduced.

+ Bernstein appropriate for “high” degree/low dimensions.

+ K.S. appropriate for “higher” dimensions/low degree.

Page 59: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

28/34

Conclusions

+ Similar accuracy.+ Computational cost due to error variables e drasticallyreduced.

+ Bernstein appropriate for “high” degree/low dimensions.+ K.S. appropriate for “higher” dimensions/low degree.

Page 60: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

29/34

Perspectives

â FPKriSten in C++.

â Extend FPKriSten to algebraic compact set.â FPBern with rational arithmetic in C++.â Polytopic domains for FPBern.â Set splitting for better accuracy (or degree increase).â Handling Loops, Handling conditional statements.â . . .

Page 61: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

29/34

Perspectives

â FPKriSten in C++.â Extend FPKriSten to algebraic compact set.

â FPBern with rational arithmetic in C++.â Polytopic domains for FPBern.â Set splitting for better accuracy (or degree increase).â Handling Loops, Handling conditional statements.â . . .

Page 62: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

29/34

Perspectives

â FPKriSten in C++.â Extend FPKriSten to algebraic compact set.â FPBern with rational arithmetic in C++.

â Polytopic domains for FPBern.â Set splitting for better accuracy (or degree increase).â Handling Loops, Handling conditional statements.â . . .

Page 63: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

29/34

Perspectives

â FPKriSten in C++.â Extend FPKriSten to algebraic compact set.â FPBern with rational arithmetic in C++.â Polytopic domains for FPBern.

â Set splitting for better accuracy (or degree increase).â Handling Loops, Handling conditional statements.â . . .

Page 64: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

29/34

Perspectives

â FPKriSten in C++.â Extend FPKriSten to algebraic compact set.â FPBern with rational arithmetic in C++.â Polytopic domains for FPBern.â Set splitting for better accuracy (or degree increase).

â Handling Loops, Handling conditional statements.â . . .

Page 65: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

29/34

Perspectives

â FPKriSten in C++.â Extend FPKriSten to algebraic compact set.â FPBern with rational arithmetic in C++.â Polytopic domains for FPBern.â Set splitting for better accuracy (or degree increase).â Handling Loops, Handling conditional statements.

â . . .

Page 66: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

29/34

Perspectives

â FPKriSten in C++.â Extend FPKriSten to algebraic compact set.â FPBern with rational arithmetic in C++.â Polytopic domains for FPBern.â Set splitting for better accuracy (or degree increase).â Handling Loops, Handling conditional statements.â . . .

Page 67: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

30/34

Thank You !

+ FPKriSten: https://github.com/roccaa/FPKriSten+ FPBern: https://github.com/roccaa/FPBern+ Paper: https://arxiv.org/abs/1610.07038

Page 68: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

31/34

Bibliography I

E. Darulova and V. Kuncak.Sound compilation of reals.Acm Sigplan Notices, 49(1):235–248, 2014.

M. Daumas and G. Melquiond.Certification of Bounds on Expressions Involving RoundedOperators.ACM TMS, 37(1):2:1–2:20, Jan. 2010.

Page 69: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

32/34

Bibliography II

D. Delmas, E. Goubault, S. Putot, J. Souyris, K. Tekkal, andF. Védrine.Towards an industrial use of fluctuat on safety-criticalavionics software.In FMICS, volume 5825 of LNCS, pages 53–69. 2009.

T. Dreossi and T. Dang.Parameter synthesis for polynomial biological models.In HSCC, pages 233–242. ACM, 2014.

Page 70: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

33/34

Bibliography III

V. Magron, G. Constantinides, and A. Donaldson.Certified roundoff error bounds using semidefiniteprogramming.ACM (TOMS), 43(4):34, 2017.

A. Solovyev, C. Jacobsen, Z. Rakamarić, andG. Gopalakrishnan.Rigorous Estimation of Floating-Point Round-off Errors withSymbolic Taylor Expansions.In FM, volume 9109 of LNCS. Springer.

Page 71: Certified Roundoff Error bounds using Bernstein Expansions ...arith24.arithsymposium.org/slides/s6-rocca.pdf · Introduction BernsteinExpansions Krivine-Stengle(K.S.) Results 3/34

Introduction Bernstein Expansions Krivine-Stengle (K.S.) Results

34/34

Bibliography IV

T. Weisser, J. B. Lasserre, and K.-C. Toh.Sparse-bsos: a bounded degree sos hierarchy for largescale polynomial optimization with sparsity.Math. Prog. Comp., pages 1–32, 2017.


Recommended