computation in real closed infinitesimal and transcendental extensions of the rationals

Post on 24-Feb-2016

54 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

Computation in Real Closed Infinitesimal and Transcendental Extensions of the Rationals. Leonardo de Moura Grant Passmore. What?. Transcendental. Infinitesimal. FindRoots ( ). Real Closed Fields. Ordered Field Positive elements are squares All polynomials of odd degree have roots. - PowerPoint PPT Presentation

TRANSCRIPT

Computation in Real Closed Infinitesimal andTranscendental Extensions of the Rationals

Leonardo de MouraGrant Passmore

What?

𝜋+𝜖<𝜋

1+𝜖𝜖2

>10100

FindRoots ()

√2+√3

InfinitesimalTranscendental

3√ 19− 3√ 29 + 3√ 49=3√ 3√2−1

Real Closed Fields

ℝ 𝑎𝑙𝑔

Real Algebraic Numbers

Ordered FieldPositive elements are squares All polynomials of odd degree have roots

Real Closed Fields

ℝ 𝑎𝑙𝑔=~ℚ

⊆Real Closure of the Rational Numbers

Real Closed Fields

ℝ 𝑎𝑙𝑔=~ℚ

⊆~𝐾 ,𝐾=ℚ(𝜋)

⊆Field extension

Real Closed Fields

ℝ 𝑎𝑙𝑔=~ℚ

⊆~𝐾 ,𝐾=ℚ(𝜋)

⊆~𝐾 1 ,𝐾 1=ℚ(𝜋 )(𝑒)⊆

Real Closed Fields

ℝ 𝑎𝑙𝑔=~ℚ

~𝐾 ,𝐾=ℚ(𝜋)

~𝐾 1,𝐾 1=ℚ(𝜋 )(𝑒)

⊆ℍ⊆

~𝐾 2 ,𝐾 2=ℚ (𝜋)(𝑒)(𝜖)⊇Hyperreals

Infinitesimal

Real Closed Fields

ℝ 𝑎𝑙𝑔=~ℚ

~𝐾 ,𝐾=ℚ(𝜋)

~𝐾 1,𝐾 1=ℚ(𝜋 )(𝑒)

⊆ℍ⊆

~𝐾 2 ,𝐾 2=ℚ (𝜋)(𝑒)(𝜖)⊇Hyperreals

Infinitesimal

Why?

NLSat: Nonlinear Arithmetic Solver (RCF) IJCAR 2012(joint work with Dejan Jovanovic)

Also relevant for any CAD-based procedure, and model generating solvers

NLSat bottlenecks:

• Real algebraic number computations

• Subresultant computations

NLSat

𝑥→−√2Decide

NLSat

𝑥→−√2DecideThere is no s.t.

NLSat

𝑥→−√2DecideThere is no s.t. Conflict resolution (and backtrack) implies

NLSat

𝑥→√2Decide𝑦→−1/2Decide

NLSat

Example:

𝑦 5− 𝑦+(𝑥¿¿3+1)¿

Before: timeout (old package used Resultant theory)After: 0.05 secs

NLSat + Transcendental constants

Nonlinear Arithmetic Solver

Transcendental Constants (e.g., MetiTarski)

Exact Nonlinear Optimization (on demand)

Find smallest s.t.

Output:unsatunboundedminimum()infimum()

Exact Nonlinear Optimization (on demand)

Find smallest s.t.

Observation 1:

Univariate case is easy

Inefficient solution:

Exact Nonlinear Optimization (on demand)

Find smallest s.t.

Observation 2:Adapt NLSat for solving the satisfiability modulo assignment problem.

Satisfiability Modulo Assignment (SMA)

Given and Output:sat satisfies

unsat() implies and is false

No-good sampling

,

,

, …, …

Finite decomposition property:The sequence is finite

approximates

Exact Nonlinear Optimization (on demand)

−∞

Univariate minimization

Related WorkTranscendental constants

MetiTarskiInterval Constraint Propagation (ICP)

RealPaver, Rsolver, iSat, dReal

Reasoning with InfinitesimalsACL2, Isabelle/HOLNonstandard analysis

Real Closure of a Single Infinitesimal Extension [Rioboo]Puiseux series

Coste-Roy: encoding algebraic elements using Thom’s lemma

Our approach

Tower of extensions

Hybrid representation

Interval (arithmetic) + Thom’s lemma

Clean denominators

Non-minimal defining polynomials

Tower of extensions

Transcendental, Infinitesimal, or

Algebraic extension

Tower of extensions

Transcendental Extensions

Infinitesimal Extensions

Algebraic Extensions

ℚ (𝑡 1)… (𝑡𝑛 ) (𝜖1)… (𝜖𝑚 ) (𝛼1 )… (𝛼𝑘)

Tower of extensionsBasic Idea:

Given (computable) ordered field Implement

Tower of extensions(Computable) ordered field Operations:

Approximation: -interval

Refine approximation

Binary Rational

(Computable) Transcendental Extensions

