A Polynomial Time, Numerically Stable Integer ... - NTRS - NASA

1 downloads 0 Views 738KB Size Report
Jul 14, 1992 - Time, Numerically. Stable. Integer. Relation. Algorithm. Hclam-xn. R. P. Ferguson and David. H. Bailey. RNR. Tcctmical. Report. RNR-91-032.
A Polynomial

Time,

Numerically

Hclam-xn

Stable

R. P. Ferguson

RNR

Tcctmical

and

Report

July

Integer

Relation

Algorithm

David

H. Bailey

RNR-91-032

14, 1992

Abstract Let

x = (xl,x2,'"

relation

if there

Beginning

,::,_) be a vector

exist

in 1977

integers

sever.d

al not

of real all zero

algorithms

(with

numbers, such

proofs)

ai given x. The most e:l]cient of these existing run time and the precision required of the input) numerically. recover

It often

relations

requires

a numeric

in mo&_st-sized

test

a relation

in a nurrber

this

algorithm

employs

the

numerical

difficulties

stability

admits

algorithms obtained

Ferguson Mail Stop

is with Internet: T045-1,

that stable

plague

other

runs

he].amanf©super, Field,

with

discovered

to recover

O. the

(in terms of very unstable

of digits

reduction relation

lower

to reliably

CA 94035.

run

Bailey Internet:

Center, is with

in n.

procedure, algorithms. times

are numerically

Research org.

by a polynomial

17100 NASA

dbailey©nas

Because

it is free Furthermore,

on average

can be used to prove

this algorithm

th,, Supercomputing

Moff,_tt

matrix

this stability

using

an integer

relations, which we have named the PSLQ algorithm terminates

is bounded

integer

implementation

in use. Finally,

from computer

MD 20715.

a numerically

an effic;ent

currently

been

relation algorithms drawback of being

level in the thousands

for finding integer in this paper that

of iterations

that

to possess

+ a2x2 + "" + a,_:r,_ =

problems.

We present here a new algorithm the "PSLQ" algorithm. It is proved with

alXl

have

integer has the

precision

x is said

that

that

than

relation

from its other

bounds

accurate.

Science Alnes

Drive,

Research

.nasa.gov.

Bowie, Center,

1. Introduction Let x = (Xl,X2,-.. relation

if there

By an integer

,x_) be a vector of real numbers, integers ai not all zero such that

exist

relation

algorithm,

computer implementation to produce bounds within One

application

we mean

x is said to possess an integer alxl + a2x2 + ... + anx,_ = O.

an algorithm

that

is guaranteed

has sufficient numeric precision) to recover which no integer relations can exist.

of an integer

wherein one determines what words, a subset sum problem

relation

algorithm

is to solve

"subset

application is discussed in [11] and [5]. of an integer relation algorithm is to determine

a certain

constant,

mathematical

of a polynomial

x = (1, _, _2,..., relation resulting

of degree

a,_-l)

precision).

and

whose

value

can

be computed

This

can

be done

n or less.

applying

an integer

Even

if no relation

for example,

that

relation

is found,

a calculation

the constaslt

cannot

n or less whose coefficients are smaller application is discussed in [4]. The problem Euclid,

of finding

who gave

terminates,

yielding

Poincare,

Minkowski,

iterative algorithms have been found. first

discovered

integer

to high

been

relation

of other

a bound

among

or not

precision, If any

Bernstein, to work with

(Ferguson) relation

newer

require much algorithm. 2. The

HJLS

Tile

HJLS respects.

for HJLS

algorithms less precision

are

among

and

in the input

faster

of approximate

x vector

been

of their

couuterexamples

mentioned

above

discovered,

was

including

a

algorithm [12], the "H,ILS" the "PSOS" [4] algorithm.

implemented

to recover

none

Jacobi,

in 1977 [7]. In the intervening

have

when

by

either

by Euler,

However,

properties

R. Forcade

This

was first studied

sequence

others.

desired

can

of degree

to two real numbers,

for n > 3, and numerous

the

algorithm

by the algorithm.

an infinite

algorithms

significantly

relation

integer then the machine

any polynomial

a set of real numbers applied

is a

a by setting

to x.

for n > 2 has been attempted

Brun,

algorithm

satisfy

established

when

or produces

proven

integer

with an integer

non-recursive variant of the original algorithm [8], the "LLL" algorithm [10] (which is based on the LLL algorithm), and

several

whether

for a constant

algorithm

possibly

which,

relation,

by one of the authors

a number

relations

of this problem

Perron, have

than

algorithm

all exact

The generalization

The

integer

an iterative

relations.

These

problems,"

