# chordalNet -- constructs a chordal network from a polynomial set

## Synopsis

• Usage:
chordalNet I
chordalNet (I, X)
chordalNet (I, "SuggestOrder")
• Inputs:
• I, an ideal,
• X, a list, of variables (optional)
• str, , (optional)
• Outputs:
• an instance of the type ChordalNet, chordal network constructed from I

## Description

This method constructs a chordal network from a given polynomial set F. This chordal network is a directed graph, whose nodes define a partition of F. The arcs of the directed graph are given by the elimination tree of the associated constraint graph.

 i1 : R = QQ[x_0..x_3, MonomialOrder=>Lex]; i2 : I = ideal {x_0^3-x_0, x_0*x_2-x_2, x_1-x_2, x_2^2-x_2, x_2*x_3^2-x_3}; o2 : Ideal of R i3 : N = chordalNet I 3 2 o3 = ChordalNet{ x => {{x - x , x x - x , x - x }} } 0 0 0 0 2 2 2 2 2 x => {{x - x , x - x }} 1 1 2 2 2 2 x => {x x - x } 2 2 3 3 x => { } 3 o3 : ChordalNet

Selecting a good variable ordering is very important for the complexity of chordal networks methods. The variable ordering can be specified in the input. Alternatively, the string "SuggestOrder" can be used.

 i4 : G = cartesianProduct(cycleGraph 3, pathGraph 3); i5 : I = edgeIdeal G o5 = monomialIdeal (x x , x x , x x , x x , x x , x x , x x , x x , x x , 1 2 1 3 1 4 3 4 2 5 2 6 3 6 2 7 4 7 ------------------------------------------------------------------------ x x , x x , x x , x x , x x , x x ) 6 7 5 8 6 8 5 9 7 9 8 9 o5 : MonomialIdeal of QQ[x ..x ] 1 9 i6 : N = chordalNet(I,"SuggestOrder") o6 = ChordalNet{ x => {{x x , x x , x x , x x }} } 1 1 2 1 3 1 4 3 4 x => {{x x , x x }} 3 2 6 3 6 x => {{x x , x x , x x }} 4 2 7 4 7 6 7 x => {x x } 2 2 5 x => {{x x , x x }} 6 5 8 6 8 x => {{x x , x x , x x }} 5 5 9 7 9 8 9 x => { } 7 x => { } 8 x => { } 9 o6 : ChordalNet