Real Solving on Algebraic Systems of Small Dimension Masters Thesis - - PowerPoint PPT Presentation

real solving on algebraic systems of small dimension
SMART_READER_LITE
LIVE PREVIEW

Real Solving on Algebraic Systems of Small Dimension Masters Thesis - - PowerPoint PPT Presentation

Real Solving on Algebraic Systems of Small Dimension Masters Thesis Presentation Dimitrios I. Diochnos University of Athens March 8, 2007 D. I. Diochnos (Univ. of Athens, Q ) Real Solving on Bivariate Algebraic Systems Mar 07


slide-1
SLIDE 1

Real Solving on Algebraic Systems of Small Dimension

Master’s Thesis Presentation Dimitrios I. Diochnos

University of Athens

March 8, 2007

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 1 / 66

slide-2
SLIDE 2

Outline

1

Introduction

2

Results in Univariate Polynomials

3

Results in Bivariate Polynomials

4

Real Solving on Bivariate Systems

5

Applications

6

Implementation

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 2 / 66

slide-3
SLIDE 3

Outline

1

Introduction

2

Results in Univariate Polynomials

3

Results in Bivariate Polynomials

4

Real Solving on Bivariate Systems

5

Applications

6

Implementation

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 3 / 66

slide-4
SLIDE 4

Notation and Conventions

Complexity:

  • OB implies that we are ignoring (poly-)logarithmic factors.

Length function: L()

◮ Given ν ∈ Z, L(ν) implies the bitsize of integer ν. ◮ Given A ∈ Z[x] L(A) implies the maximum bitsize of the

coefficients.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 4 / 66

slide-5
SLIDE 5

Notation and Conventions

Complexity:

  • OB implies that we are ignoring (poly-)logarithmic factors.

Length function: L()

◮ Given ν ∈ Z, L(ν) implies the bitsize of integer ν. ◮ Given A ∈ Z[x] L(A) implies the maximum bitsize of the

coefficients.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 4 / 66

slide-6
SLIDE 6

Operations on Lists.

Sign Variations: Given a list of signs compute sign-swaps. Ignore zeros. Example VAR([+, +, −, 0, −, 0, 0, +]) = 2 Intermediate Points: Given a list of (sorted) rational numbers compute rationals in between. Compute two more bounding rationals for the entire sequence.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 5 / 66

slide-7
SLIDE 7

Operations on Lists.

Sign Variations: Given a list of signs compute sign-swaps. Ignore zeros. Example VAR([+, +, −, 0, −, 0, 0, +]) = 2 Intermediate Points: Given a list of (sorted) rational numbers compute rationals in between. Compute two more bounding rationals for the entire sequence.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 5 / 66

slide-8
SLIDE 8

Polynomial GCD Computation

Euclid’s Algorithm.

◮ Works fine when F, G ∈ Q[x].

What if we want to work in Z[x]?

◮ Pseudo-divisions are required.

k · F = Q · G + λ · R where F, G, Q, R ∈ Z[x] and k, λ ∈ Z.

Pseudo-Euclidean:    (k, λ) = (lead (G)δ+1 , 1) R = rem (F, G) Q = quo (F, G)

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 6 / 66

slide-9
SLIDE 9

Polynomial GCD Computation

Euclid’s Algorithm.

◮ Works fine when F, G ∈ Q[x].

What if we want to work in Z[x]?

◮ Pseudo-divisions are required.

k · F = Q · G + λ · R where F, G, Q, R ∈ Z[x] and k, λ ∈ Z.

Pseudo-Euclidean:    (k, λ) = (lead (G)δ+1 , 1) R = rem (F, G) Q = quo (F, G)

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 6 / 66

slide-10
SLIDE 10

Polynomial GCD Computation

Euclid’s Algorithm.

◮ Works fine when F, G ∈ Q[x].

What if we want to work in Z[x]?

◮ Pseudo-divisions are required.

k · F = Q · G + λ · R where F, G, Q, R ∈ Z[x] and k, λ ∈ Z.

Pseudo-Euclidean:    (k, λ) = (lead (G)δ+1 , 1) R = rem (F, G) Q = quo (F, G)

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 6 / 66

slide-11
SLIDE 11

Sturm Sequences and Signed PRSs.

Corollary

Every sequence (Ai) = (A, A′, . . .) where λiAi = kiAi−2 + Ai−1Qi−1 where ki, λi ∈ R, kiλi < 0 and A1 = A square-free is a Sturm sequence in [Il, IR] where A(IL)A(IR) = 0.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 7 / 66

slide-12
SLIDE 12

Definitions on Signed PRSs.

