# gaussianRing -- ring of Gaussian correlations on n random variables or a graphical model

## Synopsis

• Usage:
gaussianRing n
gaussianRing G
• Inputs:
• n, an integer, the number of random variables
• G, an instance of the type Graph, or an instance of the type Digraph, or an instance of the type Bigraph, or an instance of the type MixedGraph
• Optional inputs:
• Coefficients => ..., default value QQ, optional input to choose the base field in markovRing or gaussianRing
• kVariableName => ..., default value k, symbol used for indeterminates in a ring of Gaussian joint probability distributions
• lVariableName => ..., default value l, symbol used for indeterminates in a ring of Gaussian joint probability distributions
• pVariableName => ..., default value p, symbol used for indeterminates in a ring of Gaussian joint probability distributions
• sVariableName => ..., default value s, symbol used for indeterminates in a ring of Gaussian joint probability distributions
• Outputs:
• a ring, a polynomial ring with indeterminates associated to the graphical model

## Description

This function creates a ring whose indeterminates are the covariances of an n dimensional Gaussian random vector. Using a graph, digraph, or mixed graph $G$ as input gives a gaussianRing with extra indeterminates related to the parametrization of the graphical model associated to that graph. Check the details of the gaussianRing for each type of input:

The indeterminates of the ring - $s_{(i,j)},k_{(i,j)},l_{(i,j)},p_{(i,j)}$ - can be placed into an appropriate matrix format using the functions covarianceMatrix, undirectedEdgesMatrix, directedEdgesMatrix, and bidirectedEdgesMatrix respectively.

The variable names that appear can be changed using the options sVariableName, lVariableName, pVariableName, and kVariableName

 i1 : G = mixedGraph(digraph {{b,{c,d}},{c,{d}}},bigraph {{a,d}}) o1 = MixedGraph{Bigraph => Bigraph{a => {d}} } d => {a} Digraph => Digraph{b => {c, d}} c => {d} d => {} Graph => Graph{} o1 : MixedGraph i2 : R = gaussianRing (G,pVariableName => psi) o2 = R o2 : PolynomialRing i3 : gens R o3 = {l , l , l , psi , psi , psi , psi , psi , s , s , b,c b,d c,d a,a b,b c,c d,d a,d a,a a,b ------------------------------------------------------------------------ s , s , s , s , s , s , s , s } a,c a,d b,b b,c b,d c,c c,d d,d o3 : List

The routines conditionalIndependenceIdeal, trekIdeal, covarianceMatrix, undirectedEdgesMatrix, directedEdgesMatrix, bidirectedEdgesMatrix, gaussianVanishingIdeal and gaussianParametrization require that the ring be created by this function.

## For the programmer

The object gaussianRing is .