Creation of Quaternion Algebras#
A general constructor for a quaternion algebra over any field \(K\) creates a model in terms of two generators \(x\) and \(y\) and three relations
with \(a,b \in K^*\) if \(K\) has characteristic different from \(2\), and
if \(K\) has characteristic \(2\). The printing names \(i\), \(j\), and \(k\) are assigned to the generators \(x\), \(y\), and \(xy\) by default, unless the user assigns alternatives (see the function AssignNames below, or the example which follows).
Special constructors are provided for quaternion algebras over \({\mathbb{Q}}\), which return an algebra with a more general set of three defining quadratic relations. In general, the third generator need not be the product of the first two. This allows the creation of a quaternion algebra \(A\) such that the default generators \(\{1,i,j,k\}\) form a basis for a maximal order.
- QuaternionAlgebra< K | a, b >: Rng, RngElt, RngElt -> AlgQuat#
For \(a,b \in K^*\), this function creates the quaternion algebra \(A\) over the field \(K\) on generators \(i\) and \(j\) with relations \(i^2 = a\), \(j^2 = b\), and \(ji = -ij\) or \(ji=(i+1)j\), as \({\rm char}(K) \neq 2\) or \({\rm char}(K)=2\), respectively. A third generator is set to \(k = ij\). The field \(K\) may be of any Magma field type; for inexact fields, such as local fields, one should expect unstable results since one cannot test deterministically for element equality.
- AssignNames(~A, S): AlgQuat, [MonStgElt]#
Given a quaternion algebra \(A\) and sequence \(S\) of strings of length 3, this function assigns the strings to the generators of \(A\), i.e. the basis elements not equal to 1. This function is called by the bracket operators
< >at the time of creation of a quaternion algebra.
- Example: Quaternion Constructor (ex-24b190)#
A general quaternion algebra can be created as follows. Note that the brackets
< >can be used to give any convenient names to the generators of the ring.> A<x,y,z> := QuaternionAlgebra< RationalField() | -1, -7 >; > x^2; -1 > y^2; -7 > x*y; z
In the case of this constructor the algebra generators are of trace zero and are pairwise anticommuting. This contrasts with some of the special constructors for quaternion algebras over the rationals described below.
- Example: Quaternion Constructor Char2 (ex-c9a2d5)#
Similarly, we have the following for characteristic \(2\).
> A<i,j> := QuaternionAlgebra< GF(2) | 1, 1 >; > i^2; 1 + i > j^2; 1
- QuaternionAlgebra(N): RngIntElt -> AlgQuat#
Al : MonStgElt Default: "TraceValues" Optimized: BoolElt Default: true
Given a positive squarefree integer \(N\), this function returns a rational quaternion algebra of discriminant \(N\). If the optional parameter
Alis set to"Random", or \(N\) is the product of an even number of primes (i.e. the algebra is indefinite), then a faster, probabilistic algorithm is used. IfAlis set to"TraceValues"and \(N\) is a product of an odd number of primes, then an algebra basis is computed which also gives a basis for a maximal order (of discriminant \(N\)). IfOptimizedistruethen an optimized representation of the algebra is returned.
- QuaternionAlgebra(N): RngUPolElt -> AlgQuat#
Given a squarefree polynomial \(N \in {\mathbb{F}}_q[x]\) for some odd \(q\), this function returns a quaternion algebra over \({\mathbb{F}}_q(x)\) of discriminant \(N\).
- QuaternionAlgebra(I): RngOrdIdl -> AlgQuat#
Optimized: BoolElt Default: true
Given an ideal \(I\) of a number field \(F\) with an even number of prime ideal factors, the function returns the quaternion algebra \(A\) over \(F\) which is ramified exactly at the primes dividing \(I\). The ideal \(I\) is not required to be squarefree, so \(A\) will be ramified at the radical of \(I\). If
Optimizedistruethen an optimized representation of the algebra is returned.
- QuaternionAlgebra(I, S): RngOrdIdl, [PlcNumElt] -> AlgQuat#
Optimized: BoolElt Default: true
Given an ideal \(I\) and a subset \(S\) of real places of a number field \(F\) such that the number of prime ideal divisors of \(I\) has the same parity as \(S\), the function returns the quaternion algebra which is ramified exactly at the primes dividing \(I\) and at the real places specified by the set \(S\). If
Optimizedistruethen an optimized representation of the algebra is returned.
- QuaternionAlgebra(S): [PlcNumElt] -> AlgQuat#
Optimized: BoolElt Default: true
Given an even set \(S\) of noncomplex places of a number field \(F\), this function returns the quaternion algebra which is ramified exactly at \(S\). If
Optimizedistruethen an optimized representation of the algebra is returned.
- Example: Quaternion Constructor Over NumberField (ex-b19daa)#
We illustrate the above constructors in the case of a general number field.
> P<x> := PolynomialRing(Rationals()); > F<b> := NumberField(x^3-3*x-1); > Foo := InfinitePlaces(F); > Z_F := MaximalOrder(F); > I := ideal<Z_F | 6>; > A := QuaternionAlgebra(I); > FactoredDiscriminant(A); [ Prime Ideal of Z_F Two element generators: [3, 0, 0] [2, 1, 0], Principal Prime Ideal of Z_F Generator: [2, 0, 0] ] [] > A := QuaternionAlgebra(ideal<Z_F | 1>, Foo[1..2]); > FactoredDiscriminant(A); [] [ 1st place at infinity, 2nd place at infinity ]
- QuaternionAlgebra(D1, D2, T): RngIntElt, RngIntElt, RngIntElt -> AlgQuat#
This intrinsic creates the rational quaternion algebra \({\mathbb{Q}}\langle i,j\rangle\), where \({\mathbb{Z}}[i]\) and \({\mathbb{Z}}[j]\) are quadratic suborders of discriminant \(D_1\) and \(D_2\), respectively, and \({\mathbb{Z}}[ij-ji]\) is a quadratic suborder of discriminant \(D_3 = D_1 D_2 - T^2\). The values \(D_1 D_2\) and \(T\) must have the same parity and \(D_1\), \(D_2\) and \(D_3\) must each be the discriminant of some quadratic order, i.e. nonsquare integers congruent to \(0\) or \(1\) modulo \(4\).
- Example: Quaternion Constructor Over Rationals (ex-359d98)#
The above constructor is quite powerful for constructing quaternion algebras with given ramification. For any \(i\) and \(j\), a commutator element such as \(ij-ji\) has trace zero, so in the above constructor, the minimal polynomial of this element is \(x^2 + n\), where \(n = (D_1 D_2 - T^2)/4\).
In the following example we construct such a ring, and demonstrate some of the relations satisfied in this algebra. Note that the minimal polynomial is an element of the commutative polynomial ring over the base field of the algebra.
In particular, we note that the algebra is not in standard form.
> A<i,j,k> := QuaternionAlgebra(-7,-47,1); > PQ<x> := PolynomialRing(RationalField()); > MinimalPolynomial(i); x^2 - x + 2 > MinimalPolynomial(j); x^2 - x + 12 > MinimalPolynomial(k); x^2 - x + 24 > i*j; k > i*j eq -j*i; false
From their minimal polynomials, we see that the algebra generators \(i\), \(j\), and \(k\) generate commutative subfields of discriminants \(-7\), \(-47\), and \(-95\). The value \(82 = (D_1 D_2 - T^2)/4\), however, is a more important invariant of the ring. We give a preview of the later material by demonstrating the functionality for computing the determinant and ramified primes of an algebra over \({\mathbb{Q}}\).
> MinimalPolynomial(i*j-j*i); x^2 + 82 > Discriminant(A); 41 > RamifiedPrimes(A); [ 41 ]
A ramified prime must be inert or ramified in every subfield and must divide the norm of any commutator element \(xy-yx\).
> x := i; > y := j; > Norm(x*y-y*x); 82 > Factorization(82); [ <2, 1>, <41, 1> ] > x := i-k; > y := i+j+k; > Norm(x*y-y*x); 1640 > Factorization(1640); [ <2, 3>, <5, 1>, <41, 1> ] > KroneckerSymbol(-7,2), KroneckerSymbol(-47,2), KroneckerSymbol(-95,2); 1 1 1 > KroneckerSymbol(-7,41), KroneckerSymbol(-47,41), KroneckerSymbol(-95,41); -1 -1 -1
The fact that the latter Kronecker symbols are \(-1\), indicating that \(41\) is inert in the quadratic fields of discriminants \(-7\), \(-47\), and \(-95\), proves that \(41\) is a ramified prime, and \(2\) is not.