pgmpy.factors.factorset_product#
- pgmpy.factors.factorset_product(*factorsets_list)[source]#
Base method used for product of factor sets.
Suppose \(\vec\phi_1\) and \(\vec\phi_2\) are two factor sets then their product is another factors set \(\vec\phi_3 = \vec\phi_1 \cup \vec\phi_2\).
- Parameters:
- factorsets_list: FactorSet1, FactorSet2, …, FactorSetn
All the factor sets to be multiplied
- Returns:
- Product of factorset in factorsets_list
Examples
>>> from pgmpy.factors import FactorSet >>> from pgmpy.factors.discrete import DiscreteFactor >>> from pgmpy.factors import factorset_product >>> 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_product(factor_set1, factor_set2) >>> print(factor_set3) set([<DiscreteFactor representing phi(x1:2, x2:3, x3:2) at 0x7fb3a1933e90>, <DiscreteFactor representing phi(x5:2, x7:2, x8:2) at 0x7fb3a1933f10>, <DiscreteFactor representing phi(x5:2, x6:2, x7:2) at 0x7fb3a1933f90>, <DiscreteFactor representing phi(x3:2, x4:2, x1:2) at 0x7fb3a1933e10>])