pgmpy.factors.factorset_divide#
- pgmpy.factors.factorset_divide(factorset1, factorset2)[source]#
Base method for dividing two factor sets.
Division of two factor sets \(\frac{\vec\phi_1}{\vec\phi_2}\) basically translates to union of all the factors present in \(\vec\phi_2\) and \(\frac{1}{\phi_i}\) of all the factors present in \(\vec\phi_2\).
- Parameters:
- factorset1: FactorSet
The dividend
- factorset2: FactorSet
The divisor
- Returns:
- The division of factorset1 and factorset2
Examples
>>> from pgmpy.factors import FactorSet >>> from pgmpy.factors.discrete import DiscreteFactor >>> from pgmpy.factors import factorset_divide >>> phi1 = DiscreteFactor( ... variables=["x1", "x2", "x3"], cardinality=[2, 3, 2], values=range(12) ... ) >>> phi2 = DiscreteFactor( ... variables=["x3", "x4", "x1"], cardinality=[2, 2, 2], values=range(8) ... ) >>> factor_set1 = FactorSet(phi1, phi2) >>> phi3 = DiscreteFactor( ... variables=["x5", "x6", "x7"], cardinality=[2, 2, 2], values=range(8) ... ) >>> phi4 = DiscreteFactor( ... variables=["x5", "x7", "x8"], cardinality=[2, 2, 2], values=range(8) ... ) >>> factor_set2 = FactorSet(phi3, phi4) >>> factor_set3 = factorset_divide(factor_set2, factor_set1) >>> print(factor_set3) set([<DiscreteFactor representing phi(x3:2, x4:2, x1:2) at 0x7f119ad78f90>, <DiscreteFactor representing phi(x5:2, x6:2, x7:2) at 0x7f119ad78e50>, <DiscreteFactor representing phi(x1:2, x2:3, x3:2) at 0x7f119ad78ed0>, <DiscreteFactor representing phi(x5:2, x7:2, x8:2) at 0x7f119ad78e90>])