Mateusz's new polys module, when we get it pushed in, will let you do this (see
git://github.com/mattpap/sympy-polys.git). Until then, the easiest way to do
that is to temporarily substitute each non-symbol with a symbol:
In [3]: a = S('x**2*cos(x)+x*cos(x)')
In [4]: a.subs(cos(x), y)
Out[4]:
2
x⋅y + y⋅x
In [5]: a = factor(a.subs(cos(x), y))
In [6]: a
Out[6]: x⋅y⋅(1 + x)
In [8]: a = a.subs(y, cos(x))
In [9]: a
Out[9]: x⋅(1 + x)⋅cos(x)
Sorry about the difficulty. Hopefully we can get the new module in by the next
release to make this easier.
Aaron Meurer
On Jan 13, 2010, at 3:26 AM, czbebe wrote:
> Dear member,
>
> x = sympy.symbols('x')
> sympy.factor('x**2+x)
> =x(1+x)
>
> sympy.factor('x**2*cos(x)+x*cos(x)')
> sympy.polys.polynomial.PolynomialError: Can't decompose cos(x)
>
> How can I factorize above term ?
> maybe x(1+x)cos(x)
>
> czbebe
> --
> You received this message because you are subscribed to the Google Groups
> "sympy" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/sympy?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sympy?hl=en.