markovRing(d)
The sequence $d$ represents the number of states of each discrete random variable. This example creates a ring of joint probability distributions on 4 random variables with 2, 3, 4, and 5 states. This ring has a total of 120 indeterminates.




If no coefficient choice is specified, the polynomial ring is created over the rationals.

The optional argument Coefficients allows to change the base field.


The indeterminates are labeled with the letter ''p'' suggesting probability distributions. However, it is useful to be able to create a new ring where the indeterminates are labeled different (for example, they may represent marginal probabilities). This can be accomplished with the VariableName option.



The routines hiddenMap, inverseMarginMap, marginMap, markovMatrices require the ring to be created by this function. The routines conditionalIndependenceIdeal, discreteVanishingIdeal require the ring to be created by this function or the method gaussianRing.
As opposed to gaussianRing, this method does not store information about a graph or the names of the random variables. In case these random variables are not numbered $1, 2, \dots, n$, then the methods conditionalIndependenceIdeal and markovMatrices require an additional input in the form of a list of the random variable names. This list must be in the same order as the implicit order used in the sequence $d$. The user is encouraged to read the caveat on the method conditionalIndependenceIdeal regarding probability distributions on discrete random variables that have been labeled arbitrarily.
The object markovRing is a method function with a single argument.