λiAi = kiAi−2 + Ai−1Qi−1

Pseudo-Euclidean: L(Ai) = O((1 + √ 2)i) ⇒ Impractical. Primitive-Part: 8 < : (ki, λi) = (lead (Ai−1)δi +1 , content (prem (Ai, Ai−1))) Ai = rem (λiAi−2, Ai−1) /ki Qi = quo (λiAi−2, Ai−1) Time Bound: e OB(p2q2τ). Output Bound: L(Ai) = O(pτ). SubResultant: ˘ Ai = prem (Ai−2, Ai−1) / lead (Ai−2) Time Bound: e OB(p2qτ). Output Bound: L(Ai) = O(pτ). Sturm-Habicht: Similar to SubResultant sequences.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 8 / 66

slide-13
SLIDE 13

Example on PRSs.

Given: f = x8 + x6 − 3x4 − 3x3 + 8x2 + 2x − 5 g = 3x6 + 5x4 − 4x2 − 9x + 21 Euclidean: 15x4 − 3x2 + 9 15795x2 + 30375x − 59535 1254542875143750x − 1654608338437500 −12593338795500743100931141992187500 Primitive Part: 5x4 − x2 + 3 13x2 + 25x − 49 4663x − 6150 −1 SubResultant: 15x4 − 3x2 + 9 65x2 + 125x − 245 9326x − 12300 −260708

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 9 / 66

slide-14
SLIDE 14

Outline

1

Introduction

2

Results in Univariate Polynomials Bounds Real Algebraic Numbers Solving in One Variable

3

Results in Bivariate Polynomials

4

Real Solving on Bivariate Systems

5

Applications

6

Implementation

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 10 / 66

slide-15
SLIDE 15

Bounding Roots

Let ̺ ∈ C be a root of the polynomial A(x) = adxd + · · · + a1x + a0. Cauchy, Mignotte: |̺| ≤ 1 + max{|a0|, |a1|, . . . , |ad−1|} |ad| |̺| ≤ max

  • d|ad−1|

|ad| ,

  • d|ad−2|

|ad| ,

3

  • d|ad−3|

|ad| , . . . ,

d

  • d|a0|

|ad|

  • Zassenhaus:

|̺| ≤ 2 · max

k

  • d−k
  • ak

ad

  • Complexity:

OB(dτ).

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 11 / 66

slide-16
SLIDE 16

Real Algebraic Numbers

Definition: Let A ∈ Z[x]. Each ̺ ∈ R such that A(̺) = 0 is a Real Algebraic Number and we will write ̺ ∈ Ralg. Representation: Isolating Intervals. ̺ ∼ = [ square-free(A), [ IL, IR ] ] such that IL, IR ∈ Q, IL ≤ ̺ ≤ IR and ̺ unique root in interval [IL, IR]. Basic Operations: Sign-At. Comparison.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 12 / 66

slide-17
SLIDE 17

Real Algebraic Numbers

Definition: Let A ∈ Z[x]. Each ̺ ∈ R such that A(̺) = 0 is a Real Algebraic Number and we will write ̺ ∈ Ralg. Representation: Isolating Intervals. ̺ ∼ = [ square-free(A), [ IL, IR ] ] such that IL, IR ∈ Q, IL ≤ ̺ ≤ IR and ̺ unique root in interval [IL, IR]. Basic Operations: Sign-At. Comparison.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 12 / 66

slide-18
SLIDE 18

Real Algebraic Numbers

Definition: Let A ∈ Z[x]. Each ̺ ∈ R such that A(̺) = 0 is a Real Algebraic Number and we will write ̺ ∈ Ralg. Representation: Isolating Intervals. ̺ ∼ = [ square-free(A), [ IL, IR ] ] such that IL, IR ∈ Q, IL ≤ ̺ ≤ IR and ̺ unique root in interval [IL, IR]. Basic Operations: Sign-At. Comparison.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 12 / 66

slide-19
SLIDE 19

Polynomial Evaluation at a Ralg point.

Input: α = [A, [L, R]] and f ∈ R[x]; A, f square-free Output: sign(f(α))

1

Compute SubResultant sequence.

2

Evaluate on endpoints.

3

Yield result with Sign-Variations. Complexity: OB(pqτ + p min{p, q}2τ).

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 13 / 66

slide-20
SLIDE 20

Comparison between Ralg numbers.

Input: α = [A, [L, R]] and β = [B, [L, R]] Output: Decide α ≤ β. Idea: Compute SIGN-AT(A(β)). Note: We know the sign of A′(α). Complexity: OB(pqτ + p min{p, q}2τ).

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 14 / 66

