Expresses each parameter in the gaussianParametrization in terms of covariances, if it is possible to do so, or displays that no identification formula is possible. The identifiability problem for mixed graph models is described in Garcia, Spielvogel, Sullivant, "Identifying causal effects with computer algebra", UAI, Proceedings of the 26th Conferences, AUAI Press, 2010.
If H#p contains a linear equation $a*p+b$ where a is always nonzero, then $p$ is identifiable.
If H#p contains a linear equation $a*p+b$ where a may be zero, then $p$ is generically identifiable.
If H#p contains a polynomial in $p$ of degree $d$, then $p$ is algebraically $d$-identifiable.
If H#p does not contain any polynomial in $p$, then $p$ is not generically identifiable.
i1 : G = mixedGraph(digraph {{a,{b}},{b,{c}}},bigraph {{a,c}, {b,c}}) o1 = MixedGraph{Bigraph => Bigraph{a => {c} }} b => {c} c => {a, b} Digraph => Digraph{a => {b}} b => {c} c => {} Graph => Graph{} o1 : MixedGraph |
i2 : R = gaussianRing G o2 = R o2 : PolynomialRing |
i3 : H = identifyParameters R o3 = HashTable{l => ideal(l s - s ) } a,b a,b a,a a,b l => ideal () b,c p => ideal(p - s ) a,a a,a a,a p => ideal () a,c 2 p => ideal(p s + s - s s ) b,b b,b a,a a,b a,a b,b p => ideal () b,c p => ideal () c,c o3 : HashTable |
Reading the output (first line in the HashTable), we see that parameter $l_{(a,b)}$ is identifiable by the formula $l_{(a,b)} = s_{(a,b)}/s_{(a,a)}$. On the other hand, $l_{(b,c)}$ is not identifiable.
The object identifyParameters is a method function.