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.

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

Corollary 28.4. There is a polynomial time algorithm which, for any given basis<br />

{a1,...,ad} of a rational lattice L in E d <strong>and</strong> any point x ∈ E d with rational coordinates,<br />

finds a vector l ∈ L such that:<br />

�x − l� ≤2 d 2 −1 min � �x − m� :m ∈ L � .<br />

Proof. First, the LLL-theorem shows that there is a polynomial time algorithm which<br />

finds an LLL-reduced basis {b1,...,bd}. Let{ ˆb1,..., ˆbd} be its Gram–Schmidt<br />

orthogonalization. We will use the following relations:<br />

(2)<br />

Second,<br />

b1=ˆb1<br />

b2=µ21 ˆb1 + ˆb2<br />

.................................<br />

bd=µd1 ˆb1 +···+µdd−1 ˆbd−1 + ˆbd<br />

ˆb1=b1<br />

ˆb2=ν21b1 + b2<br />

................................<br />

ˆbd=νd1b1 +···+νdd−1bd−1 + bd.<br />

(3) There is a polynomial time algorithm which finds for given rational x ∈ E d<br />

a point l ∈ L such that:<br />

x − l =<br />

d�<br />

i=1<br />

Start with a representation of x of the form<br />

x = �<br />

λi ˆbi, where |λi| ≤ 1<br />

for i = 1,...,d.<br />

2<br />

i<br />

λ0i ˆbi.<br />

Subtract ⌈λ0d⌋bd to get a representation of the form<br />

x −⌈λ0d⌋bd = �<br />

i<br />

λ1i ˆbi where |λ1d| ≤ 1<br />

2 .<br />

Next subtract ⌈λ1d−1⌋bd−1, etc. Taking into account (2) we arrive, after d steps, at (3).<br />

Third, it will be shown that:<br />

(4) �x − l� ≤2 d 2 −1 �x − m� for any m ∈ L, where l is as in (3).<br />

Let m ∈ L <strong>and</strong> write<br />

x − m = �<br />

i<br />

µi ˆbi.<br />

Let k be the largest index such that λk �= µk. Then<br />

l − m =<br />

k�<br />

(λi − µi) ˆbi = (λk − µk)bk + lin. comb. of b1,...,bk−1 ∈ L<br />

i=1<br />

by (2). Thus λk −µk is a non-zero integer. In particular |λk −µk| ≥1. Since |λk| ≤ 1 2 ,<br />

it follows that |µk| ≥ 1 2 . So,

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

Saved successfully!

Ooh no, something went wrong!