slide-21
SLIDE 21

Solving in One Variable

Input: A ∈ Z[x], square-free. Output: A list S of intervals that contain the real roots of A. Subdivision Method. Complexity: [Emiris,Mourrain,Tsigaridas - 2006] Time: OB(p6 + p4τ 2) (+ multiplicities) Output: O(pτ)

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 15 / 66

slide-22
SLIDE 22

Outline

1

Introduction

2

Results in Univariate Polynomials

3

Results in Bivariate Polynomials Extensions. Resultant

4

Real Solving on Bivariate Systems

5

Applications

6

Implementation

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 16 / 66

slide-23
SLIDE 23

Bivariate SignAt.

Input: α ∼ = [A, [AL, AR]], β ∼ = [B, [BL, BR]] and f ∈ Z[x, y]. Output: Compute the sign of f(α, β).

1

Compute a Sturm sequence of (A, f).

2

Evaluate the sequence on each of endpoints AL, AR of α.

3

Perform SIGN-AT at y = β on each polynomial in sequence.

4

Count sign-variations on sequences.

5

Yield result with (VL − VR) · A′(α) Complexity: Sign can be computed in OB(n2

1n3 2τ).

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 17 / 66

slide-24
SLIDE 24

Working in Extension-Fields.

GCD Computation [Hoeij and Monagan - 2002] Other required operations are reduced to univariate SIGN-AT.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 18 / 66

slide-25
SLIDE 25

Resultant

Theorem

Given f, g ∈ Z[x] such that f = n

i=1 aixx and g = m j=1 bjxj with

anbm = 0, there is a unique (up to sign) irreducible polynomial res(f, g) ∈ Z[an, . . . , a0, bm, . . . , b0] which is zero iff f, g have a common factor. It is homogeneous and deg(res(f, g)) = deg(f) + deg(g) = n + m. This polynomial is called resultant.

Theorem

Given f, g ∈ K[x] we can compute the resultant res(f, g) via the Sylvester matrix Syl(f, g). More specifically, we have: res(f, g) = det(Syl(f, g)). Complexity: OB(nmτ).

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 19 / 66

slide-26
SLIDE 26

Resultant

Definition (Sylvester Matrix)

The Sylvester matrix of f and g is the (n + m) × (n + m) matrix defined as follows: Syl(f, g) =                  an an−1 an−2 . . . . . . a0 an an−1 an−2 . . . . . . a0 ... ... ... ... ... ... an an−1 an−2 . . . . . . a0 bm bm−1 bm−2 . . . b0 bm bm−1 bm−2 . . . b0 ... ... ... ... ... ... ... ... ... ... bm bm−1 bm−2 . . . b0                 

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 20 / 66

slide-27
SLIDE 27

Resultant

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 21 / 66

slide-28
SLIDE 28

Outline

1

Introduction

2

Results in Univariate Polynomials

3

Results in Bivariate Polynomials

4

Real Solving on Bivariate Systems Introduction GRID M RUR G RUR

5

Applications

6

Implementation

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 22 / 66

slide-29
SLIDE 29

The Problem

Given

  • f(x, y)

= d1

i=1 aixi

g(x, y) = d2

j=1 bjxj

such that f, g ∈ Z[x, y] we want to compute all (X0, Y0) ∈ Ralg such that f(X0, Y0) = g(X0, Y0) = 0. Assuming df, dg ≤ N and L(f), L(g) ≤ N previous complexity bounds were: Isolating Intervals: OB(N30) [Arnon, McCallum - 1988] Thom’s Encoding: OB(N16) [Gonz´ alez-Vega, Kahoui - 1996]

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 23 / 66

slide-30
SLIDE 30

The Problem

Given

  • f(x, y)

= d1

i=1 aixi

g(x, y) = d2

j=1 bjxj

such that f, g ∈ Z[x, y] we want to compute all (X0, Y0) ∈ Ralg such that f(X0, Y0) = g(X0, Y0) = 0. Assuming df, dg ≤ N and L(f), L(g) ≤ N previous complexity bounds were: Isolating Intervals: OB(N30) [Arnon, McCallum - 1988] Thom’s Encoding: OB(N16) [Gonz´ alez-Vega, Kahoui - 1996]

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 23 / 66

slide-31
SLIDE 31

Our Work [D, Emiris, Tsigaridas - 2007]

Running Time: OB(N12) Output Size: OB(N4) Note: Input Size: OB(N3)

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 24 / 66

slide-32
SLIDE 32

Remark

All algorithms perform projection in both axes and solve the respective resultants. Hence, the following is crucial:

