conditionalIndependenceIdeal(R,Stmts)
conditionalIndependenceIdeal(R,Stmts,VarNames)
conditionalIndependenceIdeal computes the ideal of a list of conditional independence statements. This method works for both discrete and Gaussian graphical models. In the case of discrete random variables, it computes the 2x2 minors of the matrices produced by markovMatrices. For Gaussian graphical models, it computes the minors of the matrices produced by gaussianMatrices.
A single conditional independence statement is a list consisting of three disjoint lists of indices for random variables, e.g. $\{ \{1,2\},\{4\}, \{3\} \}$ which represents the conditional independence statement ``$(X_1, X_2)$ is conditionally independent of $X_4$ given $X_3$''. In the input to conditionalIndependenceIdeal a list of conditional independence statements is used.
A common way that we arrive at collections of conditional independence statements is through the Markov statements implied by a graph. Below are two examples of independence ideals on discrete random variables, using globalMarkov statements and localMarkov statements.
|
|
|
|
|
The following example is an independence ideal of a Gaussian graphical model.
|
|
|
For Gaussian models, conditionalIndependenceIdeal can compute the ideal of a list of independence statements on a graph even if the ring was not constructed with that specific graph. However, the vertex labels in the graph should be integers.
|
|
|
This method also accepts as input arbitrary lists of independent statements that may not arise from a graphical model.
|
|
|
For general discrete independence models (not necessarily arising from a graph), conditionalIndependenceIdeal requires one of the following two options: \break (1) the random variables are labelled by integers (as in the first example above) or \break (2) in case the random variables have arbitrary names, an extra input parameter must be used in order to specify the names of the random variables.
|
|
|
|
The following example illustrates the caveat below.
|
|
|
|
|
|
|
We note that the list of random variable names must be in the same order as the implicit order used in the sequence $d$. In the previous example, we have the graph $b \to a \to c$, where $a$ has three states and $b$ and $c$ are both binary. Note that the ring $R$ was created with the sequence $d = (2,3,2)$, having in mind the topological order of the graph as opposed to the vertex labels. Note how the first instance of this method returns the correct output, however, the second instance returns an incorrect ideal since vertices D is not in the same order as the sequence $d$.
The object conditionalIndependenceIdeal is a method function.