An algorithm which can be used to find integer relations between real numbers , ..., such that
with not all . Although the algorithm operates by manipulating
a lattice, it does not reduce it to a short vector basis, and is therefore not
a lattice reduction algorithm. PSLQ is based
on a partial sum of squares scheme (like the PSOS algorithm)
implemented using QR decomposition. It was developed
by Ferguson and Bailey (1992). A much simplified version of the algorithm was subsequently
developed by Ferguson et al. (1999), which also extends the algorithm to complex
numbers and quaternions. Ferguson et al. (1999) also demonstrated that PSLQ
is distinct from the HJLS algorithm.
The PSLQ algorithm terminates after a number of iterations bounded by a polynomial in and uses a numerically stable matrix
reduction procedure (Ferguson and Bailey 1992). PSLQ tends to be faster than the
Ferguson-Forcade algorithm and LLL
algorithm because of clever techniques that allow machine arithmetic to be used
at many intermediate steps. The LLL algorithm, by
comparison, must use moderate precision, although generally not as much as the HJLS algorithm.
While the LLL algorithm is a more general lattice reduction algorithm than PSLQ, using LLL to obtain integer relations is in some
sense a "trick," whereas with PSLQ one gets either a relation or lower
bounds on degrees of polynomials and sizes of coefficients for which such a relation
must satisfy.