Theorem (Solving Projections)

The complexity for the solutions of the projections is:

  • OB(n12 + n10τ 2) =

OB(N12) since deg(resx) = deg(resy) = O(n2) and L(resx) = L(resy) = O(nτ). The various methods differentiate on the matching procedure.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 25 / 66

slide-33
SLIDE 33

Outline

1

Introduction

2

Results in Univariate Polynomials

3

Results in Bivariate Polynomials

4

Real Solving on Bivariate Systems Introduction GRID M RUR G RUR

5

Applications

6

Implementation

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 26 / 66

slide-34
SLIDE 34

GRID Algorithm

1

Project solutions on axes and find roots.

2

Generate all candidate pairs.

3

Check with BIVARIATESIGNAT for solutions.

Theorem (GRID Complexity)

Isolating all real roots of the system using GRID has complexity

  • OB(n14 + n13τ), provided that τ = O(n3)
  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 27 / 66

slide-35
SLIDE 35

GRID Example

Assume we want to solve the system: f(x, y) = y − x3 + 2x − 1 g(x, y) = y − x2 The system has solutions:    (+0.45, +0.20) (−1.25, +1.55) (+1.80, +3.25)

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 28 / 66

slide-36
SLIDE 36

GRID Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 29 / 66

slide-37
SLIDE 37

GRID Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 30 / 66

slide-38
SLIDE 38

GRID Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 31 / 66

slide-39
SLIDE 39

GRID Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 32 / 66

slide-40
SLIDE 40

GRID Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 33 / 66

slide-41
SLIDE 41

Outline

1

Introduction

2

Results in Univariate Polynomials

3

Results in Bivariate Polynomials

4

Real Solving on Bivariate Systems Introduction GRID M RUR G RUR

5

Applications

6

Implementation

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 34 / 66

slide-42
SLIDE 42

Generic Position

Definition (Generic Position)

Two polynomials f, g ∈ R[x, y] are in generic position if (f(̺, β1) = g(̺, β1) = 0) ∧ (f(̺, β2) = g(̺, β2) = 0) ⇒ β1 = β2. Leading coefficients wrt y are not zero when specializing x.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 35 / 66

slide-43
SLIDE 43

Solutions in Generic Position

Theorem (Solution Existence)

Let A, B square-free and co-prime polynomials in generic position. If SRj(x, y) = srj(x)yj + srj,j−1(x)yj−1 + . . . + srj,0(x), then if (̺, β) is a real solution of the system A = B = 0, then there exists k, such that sr0(̺) = . . . = srk − 1(̺) = 0, srk(̺) = 0 and β = − 1

k srk,k−1(̺) srk(̺)

What we need is: The minimum k such that srk(̺) = psck(̺) = 0.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 36 / 66

slide-44
SLIDE 44

How to Compute K?

Naive: Evaluate all pscj(x) at x = ̺ and pick k = minj(pscj(̺)) = 0. Better: Assume that it works for j = k > 0. It follows that pscj(̺) = 0 ∀j ∈ {0, 1, . . . , k − 1}. Hence ̺ appears on the gcd(psc0, . . . , psck−1). We define the polynomials: Φ0(x) = psc0(x) gcd(psc0(x), psc′

0(x))

Φj(x) = gcd(Φj−1(x), pscj(x)) as well as Γj = Φj−1(x) Φj(x) , j ∈ {1, . . . , n − 1} k = j + 1 Complexity: Index k can be computed in time

  • OB(n8τ).
  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 37 / 66

slide-45
SLIDE 45

How to Compute K?

Naive: Evaluate all pscj(x) at x = ̺ and pick k = minj(pscj(̺)) = 0. Better: Assume that it works for j = k > 0. It follows that pscj(̺) = 0 ∀j ∈ {0, 1, . . . , k − 1}. Hence ̺ appears on the gcd(psc0, . . . , psck−1). We define the polynomials: Φ0(x) = psc0(x) gcd(psc0(x), psc′

0(x))

Φj(x) = gcd(Φj−1(x), pscj(x)) as well as Γj = Φj−1(x) Φj(x) , j ∈ {1, . . . , n − 1} k = j + 1 Complexity: Index k can be computed in time

  • OB(n8τ).
  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 37 / 66

slide-46
SLIDE 46

How to Compute K?

Naive: Evaluate all pscj(x) at x = ̺ and pick k = minj(pscj(̺)) = 0. Better: Assume that it works for j = k > 0. It follows that pscj(̺) = 0 ∀j ∈ {0, 1, . . . , k − 1}. Hence ̺ appears on the gcd(psc0, . . . , psck−1). We define the polynomials: Φ0(x) = psc0(x) gcd(psc0(x), psc′

0(x))

