- binary rational quadratic forms with class number one or two
- quadratic lattices with class number one or two
- hermitian lattices with class number one or two
- quaternionic hermitian lattices with class number one or two
- maximal integral latticess of class number one
- ternary lattices of class number one and two
- unimodular lattices with mass at most 1/2

- A number field K is represented by a list of integers [f[0],f[1],...,f[n]] which corresponds to the extension K:= Q[X]/(f) with f(X) = f[n] * X^n + ... + f[0].
- Every element in K is represented by a list [c[0], ..., c[n-1]] of rationals which stands for c[0] + c[1] * alpha + ... + c[n-1] *alpha^(n-1) where alpha denotes the image of X in K.
- A diagonal matrix over K is simply written as the list of its diagonal entries (which again are lists of rationals just as explained before).
- A Z_K-module L in K^m is written as a list [L[1,1],...,L[1,m],L[2,1],...,L[r,m]] of elements in K. The module L is then generated by the vectors { (L[i,1],...,L[i,m]) | 1 ≤ i ≤ r }.

- h(O)=1 iff h^+(O)=1
- h(O)=2 iff h^+(O)=2 or 3

For k=1,2,3 the file contains a list **Resultk** which gives the discriminants of all imaginary quadratic orders O such that h^+(O)=k.
The tables are complete assuming (GRH).
Each entry of the list **Resultk** is a pair < d, [c1,c2,...] > where d denotes the (negative) fundamental discriminant of some maximal order M and the ci are the conductors of the suborders of M with proper class number k.

Each entry of these lists **ResultmCNh** are tuples of the form < K, [<A1, L1>, <A2, L2>, ... ] > where

- K is a totally real number field.
- Ai is a mxm-diagonal matrix over K.
- Li is a Z_K-module of rank m.

```
> load "res_orth.m";
> X:= ReadEntry( Result5CN1[2]);
> BaseRing(X[1,1]); #X;
Number Field with defining polynomial $.1^2 - $.1 - 1 over the Rational Field
2
```

shows that there are 2 similarity classes of one-class genera of definite lattices of rank 5 over Q(sqrt(5)) = Q[X]/(X^2-X-1).
Further, X[i] (i=1,2) contains a diagonal matrix and generators for a Z_K-module representing these two genera.
**Warning:** The lists **Result2CN1** and **Result2CN2** only contain the one and two-class genera over imaginary quadratic number fields!

Each entry of these lists **ResultmCNh** are tuples of the form < K, f, [<A1, L1>, <A2, L2>, ... ] > where

- K is a totally real number field.
- f is a list of elements in K. The lattices will be over E = K[X]/(f[0] + f[1]X + X^2). The elements a+bX with a,b in K is given written as a list [a,b] (where a,b are represented by lists of rationals, as explained here.)
- Ai is a mxm-diagonal matrix over K.
- Li is a Z_E-module of rank m. Given as a sequence of generators. Each generator is a list of m elements over E.

```
> load "res_orth.m";
> X:= ReadEntry( Result3CN1[8] );
> BaseRing(X[1,1]); BaseRing(BaseRing(X[1,1])); #X;
Number Field with defining polynomial $.1^2 + 1 over its ground field
Number Field with defining polynomial $.1^2 - 2 over the Rational Field
6
```

shows that there 6 similarity classes of genera of definite hermitian lattices over E=Q(sqrt(2), sqrt(-1)).
Further, X[i] (1 ≤ i ≤6) contains a diagonal matrix and generators for a Z_E-module representing these genera.
Definite quaternionic hermitian lattices of class number at most 2 exist only up to rank 5.
If the rank is at least 2, these are given in Section 9.3 of my Habilitation in terms of genus symbols.

The unary lattices are listed in this file. It contains two lists **Result1CN1** and **Result1CN2** representing the definite quaternion algebras E that admit unary lattices with class number one and two respectively. The entries of these lists are of the form [K, d_K, [<dE1, N1>, <dE2, N2>, ...]] where

