Fast Polynomial Factorization and Modular Composition∗
Total Page:16
File Type:pdf, Size:1020Kb
Load more
Recommended publications
-
Algorithmic Factorization of Polynomials Over Number Fields
Rose-Hulman Institute of Technology Rose-Hulman Scholar Mathematical Sciences Technical Reports (MSTR) Mathematics 5-18-2017 Algorithmic Factorization of Polynomials over Number Fields Christian Schulz Rose-Hulman Institute of Technology Follow this and additional works at: https://scholar.rose-hulman.edu/math_mstr Part of the Number Theory Commons, and the Theory and Algorithms Commons Recommended Citation Schulz, Christian, "Algorithmic Factorization of Polynomials over Number Fields" (2017). Mathematical Sciences Technical Reports (MSTR). 163. https://scholar.rose-hulman.edu/math_mstr/163 This Dissertation is brought to you for free and open access by the Mathematics at Rose-Hulman Scholar. It has been accepted for inclusion in Mathematical Sciences Technical Reports (MSTR) by an authorized administrator of Rose-Hulman Scholar. For more information, please contact [email protected]. Algorithmic Factorization of Polynomials over Number Fields Christian Schulz May 18, 2017 Abstract The problem of exact polynomial factorization, in other words expressing a poly- nomial as a product of irreducible polynomials over some field, has applications in algebraic number theory. Although some algorithms for factorization over algebraic number fields are known, few are taught such general algorithms, as their use is mainly as part of the code of various computer algebra systems. This thesis provides a summary of one such algorithm, which the author has also fully implemented at https://github.com/Whirligig231/number-field-factorization, along with an analysis of the runtime of this algorithm. Let k be the product of the degrees of the adjoined elements used to form the algebraic number field in question, let s be the sum of the squares of these degrees, and let d be the degree of the polynomial to be factored; then the runtime of this algorithm is found to be O(d4sk2 + 2dd3). -
January 10, 2010 CHAPTER SIX IRREDUCIBILITY and FACTORIZATION §1. BASIC DIVISIBILITY THEORY the Set of Polynomials Over a Field
January 10, 2010 CHAPTER SIX IRREDUCIBILITY AND FACTORIZATION §1. BASIC DIVISIBILITY THEORY The set of polynomials over a field F is a ring, whose structure shares with the ring of integers many characteristics. A polynomials is irreducible iff it cannot be factored as a product of polynomials of strictly lower degree. Otherwise, the polynomial is reducible. Every linear polynomial is irreducible, and, when F = C, these are the only ones. When F = R, then the only other irreducibles are quadratics with negative discriminants. However, when F = Q, there are irreducible polynomials of arbitrary degree. As for the integers, we have a division algorithm, which in this case takes the form that, if f(x) and g(x) are two polynomials, then there is a quotient q(x) and a remainder r(x) whose degree is less than that of g(x) for which f(x) = q(x)g(x) + r(x) . The greatest common divisor of two polynomials f(x) and g(x) is a polynomial of maximum degree that divides both f(x) and g(x). It is determined up to multiplication by a constant, and every common divisor divides the greatest common divisor. These correspond to similar results for the integers and can be established in the same way. One can determine a greatest common divisor by the Euclidean algorithm, and by going through the equations in the algorithm backward arrive at the result that there are polynomials u(x) and v(x) for which gcd (f(x), g(x)) = u(x)f(x) + v(x)g(x) . -
Polynomial Evaluation Engl2
Alexander Rostovtsev, Alexey Bogdanov and Mikhail Mikhaylov St. Petersburg state Polytechnic University [email protected] Secure evaluation of polynomial using privacy ring homomorphisms Method of secure evaluation of polynomial y = F(x1, …, xk) over some rings on untrusted computer is proposed. Two models of untrusted computer are considered: passive and active. In passive model untrusted computer correctly computes polyno- mial F and tries to know secret input (x1, …, xk) and output y. In active model un- trusted computer tries to know input and output and tries to change correct output y so that this change cannot be determined. Secure computation is proposed by using one-time privacy ring homomorphism /n ® /n[z]/(f(z)), n = pq, generated by trusted computer. In the case of active model secret check point v = F(u1, …, uk) is used. Trusted computer generates poly- nomial f(z) = (z - t)(z + t), t Î /n and input Xi(z) Î /n[z]/(f(z)) such that Xi(t) º xi (mod n) for passive model, and f(z) = (z - t1)(z - t2)(z - t3), ti Î /n and input Xi(z) Î /n[z]/(f(z)) such that Xi(t1) º xi (mod n), Xi(t2) º ui (mod n) for active model. Untrusted computer computes function Y(z) = F(X1(z), …, Xk(z)) in the ring /n[z]/(f(z)). For passive model trusted computer determines secret output y º Y(t) (mod n). For active model trusted computer checks that Y(t2) º v (mod n), then deter- mines correct output y º Y(t1) (mod n). -
2.4 Algebra of Polynomials ([1], P.136-142) in This Section We Will Give a Brief Introduction to the Algebraic Properties of the Polynomial Algebra C[T]
2.4 Algebra of polynomials ([1], p.136-142) In this section we will give a brief introduction to the algebraic properties of the polynomial algebra C[t]. In particular, we will see that C[t] admits many similarities to the algebraic properties of the set of integers Z. Remark 2.4.1. Let us first recall some of the algebraic properties of the set of integers Z. - division algorithm: given two integers w, z 2 Z, with jwj ≤ jzj, there exist a, r 2 Z, with 0 ≤ r < jwj such that z = aw + r. Moreover, the `long division' process allows us to determine a, r. Here r is the `remainder'. - prime factorisation: for any z 2 Z we can write a1 a2 as z = ±p1 p2 ··· ps , where pi are prime numbers. Moreover, this expression is essentially unique - it is unique up to ordering of the primes appearing. - Euclidean algorithm: given integers w, z 2 Z there exists a, b 2 Z such that aw + bz = gcd(w, z), where gcd(w, z) is the `greatest common divisor' of w and z. In particular, if w, z share no common prime factors then we can write aw + bz = 1. The Euclidean algorithm is a process by which we can determine a, b. We will now introduce the polynomial algebra in one variable. This is simply the set of all polynomials with complex coefficients and where we make explicit the C-vector space structure and the multiplicative structure that this set naturally exhibits. Definition 2.4.2. - The C-algebra of polynomials in one variable, is the quadruple (C[t], α, σ, µ)43 where (C[t], α, σ) is the C-vector space of polynomials in t with C-coefficients defined in Example 1.2.6, and µ : C[t] × C[t] ! C[t];(f , g) 7! µ(f , g), is the `multiplication' function. -
Generalized Kakeya Sets for Polynomial Evaluation and Faster Computation of Fermionants
Generalized Kakeya sets for polynomial evaluation and faster computation of fermionants Andreas Björklund1, Petteri Kaski2, and Ryan Williams3 1 Department of Computer Science, Lund University, Lund, Sweden 2 Department of Computer Science, Aalto University, Helsinki, Finland 3 Department of Electrical Engineering and Computer Science & CSAIL, MIT, Cambridge, MA, USA Abstract We present two new data structures for computing values of an n-variate polynomial P of degree at most d over a finite field of q elements. Assuming that d divides q − 1, our first data structure relies on (d + 1)n+2 tabulated values of P to produce the value of P at any of the qn points using O(nqd2) arithmetic operations in the finite field. Assuming that s divides d and d/s divides q − 1, our second data structure assumes that P satisfies a degree-separability condition and relies on (d/s+1)n+s tabulated values to produce the value of P at any point using O(nqssq) arithmetic operations. Our data structures are based on generalizing upper-bound constructions due to Mockenhaupt and Tao (2004), Saraf and Sudan (2008), and Dvir (2009) for Kakeya sets in finite vector spaces from linear to higher-degree polynomial curves. As an application we show that the new data structures enable a faster algorithm for com- puting integer-valued fermionants, a family of self-reducible polynomial functions introduced by Chandrasekharan and Wiese (2011) that captures numerous fundamental algebraic and combin- atorial invariants such as the determinant, the permanent, the number of Hamiltonian cycles in a directed multigraph, as well as certain partition functions of strongly correlated electron systems in statistical physics. -
Factoring Polynomials Over Finite Fields
Factoring Polynomials over Finite Fields More precisely: Factoring and testing irreduciblity of sparse polynomials over small finite fields Richard P. Brent MSI, ANU joint work with Paul Zimmermann INRIA, Nancy 27 August 2009 Richard Brent (ANU) Factoring Polynomials over Finite Fields 27 August 2009 1 / 64 Outline Introduction I Polynomials over finite fields I Irreducible and primitive polynomials I Mersenne primes Part 1: Testing irreducibility I Irreducibility criteria I Modular composition I Three algorithms I Comparison of the algorithms I The “best” algorithm I Some computational results Part 2: Factoring polynomials I Distinct degree factorization I Avoiding GCDs, blocking I Another level of blocking I Average-case complexity I New primitive trinomials Richard Brent (ANU) Factoring Polynomials over Finite Fields 27 August 2009 2 / 64 Polynomials over finite fields We consider univariate polynomials P(x) over a finite field F. The algorithms apply, with minor changes, for any small positive characteristic, but since time is limited we assume that the characteristic is two, and F = Z=2Z = GF(2). P(x) is irreducible if it has no nontrivial factors. If P(x) is irreducible of degree r, then [Gauss] r x2 = x mod P(x): 2r Thus P(x) divides the polynomial Pr (x) = x − x. In fact, Pr (x) is the product of all irreducible polynomials of degree d, where d runs over the divisors of r. Richard Brent (ANU) Factoring Polynomials over Finite Fields 27 August 2009 3 / 64 Counting irreducible polynomials Let N(d) be the number of irreducible polynomials of degree d. Thus X r dN(d) = deg(Pr ) = 2 : djr By Möbius inversion we see that X rN(r) = µ(d)2r=d : djr Thus, the number of irreducible polynomials of degree r is ! 2r 2r=2 N(r) = + O : r r Since there are 2r polynomials of degree r, the probability that a randomly selected polynomial is irreducible is ∼ 1=r ! 0 as r ! +1. -
Calculus Terminology
AP Calculus BC Calculus Terminology Absolute Convergence Asymptote Continued Sum Absolute Maximum Average Rate of Change Continuous Function Absolute Minimum Average Value of a Function Continuously Differentiable Function Absolutely Convergent Axis of Rotation Converge Acceleration Boundary Value Problem Converge Absolutely Alternating Series Bounded Function Converge Conditionally Alternating Series Remainder Bounded Sequence Convergence Tests Alternating Series Test Bounds of Integration Convergent Sequence Analytic Methods Calculus Convergent Series Annulus Cartesian Form Critical Number Antiderivative of a Function Cavalieri’s Principle Critical Point Approximation by Differentials Center of Mass Formula Critical Value Arc Length of a Curve Centroid Curly d Area below a Curve Chain Rule Curve Area between Curves Comparison Test Curve Sketching Area of an Ellipse Concave Cusp Area of a Parabolic Segment Concave Down Cylindrical Shell Method Area under a Curve Concave Up Decreasing Function Area Using Parametric Equations Conditional Convergence Definite Integral Area Using Polar Coordinates Constant Term Definite Integral Rules Degenerate Divergent Series Function Operations Del Operator e Fundamental Theorem of Calculus Deleted Neighborhood Ellipsoid GLB Derivative End Behavior Global Maximum Derivative of a Power Series Essential Discontinuity Global Minimum Derivative Rules Explicit Differentiation Golden Spiral Difference Quotient Explicit Function Graphic Methods Differentiable Exponential Decay Greatest Lower Bound Differential -
Finding Equations of Polynomial Functions with Given Zeros
Finding Equations of Polynomial Functions with Given Zeros 푛 푛−1 2 Polynomials are functions of general form 푃(푥) = 푎푛푥 + 푎푛−1 푥 + ⋯ + 푎2푥 + 푎1푥 + 푎0 ′ (푛 ∈ 푤ℎ표푙푒 # 푠) Polynomials can also be written in factored form 푃(푥) = 푎(푥 − 푧1)(푥 − 푧2) … (푥 − 푧푖) (푎 ∈ ℝ) Given a list of “zeros”, it is possible to find a polynomial function that has these specific zeros. In fact, there are multiple polynomials that will work. In order to determine an exact polynomial, the “zeros” and a point on the polynomial must be provided. Examples: Practice finding polynomial equations in general form with the given zeros. Find an* equation of a polynomial with the Find the equation of a polynomial with the following two zeros: 푥 = −2, 푥 = 4 following zeroes: 푥 = 0, −√2, √2 that goes through the point (−2, 1). Denote the given zeros as 푧1 푎푛푑 푧2 Denote the given zeros as 푧1, 푧2푎푛푑 푧3 Step 1: Start with the factored form of a polynomial. Step 1: Start with the factored form of a polynomial. 푃(푥) = 푎(푥 − 푧1)(푥 − 푧2) 푃(푥) = 푎(푥 − 푧1)(푥 − 푧2)(푥 − 푧3) Step 2: Insert the given zeros and simplify. Step 2: Insert the given zeros and simplify. 푃(푥) = 푎(푥 − (−2))(푥 − 4) 푃(푥) = 푎(푥 − 0)(푥 − (−√2))(푥 − √2) 푃(푥) = 푎(푥 + 2)(푥 − 4) 푃(푥) = 푎푥(푥 + √2)(푥 − √2) Step 3: Multiply the factored terms together. Step 3: Multiply the factored terms together 푃(푥) = 푎(푥2 − 2푥 − 8) 푃(푥) = 푎(푥3 − 2푥) Step 4: The answer can be left with the generic “푎”, or a value for “푎”can be chosen, Step 4: Insert the given point (−2, 1) to inserted, and distributed. -
THE RESULTANT of TWO POLYNOMIALS Case of Two
THE RESULTANT OF TWO POLYNOMIALS PIERRE-LOÏC MÉLIOT Abstract. We introduce the notion of resultant of two polynomials, and we explain its use for the computation of the intersection of two algebraic curves. Case of two polynomials in one variable. Consider an algebraically closed field k (say, k = C), and let P and Q be two polynomials in k[X]: r r−1 P (X) = arX + ar−1X + ··· + a1X + a0; s s−1 Q(X) = bsX + bs−1X + ··· + b1X + b0: We want a simple criterion to decide whether P and Q have a common root α. Note that if this is the case, then P (X) = (X − α) P1(X); Q(X) = (X − α) Q1(X) and P1Q − Q1P = 0. Therefore, there is a linear relation between the polynomials P (X);XP (X);:::;Xs−1P (X);Q(X);XQ(X);:::;Xr−1Q(X): Conversely, such a relation yields a common multiple P1Q = Q1P of P and Q with degree strictly smaller than deg P + deg Q, so P and Q are not coprime and they have a common root. If one writes in the basis 1; X; : : : ; Xr+s−1 the coefficients of the non-independent family of polynomials, then the existence of a linear relation is equivalent to the vanishing of the following determinant of size (r + s) × (r + s): a a ··· a r r−1 0 ar ar−1 ··· a0 .. .. .. a a ··· a r r−1 0 Res(P; Q) = ; bs bs−1 ··· b0 b b ··· b s s−1 0 . .. .. .. bs bs−1 ··· b0 with s lines with coefficients ai and r lines with coefficients bj. -
Resultant and Discriminant of Polynomials
RESULTANT AND DISCRIMINANT OF POLYNOMIALS SVANTE JANSON Abstract. This is a collection of classical results about resultants and discriminants for polynomials, compiled mainly for my own use. All results are well-known 19th century mathematics, but I have not inves- tigated the history, and no references are given. 1. Resultant n m Definition 1.1. Let f(x) = anx + ··· + a0 and g(x) = bmx + ··· + b0 be two polynomials of degrees (at most) n and m, respectively, with coefficients in an arbitrary field F . Their resultant R(f; g) = Rn;m(f; g) is the element of F given by the determinant of the (m + n) × (m + n) Sylvester matrix Syl(f; g) = Syln;m(f; g) given by 0an an−1 an−2 ::: 0 0 0 1 B 0 an an−1 ::: 0 0 0 C B . C B . C B . C B C B 0 0 0 : : : a1 a0 0 C B C B 0 0 0 : : : a2 a1 a0C B C (1.1) Bbm bm−1 bm−2 ::: 0 0 0 C B C B 0 bm bm−1 ::: 0 0 0 C B . C B . C B C @ 0 0 0 : : : b1 b0 0 A 0 0 0 : : : b2 b1 b0 where the m first rows contain the coefficients an; an−1; : : : ; a0 of f shifted 0; 1; : : : ; m − 1 steps and padded with zeros, and the n last rows contain the coefficients bm; bm−1; : : : ; b0 of g shifted 0; 1; : : : ; n−1 steps and padded with zeros. In other words, the entry at (i; j) equals an+i−j if 1 ≤ i ≤ m and bi−j if m + 1 ≤ i ≤ m + n, with ai = 0 if i > n or i < 0 and bi = 0 if i > m or i < 0. -
The Fast Fourier Transform and Applications to Multiplication
The Fast Fourier Transform and Applications to Multiplication Analysis of Algorithms Prepared by John Reif, Ph.D. Topics and Readings: - The Fast Fourier Transform • Reading Selection: • CLR, Chapter 30 Advanced Material : - Using FFT to solve other Multipoint Evaluation Problems - Applications to Multiplication Nth Roots of Unity • Assume Commutative Ring (R,+,·, 0,1) • ω is principal nth root of unity if – ωk ≠ 1 for k = 1, …, n-1 – ωn = 1, and n-1 ∑ω jp = 0 for 1≤ p ≤ n j=0 2πi/n • Example: ω = e for complex numbers Example of nth Root of Unity for Complex Numbers ω = e 2 π i / 8 is the 8th root of unity Fourier Matrix #1 1 … 1 $ % n−1 & %1 ω … ω & M (ω) = %1 ω 2 … ω 2(n−1) & n % & % & % n−1 (n−1)(n−1) & '1 ω … ω ( ij so M(ω)ij = ω for 0 ≤ i, j<n #a0 $ % & given a =% & % & 'a n-1 ( Discrete Fourier Transform T Input a column n-vector a = (a0, …, an-1) Output an n-vector which is the product of the Fourier matrix times the input vector DFTn (a) = M(ω) x a "f0 # $ % = $ % where $ % &fn-1 ' n-1 f = a ik i ∑ kω k=0 Inverse Fourier Transform -1 -1 DFTn (a) = M(ω) x a 1 Theorem M(ω)-1 = ω -ij ij n proof We must show M(ω)⋅M(ω)-1 = I 1 n-1 1 n-1 ∑ωikω -kj = ∑ω k(i-j) n k=0 n k=0 $0 if i-j ≠ 0 = % &1 if i-j = 0 n-1 using identity ∑ω kp = 0, for 1≤ p < n k=0 Fourier Transform is Polynomial Evaluation at the Roots of Unity T Input a column n-vector a = (a0, …, an-1) T Output an n-vector (f0, …, fn-1) which are the values polynomial f(x)at the n roots of unity "f0 # DFT (a) = $ % where n $ % $ % &fn-1 ' i fi = f(ω ) and n-1 f(x) = a x j ∑ j -
Algebraic Combinatorics and Resultant Methods for Polynomial System Solving Anna Karasoulou
Algebraic combinatorics and resultant methods for polynomial system solving Anna Karasoulou To cite this version: Anna Karasoulou. Algebraic combinatorics and resultant methods for polynomial system solving. Computer Science [cs]. National and Kapodistrian University of Athens, Greece, 2017. English. tel-01671507 HAL Id: tel-01671507 https://hal.inria.fr/tel-01671507 Submitted on 5 Jan 2018 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ Μελέτη και επίλυση πολυωνυμικών συστημάτων με χρήση αλγεβρικών και συνδυαστικών μεθόδων Άννα Ν. Καρασούλου ΑΘΗΝΑ Μάιος 2017 NATIONAL AND KAPODISTRIAN UNIVERSITY OF ATHENS SCHOOL OF SCIENCES DEPARTMENT OF INFORMATICS AND TELECOMMUNICATIONS PROGRAM OF POSTGRADUATE STUDIES PhD THESIS Algebraic combinatorics and resultant methods for polynomial system solving Anna N. Karasoulou ATHENS May 2017 ΔΙΔΑΚΤΟΡΙΚΗ ΔΙΑΤΡΙΒΗ Μελέτη και επίλυση πολυωνυμικών συστημάτων με