0
$\begingroup$

I have polynomials like this:

d = 1 - 28415535000 x + 578834975759040000 x^2 - 
  74209612276800000 x^3 + 6678865104912000 x^4 - 
  445257673660800 x^5 + 22585534171200 x^6 - 879955876800 x^7 + 
  26189163000 x^8 - 581981400 x^9 + 9189180 x^10 - 92820 x^11 + 
  455 x^12

r = Roots[d == 0, x]

Factor[d]

I want to factorize them according to the fundamental theorem of algebra. Factor[d] returns basically the same polynomial.

How can I factor it?

$\endgroup$
2
  • $\begingroup$ Factor factors polynomials over the integers, unless you specify an extension. Do you have any reason to believe that this very complicated polynomial has integer roots (your 'r' does not appear to support this, at least)? $\endgroup$
    – starfish
    Jan 18 at 11:10
  • $\begingroup$ Ah, I missed the integer part. No, I have no reasons to think so. I need the factorization with whatever roots it has. $\endgroup$ Jan 18 at 11:33

1 Answer 1

3
$\begingroup$

As you have the roots, you can get a factorization up to a overall factor of 455 (the coefficient of x^12) by:

d = 1 - 28415535000  x + 578834975759040000  x^2 - 
   74209612276800000  x^3 + 6678865104912000  x^4 - 
   445257673660800  x^5 + 22585534171200  x^6 - 879955876800  x^7 + 
   26189163000  x^8 - 581981400  x^9 + 9189180  x^10 - 92820  x^11 + 
   455  x^12;

r =  Roots[d == 0, x]

enter image description here

The output is given as alternatives with "Or". This can be changed to rules using "ToRules". Note also, the roots are given as root objects, that is accurate algebraic numbers. Then, as the rules replace "x" we need to temporarily another variable: "y" for the polynomial, that we then change back to "x". Finally, to get rid of the "Or", we apply Times to the head of the expression:

r1 = (y - x) /. {r // ToRules} /. y -> x;
r1 = Times @@ r1

enter image description here

Next, we account for the overall factor of 455 and expand.

r1 = Expand[ 455   r1]

This gives a real long expression because of the many products of root objects and we do not show it here. Finally we verify that we got the original polynomial back:

d - r1  // Simplify

0
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.