1 | initial version |
You can use the algebraic_dependency
method for that. Given an integer n
as parameter, it finds a polynomial of degree (at most) n
with small coefficients that is almost on you floating-point number a
.
Here is an example on how you can find a good polynomial: loop over degrees and see if there are some levels:
sage: a = 3.146264369941973
sage: for n in range(10):
....: print a.algebraic_dependency(n)
1
5947484*x - 18712357
4113*x^2 - 17841*x + 15418
82*x^3 + 1380*x^2 - 6929*x + 5586
x^4 - 10*x^2 + 1
x^4 - 10*x^2 + 1
x^4 - 10*x^2 + 1
x^4 - 10*x^2 + 1
x^4 - 10*x^2 + 1
x^4 - 10*x^2 + 1
So, it seems that x^4 - 10*x^2 + 1
is a very good candidate.