Graphical structure in polynomial systems: Chordal networks

37
Graphical structure in polynomial systems: Chordal networks Diego Cifuentes Department of Mathematics Massachusetts Institute of Technology Joint work with Pablo A. Parrilo (MIT) arXiv:1411.1745, 1507.03046, 1604.02618 Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 1 / 17

Transcript of Graphical structure in polynomial systems: Chordal networks

Graphical structure in polynomial systems:Chordal networks

Diego Cifuentes

Department of MathematicsMassachusetts Institute of Technology

Joint work with Pablo A. Parrilo (MIT)arXiv:1411.1745, 1507.03046, 1604.02618

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 1 / 17

Polynomial systems: Applications

robotics

chemical reactions

power networks

Also cryptography, statistics, computer vision, graph theory, etc.Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 2 / 17

Polynomial systems

Given polynomial equations F = {f1, . . . , fm}, let

V(F ) := {x ∈ Cn : f1(x) = · · · = fm(x) = 0}

denote the associated variety.

Depending on the application we might be interested in:Feasibility Is there any solution, i.e., V(F ) 6= ∅?Counting How many solutions?

Dimension What is the dimension of V(F )?Components Decompose V(F ) into irreducible components.

These problems are hard!!!

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 3 / 17

Polynomial systems

Given polynomial equations F = {f1, . . . , fm}, let

V(F ) := {x ∈ Cn : f1(x) = · · · = fm(x) = 0}

denote the associated variety.

Depending on the application we might be interested in:Feasibility Is there any solution, i.e., V(F ) 6= ∅?Counting How many solutions?

Dimension What is the dimension of V(F )?Components Decompose V(F ) into irreducible components.

These problems are hard!!!

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 3 / 17

Polynomial systems and graphs

Systems coming from applications often have simple sparsity structure.We can represent this structure using graphs.

Given m equations in n variables, construct a graph as:Nodes are the variables {x0, . . . , xn−1}.For each equation, add a clique connecting the variables appearing inthat equation.

Example:

F = {x20 x1x2 + 2x1 − 1, x2

1 + x2, x1 + x2, x2x3}

QuestionCan the graph structure help solve polynomial systems?

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 4 / 17

Polynomial systems and graphs

Systems coming from applications often have simple sparsity structure.We can represent this structure using graphs.

Given m equations in n variables, construct a graph as:Nodes are the variables {x0, . . . , xn−1}.For each equation, add a clique connecting the variables appearing inthat equation.

Example:

F = {x20 x1x2 + 2x1 − 1, x2

1 + x2, x1 + x2, x2x3}

QuestionCan the graph structure help solve polynomial systems?

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 4 / 17

Polynomial systems and graphs

Systems coming from applications often have simple sparsity structure.We can represent this structure using graphs.

Given m equations in n variables, construct a graph as:Nodes are the variables {x0, . . . , xn−1}.For each equation, add a clique connecting the variables appearing inthat equation.

Example:

F = {x20 x1x2 + 2x1 − 1, x2

1 + x2, x1 + x2, x2x3}

QuestionCan the graph structure help solve polynomial systems?

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 4 / 17

Polynomial systems and graphs

sparsepolynomial

systemgraph chordal

graphchordalnetwork

Chordalnetwork

query

cardinality

dimension

sampling

components

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 5 / 17

Polynomial systems and graphs

sparsepolynomial

systemgraph chordal

graphchordalnetwork

Chordalnetwork

query

cardinality

dimension

sampling

components

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 5 / 17

Graphical modelling

Pervasive idea in many areas, in particular: numerical linear algebra,graphical models, constraint satisfaction, database theory, . . .

Key notions: chordality and treewidth.

Many names: Arnborg, Beeri/Fagin/Maier/Yannakakis, Blair/Peyton,Bodlaender, Courcelle, Dechter, Lauritzen/Spiegelhalter, Pearl,Robertson/Seymour, . . .

