0
$\begingroup$

I want to factorize the following polynomial in MATHEMATICA: $1 - 2 r + r^2 - 2 s + 2 r s + s^2 - 2 t + 2 r t + 2 s t - 4 r s t + t^2$.

1 - 2 r + r^2 - 2 s + 2 r s + s^2 - 2 t + 2 r t + 2 s t - 4 r s t + t^2

If done by hand it is easy to see that the above expression can be written in the form of (a+b)(a-b) as: $(-1 + r + s + t)^2 - (2 \sqrt{r s t})^2$.

I tried using the "Factor" command in MATHEMATICA but it doesn't help, so if there is any command or any code that can help me with the same is appreciated.

Edit: This specific factorization is required as I want the degree of each factored part to be 1. And also if there is any general algorithm so as to obtain factorization for such polynomials in $(a-b)(a+b)$ form so that it can be used with other such polynomials too.

$\endgroup$
7
  • $\begingroup$ It's an odd choice of factorization, but Factor[poly + 4 r s t] - 4 r s t works. There's also a polynomial in r, FullSimplify[poly] giving r^2 + (-1 + s + t)^2 + 2 r (-1 + s + t - 2 s t) $\endgroup$
    – flinty
    Jul 13, 2020 at 12:40
  • $\begingroup$ Thanks. Yes that works but what if I have some other polynomial which could be written in the form of (a-b)(a+b), is there a general algorithm for that.( sorry I have to make that clear in the edit after you gave the solution) $\endgroup$
    – Erosannin
    Jul 13, 2020 at 12:51
  • $\begingroup$ If you can write it as (a-b)(a+b) and Factor isn't working as you'd like, then you can always try to solve: Solve[(a - b) (a + b) == poly, {a, b}] $\endgroup$
    – flinty
    Jul 13, 2020 at 12:53
  • $\begingroup$ Solve[1-2 r+r^2-2 s+2 r s+s^2-2 t+2 r t+2 s t-4 r s t+t^2==0,{r}]/.{Rule->Subtract,List->Times} $\endgroup$
    – chyanog
    Jul 13, 2020 at 12:58
  • $\begingroup$ Thanks, I tried doing that but it returns just two values of $b$ and doesn't return anything for $a$. $\endgroup$
    – Erosannin
    Jul 13, 2020 at 12:58

2 Answers 2

1
$\begingroup$

Perhaps this is what you can use in this case

ex = 1-2r+r^2-2s+2r s+s^2-2t+2r t+2s t-4r s t+t^2;
(ex/.r s t->u^2//Factor)/.u->Sqrt[r s t]

which returns

(-1 + r + s + t - 2*Sqrt[r*s*t])*(-1 + r + s + t + 2*Sqrt[r*s*t]

I don't think this can be generalized. Any expression with more than one term can be written as $$ a-b = (\sqrt{a})^2 - (\sqrt{b})^2= (\sqrt{a}-\sqrt{b})(\sqrt{a}+\sqrt{b})$$ but the choice of $a$ and $b$ is arbitrary but also with the proper choice of signs of the square roots.

$\endgroup$
1
  • $\begingroup$ For real a, Sqrt[a^2] == Abs[a] so the arbitrary a and b must each be nonnegative. $\endgroup$
    – Bob Hanlon
    Jul 13, 2020 at 15:07
1
$\begingroup$

Another way assuming $r\ge 0,s\ge 0,t\ge 0$.

expr = 1 - 2 r + r^2 - 2 s + 2 r s + s^2 - 2 t + 2 r t + 2 s t - 4 r s t + t^2;
EXPR = expr /. {s -> S^2 , r -> R^2, t -> T^2} // Factor
EXPR /.{S -> Sqrt[s], R -> Sqrt[r], T -> Sqrt[t]}
$\endgroup$
2
  • $\begingroup$ I tried that and it worked fine. But I tried to use the similar idea for one more polynomial I had $r^2 - 2 r s + s^2 - 2 r t - 2 s t + 4 r s t + t^2 $ and the Factor command didn't work. Is there anything special I need to take care of while using this command ? $\endgroup$
    – Erosannin
    Jul 15, 2020 at 5:24
  • $\begingroup$ Solving tor $t$ we obtain $\left(-2 r s-2 \sqrt{(r-1) r (s-1) s}+r+s-t\right) \left(-2 r s+2 \sqrt{(r-1) r (s-1) s}+r+s-t\right)$ $\endgroup$
    – Cesareo
    Jul 15, 2020 at 8:47

Your Answer

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

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