Group algebras

As is natural, the basis of a group algebra $K[G]$ correspond to the elements of $G$ with respect to some arbitrary ordering.

Creation

group_algebraMethod
group_algebra(K::Ring, G::Group; cached::Bool = true) -> GroupAlgebra

Return the group algebra of the group $G$ over the ring $R$. Shorthand syntax for this construction is R[G].

Examples

julia> QG = group_algebra(QQ, small_group(8, 5))
Group algebra
  of generic group of order 8 with multiplication table
  over rational field
source

Elements

Given a group algebra A and an element of a group g, the corresponding group algebra element can be constructed using the syntax A(g).

julia> G = abelian_group([2, 2]); a = G([0, 1]);

julia> QG = group_algebra(QQ, G);

julia> x = QG(a)
[0, 0, 1, 0]

Vice versa, one can obtain the coordinate of a group algebra element x with respect to a group element a using the syntax x[a].

julia> x[a]
1

It is also possible to create elements by specifying for each group element the corresponding coordinate either by a list of pairs or a dictionary:

julia> QG(a => 2, zero(G) => 1) == 2 * QG(a) + 1 * QG(zero(G))
true

julia> QG(Dict(a => 2, zero(G) => 1)) == 2 * QG(a) + 1 * QG(zero(G))
true