Hensel's Lemma allows us to factor a polynomial uniquely into basic irreducible factors over $\mathbb{Z}_{p^k}$. Is there a SAGE or Magma command that gives this factorization? Or can anyone help in writing a small script that handles this problem? Thanks in advance.
-
1$\begingroup$ I think this question, technically speaking, counts as a programming question? $\endgroup$– awllowerDec 26, 2014 at 14:59
-
$\begingroup$ Maybe a small script can handle this?.. Not a complicated program. Maybe.. Someone working on Z_p^k may have some information about this. $\endgroup$– S.B.Dec 26, 2014 at 15:02
-
$\begingroup$ It might be worth looking into a CAS like Maxima or Maple. $\endgroup$– flawrDec 26, 2014 at 15:05
-
$\begingroup$ You probably mean $\mathbb{Z}_{p^k}$ and not $\mathbb{Z}_p^k$ ? $\endgroup$– Olexandr KonovalovFeb 26, 2015 at 23:49
-
$\begingroup$ Right, of course, I edited, thanks. $\endgroup$– S.B.Feb 27, 2015 at 5:36
1 Answer
For example, you can do this with GAP, using Factors
:
gap> f:= CyclotomicPolynomial( GF(2), 7 );
x_1^6+x_1^5+x_1^4+x_1^3+x_1^2+x_1+Z(2)^0
gap> Factors( f );
[ x_1^3+x_1+Z(2)^0, x_1^3+x_1^2+Z(2)^0 ]
gap> Factors( PolynomialRing( GF(8) ), f );
[ x_1+Z(2^3), x_1+Z(2^3)^2, x_1+Z(2^3)^3, x_1+Z(2^3)^4,
x_1+Z(2^3)^5, x_1+Z(2^3)^6 ]
(see GAP manual here for the documentation of Factors
).
-
$\begingroup$ P.S. Of course, GAP is not the unique system capable of doing this, but one of the advantages of doing this in GAP is that it's open-source (as well as Sagemath and Maxima suggested in comments by others). $\endgroup$ Feb 26, 2015 at 23:54
-
$\begingroup$ Thank you in advance. I have usen GAP several times when dealing with Group Theory, and I follow also the GAP forum, but I haven't thought that it might have been handy in factoring polynomials. Thank you. $\endgroup$– S.B.Feb 27, 2015 at 5:41
-
$\begingroup$ Thanks, glad to see you on this site too! $\endgroup$ Feb 27, 2015 at 9:31