I would like to use a computer algebra system to do some experimental mathematics, particularly Integer Relation problems using the PSLQ algorithm.

I know that Maple has a PSLQ implementation, but I'd rather not pay for the entire Maple suite just to do Integer Relation problems. I've noticed that Sage links to a python library that does PSLQ, but that library is very limited in that it doesn't give the range of arguments for precision and tolerance that I'd like to be able to explore. Bailey has a GNU C++ library that does PSLQ with arbitrary precision, but I'd rather not be forced to use a command-line interface for experimentation. I like the cleaner presentation available in most CAS products.

I'm especially interested in PSLQ and not LLL simply because PSLQ gives you bounds on the norm of any possible integer relation even when it fails to find one, and this is a useful property. I'd like to explore some approximations to $\pi$ as well as play with some other integer relations among other constants that show up a lot in geometry.

Do you know of any CAS products (free or not) that have a good PSLQ implementation I can use, or are there other alternatives I may have overlooked?

  • $\begingroup$ Mathematica has limited capabilities, I had to write my own.You can use the online Inverse symbolic calculator isc.carma.newcastle.edu.au $\endgroup$
    – bobbym
    Jul 1, 2014 at 15:23
  • $\begingroup$ ISC isn't quite what I'm looking for. I'd like more control over precision and tolerance, and I know the constants I want to use to find an integer relation, I don't want ISC to guess them for me from a result. In other words, I don't need inverse symbolic calculation. :-) Very cool web app though. $\endgroup$
    – hatch22
    Jul 1, 2014 at 15:33
  • $\begingroup$ Sorry for split comments, the ISC will only provide 16 digits or so. Wolfram Alpha runs an Integer Relation Algorithm but has limitations. I know you do not want it but I do not think you can beat Maple in this case although a friend uses Sage for his Integer Relation problems. $\endgroup$
    – bobbym
    Jul 1, 2014 at 15:35
  • $\begingroup$ In that case, which versions of Maple have PSLQ (personal, student, academic, professional, etc.)? $\endgroup$
    – hatch22
    Jul 1, 2014 at 15:42
  • $\begingroup$ I have the pro but am not an expert on Maple, so I do not know about the other versions. Robert Israel and others use Maple, they might know or else check MaplePrimes. You can find out there. $\endgroup$
    – bobbym
    Jul 1, 2014 at 15:49

2 Answers 2


I have a reasonable implementation in GAP using the Float package that IU wrote a few weeks ago. It's not world-class, but it should be OK for reasonable sized problems. Contact me or reply to this if you'd like to try it.

  • $\begingroup$ Sounds interesting. Can you give me an estimate on "reasonably sized problems? I'd be happy to try it out and give you some feedback. $\endgroup$
    – hatch22
    Aug 29, 2014 at 18:48
  • 1
    $\begingroup$ It computes the minimal polynomial of 3^(1/8) - 2^(1/8) (degree 65) in about 160s using 2700 bit precision on my laptop. It's now included in version 0.6.2 of the float package from Laurent Bartholdi. $\endgroup$ Sep 1, 2014 at 13:25

For simple or rather mechanical tasks i'm always using sympy, PSLQ is included in a package called "mpmath". LLL is available, too, either as a wrapper around FPLLL, or (implemented somewhat awkwardly) as a part of a package called "liblll". In that neighborhood, there's also a cute package "diophantine", which can provide minimal solutions to linear diophantine equations in a way I have never seen before spelled out. In more complex cases, where for example differential calculus is needed, I prefer the (gargantuan, but nearly perfect) axiom.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .