Академический Документы
Профессиональный Документы
Культура Документы
volume
april
of computation
44, number
wx5. pages
170
463-471
(1.1)
A = Zb1+ + Zb
for linearly independent vectors b,,... ,bm of R". The standard algorithms for solving
this task (see, for example, [4] in the case m = n) compute all x e Z"'\ {0} subject
to
(1.2)
\"BUB\^C
for suitable C e R>0, where B denotes the n X m matrix with columns b,,... ,bm. If
we just want to find a vector of shortest length in A, we must determine
(1.3)
min{xtr5tr/3x|0
# x e Z"'}.
This can also be done by the methods for solving (1.2). As initial value for C we
choose the length of an arbitrary (short) vector of A, and each time a vector of
shorter length is obtained, C is decreased suitably.
We note that BtrB =:A is a positive-definite matrix. On the other hand, each
positive-definite matrix A e RmXmcan be considered as the inner product matrix of
the basis vectors b,,...,b, of some lattice A of rank m. Hence, it suffices to discuss
(1.4)
\tTA\ < C
Received April 12, 1983; revised February 2, 1984 and April 10, 1984.
1980 MathematicsSubjectClassification.Primary 10E20,10E25,68C25.
' 19X5 American Mathematical
Society
463
License or copyright restrictions may apply to redistribution; see http://www.ams.org/journal-terms-of-use
464
xtr^lx
(x G Rmxl)
for A = B"B of (1.2) into a sum of full squares, a procedure which we call quadratic
completion. Namely, x">lx = L^^a^x,;^
becomes
m
(2-2)
Set?,7-a,v
(l<i<y<m).
For i 1,2,...,i 1, set
/j t\
(/ + 1 <7 < m)
"a
qk.q.i
(fc/<m).
We note that the output R of Cholesky's method which satisfies R"R = A slightly
differs from the output qj (1 < i; Sj < m) of (2.3). The entries rfJ of R g GL(w, R)
can easily be recovered by
ru = 0
r = ^/2
(l<i<j<m)
(and vice versa, of course). Generally, we are interested in the qi} because of the
applicability of (2.2). Namely, (2.2) makes it simple to compute all solutions x g Zm
of
(2.5)
465
"*" qm-\
hence bounds
1/2
T...
LB(xm_l):=
^m-
1, mXm
qm-i.m-\
1/2
UB(xm_1):=
'ffl-1
'"
m-l,i-l
i)<Jcm_1
we obtain
(2.6)
X; +
i=i
I+1
with
(2.7)
r^-r, *+i
<7a+ 1,A+ 1
i+i +
2^ qk+i.jxj
j = k+ 2
(Tm=C;k
These considerations lead to the following algorithm.
= m
\,m-
2,...,1).
(2.9)
r/1
*a'a
< r,"rr/(xtr*,rtfx)
< |r/|
A-= l
466
length usually diminishes the range for the coordinates of possible candidates
drastically. Common reduction methods are described in [1], [4], [5], [7]. We note
that the reduction of Knuth [4] essentially coincides with the pair reduction
algorithm of [7]. In any case the reduced version is obtained from R~x by multiplying R~l with a suitable unimodular matrix U~x from the left to obtain
S "1 := U~XR~X.Then, instead of solving xtTRtTRx< C, we solve
(2.10)
ytrStrSy < C
(2.11)
x = Uy.
Compute
a row-reduced
IK(i)ll > IK(2)II> > IK(,,||. Let S be the matrix with columns
s-i(/)(l < i'< m).
Step 4.(Cholesky decomposition of S{rS) Compute
= (<7) from SlrS by (2.3).
matrix
Step 5. (Application of (2.8)) Compute all solutions y g Zm, y =0, of Q(y) < C
by (2.8) and print x = U(yw-i(1),.,yv-\m)f for each y.
The algorithm can easily be modified such that it computes all solutions x of
467
part of it) to the next (by decreasing or increasing ; and because of Step 5 of (2.8)),
the enumeration method requires 0(m2) arithmetic operations for computing Q(x)
for each x. Hence, the complexity of both techniques is at most
(3.1)
o|m2n(2[||r/||/c]+l)).
(For the enumeration method this can eventually be improved by a factor m~x using
refined storing techniques.) However, (3.1) suggests that both algorithms are exponential in the input data, a disadvantage which is inherent in the problem itself.
Namely, in case A = Im (the m-dimensional unit matrix) the solutions of (2.5) are
the lattice points of Zm in the m-dimensional ball centered at the origin of radius
\[C. It is well-known that the number of those lattice points is proportional to the
volume of the ball and therefore increases with {Cm.
But what happens, if we keep C fixed and just increase ml Then the enumeration
method is still exponential whereassomewhat surprisingly(2.12) is polynomial
time, if we additionally require that the lengths of the rows of R ~l for the matrix R
of the Cholesky decomposition A = RtTRstay bounded.
To prove this, we first derive an upper bound for the number of tuples (x... ,xm)
generated by Algorithm (2.8) under the assumption that the input data q satisfy
(3.2)
\ 2
vn+1
(1 <<).
We know from (2.8) that for fixed x, + 1,.. .,xm G Z subject to i+i(xi+1,...,xm)
there are at most
(3.3)
< C
[2(7y<7)1/2|+l
|x,i+
l/,.|<|x,2+
l/.|<
<|x,i+
U,\,
(3.5)
(Kj<
k).
(3.6)
P,(r):=
#{(i,...,iJeZ"'
+1-|,(i,.xj
< r)
for arbitrary r G R5*0.
(3-7)
12#J
/2\
7=0
'
L4rJ
E Pi+Ar-j/A).
/=0
468
(3.8)
/>(/-):= /,(r)
(l</<w).
7'='
Obviously, inequality (3.7) also holds for the P(r). This enables us to obtain an
upper bound for Px in terms of Pm by computing coefficients j8,, such that
14CJ
(3.9)
j-o
(3.10)
w=l,
Xj = 0 for;>0,
and if the /?,-(0 <y < I.4CJ) are known for fixed i, then (3.7) applied to P,(r) yields
the recursive formula
(3.11)
A+i.7= E/5,a
(0<Ml4CJ).
A= 0
n^=i=
A=l
Lu = 2J.
k=0
'
'~l
k + I
'
w e/w = zn^=n^
i + k
because of
L4CJ I m-2 , , \
PAC)*, Z mjPm(C-j/4)=
7= 0
n;-^
7= 0 \ * = 1
L4CJ m-2
<(2tci/2j+ i) e n^.
7=0
*-l
(2[(C-;/4)1/2j+l)
K
.
*
(3.13)
^(C)
(21c1/2] + 1)(
[4CJ + m - 1
469
and, for large m, Stirling's formula yields that P,(C) increases at most like
(3.14)
o(l
m 1-1 \
UCJ
14CJ
Now it is easy to give an upper bound for the total number of arithmetic operations
used by (2.12).
(3.15) Theorem. Let C g R>0 and A G RmXmbe positive-definite. Let d~x be a
lower bound for the entries q
\(2m*
6
+ 3m2-
5m)
+ i(m= + 12m-7)((2l/c7|+l)(l4C'i(l4^-1)
+ l|
-(2w3
+ 3m2 - 5m)
(3.17) Corollary.
be the Cholesky decomposition of A and d > 0 be an upper bound for the square of the
norms of the rows of Rx. Then (3.16) is an upper bound for the number of arithmetic
operations for computing all x g Zm subject to \tTAx ^ C by (2.12) (without Steps
1 to 3).
Proof. We denote the rows of Rl by r/tr as in the preceding section. Multiplying
all entries of R by dl/2 then implies ||r/|| < 1 (1 < / < m) for the row-vectors r/tr of
the scaled matrix R~x. If r is the z'th diagonal entry of R, then l/r is the ;th
diagonal entry of R l. Hence, qu > 1 is equivalent to l/r < 1 because of (2.5). But
the latter is certainly correct because of \/ru < ||r/|| < 1. D
We note that the corollary remains valid if we replace the Cholesky decomposition
A = R"R by any decomposition A = BtrB (B g rXm) and {d by an upper bound
for the norms of the rows of B~x.
The upper bound (3.16) for the number of arithmetic operations does not contain
those operations carried out in Steps 1 to 3 of Algorithm (2.12). We note that the
470
algorithm works also without those steps (and is then essentially (2.8)). The opera-
tions of Steps 1 and 3 are comparable to those of computing the qif from A in (2.3)
and are therefore negligible. The number of operations required by the reduction
Step 2 of course depends on the method applied. If we use the reduction algorithm
of Lenstra, Lenstra and Lovasz, for example, it can be estimated without difficulties.
That algorithm also turned out to be the best reduction method for our numerical
examples in the next section.
4. Numerical Investigations. The two lists presented in this section show that our
method of combining a reduction algorithm with a (2.8)-type procedure is indeed
very efficient. We introduce several suggestive abbreviations:
RLLL: Reduction algorithm of Lenstra, Lenstra and Lovasz [5].
ofS.
The numbers in the two lists below are the CPU-time for ten examples of
dimension m each. The symbol "-" means that no computations were carried out
since no results could be expected in a reasonable amount of time. " > t " means
that in / seconds not all ten examples could be computed. " t" finally means that
in / seconds no solution vector of the first example was obtained. (All examples
considered had nontrivial solutions because of the choice of C.)
(4.1) List. The entries bt (1 < i,j < m) of the matrix B of (1.2) are independent,
uniformly distributed variables in the interval [0,1]; C:= 0.2 + 0.07(m - 5); CPUtime in seconds.
RENU
RKNU + RENU
RDIE + RENU
RLLL + RENU
RCHO
RKNU + RCHO
RDIE + RCHO
RLLL + RCHO
m= 5
m = 10
m = 15
m = 20
m = 25
> 4000.
0.056
0.059
0.057
0.046
0.044
0.047
0.043
5.736
7.515
4.873
0.133
0.144
0.158
0.129
> 16000.
1.048
0.646
0.589
0.464
2.071
1.768
1.432
1.086
70.025
64.562
56.112
16.544
(4.2) List. The entries b (1 < i,j < m) of the matrix B of (1.2) are independent,
randomly generated variables, where the bj (2 < i < m 1) are uniformly distributed in [0,1] and the bXj, bmj are uniformly distributed in [0,1/m] (1 <y < m);
RENU
RKNU + RENU
RDIE + RENU
RLLL + RENU
RCHO
RKNU + RCHO
RDIE + RCHO
RLLL + RCHO
m= 5
w = 10
m = 15
m = 20
254.
0.040
0.045
0.043
0.043
0.040
0.045
0.039
8.580
14.563
6.558
0.404
0.205
0.218
0.188
254.
254.
254.
5.063
1.134
0.735
0.573
13.602
2.626
1.548
0.909
471
Programming,
DGOR-Operations Research Proceedings 83, Springer-Verlag, Berlin and New York, 1983, pp. 289-295.
4. D. E. Knuth,
The Art of Computer Programming, Vol. II, 2nd ed., Addison-Wesley. Reading, Mass.,
H. W. Lenstra,
bases with applications," ACM SIGSAM Bull., v. 15, 1981, pp. 37-44.