Fast modular composition and irreducibility testing












1














Given a polynomials $fin F_q[t]$ we want an algorithm that says if $f$ is irreducible or not.



In the book "Modern Computer Algebra" by von zur Gathen and Jürgen Gerhard, an algorithm for that is proposed (algorithm $14.36$). The issue is not with the algorithm itself, but with the implementation advices.



The book recommends us to compute $t^qmod f$ as an auxiliary result, and then, use the fast modular composition algorithm to compute $t^{q^n}mod f$ (being $n:=deg(f)$), and, in general to compute $t^{q^{n/k}}mod f$ (being $k$ a prime divisor of $n$).



I understand this recommendation as follows: Let $n=2^k+sum_{i=0}^{k-1}n_i2^i$ be the binary representation of $n$ ($n_iin{0,1}$) and $s_i:=x^{q^i}mod f$.



It is clear that $$x^{q^n}mod f = x^{q^{2^k+sum_{i=0}^{k-1}n_i2^i}}mod f=s_{2^k}(s_{sum_{i=0}^{k-1}n_i2^i})mod f=s_{2^k}(s_{n_{k-1}2^{k-1}}(cdots(s_{n_0})cdots))mod f$$



So we will only need $mathcal{O}(log n)$ fast modular compositions to get the result.



I don't really get why this recommendations are useful, as we have to compute not only $x^qmod f$, but also $x^{q^{2^i}}mod f$ for some $iin{1,dots,k}$. Am I wrong?



Any idea?










share|cite|improve this question




















  • 1




    Not my field at all, but isn't taking $q$-th powers very easy in $Bbb{F}_q$? For example, for any polynomial $ginBbb{F}_q[t]$ you have $(g(t))^q=g(t^q)$.
    – Servaes
    Dec 2 '18 at 18:37












  • @Servaes yes, what you said is true, but there are still some holes. Please, take a look to my edits
    – Álvaro G. Tenorio
    Dec 15 '18 at 14:48
















1














Given a polynomials $fin F_q[t]$ we want an algorithm that says if $f$ is irreducible or not.



In the book "Modern Computer Algebra" by von zur Gathen and Jürgen Gerhard, an algorithm for that is proposed (algorithm $14.36$). The issue is not with the algorithm itself, but with the implementation advices.



The book recommends us to compute $t^qmod f$ as an auxiliary result, and then, use the fast modular composition algorithm to compute $t^{q^n}mod f$ (being $n:=deg(f)$), and, in general to compute $t^{q^{n/k}}mod f$ (being $k$ a prime divisor of $n$).



I understand this recommendation as follows: Let $n=2^k+sum_{i=0}^{k-1}n_i2^i$ be the binary representation of $n$ ($n_iin{0,1}$) and $s_i:=x^{q^i}mod f$.



It is clear that $$x^{q^n}mod f = x^{q^{2^k+sum_{i=0}^{k-1}n_i2^i}}mod f=s_{2^k}(s_{sum_{i=0}^{k-1}n_i2^i})mod f=s_{2^k}(s_{n_{k-1}2^{k-1}}(cdots(s_{n_0})cdots))mod f$$



So we will only need $mathcal{O}(log n)$ fast modular compositions to get the result.



I don't really get why this recommendations are useful, as we have to compute not only $x^qmod f$, but also $x^{q^{2^i}}mod f$ for some $iin{1,dots,k}$. Am I wrong?



Any idea?










share|cite|improve this question




















  • 1




    Not my field at all, but isn't taking $q$-th powers very easy in $Bbb{F}_q$? For example, for any polynomial $ginBbb{F}_q[t]$ you have $(g(t))^q=g(t^q)$.
    – Servaes
    Dec 2 '18 at 18:37












  • @Servaes yes, what you said is true, but there are still some holes. Please, take a look to my edits
    – Álvaro G. Tenorio
    Dec 15 '18 at 14:48














1












1








1







Given a polynomials $fin F_q[t]$ we want an algorithm that says if $f$ is irreducible or not.



In the book "Modern Computer Algebra" by von zur Gathen and Jürgen Gerhard, an algorithm for that is proposed (algorithm $14.36$). The issue is not with the algorithm itself, but with the implementation advices.



The book recommends us to compute $t^qmod f$ as an auxiliary result, and then, use the fast modular composition algorithm to compute $t^{q^n}mod f$ (being $n:=deg(f)$), and, in general to compute $t^{q^{n/k}}mod f$ (being $k$ a prime divisor of $n$).



I understand this recommendation as follows: Let $n=2^k+sum_{i=0}^{k-1}n_i2^i$ be the binary representation of $n$ ($n_iin{0,1}$) and $s_i:=x^{q^i}mod f$.