Previous work mostly focuses on discrete domains (e.g., 0/1 optimization).What happens in the continous side?(e.g., Waki et al., Lasserre, Bienstock, Vandenberghe, Lavaei, etc)

No previous work in polynomial systems.

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 6 / 17

Graphical modelling

Pervasive idea in many areas, in particular: numerical linear algebra,graphical models, constraint satisfaction, database theory, . . .

Key notions: chordality and treewidth.

Many names: Arnborg, Beeri/Fagin/Maier/Yannakakis, Blair/Peyton,Bodlaender, Courcelle, Dechter, Lauritzen/Spiegelhalter, Pearl,Robertson/Seymour, . . .

Previous work mostly focuses on discrete domains (e.g., 0/1 optimization).What happens in the continous side?(e.g., Waki et al., Lasserre, Bienstock, Vandenberghe, Lavaei, etc)

No previous work in polynomial systems.

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 6 / 17

Graphical modelling

Pervasive idea in many areas, in particular: numerical linear algebra,graphical models, constraint satisfaction, database theory, . . .

Key notions: chordality and treewidth.

Many names: Arnborg, Beeri/Fagin/Maier/Yannakakis, Blair/Peyton,Bodlaender, Courcelle, Dechter, Lauritzen/Spiegelhalter, Pearl,Robertson/Seymour, . . .

Previous work mostly focuses on discrete domains (e.g., 0/1 optimization).What happens in the continous side?(e.g., Waki et al., Lasserre, Bienstock, Vandenberghe, Lavaei, etc)

No previous work in polynomial systems.

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 6 / 17

Example 1: Coloring a cycleLet Cn = (V , E ) be the cycle graph and considerthe system of equations

x3i − 1 = 0, i ∈ V

x2i + xixj + x2

j = 0, ij ∈ EThese equations encode the proper 3-colorings of the graph. Note thatcoloring the cycle graph is very easy!

However, a Grobner basis is not so simple: one of its 13 elements isx0x2x4x6 + x0x2x4x7 + x0x2x4x8 + x0x2x5x6 + x0x2x5x7 + x0x2x5x8 + x0x2x6x8 + x0x2x7x8 + x0x2x2

8 + x0x3x4x6 + x0x3x4x7

+x0x3x4x8 + x0x3x5x6 + x0x3x5x7 + x0x3x5x8 + x0x3x6x8 + x0x3x7x8 + x0x3x28 + x0x4x6x8 + x0x4x7x8 + x0x4x2

8 + x0x5x6x8

+x0x5x7x8 + x0x5x28 + x0x6x2

8 + x0x7x28 + x0 + x1x2x4x6 + x1x2x4x7 + x1x2x4x8 + x1x2x5x6 + x1x2x5x7 + x1x2x5x8

+x1x2x6x8 + x1x2x7x8 + x1x2x28 + x1x3x4x6 + x1x3x4x7 + x1x3x4x8 + x1x3x5x6 + x1x3x5x7 + x1x3x5x8 + x1x3x6x8 + x1x3x7x8

+x1x3x28 + x1x4x6x8 + x1x4x7x8 + x1x4x2

8 + x1x5x6x8 + x1x5x7x8 + x1x5x28 + x1x6x2

8 + x1x7x28 + x1 + x2x4x6x8 + x2x4x7x8

+x2x4x28 + x2x5x6x8 + x2x5x7x8 + x2x5x2

8 + x2x6x28 + x2x7x2

8 + x2 + x3x4x6x8 + x3x4x7x8 + x3x4x28 + x3x5x6x8 + x3x5x7x8

+x3x5x28 + x3x6x2

8 + x3x7x28 + x3 + x4x6x2

8 + x4x7x28 + x4 + x5x6x2

8 + x5x7x28 + x5 + x6 + x7 + x8

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 7 / 17

Example 1: Coloring a cycleLet Cn = (V , E ) be the cycle graph and considerthe system of equations

x3i − 1 = 0, i ∈ V

x2i + xixj + x2

