// Magma code for working with elliptic curve 384.c1 // Define the curve: E := EllipticCurve([0, -1, 0, -13, -11]); // Simplified equation: WeierstrassModel(E); // Mordell-Weil group: MordellWeilGroup(E); // Mordell-Weil generators: Generators(E); // Torsion subgroup: TorsionSubgroup(E); // Integral points: IntegralPoints(E); // Conductor: Conductor(E); // Discriminant: Discriminant(E); // j-invariant: jInvariant(E); // Potential complex multiplication: HasComplexMultiplication(E); // Faltings height: FaltingsHeight(E); // Stable Faltings height: StableFaltingsHeight(E); // Mordell-Weil rank: Rank(E); // Analytic rank: AnalyticRank(E); // Regulator: Regulator(E); // Real Period: (Discriminant(E) gt 0 select 2 else 1) * RealPeriod(E); // Tamagawa numbers: TamagawaNumbers(E); // Torsion order: Order(TorsionSubgroup(E)); // Order of Sha: MordellWeilShaInformation(E); // Special L-value: Lr1 where r,Lr1 := AnalyticRank(E: Precision:=12); // BSD formula: /* self-contained Magma code snippet for the BSD formula (checks rank, computes analytic sha) */ E := EllipticCurve([0, -1, 0, -13, -11]); r := Rank(E); ar,Lr1 := AnalyticRank(E: Precision := 12); assert r eq ar; sha := MordellWeilShaInformation(E); omega := RealPeriod(E) * (Discriminant(E) gt 0 select 2 else 1); reg := Regulator(E); tam := &*TamagawaNumbers(E); tor := #TorsionSubgroup(E); assert r eq ar; print "analytic sha:", Lr1 * tor^2 / (omega * reg * tam); // q-expansion of modular form: ModularForm(E); // Modular degree: ModularDegree(E); // Manin constant: ManinConstant(E); // Local data: [LocalInformation(E,p) : p in BadPrimes(E)]; // Mod p Galois image: [GaloisRepresentation(E,p): p in PrimesUpTo(20)];