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).

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.

The isomorphism classes of Gorenstein orders with ideal class number one 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.

```
> load "smalltypenumber.m";
> 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:
```
> load "smalltypenumber.m";
> OO, type, h, B1, B2:= ReadOrders(TwoClassGenera[6341]);
> O1, O2:= Explode(OO);
```