j = 0, ij ∈ EThese equations encode the proper 3-colorings of the graph. Note thatcoloring the cycle graph is very easy!However, a Grobner basis is not so simple: one of its 13 elements is

x0x2x4x6 + x0x2x4x7 + x0x2x4x8 + x0x2x5x6 + x0x2x5x7 + x0x2x5x8 + x0x2x6x8 + x0x2x7x8 + x0x2x28 + x0x3x4x6 + x0x3x4x7

+x0x3x4x8 + x0x3x5x6 + x0x3x5x7 + x0x3x5x8 + x0x3x6x8 + x0x3x7x8 + x0x3x28 + x0x4x6x8 + x0x4x7x8 + x0x4x2

8 + x0x5x6x8

+x0x5x7x8 + x0x5x28 + x0x6x2

8 + x0x7x28 + x0 + x1x2x4x6 + x1x2x4x7 + x1x2x4x8 + x1x2x5x6 + x1x2x5x7 + x1x2x5x8

+x1x2x6x8 + x1x2x7x8 + x1x2x28 + x1x3x4x6 + x1x3x4x7 + x1x3x4x8 + x1x3x5x6 + x1x3x5x7 + x1x3x5x8 + x1x3x6x8 + x1x3x7x8

+x1x3x28 + x1x4x6x8 + x1x4x7x8 + x1x4x2

8 + x1x5x6x8 + x1x5x7x8 + x1x5x28 + x1x6x2

8 + x1x7x28 + x1 + x2x4x6x8 + x2x4x7x8

+x2x4x28 + x2x5x6x8 + x2x5x7x8 + x2x5x2

8 + x2x6x28 + x2x7x2

8 + x2 + x3x4x6x8 + x3x4x7x8 + x3x4x28 + x3x5x6x8 + x3x5x7x8

+x3x5x28 + x3x6x2

8 + x3x7x28 + x3 + x4x6x2

8 + x4x7x28 + x4 + x5x6x2

8 + x5x7x28 + x5 + x6 + x7 + x8

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 7 / 17

Example 1: Coloring a cycle

There is an alternative representa-tion of the system, that respects itsgraphical structure.

The chordal network is describingthe full solution set of the system.The solutions are given by the chains(maximal paths) of the diagram.

There are exponentially many solu-tions, but they can be representedcompactly.

x20 + x0x8 + x2

8 x0 + x1 + x8

x1 − x8 x21 + x1x8 + x2

8x1 + x2 + x8

x22 + x2x8 + x2

8 x2 + x3 + x8 x2 − x8

x3 − x8 x23 + x3x8 + x2

8x3 + x4 + x8

x24 + x4x8 + x2

8 x4 + x5 + x8 x4 − x8

x5 − x8 x25 + x5x8 + x2

8x5 + x6 + x8

x6 + x7 + x8 x6 − x8

x27 + x7x8 + x2

8

x38 − 1

0

1

2

3

4

5

6

7

8

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 8 / 17

Example 2: Ideal of adjacent minors

I = {x2ix2i+3 − x2i+1x2i+2 : 0 ≤ i < n}

This is the ideal of adjacent minors of thematrix(

x0 x2 x4 · · · x2n−2x1 x3 x5 · · · x2n−1

)

The total number of irreducible compo-nents is the n-th Fibonacci number.

x0x3 − x1x20

x2x5 − x3x4 0x2, x3

x4x7 − x5x60 x4, x5

x6x9 − x7x8 0x6, x7

x8x11 − x9x100 x8, x9

x10x13 − x11x12 0x10, x11

x12x15 − x13x14 x12, x13

01

23

45

67

89

10,11

12,13

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 9 / 17

Chordal graphs

A graph is chordal if it has no induced cy-cle of lenght ≥ 4. A chordal completion issupergraph that is chordal.

A chordal graph has an associated span-ning tree known as the elimination tree

Note: The graph vertices must follow a perfect elimination ordering.

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 10 / 17

