# Database of Finite Quaternionic Matrix Groups

Magma includes a database of the finite absolutely irreducible subgroups of ${\operatorname{GL}}_n({\cal D})$ where ${\cal D}$ is a definite quaternion algebra whose centre has degree $d$ over ${\mathbb{Q}}$ and $nd\leq10$. This collection is due to Gabriele Nebe [[Nebe, 1998](../../references.md#cite-nebe-quaternionic)]. This section defines the interface to that database.

A particular entry of the database can be specified in one of two ways. Firstly, a number in the range 1 to the size of the database can be given. Alternatively, the desired dimension can be provided, together with a number in the range 1 to the number of entries of that dimension.

Each entry can be accessed either as a matrix group or as a lattice. If accessed as a matrix group, the order and base are set on return.

## `QuaternionicMatrixGroupDatabase() -> DB`

This function returns a database object which contains information about the database.

## `LargestDimension(D): DB -> RngIntElt`

Returns the largest dimension of any entry stored in the database. It is an error to refer to larger dimensions in the database.

## `# D: DB -> RngIntElt`

## `NumberOfGroups(D): DB -> RngIntElt`

## `NumberOfLattices(D): DB -> RngIntElt`

Returns the number of entries stored in the database.

## `NumberOfGroups(D, d): DB, RngIntElt -> RngIntElt`

## `NumberOfLattices(D, d): DB, RngIntElt -> RngIntElt`

Returns the number of entries stored in the database of dimension $d$.

## `Group(D, i): DB, RngIntElt -> GrpMat`

Returns the $i$-th entry from the database $D$ as a matrix group.

## `Lattice(D, i): DB, RngIntElt -> Lat, SeqEnum`

Returns a lattice $L$ and sequence of forms $F$ corresponding to the $i$-th entry of the database $D$.

## `Construction(D, i): DB, RngIntElt -> MonStgElt, RngIntElt`

Returns a string and integer which describe the construction of the $i$-th entry of the database $D$.

## `Group(D, d, i): DB, RngIntElt, RngIntElt -> GrpMat`

Returns the $i$-th entry of dimension $d$ in the database $D$ as a matrix group.

## `Lattice(D, d, i): DB, RngIntElt, RngIntElt -> Lat, SeqEnum`

Returns a lattice $L$ and sequence of forms $F$ corresponding to the $i$-th entry of dimension $d$ in the database $D$.

## `Construction(D, d, i): DB, RngIntElt, RngIntElt -> MonStgElt, RngIntElt`

Returns a string and integer which describe the construction of the $i$-th entry of dimension $d$ in the database $D$.

## `Example: Quaternionic (ex-00c791)`

We illustrate accessing the quaternionic matrix groups database with a group and lattice of dimension 36.

```magma
> DB := QuaternionicMatrixGroupDatabase();
> LargestDimension(DB);
40
> NumberOfGroups(DB, 36);
10
> G := Group(DB, 36, 8);
> G : Minimal;
MatrixGroup(36, Integer Ring) of order 43545600 = 2^10 * 3^5
* 5^2 * 7
> #pCore(G, 2);
2
> L, forms := Lattice(DB, 36, 8);
> Determinant(L);
3874204890000
> IsSquare($1);
true 1968300

```
