Fix a matrix $A = (a_{i,j}) \in \ZZ^{d \times n}$ satisfying $\ker(A) \cap (\ZZ_{\ge 0})^n = \{0\}$. The toric ideal $I_A$ is the kernel of the associated monomial map $\phi_A : k[x_1, \dots, x_n] \rightarrow k[t_1, \dots, t_d]$ given by $\phi(x_i) = t_1^{a_{1,i}} t_2^{a_{2,i}} \dots t_d^{a_{d,i}}$ for each $i \in [n]$. A Markov basis is a minimal generating set for a toric ideal. Markov bases are used in Algebraic Statistics in hypothesis testing for contingency tables; for further details we refer to: M. Drton, B. Sturmfels, and S. Sullivant Lectures on Algebraic Statistics
This package computes the set of all minimal Markov bases of a given toric ideal $I_A$. We do this by using FourTiTwo to efficiently compute one Markov basis $M$. We then compute all spanning forests of the fiber graph of $A$ in the generating fibers using the well-known bijection of Prüfer. Each spanning forest corresponds to a Markov basis, which gives us an efficient way to compute the number of Markov bases of $A$ as well as produce the Markov bases. For further theoretical details, see H. Charalambous, K. Anargyros, A. Thoma Minimal systems of binomial generators and the indispensable complex of a toric ideal.
Below is an example showing how to compute all Markov bases for the matrix $A = (7 \ 8 \ 9 \ 10) \in \ZZ^{1 \times 4}$.
|
|
|
The format of the output follows that of toricMarkov, so each minimal Markov basis is given by a matrix whose rows correspond to elements of the Markov basis.
If the configuration matrix has too many minimal Markov bases, then it may be convenient to use a random Markov basis. This package provides a method to produce a random minimal Markov basis that is uniformly sampled from the set of all minimal Markov bases.
|
|
|
The package also provides methods to compute the indispensable set and universal Markov basis; see toricIndispensableSet and toricUniversalMarkov. These methods exploit the fiber graph to compute these respective sets of binomials.
This documentation describes version 1.0 of AllMarkovBases.
If you have used this package in your research, please cite it as follows:
|
The object AllMarkovBases is a package, defined in AllMarkovBases.m2.
The source of this document is in AllMarkovBases.m2:680:0.