Chordal graphs

A graph is chordal if it has no induced cy-cle of lenght ≥ 4. A chordal completion issupergraph that is chordal.

A chordal graph has an associated span-ning tree known as the elimination tree

Note: The graph vertices must follow a perfect elimination ordering.

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 10 / 17

Chordal networksA G-chordal network is a directed graph, whose nodes are polynomials, such that

structure follows the elimination tree of G .polynomials involve a small number of variables (a clique of G).

g(a, b, c) := a2 + b2 + c2 + ab + bc + ca

x30 + x2

0 x7 + x0x27 + x3

7 g(x0, x6, x7)x3

1 + x21 x9 + x1x2

9 + x39 g(x1, x4, x9)

x32 + x2

2 x5 + x2x25 + x3

5 g(x2, x3, x5)

x3 − x5 g(x3, x7, x8)x3 + x5 + x7 + x8x4 − x9 g(x4, x8, x9)x4 + x5 + x8 + x9

g(x5, x8, x9) x5 + x7 + x8 + x9 x5 − x9x5 − x7 x5 − x9x6 − x7 g(x6, x8, x9) x6 + x7 + x8 + x9

x7 − x9 g(x7, x8, x9)

x38 + x2

8 x9 + x8x29 + x3

9

x49 − 1

01

2

34

56

7

8

9

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 11 / 17

Our results

An algorithm to compute chordal networkrepresentations.

sparsepolynomial

systemgraph chordal

graphchordalnetwork

Chordalnetwork

query

cardinality

dimension

sampling

components

Chordal networks can be efficiently used toderive many properties of the variety (rely ondynamic programming & triangular sets).

Several families of polynomial systems ad-mit a chordal network representation ofsize O(n), even though the number ofcomponents is exponentially large.

x0x3 − x1x20

x2x5 − x3x4 0x2, x3

x4x7 − x5x60 x4, x5

x6x9 − x7x8 0x6, x7

x8x11 − x9x100 x8, x9

x10x13 − x11x12 0x10, x11

x12x15 − x13x14 x12, x13

01

23

45

67

89

10,11

12,13

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 12 / 17

Our results

An algorithm to compute chordal networkrepresentations.

sparsepolynomial

systemgraph chordal

graphchordalnetwork

Chordalnetwork

query

cardinality

dimension

sampling

components

Chordal networks can be efficiently used toderive many properties of the variety (rely ondynamic programming & triangular sets).

Several families of polynomial systems ad-mit a chordal network representation ofsize O(n), even though the number ofcomponents is exponentially large.

x0x3 − x1x20

x2x5 − x3x4 0x2, x3

x4x7 − x5x60 x4, x5

x6x9 − x7x8 0x6, x7

x8x11 − x9x100 x8, x9

x10x13 − x11x12 0x10, x11

x12x15 − x13x14 x12, x13

01

23

45

67

89

10,11

12,13

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 12 / 17

Our results

An algorithm to compute chordal networkrepresentations.

sparsepolynomial

systemgraph chordal

graphchordalnetwork

Chordalnetwork

query

cardinality

dimension

sampling

components

Chordal networks can be efficiently used toderive many properties of the variety (rely ondynamic programming & triangular sets).

Several families of polynomial systems ad-mit a chordal network representation ofsize O(n), even though the number ofcomponents is exponentially large.

x0x3 − x1x20

x2x5 − x3x4 0x2, x3

x4x7 − x5x60 x4, x5

x6x9 − x7x8 0x6, x7

x8x11 − x9x100 x8, x9

x10x13 − x11x12 0x10, x11

x12x15 − x13x14 x12, x13

01

23

45

67

89

10,11

12,13

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 12 / 17

Computing chordal networksConsider the polynomial system

F = {x30 − x0, x0x2 − x2, x1 − x2, x2

2 − x2, x2 − x3}

The associated graph is0 1

2

3which is chordal.

Let us construct a chordal network representation.

First group the polynomials according to the cliques of the graph.

