File: moddeg.py

package info (click to toggle)
sagemath-database-cremona-elliptic-curves 20221013-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 5,252,172 kB
  • sloc: python: 3,515; makefile: 83; sh: 28
file content (28 lines) | stat: -rw-r--r-- 1,008 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
def get_modular_degree(E, label):
    degphi_magma = 0
    degphi_sympow = 0
    #return E.modular_degree(algorithm='sympow')
    try:
        degphi_magma = E.modular_degree(algorithm='magma')
    except RuntimeError:
        print("{}: degphi via magma failed".format(label))
        try:
            degphi_sympow = E.modular_degree(algorithm='sympow')
        except RuntimeError:
            print("{}: degphi via sympow failed".format(label))
    if degphi_magma:
        if degphi_sympow:
            if degphi_magma == degphi_sympow:
                return degphi_magma
            else:
                print("{}: degphi = {} from magma but {} from sympow!".format(
                    label, degphi_magma, degphi_sympow))
                return degphi_magma
        else:
            return degphi_magma
    else:
        if degphi_sympow:
            return degphi_sympow
        else:
            print("{}: no success in computing degphi via magma or sympow".format(label))
            return 0