collect_dependence#

m4opt.utils.sympy.collect_dependence(expr, symbols)[source] [edit on github]#

Collect terms in an expression that depend on like combinations of symbols.

Examples

>>> from m4opt.utils.sympy import collect_dependence
>>> from sympy.abc import a, b, c
>>> from sympy import sin, Symbol
>>> symbols = [a, b, c]
>>> expr = a + b + c
>>> collect_dependence(expr, symbols)
{(c,): c, (b,): b, (a,): a}
>>> expr = 42 + a * (sin(a) + sin(b)) + b * (b + c) + c
>>> collect_dependence(expr, symbols)
{(): 42, (c,): c, (b,): b**2, (b, c): b*c, (a,): a*sin(a), (a, b): a*sin(b)}
Parameters:
Return type:

dict[tuple[Basic, …], Basic]