## Quaternion orders with type number one

A list of all definite Gorenstein quaternion orders (up to isomorphism) with type numbers one or two over number fields is available here. Since the type number of a quaternion order coincides with the type number of its Gorenstein closure, this classifies all definite quaternion orders of type number at most two.

The file is compressed with tar and bzip2. After unpacking, one can load the file in Magma with ` load "smalltypenumber.m"; `

Loading the file in Magma creates a list called OneClassGenera. Each entry of the list consists of a tuple

< K, D, a, b, G, type, h, B1, B2 >

where

• K =[f[0],f[1],...,f[n]] is a list of integers which corresponds to the field extension K:= Q[X]/(f) with f(X) = f[n] * X^n + ... + f[0].
Let alpha be the image of X in K. Then each element of K will be written as a list [c[0], ..., c[n-1]] of rationals which represents c[0] + c[1] * alpha + ... + c[n-1] *alpha^(n-1).
Similarly, a fractional ideal of K is represented by a list of elements (each written as a list of n rationals) in K that generate the ideal.
• The discriminant ideal of the genus.
• a and b are two elements in K representing the quaternion algebra Q:= < 1,i,j,ij > where i^2 = a, j^2=b and ij=-ij.
• G = [ [G[1,1],...,G[1,4]], ... , [G[r,1],...,G[r,4]] is a list of lists. Each sublist [G[s,1],...,G[s,4]] represents the element G[s,1] + iG[s,1] + j G[s,3] + ijG[s,4] in Q. All these r elements together span the desired quaternion order O of type number one.
• type takes the following value:
• 4 if O is maximal
• 3 if O is hereditary but non-maximal
• 2 if O is Eichler but non-hereditary
• 1 if O is Bass but non-Eichler
• 0 if O is Gorenstein but non-Bass
• h is the ideal class number of the orders in this genus.
• B1 and B2 are lists of ideals. B1 (B2) contains all Brandt invariants b such that   < 1, bO > has ideal class number one (two).

## Quaternion orders with type number two

Loading the file in Magma creates a list called TwoClassGenera. Each entry of the list consists of a tuple

< K, D, a, b, G1, G2, type, h, B1, B2 >

The entries are the same as above, except that G1 and G2 represent the two conjugacy classes of orders in this genus.

## Quaternion orders with ideal class number at most two

The isomorphism classes of Gorenstein orders with ideal class number one (two) are represented by the entries in the above lists for which the entry "h" equals 1 (or 2).

The isomorphism classes of non-Gorenstein orders with ideal class number one or two can be obtained from the lists of possible Brandt invariants B1 and B2.

## Ternary genera with class number one

The (similarity classes of) genera of definite ternary quadratic forms with class number one correspond to the (isomorphism classes of) definite Gorenstein quaternion orders with type number one. This correspondence assigns to each such order O the trace zero submodule of the dual (=inverse different) of O. With respect to the reduced norm this is a definite ternary lattice. Magma provides the intrinsic TernaryForm to compute this information from O automatically.

## Example

We show how to read entry number 6341 from the table TwoClassGenera in Magma.
``````
> entry:= TwoClassGenera[6341];
> K:= NumberField(Polynomial(entry[1]));
> a:= K ! entry[3]; b:= K ! entry[4];
> Q:= QuaternionAlgebra< K | a,b >;
> G1:= ChangeUniverse(entry[5], Q);
> O1:= Type(K) eq FldRat select QuaternionOrder(G1) else Order(G1);
> G2:= ChangeUniverse(entry[6], Q);
> O2:= Type(K) eq FldRat select QuaternionOrder(G2) else Order(G2);
> type:= entry[7]; h:= entry[8];
> B1:= [ ideal< Integers(K) | ChangeUniverse(b, K) > : b in entry[ 9] ];
> B2:= [ ideal< Integers(K) | ChangeUniverse(b, K) > : b in entry[10] ];
> O1;
Order of Quaternion Algebra with base ring K, defined by i^2 = -1, j^2 = -1
with coefficient ring Maximal Equation Order with defining polynomial x^2 - 3
over ZZ
> B2;
[
Principal Ideal
Generator:
[-1, -1]
]
``````
For convenience, a function called "ReadOrders" is also provided which does the above steps automatically. Thus the above code is equivalent to:
``````