Chapter 17: Problem 6
Let \(x, a_{0}, \ldots, a_{\ell-1} \in R,\) and let \(k\) be an integer with \(0
Short Answer
Step by step solution
Key Concepts
These are the key concepts you need to understand to accurately answer the question.
Chapter 17: Problem 6
Let \(x, a_{0}, \ldots, a_{\ell-1} \in R,\) and let \(k\) be an integer with \(0
These are the key concepts you need to understand to accurately answer the question.
All the tools & learning materials you need for study success - in one app.
Get started for freeGiven polynomials \(g, h \in R[X],\) show how to compute their composition \(g(h) \in R[X]\) using \(O\left(\operatorname{len}(g)^{2} \operatorname{len}(h)^{2}\right)\) operations in \(R\).
This exercise develops a fast algorithm, called the fast Fourier transform or FFT, for computing the function \(\mathcal{E}_{n, \omega} .\) This is a recursive algorithm 17.6 Faster polynomial arithmetic (*) FFT \(\left(n, \omega ; a_{0}, \ldots, a_{2^{n}-1}\right)\) that takes as input an integer \(n \geq 0,\) a primitive \(2^{n}\) th root of unity \(\omega \in R,\) and elements \(a_{0}, \ldots, a_{2^{n}-1} \in R,\) and runs as follows: if \(n=0\) then return \(a_{0}\) else $$ \begin{array}{l} \left(\alpha_{0}, \ldots, \alpha_{2^{n-1}-1}\right) \leftarrow \mathrm{FFT}\left(n-1, \omega^{2} ; a_{0}, a_{2}, \ldots, a_{2^{n}-2}\right) \\\ \left(\beta_{0}, \ldots, \beta_{2^{n-1}-1}\right) \leftarrow \mathrm{FFT}\left(n-1, \omega^{2} ; a_{1}, a_{3}, \ldots, a_{2^{n}-1}\right) \\\ \text { for } i \leftarrow 0 \text { to } 2^{n-1}-1 \mathrm{do} \\ \quad \gamma_{i} \leftarrow \alpha_{i}+\beta_{i} \omega^{i}, \gamma_{i+2^{n-1}} \leftarrow \alpha_{i}-\beta_{i} \omega^{i} \\ \text { return }\left(\gamma_{0}, \ldots, \gamma_{2^{n}-1}\right) \end{array} $$
Let \(g, h \in R[X, Y]\) with \(g=\sum_{i=0}^{m-1} g_{i} Y^{i}\) and \(h=\sum_{i=0}^{m-1} h_{i} Y^{i},\) where each \(g_{i}\) and \(h_{i}\) is a polynomial in \(X\) of degree less than \(k .\) The product \(f:=g h \in R[X, Y]\) may be written \(f=\sum_{i=0}^{2 m-2} f_{i} Y^{i},\) where each \(f_{i}\) is a polynomial in \(X .\) Show how to compute \(f,\) given \(g\) and \(h,\) using \(O(M(k m))\) operations in \(R\). Hint: for an appropriately chosen integer \(t>0,\) first convert \(g, h\) to \(\tilde{g}, \tilde{h} \in R[X],\) where \(\tilde{g}:=\sum_{i=0}^{m-1} g_{i} X^{t i}\) and \(\tilde{h}:=\sum_{i=0}^{m-1} h_{i} X^{t i} ;\) next, compute \(\tilde{f}:=\tilde{g} \tilde{h} \in R[X] ;\) finally, "read off" the \(f_{i}\) 's from the coefficients of \(\tilde{f}\).
Let \(f \in R[X]\) be a polynomial of degree \(\ell>0\) with \(\operatorname{lc}(f) \in R^{*},\) and let \(E:=R[X] /(f) .\) Suppose that in addition to \(f,\) we are given a polynomial \(g \in R[X]\) of degree less than \(k\) and an element \(\alpha \in E,\) and we want to compute \(g(\alpha) \in E .\) This is called the modular composition problem. (a) Show that a straightforward application of Horner's rule yields an algorithm that uses \(O\left(k \ell^{2}\right)\) operations in \(R,\) and requires space for storing \(O(\ell)\) elements of \(R\). (b) Show how to compute \(g(\alpha)\) using just \(O\left(k \ell+k^{1 / 2} \ell^{2}\right)\) operations in \(R,\) at the expense of requiring space for storing \(O\left(k^{1 / 2} \ell\right)\) elements of \(R\). Hint: first compute a table of powers \(1, \alpha, \ldots, \alpha^{m},\) for \(m \approx k^{1 / 2}\)
Suppose you are given three polynomials \(f, g, h \in \mathbb{Z}_{p}[X],\) where
\(p\) is a large prime, in particular, \(p \geq 2 \operatorname{deg}(g)
\operatorname{deg}(h) .\) Design an efficient probabilistic algorithm that
tests if \(f=g(h)\) (i.e., if \(f\) equals \(g\) composed with \(h\) ). Your algorithm
should have the following properties: if \(f=g(h),\) it
\(\begin{array}{ll}468 & \text { Polynomial arithmetic and applications
}\end{array}\)
should always output "true," and otherwise, it should output "false" with
probability at least \(0.999 .\) The expected running time of your algorithm
should be
\(O\left((\operatorname{len}(f)+\operatorname{len}(g)+\operatorname{len}(h))
\operatorname{len}(p)^{2}\right)\)
EXERCISE 17.6. Let \(x, a_{0}, \ldots, a_{\ell-1} \in R,\) and let \(k\) be an
integer with \(0
What do you think about this solution?
We value your feedback to improve our textbook solutions.