Magma

MAGMA Computational Algebra System

Magma
 •  How to get it
 •  Download
 •  Online Demo
 
Resources
 •  Online Help
 •  Discovering Mathematics with Magma
 •  Citations
 •  How to cite Magma
 •  Links
 •  Contact us
 
[Next][Prev] [Right] [Left] [Up] [Index] [Root]

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 x2 = a, y2 = b, yx = - xy with a, b ∈K^ * if K has characteristic different from 2, and x2 + x = a, y2 = b, yx = (x + 1)y 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 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 ∈K^ *, this function creates the quaternion algebra A over the field K on generators i and j with relations i2 = a, j2 = b, and ji = - ij or ji=(i + 1)j, as ( char)(K) != 2 or ( 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 string sequence S of length 3, 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 AlgQuat_Quaternion_Constructor (H89E1)

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 the following special constructors for quaternion algebras over the rationals.

Example AlgQuat_Quaternion_Constructor_char2 (H89E2)

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, returns a rational quaternion algebra of discriminant N. If the optional parameter Al is 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. If Al is 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). If Optimized is true then an optimized representation of the algebra is returned.
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, 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 Optimized is true then 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 number of prime ideal divisors of I has the same parity as S, returns the quaternion algebra which is ramified exactly at the primes dividing I and at the real places specified by the set S. If Optimized is true then 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, returns the quaternion algebra which is ramified exactly at S. If Optimized is true then an optimized representation of the algebra is returned.

Example AlgQuat_Quaternion_Constructor_Over_NumberField (H89E3)

We illustrate the functionality of the above constructors for 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
The rational quaternion algebra Q< i, j >, where Z[i] and Z[j] are quadratic suborders of discriminant D1 and D2, respectively, and Z[ij - ji] is a quadratic suborder of discriminant D3 = D1 D2 - T2. The values D1 D2 and T must have the same parity and D1, D2 and D3 must each be the discriminant of some quadratic order, i.e. nonsquare integers congruent to 0 or 1 modulo 4.

Example AlgQuat_Quaternion_Constructor_over_Rationals (H89E4)

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 x2 + n, where n = (D1 D2 - T2)/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.

> 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
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 = (D1 D2 - T2)/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 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.
 [Next][Prev] [Right] [Left] [Up] [Index] [Root]
                       

Version: V2.16 of Mon Nov 16 15:04:45 EST 2009

Valid HTML 4.01! Valid CSS!