# SageMath code for working with elliptic curve 5.5.65657.1-27.1-f1 # (Note that not all these functions may be available, and some may take a long time to execute.) # Define the base number field: x = polygen(QQ); K. = NumberField(x^5 - x^4 - 5*x^3 + 2*x^2 + 5*x + 1) # Define the curve: E = EllipticCurve(K, [a^3 - 3*a - 1, -3*a^4 + 4*a^3 + 13*a^2 - 10*a - 10, -2*a^4 + 3*a^3 + 9*a^2 - 8*a - 7, 2*a^4 - 3*a^3 - 12*a^2 + 12*a + 19, -8*a^4 + 9*a^3 + 37*a^2 - 21*a - 25]) # Test whether it is a global minimal model: E.is_global_minimal_model() # Compute the conductor: E.conductor() # Compute the norm of the conductor: E.conductor().norm() # Compute the discriminant: E.discriminant() # Compute the norm of the discriminant: E.discriminant().norm() # Compute the j-invariant: E.j_invariant() # Test for Complex Multiplication: E.has_cm(), E.cm_discriminant() # Compute the Mordell-Weil rank: E.rank() # Compute the generators (of infinite order): gens = E.gens(); gens # Compute the heights of the generators (of infinite order): [P.height() for P in gens] # Compute the regulator: E.regulator_of_points(gens) # Compute the torsion subgroup: T = E.torsion_subgroup(); T.invariants() # Compute the order of the torsion subgroup: T.order() # Compute the generators of the torsion subgroup: T.gens() # Compute the local reduction data at primes of bad reduction: E.local_data()