Macaulay2 » Documentation
Packages » GameTheory :: ciIdeal
next | previous | forward | backward | up | index | toc

ciIdeal -- the ideal of a list of conditional independence statements

Description

ciIdeal computes the ideal of a list of conditional independence statements. The input can be the list of conditional independence statements itself, or a graph modelling the conditional dependencies between players. This method is the same as conditionalIndependenceIdeal from GameTheory.m2, included here for convenience and compatibility with this package.

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$''. Given an undirected graph $G$, the conditional independence statements are produced via the globalMarkov function from the GraphicalModels package. A global Markov statement for $G$ is a list $\{A, B, C\}$ of three disjoint lists of vertices of $G$, where the subset $C$ separates the subset $A$ from the subset $B$ in the graph $G$.

The output is an ideal of the given ring PR, which must be created using the probabilityRing function. This function computes the ideal using the conditionalIndependenceIdeal function from the GraphicalModels package, then maps it to an ideal of PR via the mapToProbabilityRing function.

i1 : FF = ZZ/32003

o1 = FF

o1 : QuotientRing
i2 : d = {2,3,2};
i3 : PR = probabilityRing (d, CoefficientRing => FF);
i4 : G = graph ({}, Singletons => {1,2,3});
i5 : I = ciIdeal (PR, G)

o5 = ideal (- p         p          + p         p         , - p         p   
               {0, 0, 1} {1, 0, 0}    {0, 0, 0} {1, 0, 1}     {0, 1, 0} {1,
     ------------------------------------------------------------------------
           + p         p         , - p         p          + p         p      
     0, 0}    {0, 0, 0} {1, 1, 0}     {0, 1, 0} {1, 0, 1}    {0, 0, 1} {1, 1,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     0}     {0, 1, 1} {1, 0, 0}    {0, 0, 0} {1, 1, 1}     {0, 1, 1} {1, 0,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     1}    {0, 0, 1} {1, 1, 1}     {0, 1, 1} {1, 1, 0}    {0, 1, 0} {1, 1,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     1}     {0, 2, 0} {1, 0, 0}    {0, 0, 0} {1, 2, 0}     {0, 2, 0} {1, 0,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     1}    {0, 0, 1} {1, 2, 0}     {0, 2, 0} {1, 1, 0}    {0, 1, 0} {1, 2,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     0}     {0, 2, 0} {1, 1, 1}    {0, 1, 1} {1, 2, 0}     {0, 2, 1} {1, 0,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     0}    {0, 0, 0} {1, 2, 1}     {0, 2, 1} {1, 0, 1}    {0, 0, 1} {1, 2,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     1}     {0, 2, 1} {1, 1, 0}    {0, 1, 0} {1, 2, 1}     {0, 2, 1} {1, 1,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     1}    {0, 1, 1} {1, 2, 1}     {0, 2, 1} {1, 2, 0}    {0, 2, 0} {1, 2,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     1}     {0, 0, 1} {0, 1, 0}    {0, 0, 0} {0, 1, 1}     {0, 1, 0} {1, 0,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     0}    {0, 0, 0} {1, 1, 0}     {0, 1, 1} {1, 0, 0}    {0, 0, 1} {1, 1,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     0}     {0, 1, 0} {1, 0, 1}    {0, 0, 0} {1, 1, 1}     {0, 1, 1} {1, 0,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     1}    {0, 0, 1} {1, 1, 1}     {1, 0, 1} {1, 1, 0}    {1, 0, 0} {1, 1,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     1}     {0, 0, 1} {0, 2, 0}    {0, 0, 0} {0, 2, 1}     {0, 2, 0} {1, 0,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     0}    {0, 0, 0} {1, 2, 0}     {0, 2, 1} {1, 0, 0}    {0, 0, 1} {1, 2,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     0}     {0, 2, 0} {1, 0, 1}    {0, 0, 0} {1, 2, 1}     {0, 2, 1} {1, 0,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     1}    {0, 0, 1} {1, 2, 1}     {1, 0, 1} {1, 2, 0}    {1, 0, 0} {1, 2,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     1}     {0, 1, 1} {0, 2, 0}    {0, 1, 0} {0, 2, 1}     {0, 2, 0} {1, 1,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     0}    {0, 1, 0} {1, 2, 0}     {0, 2, 1} {1, 1, 0}    {0, 1, 1} {1, 2,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     0}     {0, 2, 0} {1, 1, 1}    {0, 1, 0} {1, 2, 1}     {0, 2, 1} {1, 1,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     1}    {0, 1, 1} {1, 2, 1}     {1, 1, 1} {1, 2, 0}    {1, 1, 0} {1, 2,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     1}     {0, 0, 1} {0, 1, 0}    {0, 0, 0} {0, 1, 1}     {0, 0, 1} {0, 2,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     0}    {0, 0, 0} {0, 2, 1}     {0, 1, 1} {0, 2, 0}    {0, 1, 0} {0, 2,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     1}     {0, 0, 1} {1, 0, 0}    {0, 0, 0} {1, 0, 1}     {0, 1, 1} {1, 0,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     0}    {0, 1, 0} {1, 0, 1}     {0, 2, 1} {1, 0, 0}    {0, 2, 0} {1, 0,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     1}     {0, 0, 1} {1, 1, 0}    {0, 0, 0} {1, 1, 1}     {0, 1, 1} {1, 1,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     0}    {0, 1, 0} {1, 1, 1}     {0, 2, 1} {1, 1, 0}    {0, 2, 0} {1, 1,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     1}     {1, 0, 1} {1, 1, 0}    {1, 0, 0} {1, 1, 1}     {0, 0, 1} {1, 2,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     0}    {0, 0, 0} {1, 2, 1}     {0, 1, 1} {1, 2, 0}    {0, 1, 0} {1, 2,
     ------------------------------------------------------------------------
       , - p         p          + p         p         , - p         p      
     1}     {0, 2, 1} {1, 2, 0}    {0, 2, 0} {1, 2, 1}     {1, 0, 1} {1, 2,
     ------------------------------------------------------------------------
        + p         p         , - p         p          + p         p      
     0}    {1, 0, 0} {1, 2, 1}     {1, 1, 1} {1, 2, 0}    {1, 1, 0} {1, 2,
     ------------------------------------------------------------------------
       )
     1}