is found to hold (within the limits of the available machine precision), ai are precisely the coefficients of a polynomial satisfied by a (to within

establish,

years

sum

the ai and

subset of a certain list of integers has a given sum. In other is an integer relation problem where the relation coefficients

ai are zero or one. This Another application root

(provided

the integers

the

oil a computer

relation

than

and

the original

Algorithm algorithm

is superior

For one thing,

to recover

a relation

among

these

it has been

proven

existing

is bounded

by a polynomial

that

integer

the number

relation

algorithms

of iterations

in n [10], whereas

this property are lacking for the other algorithms. Further, the HJLS algorithm to be the most efficient of these algorithms in terms of its ability to recover the

in

required proofs appears relation

of

satisfiedby an input vectorknownonly to limited precision.Finally, basedon the authors' experience,HJLS appear,lto requirethe lowestaveragecomputertime to recovera relation amongpreviouslyexisting algorithms. Unfortunately, the H.JLSalgorithm has one seriousdrawback: it is extremely unstable numerically. Even for modest n and small relations, enormous numeric precision

is often

17-long

required

vector

(1,a,

(1, 0, 0, 0, -3860, required

for the

must

outward

where

relation

sympto_n

a

with

integer

= 31/4-

This

the authors is that

in a matrix,

one which

working

run

with

precision.

H.ILS

has

level of over

in a H.ILS run

entry

in the current

vector

consider the

only 100 digits

H.ILS,

precision

failure large

a computer

For example,

21/4 .

using

a numeric

of numerical

is that

properly.

0, 0, 0, 1). Although

to be recovered

of _n extremely

failure

to work

0, 0, 0, -20,

be performed

to the nearest

of numerical

algorithm

a2, ...,at6),

due to the appearance exactly

the

0, 0, 0, -666,

as input

computations One

fcr

relation

or so of a are

have

found

10,000

digits.

the

program

cannot

Another

produces

the

aborts

be rounded

outward

a bound

that

symptom

on the

norm

of

possible relations that e::cludes a relation known to exist. In this second type of failure, comparison with runs us,ng higher precision reveals that some matrix entries had become so corrupted

by numerical

error

that

all significance

In some trials, computer runs using recovering a relation usii,g only moderate would

not be recovered

precision. relation

But

at that goc.d

will be missed

If one

asks

computer many

such

run

cases

here means

what using

appears that

point

fortune

in the cannot

a_ the point lewd

where

of precision

computer

of digits,

are the same

on,

it should

lost.

if it were performed and

it is just

with higher

as likely

that

the

before

the

be recovered. for a lnodest-sized

to one using

to te thousands

run

be relied

is required

H.]LS is identical

all decisions

had been

the H.ILS algorithm succeed "by accident" in levels of numeric precision, whereas the relation

"infinite"

based

the

precision,

authors'

and all relation

problem then

the

experience.

bounds

are the same

answer

in

"Identical" (to 8 digits

or so) up to and including the point of recovery. Cases that require very high precision are infrequent for n < 1(* but are quite common for larger n. There does not appear to be any

a priori

means

of d,_termining

the

required

H.ILS working

precision

level for a given

problem. As one would memory

and

than other disadvantage that

expect,

processing

these

very high levels of numeric

time,

although

amazingly

previously kaown integer relation of the H.]I_S numerical instability

a relation

of a certain

size has

been

precision

enough,

excluded,

because

that

the sequeuce

previous

run,

but one can never

The root cause from the fact that which

is known

of norm

bounds

be certain

is the same of the

large amounts

H,]LS is still faster

algorithms. However, is that one can never

after running H,ILS for a while might be completely corrupted confidence in a bound Jesult can be enhanced by increasing verifying

require

the

of

on average

the most significant know with certainty

bound

that

is obtained

with numerical error. One's the numeric precision and

up to the

point

determined

in the

result.

of this numerical instability is not known, but it is believed to derive H.JL'_ is based upon the Gram-Schmidt orthogonalization algorithm,

to be ut merically

unstable

[9].

3

3. The PSLQ Algorithm Recentlyoneof the authors (Ferguson)discovereda new polynomial lation

algorithm.

This

sum of squares

algorithm

scheme

has been

like the PSOS

a LQ (lower trapezoidal--orthogonal) The PSLQ algorithm exhibits its ability

to recover

avoiding does

not

appear

numerical double

precision

a working

in x vectors

and multiprecision range

precision

obtained

Let x E R '_ be a nonzero

on

arithmetic sizes.

is only

computer

runs n-tuple

to only limited average, that

than

0

hi,j

--

Si+l si

hi,.i

=

-

xix'i

while completely of PSLQ n,

the

a combination

of

to be faster

than

HJLS

that

by using

that

of the

input

data,

on

bound

are reliable. x = (Xl,X2,'

.. ,Xn_l,X,_).

Define

2

=

including

one can show

squares, s.i , for x by %. = _j 2/x/_

= 1.1547....

Suppose

we are given

three

matrices,

H, A, B,

where H is a n × (n - 1) lower trapezoidal matrix and A and B are n x n integral matrices, with B = A -1. An iteration of the algorithm PSLQ is defined by the following three steps. 1. Replace 2. Select

H by DH. an integer

3. Replace Theorem. bination

H by RjHG.i,

norm with

of an)

1 such that

A by RjDA

such relation

the following

1. A relation

and

m.

set of three

for x will appear

iterations 2. The

1 < j < n -

-yJlh.;,jl >_ "/Ih_,,[ for all i, 1 < i < n - 1.

B by BERj.

Fix 7 > 2/,/3 and set 62 = 3/4 - 1/72. Suppose some integral of the entries of x E R" is zero, so that x has an integer relation.

be the least beginning

j.

Normalize matrices:

as a column

x so that

Ix] = 1 and

linear comLet M > 1 iterate

PSLQ

H = H=, A = I,_, B = I_. Then

of B after

fewer

than

_n2(n

+ 1)log(Mn

2)

of PSLQ.

norm

of such

a relation

for x appearing

as a column

of B is no greater

than

v/-;ilHIIBPIM. 3. If after B, then

a number there

(,f iterations

are Jlo relations

of PSLQ of norm

no relation less than

the

has yet bound

appeared 1/IHI.

in a column

of

6.

Proof

of the

Suppose invertible

PSLQ

Algorithm

m E Z '_ is a relation C E GL(n,

Z) and

1 _< Icm'l = [cpmq Note Gj.

that

after

Perform

m, including 1