0

1

2

3

x30 − x0, x0x2 − x2, x2

2 − x2

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 13 / 17

Computing chordal networksConsider the polynomial system

F = {x30 − x0, x0x2 − x2, x1 − x2, x2

2 − x2, x2 − x3}

The associated graph is0 1

2

3which is chordal.

Let us construct a chordal network representation.First group the polynomials according to the cliques of the graph.

0

1

2

3

x30 − x0, x0x2 − x2, x2

2 − x2

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 13 / 17

Computing chordal networksConsider the polynomial system

F = {x30 − x0, x0x2 − x2, x1 − x2, x2

2 − x2, x2 − x3}

The associated graph is0 1

2

3which is chordal.

Let us construct a chordal network representation.First group the polynomials according to the cliques of the graph.

0

1

2

3

x30 − x0, x0x2 − x2, x2

2 − x2

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 13 / 17

Computing chordal networksx3

0 − x0, x0x2 − x2, x22 − x2

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

tria−−→ x30 − x0, x2 x0 − 1, x2 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

elim−−→ x30 − x0 x0 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

tria−−→

x30 − x0 x0 − 1

x1 − x2

x2, x3 x2 − 1, x3 x2 − 1, x3 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1 x2 − 1

x3 x3 x3 − 1

merge−−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1

x3 x3 − 1

0

1

2

3

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 14 / 17

Computing chordal networksx3

0 − x0, x0x2 − x2, x22 − x2

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

tria−−→ x30 − x0, x2 x0 − 1, x2 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

elim−−→ x30 − x0 x0 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

tria−−→

x30 − x0 x0 − 1

x1 − x2

x2, x3 x2 − 1, x3 x2 − 1, x3 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1 x2 − 1

x3 x3 x3 − 1

merge−−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1

x3 x3 − 1

0

1

2

3

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 14 / 17

Computing chordal networksx3

0 − x0, x0x2 − x2, x22 − x2

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

tria−−→ x30 − x0, x2 x0 − 1, x2 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

elim−−→ x30 − x0 x0 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

tria−−→

x30 − x0 x0 − 1

x1 − x2

x2, x3 x2 − 1, x3 x2 − 1, x3 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1 x2 − 1

x3 x3 x3 − 1

merge−−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1

x3 x3 − 1

0

1

2

3

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 14 / 17

Computing chordal networksx3

0 − x0, x0x2 − x2, x22 − x2

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

tria−−→ x30 − x0, x2 x0 − 1, x2 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

elim−−→ x30 − x0 x0 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

tria−−→

x30 − x0 x0 − 1

x1 − x2

x2, x3 x2 − 1, x3 x2 − 1, x3 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1 x2 − 1

x3 x3 x3 − 1

merge−−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1

x3 x3 − 1

0

1

2

3

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 14 / 17

Computing chordal networksx3

0 − x0, x0x2 − x2, x22 − x2

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

tria−−→ x30 − x0, x2 x0 − 1, x2 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

elim−−→ x30 − x0 x0 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

tria−−→

x30 − x0 x0 − 1

x1 − x2

x2, x3 x2 − 1, x3 x2 − 1, x3 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1 x2 − 1

x3 x3 x3 − 1

merge−−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1

x3 x3 − 1

0

1

2

3

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 14 / 17

Computing chordal networksx3

0 − x0, x0x2 − x2, x22 − x2

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

tria−−→ x30 − x0, x2 x0 − 1, x2 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

elim−−→ x30 − x0 x0 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

tria−−→

x30 − x0 x0 − 1

x1 − x2

x2, x3 x2 − 1, x3 x2 − 1, x3 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1 x2 − 1

x3 x3 x3 − 1

merge−−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1

x3 x3 − 1

0

1

2

3

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 14 / 17

Computing chordal networksx3

0 − x0, x0x2 − x2, x22 − x2

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

tria−−→ x30 − x0, x2 x0 − 1, x2 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3

0

