How can I split a given polynomial as sum of factors in Mathematica?

For example, let's say I have this polynomial: $2\cdot x^2+7\cdot x+2$.

I would like the output to be $(x+1)(x+2)+x(x+4)$. Is there a way to do that with Mathematica?

  • 1
    $\begingroup$ What you want is not really factorization, because that's about multiplication of factors. There's an infinity of terms that can be added to arrive at the same result. But have a look at Factor anyway. $\endgroup$ Mar 31 '15 at 6:15
  • $\begingroup$ 'Factor' doesn't give a possible way to write factors as sum of products. $\endgroup$
    – Baymax
    Apr 7 '15 at 6:04
expr = 2 x^2 + 7 x + 2;

expr2 = (x + a) (x + b) + x (x + c);

expr2 /. Solve[Equal @@ (CoefficientList[#, x] & /@ {expr, expr2}),
   {a, b, c}, Integers][[-1]]

(1 + x) (2 + x) + x (4 + x)

  • $\begingroup$ Thanks for the answer. But, is it possible to implement such a procedure symbolically and for any given polynomial not necessarily quadratic? $\endgroup$
    – Baymax
    Apr 7 '15 at 6:05
  • $\begingroup$ I believe not. The target form (expr2) would have to be specified and generally not all polynomials of a given order can be expressed in the specified form (even if just quadratic). $\endgroup$
    – Bob Hanlon
    Apr 7 '15 at 13:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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