Φj(x) = gcd(Φj−1(x), pscj(x)) as well as Γj = Φj−1(x) Φj(x) , j ∈ {1, . . . , n − 1} k = j + 1 Complexity: Index k can be computed in time

  • OB(n8τ).
  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 37 / 66

slide-47
SLIDE 47

How to Compute K?

Naive: Evaluate all pscj(x) at x = ̺ and pick k = minj(pscj(̺)) = 0. Better: Assume that it works for j = k > 0. It follows that pscj(̺) = 0 ∀j ∈ {0, 1, . . . , k − 1}. Hence ̺ appears on the gcd(psc0, . . . , psck−1). We define the polynomials: Φ0(x) = psc0(x) gcd(psc0(x), psc′

0(x))

Φj(x) = gcd(Φj−1(x), pscj(x)) as well as Γj = Φj−1(x) Φj(x) , j ∈ {1, . . . , n − 1} k = j + 1 Complexity: Index k can be computed in time

  • OB(n8τ).
  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 37 / 66

slide-48
SLIDE 48

How to Compute K?

Naive: Evaluate all pscj(x) at x = ̺ and pick k = minj(pscj(̺)) = 0. Better: Assume that it works for j = k > 0. It follows that pscj(̺) = 0 ∀j ∈ {0, 1, . . . , k − 1}. Hence ̺ appears on the gcd(psc0, . . . , psck−1). We define the polynomials: Φ0(x) = psc0(x) gcd(psc0(x), psc′

0(x))

Φj(x) = gcd(Φj−1(x), pscj(x)) as well as Γj = Φj−1(x) Φj(x) , j ∈ {1, . . . , n − 1} k = j + 1 Complexity: Index k can be computed in time

  • OB(n8τ).
  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 37 / 66

slide-49
SLIDE 49

Matching Solutions in M RUR - FIND.

k computation yields first k such that psck(x) = 0 at x = ̺. SRk(x = ̺) ∈ (Z[̺])[y] has k roots. Generic Position ⇒ At most 1 root. Hence 1 root with multiplicity k of the form: R(̺) = −1 k srk,k−1(̺) psck(̺) . Binary search for the unique interval such that: Qj < R(̺) < Qj+1 Complexity: The matching procedure takes time OB(n7τ) for each candidate on x-axis.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 38 / 66

slide-50
SLIDE 50

Matching Solutions in M RUR - FIND.

k computation yields first k such that psck(x) = 0 at x = ̺. SRk(x = ̺) ∈ (Z[̺])[y] has k roots. Generic Position ⇒ At most 1 root. Hence 1 root with multiplicity k of the form: R(̺) = −1 k srk,k−1(̺) psck(̺) . Binary search for the unique interval such that: Qj < R(̺) < Qj+1 Complexity: The matching procedure takes time OB(n7τ) for each candidate on x-axis.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 38 / 66

slide-51
SLIDE 51

Matching Solutions in M RUR - FIND.

k computation yields first k such that psck(x) = 0 at x = ̺. SRk(x = ̺) ∈ (Z[̺])[y] has k roots. Generic Position ⇒ At most 1 root. Hence 1 root with multiplicity k of the form: R(̺) = −1 k srk,k−1(̺) psck(̺) . Binary search for the unique interval such that: Qj < R(̺) < Qj+1 Complexity: The matching procedure takes time OB(n7τ) for each candidate on x-axis.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 38 / 66

slide-52
SLIDE 52

Matching Solutions in M RUR - FIND.

k computation yields first k such that psck(x) = 0 at x = ̺. SRk(x = ̺) ∈ (Z[̺])[y] has k roots. Generic Position ⇒ At most 1 root. Hence 1 root with multiplicity k of the form: R(̺) = −1 k srk,k−1(̺) psck(̺) . Binary search for the unique interval such that: Qj < R(̺) < Qj+1 Complexity: The matching procedure takes time OB(n7τ) for each candidate on x-axis.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 38 / 66

slide-53
SLIDE 53

Regarding Genericity

But is the algorithm generic? YES!

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 39 / 66

slide-54
SLIDE 54

Regarding Genericity

But is the algorithm generic? YES!

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 39 / 66

slide-55
SLIDE 55

Performing Shear.

We are performing the transformation (X, Y) − → (X + α · Y, Y) for some α ∈ Z. Complexity: The deterministic computation of α has complexity

  • OB(n9τ).

Bad practical performance. Random shear is the choice.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 40 / 66

slide-56
SLIDE 56

