aelzenaar / bella

New computational package for small-rank matrix groups
BSD 3-Clause "New" or "Revised" License
2 stars 1 forks source link

`slices.elliptic_slice_exterior` computes the wrong polynomials #21

Closed aelzenaar closed 9 months ago

aelzenaar commented 9 months ago

MWE:

from bella import slices

# Compute a whole bunch of level sets, and stick them into one pandas dataframe
depth = 20
p = 3
q = 6
elliptic_slice = slices.elliptic_exterior(p, q, depth)

print(elliptic_slice[43])

The polynomial solver fails to converge, and we see:

bella.slices.ConvergenceFailedException: Convergence failed at r/s = 2/3, polynomial 3.0 -
12.12435565298214105469212439054110656859963677667266439639064885616353111836160025956802330730074003·x +
15.0·x² -
5.196152422706631880582339024517617100828415761431141884167420938355799050726400111243438560271745727·x³

But:

>>> print(farey.farey_polynomial_classic(2,3,3,6)+2)
3.732050807568877293527446341505872366942805253810380628055806979451933016908800037081146186757248576 -
1.0·x +
1.732050807568877293527446341505872366942805253810380628055806979451933016908800037081146186757248576·x² -
1.0·x³

so the wrong Farey polynomial is computed by slices.elliptic_exterior. (It even fails to be monic!)

aelzenaar commented 9 months ago

I think we want only powers which are coprime to the orders of the generators, will need to check though

aelzenaar commented 9 months ago

Fixed, e6034a5