o5 : Ideal of PR

Here is an example where the vertices of the graph need to be relabeled.

i6 : FF = ZZ/32003

o6 = FF

o6 : QuotientRing
i7 : d = {2,3,2};
i8 : PR = probabilityRing (d, CoefficientRing => FF);
i9 : G = graph {{John,Matthew},{Matthew,Sarah}};
i10 : I = ciIdeal (PR, G, {John,Matthew,Sarah})

o10 = ideal (- p         p          + p         p         , - p         p   
                {0, 0, 1} {1, 0, 0}    {0, 0, 0} {1, 0, 1}     {0, 1, 1} {1,
      -----------------------------------------------------------------------
            + p         p         , - p         p          + p         p   
      1, 0}    {0, 1, 0} {1, 1, 1}     {0, 2, 1} {1, 2, 0}    {0, 2, 0} {1,
      -----------------------------------------------------------------------
           )
      2, 1}

o10 : Ideal of PR

Here is an example where the conditional independence relations are given with a List.

i11 : FF = ZZ/32003

o11 = FF

o11 : QuotientRing
i12 : d = {2,3,2};
i13 : PR = probabilityRing (d, CoefficientRing => FF);
i14 : G = graph {{1,2},{2,3}};
i15 : L = {{{1},{3},{2}}}

o15 = {{{1}, {3}, {2}}}

o15 : List
i16 : I1 = ciIdeal (PR,G)

o16 = ideal (- p         p          + p         p         , - p         p   
                {0, 0, 1} {1, 0, 0}    {0, 0, 0} {1, 0, 1}     {0, 1, 1} {1,
      -----------------------------------------------------------------------
            + p         p         , - p         p          + p         p   
      1, 0}    {0, 1, 0} {1, 1, 1}     {0, 2, 1} {1, 2, 0}    {0, 2, 0} {1,
      -----------------------------------------------------------------------
           )
      2, 1}

o16 : Ideal of PR
i17 : I2 = ciIdeal (PR,L)

o17 = ideal (- p         p          + p         p         , - p         p   
                {0, 0, 1} {1, 0, 0}    {0, 0, 0} {1, 0, 1}     {0, 1, 1} {1,
      -----------------------------------------------------------------------
            + p         p         , - p         p          + p         p   
      1, 0}    {0, 1, 0} {1, 1, 1}     {0, 2, 1} {1, 2, 0}    {0, 2, 0} {1,
      -----------------------------------------------------------------------
           )
      2, 1}

o17 : Ideal of PR
i18 : I1 == I2

o18 = true

See also

Ways to use ciIdeal:

  • ciIdeal(Ring,Graph)
  • ciIdeal(Ring,Graph,List)
  • ciIdeal(Ring,List)
  • ciIdeal(Ring,List,List)

For the programmer

The object ciIdeal is a method function.


The source of this document is in GameTheory.m2:1947:0.