M RUR Algorithm

1

Project solutions on axes and find roots.

2

Find Intermediate Points on y-axis.

3

For each x solution, compute kx.

4

Find suitable interval on y-axis to match solutions.

Theorem (M RUR Complexity)

Isolating all real roots of the system using M RUR has complexity

  • OB(n12 + n10τ 2).
  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 41 / 66

slide-57
SLIDE 57

M RUR Example

Assume we want to solve the system: f(x, y) = y − x3 + 2x − 1 g(x, y) = y − x2 The system is not in generic position. The shear (x, y) − → (x + 3y, y) makes it generic: f(x, y) = −27y3 − 27xy2 + (7 − 9x2)y − x3 + 2x − 1 g(x, y) = −9y2 + (1 − 6x)y − x2 The sheared system has solutions:    (−0.15, +0.20) (−5.91, +1.55) (−7.94, +3.25)

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 42 / 66

slide-58
SLIDE 58

M RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 43 / 66

slide-59
SLIDE 59

M RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 44 / 66

slide-60
SLIDE 60

M RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 45 / 66

slide-61
SLIDE 61

M RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 46 / 66

slide-62
SLIDE 62

M RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 47 / 66

slide-63
SLIDE 63

Outline

1

Introduction

2

Results in Univariate Polynomials

3

Results in Bivariate Polynomials

4

Real Solving on Bivariate Systems Introduction GRID M RUR G RUR

5

Applications

6

Implementation

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 48 / 66

slide-64
SLIDE 64

G RUR Algorithm

1

Project solutions on axes and find roots.

2

Find Intermediate Points on y-axis.

3

For each candidate solution ̺ on x-axis:

◮ Compute H(y) = gcd(˜

f(̺, y), ˜ g(̺, y)) ∈ (Z[̺])[y].

◮ Check for solutions of H(y) on candidate intervals along the y-axis.

Theorem (G RUR Complexity)

Isolating all real roots of the system using G RUR has complexity

  • OB(n12 + n10τ 2).
  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 49 / 66

slide-65
SLIDE 65

G RUR Example

Assume we want to solve the system: f(x, y) = y − x3 + 2x − 1 g(x, y) = y − x2 The system has solutions:    (+0.45, +0.20) (−1.25, +1.55) (+1.80, +3.25)

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 50 / 66

slide-66
SLIDE 66

G RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 51 / 66

slide-67
SLIDE 67

G RUR Example

Assume ̺ ∈ Ralg such that resy(f, g)(̺) = 0. We want to compute H = gcd(f(̺, y), g(̺, y)) ∈ (Z[̺])[y]. Since resy(f, g)(α) = 0 we have ̺3 − ̺2 − 2̺ + 1 = 0. Or equivalently: ̺3 = ̺2 + 2̺ − 1 Hence f(̺, y) = y − ̺3 + 2̺ − 1 = y − ̺2 = g(̺, y). As a result gcd(f(̺, y), g(̺, y)) = y − ̺2.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 52 / 66

slide-68
SLIDE 68

G RUR Example

Assume ̺ ∈ Ralg such that resy(f, g)(̺) = 0. We want to compute H = gcd(f(̺, y), g(̺, y)) ∈ (Z[̺])[y]. Since resy(f, g)(α) = 0 we have ̺3 − ̺2 − 2̺ + 1 = 0. Or equivalently: ̺3 = ̺2 + 2̺ − 1 Hence f(̺, y) = y − ̺3 + 2̺ − 1 = y − ̺2 = g(̺, y). As a result gcd(f(̺, y), g(̺, y)) = y − ̺2.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 52 / 66

slide-69
SLIDE 69

G RUR Example

Assume ̺ ∈ Ralg such that resy(f, g)(̺) = 0. We want to compute H = gcd(f(̺, y), g(̺, y)) ∈ (Z[̺])[y]. Since resy(f, g)(α) = 0 we have ̺3 − ̺2 − 2̺ + 1 = 0. Or equivalently: ̺3 = ̺2 + 2̺ − 1 Hence f(̺, y) = y − ̺3 + 2̺ − 1 = y − ̺2 = g(̺, y). As a result gcd(f(̺, y), g(̺, y)) = y − ̺2.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 52 / 66

slide-70
SLIDE 70

G RUR Example

Assume ̺ ∈ Ralg such that resy(f, g)(̺) = 0. We want to compute H = gcd(f(̺, y), g(̺, y)) ∈ (Z[̺])[y]. Since resy(f, g)(α) = 0 we have ̺3 − ̺2 − 2̺ + 1 = 0. Or equivalently: ̺3 = ̺2 + 2̺ − 1 Hence f(̺, y) = y − ̺3 + 2̺ − 1 = y − ̺2 = g(̺, y). As a result gcd(f(̺, y), g(̺, y)) = y − ̺2.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 52 / 66

