Macaulay2 » Documentation
Packages » AllMarkovBases » fiberGraph
next | previous | forward | backward | up | index | toc

fiberGraph -- generating fibers of a configuration matrix

Description

This function constructs the generating fibers of the configuration matrix $A$. The fibers are returned as a list of graphs where two vectors in a fiber are adjacent if their supports have non-trivial intersection.

If the option ReturnConnectedComponents is false, the default setting, then the generating fibers are exhaustively searched using a breadth first search algorithm and vectors in the fibers are added to graph objects from the package Graphs, with edges added between two vectors if they have non-trivial support.

If the option ReturnConnectedComponents is true then, instead of returning a list of graphs, the function returns a list of the connected components of each fiber. In this case, an algorithm for the computation can then be chosen using the FiberAlgorithm option and these algorithms are much more efficient than using the breadth first search algorithm alonside the Graphs package, which is used when the option ReturnConnectedComponents is false.

i1 : netList fiberGraph matrix "3,4,5"

     +----------------------+
o1 = |Graph{{0, 2, 0} => {}}|
     |      {1, 0, 1} => {} |
     +----------------------+
     |Graph{{0, 1, 1} => {}}|
     |      {3, 0, 0} => {} |
     +----------------------+
     |Graph{{0, 0, 2} => {}}|
     |      {2, 1, 0} => {} |
     +----------------------+
i2 : netList fiberGraph matrix "1,2,3"

     +-------------------------------+
o2 = |Graph{{0, 1, 0} => {}}         |
     |      {2, 0, 0} => {}          |
     +-------------------------------+
     |Graph{{0, 0, 1} => {}         }|
     |      {1, 1, 0} => {{3, 0, 0}} |
     |      {3, 0, 0} => {{1, 1, 0}} |
     +-------------------------------+
i3 : netList fiberGraph(matrix "1,2,3", ReturnConnectedComponents => true, FiberAlgorithm => "decompose")

     +----------------------+-----------+
o3 = |{{0, 1, 0}}           |{{2, 0, 0}}|
     +----------------------+-----------+
     |{{1, 1, 0}, {3, 0, 0}}|{{0, 0, 1}}|
     +----------------------+-----------+
i4 : netList fiberGraph(matrix "3,4,6,8,12", ReturnConnectedComponents => true, FiberAlgorithm => "fast")

     +---------------------------------------------------+-----------------+----------------------------------+
o4 = |{{0, 0, 0, 1, 0}}                                  |{{0, 2, 0, 0, 0}}|                                  |
     +---------------------------------------------------+-----------------+----------------------------------+
     |{{4, 0, 0, 0, 0}, {0, 0, 2, 0, 0}, {2, 0, 1, 0, 0}}|{{0, 0, 0, 0, 1}}|{{0, 1, 0, 1, 0}, {0, 3, 0, 0, 0}}|
     +---------------------------------------------------+-----------------+----------------------------------+
     |{{0, 0, 1, 0, 0}}                                  |{{2, 0, 0, 0, 0}}|                                  |
     +---------------------------------------------------+-----------------+----------------------------------+

See also

Ways to use fiberGraph:

  • fiberGraph(Matrix)

For the programmer

The object fiberGraph is a method function with options.


The source of this document is in AllMarkovBases.m2:797:0.