* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download continued fraction method - McMaster Computing and Software
List of important publications in mathematics wikipedia , lookup
Wiles's proof of Fermat's Last Theorem wikipedia , lookup
Georg Cantor's first set theory article wikipedia , lookup
Mathematical proof wikipedia , lookup
Bra–ket notation wikipedia , lookup
System of polynomial equations wikipedia , lookup
Factorization wikipedia , lookup
Elementary mathematics wikipedia , lookup
Vincent's theorem wikipedia , lookup
Strähle construction wikipedia , lookup
Karhunen–Loève theorem wikipedia , lookup
Factorization of polynomials over finite fields wikipedia , lookup
Birkhoff's representation theorem wikipedia , lookup
Mathematics of radio engineering wikipedia , lookup
Fundamental theorem of algebra wikipedia , lookup
Diophantine Approximation and Basis Reduction By Shu Wang CAS 746 Presentation 6th, Feb, 2006 Overview Problem: Approximating real numbers by rational numbers of low denominator and finding a so-called reduced basis in a lattice Content The continued fraction method for approximating one real number Lovász’s basis reduction method for lattices Applications Notations , , g.c.d, W.O.L.G Dirichlet’s Theorem Let be a real number and let 0 1 Then there exist two integers p and q such that p and 1 q 1 q q Example. 0.2 p, q ? Answer: p 3 q 1 Proof of Dirichlet’s Theorem 0 1 M 1 … M M 1 1 1 Let M : we find two different integers i and j where 0 i, j M and {(i j ) } 2 M 1 1 M 1 Consider the following series {0 },{1 },{2 },{3 },...,{M } 1 If (k | 0 k M :{k } ) then i : k , j : 0 M 1 Otherwise, according to pigeon-hole principle, m m 1 (k , l , m | (0 k , l M ) (1 m M ) : {k },{l } ) M 1 M 1 i : max(k , l ), j : min(k , l ) W.O.L.G Let i : l , j : k {(i j ) } {l j } {l {l } k {k }} {l } {k } 1 M 1 Proof of Dirichlet’s Theorem continued Let q : i j , p : q . Then qa q {qa} {(i j )a} p qa p q q q q 1 Since M M 1 So 1 1 M 1 ( M 1)q q p q q Exercises q 1 ( M 1)q The Continued Fraction Method Given a real number , we compute its rational approximation by following a series of steps as follows: First we define 1 : 2 : ( 1 1 ) 1 3 : ( 2 2 ) 1 1 1 1 2 1 1 2 1 3 4 : ( 3 3 ) 1 This sequence stops if i becomes an integer We define an sequences called convergents that approximate to the above 1 , 1 1 2 , 1 1 2 1 3 , If i becomes an integer then the last term of convergents equals to . We use ck ( ) to denote the k -th term of the convergents of The Continued Fraction Method (2) We can determine a sequence where i, g.c.d( pi , qi ) 1 so that it corresponds to the convergent series Suppose the first two terms are as follows: p3 p1 p2 , , , q1 q2 q3 p1 p2 1 , + q1 q2 ( ) 1 What can we deduce from it? p1 p2 q1 =1, p1 , , p2 q1 p1q2 1 q1 q2 If q1 1 then g.c.d( pi , qi ) 1 . Contradiction exist. Proof p2 1 1 1 + + + q2 {a}1 {{ }1} ( ) 1 { }1 + 1 +{a} {a}1 p2 p1 1 1 1 q2 q1 ( ) ( ) 1 q1q2 q2 p2 q1 p1q2 ( ) 1 ( ) 1 1 k 1 1 1 p2 q2 ( ) k ( ) k k ( ( ) 1) ( ) 1 p2 q1 p1q2 1 q2 k ( ) 1 The Continued Fraction Method (3) Suppose we have found nonnegative integers pk 1 , qk 1 , pk , qk such that pk 1 p k , pk qk 1 pk 1qk 1. Where k is even. qk 1 qk This implies g.c.d( pk 1 , qk 1 ) g.c.d( pk , qk ) 1 why? Suppose g.c.d.( pk , qk ) 1 Let g.c.d.( pk , qk ) k 1, pk ak , qk bk , g.c.d.(a, b) 1 pk qk 1 pk 1qk 1 akqk 1 pk 1bk 1 k (aqk 1 bpk 1 ) 1 (k 1) (aqk 1 bpk 1 1) Contradiction exist Similarly, we can prove g.c.d.( pk 1 , qk 1 ) 1 The Continued Fraction Method (4) pk 1 tpk qk 1 tqk We find the largest integer t such that We define pk 1 : pk 1 tpk ; qk 1 : qk 1 tqk pk qk 1 pk 1qk pk (qk 1 tqk ) ( pk 1 tpk )qk pk qk 1 pk 1qk 1 Which implies g.c.d(pk , qk )=1 ! If pk 1 / qk 1 then the sequence stop, otherwise we find the largest t such that pk upk 1 qk uqk 1 We define pk 2 : pk upk 1; qk 2 : qk uqk 1 and so on…… We can repeat the iteration and find the sequence p3 p1 p2 , , , q1 q2 q3 It turns out that this sequence is the same as the sequence of convergents of real number ! Proof We use pi ( ) qi to denote the i-th term with respect to First we prove when 0 1 Prove by induction Then we prove ck ( ) pk ( ) qk i 1 pi 1 q ( ) i 1 ( ) qi pi 1 Prove by induction Some Properties of pi / qi Sequence pk 1 pk p q pk qk 1 1 1 k 1 k qk 1 qk qk qk 1 qk qk 1 qk qk 1 Denominators monotonically increasing pk p p 1 1 k 1 k 2 qk qk 1 qk qk qk 1 qk For any real numbers and with 0, 0 1 , one of the convergents pi / qi satisfy the Dirichlet’s theorem p and 1 q 1 q q Proof: Let pk / qk be the last convergent for which qk 1holds. Then q1 , q2 , q3 ,... are pk 1 qk qk qk 1 qk The sequence pi / qi converge to Proof by induction Algorithm of Continued Fraction Method Initially A0 : 1 0 1 0 1 . Suppose k Ak : k k k k k then we compute Ak 1 by using the following rule: If k is even and k 0, subtract k / k times the second column of Ak 1 from the first column; If k is odd and k 0, subtract k / k times the first column of Ak 1 from the second column; The matrices A0 , A1 , A2 ,... is in the following form: 1 0 0 , 1 1 q 1 p1 1 0 , 1 1 q 1 p1 2 q2 , p2 3 q 3 p3 2 q2 , p2 3 q 3 p3 4 q4 p4 The pk , qk found in this way are the same as pk , qk in the convergents Proved by induction Time complexity of Continued Fraction Method Corollary. Given rational number , the continued fraction method finds integers p and q as described in Dirichelet’s theorem in time polynomially bounded by the size of Proved similar to Euclidean algorithm Theorem. Let 0 be a real number, and let p and q be natural numbers with p / q 1/ 2q2. Then p / q occurs as convergent for Corollary. There exist a polynomial algorithm which, for given rational number and natural number M, tests if there exists a 2 rational number p / q with p / q 1/ 2M . If so, finds this rational number. Summary Given a real number , there exist a rational number p / q with small q that is close enough to Continued fraction method compute a rational number p / q that equals to if is a rational number. Otherwise p / q converge to The algorithm for continued fraction method is a polynomial Euclidean-like algorithm Basis Reduction in Lattices Overview Problem: Given a lattice (represented by its basis), finds a reduced “short” (nearly orthogonal) basis. Applications: Finding a short nonzero vector in a lattice Simultaneous Diophantine approximation Finding the Hermite normal form Basis reduction has numerous applications in cryptanalysis of public-key encryption schemes: knapsack cryptosystems, RSA with particular settings, and so forth Basic Concepts Review Lattice. Given a sequence of vectors a1 , a2 ,..., am , and a group we a1 ,say a2 ,..., am generate if 1a1 2 a2 ... mam | 1,..., m . We call a lattice and a1 , a2 ,..., am the basis of . In other words, a lattice can be seen as an integer linear combinations of its basis. It is a subset of the subspace generated by its basis. A matrix can be seen as a sequence of column (row) vectors, therefore a lattice can be generated by columns (rows) of a matrix Basic Concepts Review - 2 Let A and B both be a nonsingular matrix of order n, and whose column both generate the same lattice , then det A det B and this is called the det of lattice . In other words, det is independent to chose of basis Proof: Lemma 1: If B is obtained by interchanging two columns (rows) of A, then det B = -det A. Lemma 2: If A has two identical columns (rows), then det A = 0. Proof: Let A be a matrix with two identical rows, let B be a matrix constructed from A by interchanging these two column (rows). Then det B = det A because these two matrices are equal. However, from Lemma 1 we know that det B = det A. So det B = det A = 0 Lemma 3: The determinant of an nxn matrix can be computed by expansion of any row or column. Proof: Complicated (component-wise) proof by induction Also called Laplace Expansion Theorem, component-wisely proved by Laplace. Lemma 4: If B is obtained by multiplying a column (row) of A by k, then det B = k det A. Proof. We can calculate det B by expanding the same column (row) of B as that of A, which yields det B = k det A. Basic Concepts Review - 3 Lemma 5: If A, B and C are identical except that the i-th column (row) of C is the sum of the i-th columns (rows) of A and B, then det C = det A + det B. Proof. We can calculate det B by expanding the i-th column of C, then we can prove det C = det A + det B by using the distributivity of multiplication of matrices Lemma 6: If B is obtained by adding a multiple of one column (row) i of A to another column (row) j, then det B = det A. Proof. Let A’ be the matrix that constructed by replacing column (row) i of A to j, then det A’ = 0 because A’ has two identical columns. Matrix A, A’ and B satisfy Lemma 5 so that det B = det A + det A’ = det A Lemma 7: If If B is obtained by elementary column operations from A, then |det B| = |det A|. Proof. Directly from Lemma 1, 4 and 6. From chapter 4, we know that if matrix A and B generate the same lattice then they have the same Hermite Normal Form by elementary column operations, therefore from Lemma 7 we have |det B| = |det A|. Geometric Meaning of Determinant The determinant of corresponds to the volume of the parallelepiped 1b1 2b2 ... nbn | 0 i 1 for i 1,..., n Where b1 ,...,bn is any basis for Hadamard Inequality theorem: det b1 b2 bn , where denotes the Euclidean norm x When b1 ,...,bn are orthogonal to each other, the equality holds. We now have the lower bound of b1 b2 bound? Hermite showed that b1 b2 xT x bn , what about the upper bn (4 / 3)n ( n1) / 4 det Minkowski showed that b1 b2 bn (2n / Vn ) det (2n / e)n / 2 det Schnorr proved that for each fixed 0 then there exist a polynomial algorithm finding a basis satisfying b1 b2 bn (1 )n( n1) det Basis Reduction Theorem A matrix is called positive definite if for all x 0, xT Ax 0 There exist a polynomial algorithm which, for given positive definite rational matrix D, finds a basis b1 , b2 ,..., bn for the lattice n satisfying 2n ( n 1) / 4 det D ‖b1‖ ‖b2‖…‖bn‖≤ T where ‖x‖ : x Dx We prove this theorem by showing the LLL algorithm The Lenstra, Lenstra and Lovász Algorithm We construct a series of basis for n as follows: The first basis is the unit basis. We construct the next basis inductively using the following steps: 1. Denote Bi as the matrix with columns b1 , b2 ,..., bn , we calculate bi* bi Bi 1 ( BiT1DBi 1 ) 1 BiT1Dbi 2. for i 2,..., n for j i 1, i 2,...,1 bi 1 b1* i 1bi*1 bi* bi bi j 1/ 2 b j 3. Choose, if possible, an index i such that ‖b2*‖2>2‖b*i+1‖2. Exchange bi and bi+1, and start with step 1 again. If no such i exists, the algorithm stops. The Lenstra, Lenstra and Lovász Algorithm - Continued The LLL algorithm is an approximation of the GramSchmidt orthogonalization process which finds a orthogonal basis in a subspace of n The LLL algorithm terminates in polynomial time, with intermediate numbers polynomially bounded by the size of D Complicated proof see p.68 – p.71 Finding a Short Nonzero Vector in a Lattice In 1891, Minkowski proved a classical result: any n-dimensional lattice contains a nonzero vector b with b 2( det 1/ n ) Vn where Vn denotes the volume of the n-dimensional unit ball. However, no polynomial algorithm finding such a vector b is known. With the basis reduction method, by taking the shortest vector one can find a “longer short vector” in a lattice, which satisfy b 2n ( n1) / 4 (det D)1/ n However, this vector is generally not the shortest one in the lattice The CVP (Closest Vector Problem): “Given a lattice and vector a, find b with (any kind of) norm of b-a as small as possible” is proven to be NP-complete The SVP (Shortest Nonzero Vector Problem): “Given a lattice, finding a vector in the lattice as small as possible” is even proven to be NP-hard to approximate within some constant [Dan 2001] Simultaneous Diophantine Approximation Dirichlet showed that Let 1 , 2 ,..., n , be real numbers with 0 1 Then there exist two integers p1 , p2 ,..., pn and q such that i pi for i 1,..., n and 1 q n q q No polynomial method is known for this problem, unless when n=1, where we can use the continued fraction method However, we can use basis reduction method to find a weaker approximation of the problem in polynomial time Finding the Hermite Normal Form Given a matrix A, we can use basis reduction method to calculate vector b1 , b2 ,..., bn and record it in such a way that it can be transform to Hermite Normal Form by elementary column operations Some of the other applications Lenstra’s Integer Linear Programming algorithm Factoring polynomials (over rationals) in polynomial time Breaking cryptographic codes Disproving Mertens’ conjecture Solving low density subset sum problems Summary The continued fraction method for approximating one real number by rational numbers Lovász’s basis reduction method for finding a short basis in a lattice Applications Thank you