I would use expr.factor(deep=True) and if that didn’t work, then 
expr.replace(lambda 
x: x.is_Mul or x.is_Add, lambda x: x.factor()).

Regarding formatting in Google groups, see here 
<https://webapps.stackexchange.com/questions/36030/insert-code-sample-into-a-google-groups-post>
 
where the recommended Markdown extension for Chrome was used to format this 
message. 


I typed the following and then hit the extension icon and got what you see 
above


I would use `expr.factor(deep=True)` and if that didn't work, then 
`expr.replace(lambda x: x.is_Mul or x.is_Add, lambda x: x.factor())`.

Regarding formatting in Google groups, see 
[here](https://webapps.stackexchange.com/questions/36030/insert-code-sample-into-a-google-groups-post)
 
where the recommended Markdown extension for Chrome was used to format this 
message.

/c
​
On Tuesday, May 21, 2024 at 6:06:15 AM UTC-5 debur...@gmail.com wrote:

>
> Is this function a good way to apply factor to subexpressions?
>
> def factor_subexpressions(expr):
>   """Factors all subexpressions of a SymPy expression.
>
>   Args:
>     expr: A SymPy expression.
>
>   Returns:
>     A SymPy expression with all subexpressions factored.
>   """
>
>   if isinstance(expr, sp.Add):
>     return sp.Add(*[arg.factor() for arg in expr.args])
>   elif isinstance(expr, sp.Mul):
>     return sp.Mul(*[arg.factor() for arg in expr.args])
>   else:
>     return sp.factor(expr)
>
> How do I post code?
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sympy+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/d1f3e428-8bef-46cf-9a3d-f58553674532n%40googlegroups.com.

Reply via email to