elim−−→ x30 − x0 x0 − 1

x1 − x2, x22 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x22 − x2, x2x2

3 − x3, x2 x22 − x2, x2x2

3 − x3, x2 − 1

0

tria−−→

x30 − x0 x0 − 1

x1 − x2

x2, x3 x2 − 1, x3 x2 − 1, x3 − 1

0

elim−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1 x2 − 1

x3 x3 x3 − 1

merge−−−→

x30 − x0 x0 − 1

x1 − x2

x2 x2 − 1

x3 x3 − 1

0

1

2

3

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 14 / 17

Implementation and examples

Our methods are implemented in the Macaulay2 package “Chordal”.

We applied chordal networks in different areas:

Graph colorings (counting q-colorings)Cryptography (“baby” AES, Cid et al.)Sensor Network localizationDiscretization of differential equationsAlgebraic statisticsReachability in vector addition systems

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 15 / 17

Application: Vector addition systems

ProblemGiven vectors B ⊂ Zn, construct a graphwith vertex set Nn in which u, v ∈ Nn areadjacent if u − v ∈ ±B. The reachabilityproblem is to describe the connectedcomponents of the graph.

This problem can be written in terms of polynomial equations. For instances withsimple graphical structure, chordal networks outperform existing techniques byorders of magnitude.

n 5 10 15 20 25 30 35 40 45 50 55

Singular (GB) 0.0 0.0 0.2 17.9 1036.2 - - - - - -Epsilon (TS) 0.1 0.2 0.4 2.0 54.4 160.1 5141.9 17510.1 - - -ChordalNet 0.7 3.0 8.5 14.3 21.8 29.8 37.7 48.2 62.3 70.6 84.8

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 16 / 17

Application: Vector addition systems

ProblemGiven vectors B ⊂ Zn, construct a graphwith vertex set Nn in which u, v ∈ Nn areadjacent if u − v ∈ ±B. The reachabilityproblem is to describe the connectedcomponents of the graph.

This problem can be written in terms of polynomial equations. For instances withsimple graphical structure, chordal networks outperform existing techniques byorders of magnitude.

n 5 10 15 20 25 30 35 40 45 50 55

Singular (GB) 0.0 0.0 0.2 17.9 1036.2 - - - - - -Epsilon (TS) 0.1 0.2 0.4 2.0 54.4 160.1 5141.9 17510.1 - - -ChordalNet 0.7 3.0 8.5 14.3 21.8 29.8 37.7 48.2 62.3 70.6 84.8

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 16 / 17

Summary

Chordal structure can notably help in computational algebraicgeometry.Under assumptions (chordality + algebraic structure), tractable!Try our Macaulay2 package “Chordal”!

If you want to know more:Cifuentes, Parrilo (2016), Exploiting chordal structure in polynomial ideals: a Grobnerbasis approach. SIAM J. Discrete Math., 30(3):1534-1570.Cifuentes, Parrilo (2016), An efficient tree decomposition method for permanents andmixed discriminants. Linear Alg. Appl., 493:45-81.Cifuentes, Parrilo (2017), Chordal networks of polynomial ideals. SIAM J. Appl. AlgebraGeometry, 1(1):73-170.

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 17 / 17

Summary

Chordal structure can notably help in computational algebraicgeometry.Under assumptions (chordality + algebraic structure), tractable!Try our Macaulay2 package “Chordal”!

If you want to know more:Cifuentes, Parrilo (2016), Exploiting chordal structure in polynomial ideals: a Grobnerbasis approach. SIAM J. Discrete Math., 30(3):1534-1570.Cifuentes, Parrilo (2016), An efficient tree decomposition method for permanents andmixed discriminants. Linear Alg. Appl., 493:45-81.Cifuentes, Parrilo (2017), Chordal networks of polynomial ideals. SIAM J. Appl. AlgebraGeometry, 1(1):73-170.

Cifuentes (MIT) Chordal networks 68NQRT INRIA’ 20 17 / 17