|
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 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.
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.
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, this function 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.
Given a squarefree polynomial N ∈Fq[x] for some odd q, this
function returns a quaternion algebra over Fq(x) of discriminant N.
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 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 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 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,
this function 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 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 ]
This intrinsic creates 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 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 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]
|