// Magma code for working with elliptic curve 4.4.2777.1-22.1-c2 // (Note that not all these functions may be available, and some may take a long time to execute.) // Define the base number field: R := PolynomialRing(Rationals()); K := NumberField(R![2, 1, -4, -1, 1]); // Define the curve: E := ChangeRing(EllipticCurve([a^3 - 4*a - 1, -a^2 + 2*a + 2, a^3 - a^2 - 3*a + 1, 5*a^3 - 46*a^2 + 23*a + 25, -76*a^3 + 260*a^2 + 9*a - 124]),K); // Compute the conductor: Conductor(E); // Compute the norm of the conductor: Norm(Conductor(E)); // Compute the discriminant: Discriminant(E); // Compute the norm of the discriminant: Norm(Discriminant(E)); // Compute the j-invariant: jInvariant(E); // Test for Complex Multiplication: HasComplexMultiplication(E); // Compute the Mordell-Weil rank: Rank(E); // Compute the generators (of infinite order): gens := [P:P in Generators(E)|Order(P) eq 0]; gens; // Compute the heights of the generators (of infinite order): [Height(P):P in gens]; // Compute the regulator: Regulator(gens); // Compute the torsion subgroup: T,piT := TorsionSubgroup(E); Invariants(T); // Compute the order of the torsion subgroup: Order(T); // Compute the generators of the torsion subgroup: [piT(P) : P in Generators(T)]; // Compute the local reduction data at primes of bad reduction: LocalInformation(E);