Macaulay2 » Documentation
Packages » Chordal :: chordalNet
next | previous | forward | backward | up | index | toc

chordalNet -- constructs a chordal network from a polynomial set

Synopsis

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

      

See also

Ways to use chordalNet :

For the programmer

The object chordalNet is a method function.