-interval

𝜋2+𝜋 −2𝜋+1

Elements of the extension are encoded as rational functions

(Computable) Transcendental Extensions

12𝜋+ 1

𝜋+1=

12𝜋2

+12𝜋+1

𝜋+112𝜋+ 1

𝜋+1=

12𝜋2

+12𝜋+1

𝜋+1

Standard normal form for rational functionsGCD(numerator, denominator) = 1Denominator is a monic polynomial

(Computable) Transcendental Extensions

Refine intervalInterval arithmeticRefine coefficients and extension

Zero iff numerator is the zero polynomialIf is not the zero polynomial, then can’t be zero, since is transcendental.

Remark is transcendental with respect to

is not transcendental with respect to

Infinitesimal Extensions

Every infinitesimal extension is transcendental

Rational functions

sign of first non zero coefficient

Non-refinable intervals

Algebraic Extensions

is a root of a polynomial with coefficients in Encoding as polynomial + interval does not work may not be Archimedian

Roots can be infinitely close to each other.Roots can be greater than any Real.

Thom’s LemmaWe can always distinguish the roots of a polynomial in a RCF using the signs of the derivatives

Algebraic Extensions

Three roots of

Roots: , ,

Algebraic Extensions

The elements of are polynomials .

Implement using polynomial arithmetic.

Compute sign (when possible) using interval arithmetic.

Algebraic Extensions

Let be =

We can normalize a by computing the polynomial remainder.

Polynomial Remainder

Algebraic Extensions: non-minimal Polynomials

Computing the inverse of , where

Find s.t.

Compute the extended GCD of and .

0

Algebraic Extensions: non-minimal Polynomials

We only use square-free polynomials in

They are not necessarily minimal in our implementation.

Solution: Dynamically refine , when computing inverses.

Only is is minimal

Algebraic Extensions

Given Feasible sign assignments of at roots of in Based on Sturm-Tarski TheoremBen-Or et al algorithm.

where

Algebraic Extensions: Clean Representation

Clean denominators of coefficients of in

Use pseudo-remainder when computing Sturm-sequences.

Examplewhere is (

𝛼

Examplewhere is (

𝛼

𝜋

1 1

Examplewhere is (

𝛼

𝜋

1 1 1

√2

Examplewhere is (

𝛼

𝜋

1 1 1

√2

𝜖

1

Examplewhere is (

𝛼

𝜋

1 1 1

√2

𝜖

1𝜋1

Examples

msqrt2, sqrt2 = MkRoots([-2, 0, 1])

print(msqrt2)

>> root(x^2 + -2, (-oo, 0), {})

print(sqrt2)

>> root(x^2 + -2, (0, +oo), {})

print(sqrt2.decimal(10))

>> 1.4142135623?

−2+𝑥2√2−√2

Examplesr1,r2,r3,r4 = MkRoots([1, 0, -10, 0, 1])

msqrt2, sqrt2 = MkRoots([-2, 0, 1])

msqrt3, sqrt3 = MkRoots([-3, 0, 1])

print sqrt3 + sqrt2 == r4>> True

print sqrt3 + sqrt2 > r3>> True

print sqrt3 + msqrt2 == r3>> True

1−10 𝑥2+𝑥4

Examples

pi = Pi()

rs = MkRoots([pi, - sqrt2, 0, 0, 0, 1])

print(len(rs))

>> 1

print(rs[0])

>> root(x^5 + -1 root(x^2 + -2, (0, +oo), {}) x + pi, (-oo, 0), {})

𝜋−√2𝑥+𝑥5

Examples

eps = MkInfinitesimal()

print(eps < 0.000000000000001)

>> True

print(1/eps > 10000000000000000000000)

>> True

print(1/eps + 1 > 1/eps)

>> True

[r] = MkRoots([-eps, 0, 0, 1])

print(r > eps)

>> True −𝜖+𝑥33√𝜖>𝜖

Infinity value

Examples

[x] = MkRoots([-1, -1, 0, 0, 0, 1])

[y] = MkRoots([-197, 3131, -31*x**2, 0, 0, 0, 0, x])

[z] = MkRoots([-735*x*y, 7*y**2, -1231*x**3, 0, 0, y])

print x.decimal(10), y.decimal(10), z.decimal(10)

>> 1.1673039782?, 0.0629726948?, 31.4453571397?

instantaneously solved

Same Example in Mathematica

x = Root[#^5 - # - 1 &, 1]

y = Root[x #^7 - 31 x^2 #^2 + 3131 # - 197 &, 1]

z = Root[y #^5 - 1231 x^3 #^2 + 7 y^2 # - 735 x y &, 1]

10min, is encoded by a polynomial of degree 175.

Conclusion

Package for computing with transcendental, infinitesimal and algebraic extensions.

Main application: exact nonlinear optimization.

Code is available online.

You can play with it online: http://rise4fun.com/z3rcf

More info: https://z3.codeplex.com/wikipage?title=CADE24

PSPACE-complete procedures

top related