This is good method, but it doesn't work for x^4+1

On Monday, December 8, 2014 4:51:26 PM UTC+2, Chris Smith wrote:
>
> If you don't know what extension to use you can just rebuild the 
> expression from the roots:
>
> >>> efactor = lambda e: Mul(*[(x - r)**m for r,m in 
> roots(e).items()]).subs(
> ... x,e.free_symbols.pop())
> >>> efactor(y**6 - 20*y**4 + 77*y**2 + 242)
> (y - sqrt(11))**2*(y + sqrt(11))**2*(y - sqrt(2)*I)*(y + sqrt(2)*I)
>
>
> On Sunday, December 7, 2014 6:05:08 PM UTC-6, Paul Royik wrote:
>>
>> How should I use factor to factor expression over irrational numbers?
>>
>> For example,
>> x^2-4 produces (x-2)(x+2)
>> x^2-2 produces (x-sqrt(2))(x+sqrt(2))
>> x^4+1 produces (x^2-sqrt(2) x+1) (x^2+sqrt(2) x+1)
>> x^2+1 produces x^2+1 (only complex roots)
>> x^4-9 x^2-22 produces (x^2+2)(x-sqrt(11))(x+sqrt(11))
>>
>

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/4bef99c3-f9f4-4859-971e-6395f5e019c9%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to