14.02.2013 Views

Gruber P. Convex and Discrete Geometry

Gruber P. Convex and Discrete Geometry

Gruber P. Convex and Discrete Geometry

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

414 <strong>Geometry</strong> of Numbers<br />

LLL-Reduction is Polynomial<br />

We now come to the main result, where a lattice in E d is rational if all its points have<br />

rational coordinates.<br />

Theorem 28.2. There is a polynomial time algorithm that finds, for any given basis<br />

{a1,...,ad} of a rational lattice L in E d , an L L L-reduced basis.<br />

Proof. Without loss of generality, we may assume that L ⊆ Z d , <strong>and</strong> let {a1,...,ad}<br />

be a basis of L. We shall transform this basis until the conditions (2) <strong>and</strong> (3)<br />

are satisfied. The algorithm starts with the basis {b1,...,bd} = {a1,...,ad}.<br />

Let { ˆb1,..., ˆbd} be the corresponding Gram–Schmidt orthogonalization <strong>and</strong> let the<br />

coefficients µ ji be as in (1).<br />

Step I. For j = 1,...,d, <strong>and</strong>, given j, for i = 1,..., j − 1, replace b j by<br />

b j −⌈µ ji⌋bi, where ⌈µ ji⌋ is the integer nearest to µ ji. (In case of ambiguity choose<br />

the smaller integer.) Then go to Step II.<br />

Step I does not change the Gram–Schmidt orthogonalization of the basis. Hence,<br />

after executing (the substeps of) Step I for a certain j, the new µ ji will satisfy |µ ji|≤<br />

1<br />

2 for i = 1,..., j − 1. Executing (the substeps of) Step I for a larger j will not spoil<br />

this property. Thus executing (all substeps of) Step I yields a basis which satisfies<br />

condition (2).<br />

Step II. If there is an index j violating condition (3), interchange b j <strong>and</strong> b j+1<br />

<strong>and</strong> return to Step I.<br />

We analyze this step. Let<br />

c1 = b1,...,c j−1 = b j−1, c j = b j+1, c j+1 = b j, c j+2 = b j+2,...,cd = bd.<br />

Then ĉi = ˆbi for i �= j, j + 1. Further, ĉ j = ˆb j+1 + µ j+1 j ˆb j <strong>and</strong> since condition<br />

(3) is violated for j, we have that:<br />

(6) �ĉ j� 2 < 3<br />

4 � ˆb j� 2 .<br />

The formula for ĉ j+1 is more complicated, but it is not needed. For our purpose it is<br />

sufficient to note that from<br />

�ĉ1� 2 ···�ĉd� 2 =�ˆb1� 2 ···�ˆbd� 2 = d(L) 2<br />

it follows that �ĉ j � 2 �ĉ j+1� 2 =�ˆb j� 2 � ˆb j+1� 2 <strong>and</strong> thus by (6)<br />

(7) �ĉ j� 2(d− j)+2 �ĉ j+1� 2(d− j) < 3<br />

4 � ˆb j� 2(d− j)+2 � ˆb j+1� 2(d− j) .<br />

After having described the algorithm we come to the proof of the Theorem. First,<br />

the following will be shown:<br />

(8) The total number of arithmetic operations in the algorithm is polynomial in<br />

the encoding length of the input.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!