misc::pslq
-- heuristic detection
of relations between real numbersmisc::pslq
(numberlist, precision)
returns
a list of integers [k1, ..., kn]
such that -- denoting the
elements of numberlist
by a1, ..., an
-- the
absolute value of a1*k1 + ... + an*kn is less than
10^(-precision), or FAIL
if such integers could
not be detected.
misc::pslq(numberlist, precision)
numberlist |
- | list of real numbers or objects that can be converted
to real numbers by the function float . |
precision |
- | positive integer |
list of integers, or FAIL
misc::pslq
is not affected by the current
value of DIGITS
.
Numerical computations are carried out with more significant digits
such that the output meets the specification given above.
Does PI satisfy a polynomial equation of degree at most 2 ?
>> misc::pslq([1, PI, PI^2], 20)
FAIL
Having forgotten the relation between sine and cosine, we can try the heuristic way.
>> misc::pslq([1, sin(0.32), sin(0.32)^2, cos(0.32), cos(0.32)^2], 10)
+- -+ | 1, 0, -1, 0, -1 | +- -+