slide-71
SLIDE 71

G RUR Example

The solutions of the system come from the H = gcd ∈ (Z[̺])[y]. Consequently, by substituting y with Intermediate Points H must change sign at x = ̺. The Intermediate Points are: Q1 = −1 Q2 = 163

128

Q3 = 73

32

Q4 = 5 Checking interval [Q1, Q2] : H1(x) = −1 − x2 H2(x) = +163 − 128x2 Note that H1(x) < 0 ∀x ∈ R. Hence, we need to find a root ̺ ∈ Ralg such that H2(̺) > 0.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 53 / 66

slide-72
SLIDE 72

G RUR Example

The solutions of the system come from the H = gcd ∈ (Z[̺])[y]. Consequently, by substituting y with Intermediate Points H must change sign at x = ̺. The Intermediate Points are: Q1 = −1 Q2 = 163

128

Q3 = 73

32

Q4 = 5 Checking interval [Q1, Q2] : H1(x) = −1 − x2 H2(x) = +163 − 128x2 Note that H1(x) < 0 ∀x ∈ R. Hence, we need to find a root ̺ ∈ Ralg such that H2(̺) > 0.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 53 / 66

slide-73
SLIDE 73

G RUR Example

The solutions of the system come from the H = gcd ∈ (Z[̺])[y]. Consequently, by substituting y with Intermediate Points H must change sign at x = ̺. The Intermediate Points are: Q1 = −1 Q2 = 163

128

Q3 = 73

32

Q4 = 5 Checking interval [Q1, Q2] : H1(x) = −1 − x2 H2(x) = +163 − 128x2 Note that H1(x) < 0 ∀x ∈ R. Hence, we need to find a root ̺ ∈ Ralg such that H2(̺) > 0.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 53 / 66

slide-74
SLIDE 74

G RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 54 / 66

slide-75
SLIDE 75

G RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 55 / 66

slide-76
SLIDE 76

G RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 56 / 66

slide-77
SLIDE 77

G RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 57 / 66

slide-78
SLIDE 78

G RUR Example

Working similarly . . .

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 58 / 66

slide-79
SLIDE 79

G RUR Example

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 59 / 66

slide-80
SLIDE 80

Outline

1

Introduction

2

Results in Univariate Polynomials

3

Results in Bivariate Polynomials

4

Real Solving on Bivariate Systems

5

Applications

6

Implementation

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 60 / 66

slide-81
SLIDE 81

Applications

µ simultaneous inequalities in two variables, can be solved in time:

  • OB(µn12 + µn11τ + n10τ 2).

Topology of Real Plane Algebraic Curves.

Theorem (Comlexity)

We can compute the topology of a real plane algebraic curve, defined by a polynomial of degree n and bitsize τ, in time:

  • OB(n12 + n10τ 2).
  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 61 / 66

slide-82
SLIDE 82

Applications

µ simultaneous inequalities in two variables, can be solved in time:

  • OB(µn12 + µn11τ + n10τ 2).

Topology of Real Plane Algebraic Curves.

Theorem (Comlexity)

We can compute the topology of a real plane algebraic curve, defined by a polynomial of degree n and bitsize τ, in time:

  • OB(n12 + n10τ 2).
  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 61 / 66

slide-83
SLIDE 83

Outline

1

Introduction

2

Results in Univariate Polynomials

3

Results in Bivariate Polynomials

4

Real Solving on Bivariate Systems

5

Applications

6

Implementation Library and Sample Usage Internals

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 62 / 66

slide-84
SLIDE 84

Library and Sample Usage

MAPLE Code.

Homepage of the library: http://www.di.uoa.gr/˜stud1098/SLV/ Sample Usage:

f := 1 + 2*x + xˆ2*y - 5*x*y + xˆ2: g := 2*x + y - 3: bivsols := SLV:-solveGRID ( f, g ): SLV:-display_2 ( bivsols ); < 2*xˆ2-12*x+1, [ 3, 7], 5.915475965 > , < xˆ2+6*x-25, [ -2263/256, -35/4], -8.830718995 > < x-1, [ 1, 1], 1 > , < x-1, [ 1, 1], 1 > < 2*xˆ2-12*x+1, [3/64, 3/32], .8452400565e-1 > , < xˆ2+6*x-25, [23179/8192, 2899/1024], 2.830943108 >

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 63 / 66

