Examples

Example CrvG1_visible-three-sha (H132E2)

We find a cubic which is a counterexample to the Hasse principle. The approach involves the idea of "visibility" of Tate--Shafarevich elements, which was introduced by Mazur (see [CM00]).

The cubic will be a nontrivial element of the Tate--Shafarevich group of the curve 4343B1 in Cremona's tables, which we call E. The cubic will be obtained from a rational point on an auxiliary elliptic curve F.

First, we compute that E has rank 0, and F has rank 1:

> E := EllipticCurve([ 0, 0, 1, -325259, -71398995 ]);
> F := EllipticCurve([ 1, -1, 1, -24545, 1486216 ]);
> CremonaReference(E);
4343b1
> RankBounds(E);
0 0
> RankBounds(F);
1 1

We take a plane cubic representing one of the nontrivial elements in the 3-Selmer group of F, which has order 3, so that its elements are all in the image of F(Q) since F(Q) has rank 1:

> SetClassGroupBounds("GRH");
> #ThreeSelmerGroup(F);
3
> coverings := ThreeDescent(F);
> coverings;
[
    Curve over Rational Field defined by
    -3*x^2*z - 3*x*y^2 - 27*x*y*z + 12*x*z^2 + 2*y^3 + 21*y^2*z + 3*y*z^2 - 4*z^3
]
> C := Equation(coverings[1]);

We now try to find a linear combination of C and its Hessian (which is also a plane cubic) that has j-invariant equal to the j-invariant of E. To find the right linear combination we may work geometrically (that is, with F instead of C since they are isomorphic over Qbar). We work with the family t F + H where t is an indeterminate.

> B<t> := PolynomialRing(Rationals());
> F_BR := ChangeRing(Parent(Equation(F)), B);
> F_B := F_BR ! Equation(F);
> H_B := Hessian(F_B);
> c4,c6,Delta := Invariants(t*F_B + H_B);
Alternatively we could get these invariants as follows:
> D,c4,c6 := HessePolynomials(3, 1, cInvariants(F) : Variables := [t, 1] );
> Delta := Discriminant(F)*D^3;
// Solve c4(t)^3/Delta(t) = j(E) for t:
> jpoly := c4^3 - jInvariant(E)*Delta;
> Roots(jpoly);
[ <7479/7, 1> ]

So we take the following linear combination (and replace the equation by a nicer equation):

> C2raw := 7479/7*C + Hessian(C);
> C2 := Reduce(Minimise(C2raw));
> C2;
7*x^3 + 7*x^2*y + 3*x^2*z - 4*x*y^2 - 30*x*y*z + 12*x*z^2 - 13*y^3 - 2*y^2*z -
    15*y*z^2 - 17*z^3

The Jacobian of C2 is E, so C2 is a principal homogeneous space for E of index 3, and in fact it is everywhere locally soluble:

> IsIsomorphic(Jacobian(C2), E);
true
> PrimeDivisors(Integers()!Discriminant(GenusOneModel(C2)));
[ 43, 101 ]
> C2_crv := Curve(ProjectiveSpace(Parent(C2)), C2);
> IsLocallySolvable(C2_crv, 43);
true (7 + O(43) : 1 + O(43^50) : O(43))
> IsLocallySolvable(C2_crv, 101);
true (1 + O(101^50) : 32 + O(101) : 1 + O(101))
// Find the preimage of the covering map C2 -> E:
> _, _, maptoE := nCovering(GenusOneModel(C2) : E := E);
> preimage := Pullback(maptoE, E!0);
> Points(preimage);   // Q-rational points
{@ @}
> TorsionSubgroup(E);
Abelian Group of order 1

We conclude that C2 has no rational points since, as E(Q) is trivial, any rational points on C2 must map to OE.

V2.28, 13 July 2023