I'm not entirely sure what you are looking for. Do the factors need to have integer coefficients? If not, then you get a factorization into quadratics just by noting you have a polynomial in x^2
and hence can use the quadratic formula. The nonnegativity of both roots will follow, in this specific example, provided the discriminant is nonnegative.
[Note: Below is corrected from original response.]
Reduce[(2*m+4)^2 - 4 (m-2)^2 >= 0, m]
(* Out[39]= m >= 0 *)
From here you might want to investigate the linear factors, I'm not sure.
If you are looking for integer coefficients in the factors, could work with this.
Solve[(2*m+4)^2 - 4*(m-2)^2 == k^2 && m>=0, {m, k}, Integers]
The (parametrized) result is tricky to work with but it does seem to be usable.
--- edit ---
We are looking for integer coefficients in the factorization. This gives some ammunition, for example, to attack the linear factor case.
Suppose there is such a factorization, that is, at least one linear factor. Then it will have the form (x-k)*cubic
(where the cubic might be further factorizable). So let's see what that would imply. Equating coefficients of linear times cubic with the given polynomial form yields the following.
ss =
SolveAlways[(x - k)*(x^3 + a*x^2 + b*x + c) ==
x^4 \[Minus] (2 m + 4) x^2 + (m \[Minus] 2)^2, x]
(* Out[34]= {{a -> k, b -> -8 - 4 Sqrt[2] k - k^2,
c -> -8 k - 4 Sqrt[2] k^2 - k^3,
m -> 2 + 2 Sqrt[2] k + k^2}, {a -> k, b -> -8 + 4 Sqrt[2] k - k^2,
c -> -8 k + 4 Sqrt[2] k^2 - k^3, m -> 2 - 2 Sqrt[2] k + k^2}} *)
Now let's see what the quartic polynomial becomes.
Collect[Expand[(x - k)*(x^3 + a*x^2 + b*x + c) /. ss], x]
(* {8 k^2 + 4 Sqrt[2] k^3 +
k^4 + (-8 - 4 Sqrt[2] k - 2 k^2) x^2 + x^4,
8 k^2 - 4 Sqrt[2] k^3 + k^4 + (-8 + 4 Sqrt[2] k - 2 k^2) x^2 + x^4} *)
Since m
is restricted to be an integer, we cannot obtain integer coefficients unless k
has a factor involving sqrt(2)
. So we cannot have a linear factor with an integer root (negative of the constant term).
(2m + 4)
Now let's return to the quadratic timesx quadratic scenario. This can be handled simply by substituting y
for x^2
, that is, making the polynomial explicitly quadratic. Find the roots, then substitute back to rewrite in terms of x^2
. The roots of the newly formed quadratic are given by the quadratic formula:
((2*m + 4) +- Sqrt[(2*m + 4)^2-4*(m−2)^2]) / 2
Per specifications of the question, we require that these be integral and nonnegative. Note that my original formulation of the quadratic discriminant was missing a factor of 4 from the second term. Putting it in makes for an easier computation. I edited above to observe that the nonnegativity restriction simply implies that m>=0
. So let's follow up from there. I remark that the k
below is not related to the (nonexisting) one from the linear times cubic attempt.
qsols = Solve[(2*m + 4)^2 - 4*(m - 2)^2 == k^2 && m >= 0, {m,
k}, Integers]
(* Out[40]= {{m ->
ConditionalExpression[32 C[1]^2, C[1] \[Element] Integers],
k -> ConditionalExpression[32 C[1],
C[1] \[Element] Integers]}, {m ->
ConditionalExpression[2 + 16 C[1] + 32 C[1]^2,
C[1] \[Element] Integers],
k -> ConditionalExpression[8 + 32 C[1],
C[1] \[Element] Integers]}, {m ->
ConditionalExpression[8 + 32 C[1] + 32 C[1]^2,
C[1] \[Element] Integers],
k -> ConditionalExpression[16 + 32 C[1],
C[1] \[Element] Integers]}, {m ->
ConditionalExpression[18 + 48 C[1] + 32 C[1]^2,
C[1] \[Element] Integers],
k -> ConditionalExpression[24 + 32 C[1], C[1] \[Element] Integers]}} *)
This just means that any integer value for the parametrized constant will give a viable solution. For example one can generate some as follows. Note that there is overlap from separate solution branches, hence the use of Union
.
polys =
Union[Flatten[
Table[Expand[
x^4 \[Minus] (2 m + 4) x^2 + (m \[Minus] 2)^2 /. qsols /.
C[1] -> j], {j, -4, 4}]]]
(* Out[49]= {518400 - 1448 x^2 + x^4, 417316 - 1300 x^2 + x^4,
331776 - 1160 x^2 + x^4, 260100 - 1028 x^2 + x^4,
200704 - 904 x^2 + x^4, 152100 - 788 x^2 + x^4,
112896 - 680 x^2 + x^4, 81796 - 580 x^2 + x^4, 57600 - 488 x^2 + x^4,
39204 - 404 x^2 + x^4, 25600 - 328 x^2 + x^4, 15876 - 260 x^2 + x^4,
9216 - 200 x^2 + x^4, 4900 - 148 x^2 + x^4, 2304 - 104 x^2 + x^4,
900 - 68 x^2 + x^4, 256 - 40 x^2 + x^4,
36 - 20 x^2 + x^4, -8 x^2 + x^4, 4 - 4 x^2 + x^4} *)
Factor[polys]
Notice that these do factor as desired.
(* Out[50]= {(-800 + x^2) (-648 + x^2), (-722 + x^2) (-578 +
x^2), (-648 + x^2) (-512 + x^2), (-578 + x^2) (-450 +
x^2), (-512 + x^2) (-392 + x^2), (-450 + x^2) (-338 +
x^2), (-392 + x^2) (-288 + x^2), (-338 + x^2) (-242 +
x^2), (-288 + x^2) (-200 + x^2), (-242 + x^2) (-162 +
x^2), (-200 + x^2) (-128 + x^2), (-162 + x^2) (-98 + x^2), (-128 +
x^2) (-72 + x^2), (-98 + x^2) (-50 + x^2), (-72 + x^2) (-32 +
x^2), (-50 + x^2) (-18 + x^2), (-32 + x^2) (-8 + x^2), (-18 +
x^2) (-2 + x^2), x^2 (-8 + x^2), (-2 + x^2)^2} *)
--- end edit ---