# Access to precomputed OD data

`all_od_infos`

— Function`all_od_infos(L...)`

Return the array of all those entries of the known OD data (see `OD_data`

) that satisfy the conditions in `L`

.

The following conditions are supported.

`is_simple`

with value`true`

or`false`

, meaning entries only for simple or non-simple groups, respectively,`is_sporadic_simple`

with value`true`

or`false`

, meaning entries only for sporadic simple or not sporadic simple groups, respectively,`characteristic`

, with value`0`

or a prime integer, meaning entries only for this characteristic,`character_field`

, with value either a map or a vector of maps, meaning entries only for characters whose character fields (finite fields if the characteristic is positive, and subfields of cyclotomic fields in characteristic zero) have the given map(s) as embeddings into the algebraic closure or abelian closure, respectively,`identifier`

, with value a string denoting the name of an Atlas group, or a vector of such strings, meaning entries only for these groups,`dim`

, with value a positive integer, or a vector of such integers, meaning entries only for characters of these degrees,`orthogonal_discriminant`

, with value a string (`"O+"`

,`"O-"`

, or a string that encodes an algebraic integer), meaning entries only with this orthogonal discriminant,`comment_matches`

, with value a string (one of`"ev"`

,`"specht"`

, ...), or a vector of such strings, meaning entries whose comment contains these values.

For all conditions except the boolean valued ones, also a function can be given as value, meaning that all those entries satisfy this condition for which the function returns `true`

when applied to the stored value. For example, the condition `characteristic => is_odd`

matches all entries for characteristics different from `0`

and `2`

, and the condition `character_field => (emb -> degree(domain(emb)) == 1)`

matches all entries for which the character field is the field of rationals.

**Examples**

```
julia> length(all_od_infos(identifier => "A6"))
8
julia> length(all_od_infos(identifier => "A6", characteristic => 0))
3
julia> length(all_od_infos(identifier => "A6", characteristic => 2:5))
5
```

`orthogonal_discriminants`

— Function`orthogonal_discriminants(tbl::Oscar.GAPGroupCharacterTable)`

**Examples**

```
julia> t = character_table("A6");
julia> println(orthogonal_discriminants(t))
["", "", "", "1", "1", "", "-1"]
julia> println(orthogonal_discriminants(t % 3))
["", "", "", "O-", ""]
```

`orthogonal_discriminant`

— Function`orthogonal_discriminant(chi::Oscar.GAPGroupClassFunction)`

**Examples**

```
julia> t = character_table("A6");
julia> orthogonal_discriminant(t[4])
"1"
julia> t2 = t % 2;
julia> orthogonal_discriminant(t2[4])
"O+"
```