pgmpy.factors.factor_product#
- pgmpy.factors.factor_product(*args)[source]#
Returns factor product over args.
- Parameters:
- args: `BaseFactor` instances.
factors to be multiplied
- Returns:
- BaseFactor: BaseFactor representing factor product over all the BaseFactor instances in args.
Examples
>>> from pgmpy.factors.discrete import DiscreteFactor >>> from pgmpy.factors import factor_product >>> import numpy as np >>> 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) ... ) >>> phi = factor_product(phi1, phi2) >>> sorted(phi.variables) ['x1', 'x2', 'x3', 'x4'] >>> cardinalities = [ ... phi.get_cardinality([var])[var] for var in sorted(phi.variables) ... ] >>> np.array(cardinalities) array([2, 3, 2, 2]) >>> phi.values.shape (2, 3, 2, 2)