slide-85
SLIDE 85

GCD in Extension Field, Filtering and Speedup.

GCD in Extension Field. [Hoeij and Monagan - 2002] Filtering

◮ Interval and floating point arithmetic. ⋆ Quadratic Interval Refinement [Abbot - 2006] ⋆ Iterations based on total degree of input polynomials. ◮ GCD computation. ◮ Finally exact algorithms and computation. ◮ M RUR pre-computation filtering.

Speedup

◮ GRID and M RUR −

→ 10×

◮ G RUR −

→ 2×

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 64 / 66

slide-86
SLIDE 86

GCD in Extension Field, Filtering and Speedup.

GCD in Extension Field. [Hoeij and Monagan - 2002] Filtering

◮ Interval and floating point arithmetic. ⋆ Quadratic Interval Refinement [Abbot - 2006] ⋆ Iterations based on total degree of input polynomials. ◮ GCD computation. ◮ Finally exact algorithms and computation. ◮ M RUR pre-computation filtering.

Speedup

◮ GRID and M RUR −

→ 10×

◮ G RUR −

→ 2×

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 64 / 66

slide-87
SLIDE 87

GCD in Extension Field, Filtering and Speedup.

GCD in Extension Field. [Hoeij and Monagan - 2002] Filtering

◮ Interval and floating point arithmetic. ⋆ Quadratic Interval Refinement [Abbot - 2006] ⋆ Iterations based on total degree of input polynomials. ◮ GCD computation. ◮ Finally exact algorithms and computation. ◮ M RUR pre-computation filtering.

Speedup

◮ GRID and M RUR −

→ 10×

◮ G RUR −

→ 2×

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 64 / 66

slide-88
SLIDE 88

GCD in Extension Field, Filtering and Speedup.

GCD in Extension Field. [Hoeij and Monagan - 2002] Filtering

◮ Interval and floating point arithmetic. ⋆ Quadratic Interval Refinement [Abbot - 2006] ⋆ Iterations based on total degree of input polynomials. ◮ GCD computation. ◮ Finally exact algorithms and computation. ◮ M RUR pre-computation filtering.

Speedup

◮ GRID and M RUR −

→ 10×

◮ G RUR −

→ 2×

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 64 / 66

slide-89
SLIDE 89

GCD in Extension Field, Filtering and Speedup.

GCD in Extension Field. [Hoeij and Monagan - 2002] Filtering

◮ Interval and floating point arithmetic. ⋆ Quadratic Interval Refinement [Abbot - 2006] ⋆ Iterations based on total degree of input polynomials. ◮ GCD computation. ◮ Finally exact algorithms and computation. ◮ M RUR pre-computation filtering.

Speedup

◮ GRID and M RUR −

→ 10×

◮ G RUR −

→ 2×

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 64 / 66

slide-90
SLIDE 90

GCD in Extension Field, Filtering and Speedup.

GCD in Extension Field. [Hoeij and Monagan - 2002] Filtering

◮ Interval and floating point arithmetic. ⋆ Quadratic Interval Refinement [Abbot - 2006] ⋆ Iterations based on total degree of input polynomials. ◮ GCD computation. ◮ Finally exact algorithms and computation. ◮ M RUR pre-computation filtering.

Speedup

◮ GRID and M RUR −

→ 10×

◮ G RUR −

→ 2×

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 64 / 66

slide-91
SLIDE 91

GCD in Extension Field, Filtering and Speedup.

GCD in Extension Field. [Hoeij and Monagan - 2002] Filtering

◮ Interval and floating point arithmetic. ⋆ Quadratic Interval Refinement [Abbot - 2006] ⋆ Iterations based on total degree of input polynomials. ◮ GCD computation. ◮ Finally exact algorithms and computation. ◮ M RUR pre-computation filtering.

Speedup

◮ GRID and M RUR −

→ 10×

◮ G RUR −

→ 2×

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 64 / 66

slide-92
SLIDE 92

Summary

We propose three algorithms for real solving of bivariate polynomial systems.

◮ GRID →

OB(N14).

◮ M RUR and G RUR →

OB(N12).

µ simultaneous inequalities in two variables are solved in

  • OB(µN12).

The topology of a real plane algebraic curve can be computed in

  • OB(N12).

Novel and robust MAPLE implementation. Outlook

◮ Express solutions of the sheared system in the original coordinate

system.

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 65 / 66

slide-93
SLIDE 93

THANK YOU!

  • D. I. Diochnos (Univ. of Athens, µ Q λ∀)

Real Solving on Bivariate Algebraic Systems Mar ’07 66 / 66