|
[Next][Prev] [Right] [Left] [Up] [Index] [Root]
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.
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.
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.
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.
Similarly, we have the following for characteristic 2.
> A<i,j> := QuaternionAlgebra< GF(2) | 1, 1 >;
> i^2;
1 + i
> j^2;
1
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.
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.
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.
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.
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 ]
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.
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]
|