Automorphisms of the projective line P1 are well-known to be 3-transitive --- for any three distinct points p0, p1, and p_∞, there exists an automorphism taking 0 = (0:1), 1 = (1:1), and ∞= (1:0) to p0, p1, and p_∞. Conversely, the images of 0, 1, and ∞ uniquely characterise an automorphism. We use this characterisation of isomorphisms to define automorphisms of rational curves as bijections of three element sequences of points over the base ring.
Given a rational curve C and two indexed sets S = { p0, p1, p_∞} and T = {q0, q1, q_∞}, each of distinct points over the base ring of C, returns the unique automorphism of C taking p0, p1, p_∞ to q0, q1, q_∞.
The automorphism group of a conic, and indeed the conics themselves, have a special relationship with quaternion algebras (see Lam [Lam73] or Vignéras [Vig80]). For the sake of exposition we focus on conics C/K defined by a Legendre equation
ax2 + by2 + cz2 = 0
where abc ≠0. We define a quaternion algebra A over K with anticommuting generators i, j, and k = c - 1ij satisfying relations
i2 = - bc, j2 = - ac, k2 = - ab,
and setting I = ai, J = bj, and K = ck. Then for any extension L/K we may identify the ambient projective pointset P2(L) with the projectivisation of the trace zero part
AL0 = { α ∈AL | Tr(α) = 0 } = LI + LJ + LK
of the quaternion algebra AL = A tensor K L via (x:y:z) |-> xI + yJ + zK. Under this map, the pointsets C(L) are identified with the norm zero elements
Nm(xI + yJ + zK) = abc(ax2 + by2 + cz2)=0
in P2(L). This allows us to identify the automorphism group AutK(C) with the quotient unit group A * /K * acting on each AL0 by conjugation.
In the Magma implementation of this correspondence, the quaternion algebra A is computed and stored as an attribute of the curve C. Automorphisms of C can be created from any invertible element of the quaternion algebra. We note that the isomorphism of two conics is equivalent to the isomorphism of their quaternion algebras, and that a rational parametrisation of a conic is equivalent to an isomorphism A isomorphic to <Meta>-2(K).
We note that while the advanced features of finding rational points (and hence finding parametrisations) and determining isomorphism only exist over Q, it is possible to represent the automorphism group and find automorphisms of the curve independently of these other problems. The current implementation works only in characteristic different from 2, as otherwise a Legendre model does not exist.
Returns the quaternion algebra in which automorphisms of the conic C can be represented.
Given a conic C and a unit a of the quaternion algebra associated to C, returns the automorphism of C corresponding to a.
> P2<x,y,z> := ProjectiveSpace(Rationals(), 2); > C0 := Conic(P2, 2*x^2 + x*y + 5*y^2 - 37*z^2); > HasRationalPoint(C0); false > BadPrimes(C0); [ 3, 37 ] > A := QuaternionAlgebra(C0); > RamifiedPrimes(A); [ 3, 37 ] > B := Basis(MaximalOrder(A)); > B; [ 1, 1/52*i + 1/4*j + 2/481*k, j, 1/2 + 1/148*k ] > m1 := Automorphism(C0, A!B[2]); > m1 : Minimal; (x : y : z) -> (-5/8*x + 259/48*y - 37/3*z : 37/12*x + 69/8*y - 74/3*z : x + 7/2*y - 61/6*z) > m2 := Automorphism(C0, A!B[3]); > m2 : Minimal; (x : y : z) -> (x + 1/2*y : -y : z) > m3 := Automorphism(C0, A!B[4]); > m3 : Minimal; (x : y : z) -> (-x - 1/2*y : 1/5*x - 9/10*y : z) > [ Trace(B[2]), Trace(B[3]), Trace(B[4]) ]; [ 0, 0, 1 ] > m1 * m1 : Minimal; (x : y : z) -> (x : y : z) > m2 * m2 : Minimal; (x : y : z) -> (x : y : z) > m3 * m3 : Minimal; (x : y : z) -> (9/10*x + 19/20*y : -19/50*x + 71/100*y : z)The last example points out that pure quaternions τ in A0 give rise to involutions --- a reflection of the projective plane about the point defined by τ in P2(K).
One of the strengths of the scheme model in Magma is the ability to work with points of a curve over any extension. Provided that we have a rational point over some extension field L/K, we are able to apply automorphisms of the curve to generate an unbounded number of new points over that extension by means of the action of the automorphism group. We demonstrate this by looking at quadratic twists of the curve to find a point over Q, which identifies a point on the original curve over a quadratic extension.
> C1 := Conic(P2, 2*x^2 + x*y + 5*y^2 - z^2); > HasRationalPoint(C1); false > C2 := Conic(P2, 2*x^2 + x*y + 5*y^2 - 2*z^2); > HasRationalPoint(C2); true > RationalPoint(C2); (-1 : 0 : 1)This gives rise to the obvious points (∓ 1 : 0 : Sqrt(74)/37) on the original curve.
> P<t> := PolynomialRing(RationalField()); > L<a> := NumberField(t^2 - 74); > p := C0(L)![1, 0, a/37]; > m1(p); (1/1880*(207*a + 3034) : 1/940*(-37*a + 2146) : 1) > m2(p); (1/2*a : 0 : 1) > m3(p); (-1/2*a : 1/10*a : 1)We could alternatively have formed the base extension of the curve to the new field L and used the known point over L to find a parametrisation of the curve by the projective line. This approach demonstrates that it is possible to work with points and curve automorphisms without passing to a new curve.