It is clear that $$x^{q^n}mod f = x^{q^{2^k+sum_{i=0}^{k-1}n_i2^i}}mod f=s_{2^k}(s_{sum_{i=0}^{k-1}n_i2^i})mod f=s_{2^k}(s_{n_{k-1}2^{k-1}}(cdots(s_{n_0})cdots))mod f$$



So we will only need $mathcal{O}(log n)$ fast modular compositions to get the result.



I don't really get why this recommendations are useful, as we have to compute not only $x^qmod f$, but also $x^{q^{2^i}}mod f$ for some $iin{1,dots,k}$. Am I wrong?



Any idea?










share|cite|improve this question















Given a polynomials $fin F_q[t]$ we want an algorithm that says if $f$ is irreducible or not.



In the book "Modern Computer Algebra" by von zur Gathen and Jürgen Gerhard, an algorithm for that is proposed (algorithm $14.36$). The issue is not with the algorithm itself, but with the implementation advices.



The book recommends us to compute $t^qmod f$ as an auxiliary result, and then, use the fast modular composition algorithm to compute $t^{q^n}mod f$ (being $n:=deg(f)$), and, in general to compute $t^{q^{n/k}}mod f$ (being $k$ a prime divisor of $n$).



I understand this recommendation as follows: Let $n=2^k+sum_{i=0}^{k-1}n_i2^i$ be the binary representation of $n$ ($n_iin{0,1}$) and $s_i:=x^{q^i}mod f$.



It is clear that $$x^{q^n}mod f = x^{q^{2^k+sum_{i=0}^{k-1}n_i2^i}}mod f=s_{2^k}(s_{sum_{i=0}^{k-1}n_i2^i})mod f=s_{2^k}(s_{n_{k-1}2^{k-1}}(cdots(s_{n_0})cdots))mod f$$



So we will only need $mathcal{O}(log n)$ fast modular compositions to get the result.



I don't really get why this recommendations are useful, as we have to compute not only $x^qmod f$, but also $x^{q^{2^i}}mod f$ for some $iin{1,dots,k}$. Am I wrong?



Any idea?







abstract-algebra algorithms finite-fields irreducible-polynomials computer-algebra-systems






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited Dec 15 '18 at 14:46

























asked Dec 2 '18 at 18:23









Álvaro G. Tenorio

13710




13710








  • 1




    Not my field at all, but isn't taking $q$-th powers very easy in $Bbb{F}_q$? For example, for any polynomial $ginBbb{F}_q[t]$ you have $(g(t))^q=g(t^q)$.
    – Servaes
    Dec 2 '18 at 18:37












  • @Servaes yes, what you said is true, but there are still some holes. Please, take a look to my edits
    – Álvaro G. Tenorio
    Dec 15 '18 at 14:48














  • 1




    Not my field at all, but isn't taking $q$-th powers very easy in $Bbb{F}_q$? For example, for any polynomial $ginBbb{F}_q[t]$ you have $(g(t))^q=g(t^q)$.
    – Servaes
    Dec 2 '18 at 18:37












  • @Servaes yes, what you said is true, but there are still some holes. Please, take a look to my edits
    – Álvaro G. Tenorio
    Dec 15 '18 at 14:48








1




1




Not my field at all, but isn't taking $q$-th powers very easy in $Bbb{F}_q$? For example, for any polynomial $ginBbb{F}_q[t]$ you have $(g(t))^q=g(t^q)$.
– Servaes
Dec 2 '18 at 18:37






Not my field at all, but isn't taking $q$-th powers very easy in $Bbb{F}_q$? For example, for any polynomial $ginBbb{F}_q[t]$ you have $(g(t))^q=g(t^q)$.
– Servaes
Dec 2 '18 at 18:37














@Servaes yes, what you said is true, but there are still some holes. Please, take a look to my edits
– Álvaro G. Tenorio
Dec 15 '18 at 14:48




@Servaes yes, what you said is true, but there are still some holes. Please, take a look to my edits
– Álvaro G. Tenorio
Dec 15 '18 at 14:48










0






active

oldest

votes











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3023011%2ffast-modular-composition-and-irreducibility-testing%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























0






active

oldest

votes








0






active

oldest

votes









active

oldest

votes






active

oldest

votes
















draft saved

draft discarded




















































Thanks for contributing an answer to Mathematics Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.





Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


Please pay close attention to the following guidance:


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3023011%2ffast-modular-composition-and-irreducibility-testing%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Tonle Sap (See)

I get strange results when I access the Sqlitedatabase with Unity C# via XAMPP

Guatemaltekische Davis-Cup-Mannschaft