If I understand the references correctly, you'd want to replace
instances of a and b in the expression with b/a, replace that with a
single variable like x, then do a series expansion and remove higher
order x terms. There isn't anything in SymPy that automates this in
one step but you can get a lot of it automatically with subs() and
series(). The hard part is that in some of the examples you may have
to perform this on subexpressions rather than the whole expression.
For example, one of the examples you linked to is 1/(b*(b + a)) =
1/(b*a) if a >> b.
>>> expr = 1/(b*(a + b))
>>> # Set x = b/a
>>> expr.subs(a, b/x).cancel()
x/(b**2*x + b**2)
>>> # Expand as a series up to O(x**2)
>>> expr.subs(a, b/x).cancel().series(x, n=2)
x/b**2 + O(x**2)
>>> # Remove the O() term and substitute back
>>> expr.subs(a, b/x).cancel().series(x, n=2).removeO().subs(x, b/a)
1/(a*b)
Aaron Meurer
> --
> 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+un...@googlegroups.com.
> To view this discussion on the web visit
https://groups.google.com/d/msgid/sympy/446b0334-0fc0-48ad-802a-3ac7e3225667n%40googlegroups.com.