- K is a totally number field with discriminant d_K.
- The relative reduced discrimiant of E turned out to be principal in all cases. The dEi give generators (as elements in K) of the reduced discriminants of all definite quaternion algebras over K that admit unary lattices of class number one or two.
- For convenience, the norm of dEi is also given in the field Ni.

```
> load "res_quat1.m";
> Es:= ReadEntry(Result1CN1[7]);
> #Es; BaseField(Es[1]); Discriminant(Es[1]);
1
Number Field with defining polynomial x^2 - x - 5 over the Rational Field
Principal Ideal
Generator:
[1, 0]
[ 1st place at infinity, 2nd place at infinity ]
> L:= Lattices(MaximalOrder(Es[1]));
> #L, L[1,2], L[2,2];
2, 1, 2
```

So over Q(sqrt(21)) = Q(x)/(x^2-x-5) there exists only one definite quaternion order E which admits unary lattices of class number one.
It is the algebra ramified at no finite place.
Any maximal order M in E yields 2 similarity classes of genera of unary lattices. One has class number one, the other has class number two. L[1,1] and L[2,1] contain representatives of these genera (i.e. left ideals of M).
Each entry of the list consists of a triple < K, A, L > where

- K is a totally real number field.
- A is a mxm diagonal matrix over K.
- L is a Z_K-module of rank m.

```
> load "maxgen.m";
> entry:= MaxGen[3];
> K:= NumberField(Polynomial(entry[1]));
> A:= ChangeUniverse(entry[2], K);
> L:= [ Vector(ChangeUniverse(x, K)) : x in entry[3] ];
> K, A, L;
Rational Field
[ 1, 1, 3 ]
[
( 1 0 0),
( 0 1 0),
( 0 1/2 1/2)
]
```

```
> entry:= MaxGen[508];
> K:= NumberField(Polynomial(entry[1]));
> A:= ChangeUniverse(entry[2], K);
> L:= [ Vector(ChangeUniverse(x, K)) : x in entry[3] ];
> K, A, L;
Number Field with defining polynomial $.1^2 - 3 over the Rational Field
[
1,
K.1 + 2,
-3*K.1 + 7,
5*K.1 + 25
]
[
(1 0 0 0),
(0 1 0 0),
( 1/2*(-2*K.1 + 23) 1/2*(3*K.1 - 36) 1/22*(-53*K.1 - 87) 1/22*(-K.1 + 38)),
( 1/2*(-17*K.1 - 394) 1/2*(29*K.1 + 618) 1/22*(1139*K.1 + 1906) 1/22*(-69*K.1 - 667))
]
```

Each entry of the list consists of a triple

< K, A, [L1, ..., Ln] >

where K is the base field, A is some diagonal quadratic form and L1,...,Ln represent the isometry classes in the genus. Details how to read these entries are given above.

```
> load "unimod.m";
> entry:= Unimodular[5];
> K:= NumberField(Polynomial(entry[1]));
> A:= ChangeUniverse(entry[2], K);
> LL:= [ Matrix([Vector(ChangeUniverse(x, K)) : x in X]): X in entry[3] ];
> K, A, LL;
Number Field with defining polynomial x^2 - 3 over the Rational Field
[
1,
1,
1
]
[
[ 1 0 0]
[ 0 1/2*(7*K.1 - 12) 1/2*(4*K.1 + 5)]
[ 0 1/2*(-32*K.1 + 55) -5/2*K.1],
[ 5*K.1 + 2 -8*K.1 - 4 0]
[ 1/3*(20*K.1 + 15) 1/6*(-43*K.1 + 51) 1/6*(-K.1 + 15)]
[ -65*K.1 - 31 1/2*(170*K.1 - 227) 1/2*(9*K.1 - 54)]
]
```

So this is a genus over Q(sqrt{3}) of rank 3. Its envelopping quadratic space has Gram matrix <1,1,1> and the genus consists of two isometry classes represented by the row-spans of the two matrices above.