# Finite Group Multipication Table

The main Axiom/FriCAS code for working with groups is PermutationGroup, this is good for working with large groups, however I wanted a complimentary domain defined in terms of the Cayley table which can represent groups and semigroups, support cosets and so on.

PermutationGroup is derived from SetCategory rather than group because of the way that it uses Permutation as elements.

What I would like to do is add additional group related domains defined by a group table:

## Example

This is how I am using this code to add to the capability of the existing domains (for more explanation see this page):

 ```d1 := dihedralGroup(1) <(1 2)> Type: PermutationGroup(Integer) toTable()\$toFiniteGroup(d1,1) i a a i Type: Table(2) permutationRepresentation(d1,2) [ 0 1 1 0 ] Type: List(Matrix(Integer)) d2 := dihedralGroup(2) <(1 2), (3 4)> Type: PermutationGroup(Integer) toTable()\$toFiniteGroup(d2,1) i a b ab a i ab b b ab i a ab b a i Type: Table(4) permutationRepresentation(d2,2) [ 0 1 1 0 , 1 0 0 1 ] Type: List(Matrix(Integer)) d3 := dihedralGroup(3) <(1 2 3),(1 3) > Type: PermutationGroup(Integer) toTable()\$toFiniteGroup(d3,1) i a b aa ab ba a aa ab i ba b b ba i ab aa a aa i ba a b ab ab b a ba i aa ba ab aa b a i Type: Table(6) permutationRepresentation(d3,3) [ 0 0 1 1 0 0 0 1 0 , 0 0 1 0 1 0 1 0 0 ] Type: List(Matrix(Integer)) d4 := dihedralGroup(4) < (1 2 3 4 ), (1 4)(2 3)> Type: PermutationGroup(Integer) toTable()\$toFiniteGroup(d4,1) i a b aa ab ba aaa aab a aa ab aaa aab b i ba b ba i aab aaa a ab aa aa aaa aab i ba ab a b ab b a ba i aa aab aaa ba aab aaa ab aa i b a aaa i ba a b aab aa ab aab ab aa b a aaa ba i Type: Table(8) permutationRepresentation(d4,4) [ 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 0 , 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 ] Type: List(Matrix(Integer)) d5 := dihedralGroup(5) <(1 2 3 4 5) , ( 1 5) (2 4 )> Type: PermutationGroup(Integer) toTable()\$toFiniteGroup(d5,1) i a b aa ab ba aaa aab baa bab a aa ab aaa aab b bab baa ba i b ba i baa bab a aab aaa aa ab aa aaa aab bab baa ab i ba b a ab b a ba i aa baa bab aaa aab ba baa bab aab aaa i ab aa a b aaa bab baa i ba aab a b ab aa aab ab aa b a aaa ba i bab baa baa aab aaa ab aa bab b a i ba bab i ba a b baa aa ab aab aaa Type: Table(10) permutationRepresentation(d5,5) [ 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 , 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 ] Type: List(Matrix(Integer)) d6 := dihedralGroup(6) < (1 2 3 4 5 6), (1 6 ) (2 5) (3 4 )> Type: PermutationGroup(Integer) toTable()\$toFiniteGroup(d6,1) i a b aa ab ba aaa aab baa bab aaaa aaab a aa ab aaa aab b aaaa aaab ba i bab baa b ba i baa bab a aaab aaaa aa ab aab aaa aa aaa aab aaaa aaab ab bab baa b a i ba ab b a ba i aa baa bab aaa aab aaab aaaa ba baa bab aaab aaaa i aab aaa a b ab aa aaa aaaa aaab bab baa aab i ba ab aa a b aab ab aa b a aaa ba i aaaa aaab baa bab baa aaab aaaa aab aaa bab ab aa i ba b a bab i ba a b baa aa ab aaab aaaa aaa aab aaaa bab baa i ba aaab a b aab aaa aa ab aaab aab aaa ab aa aaaa b a bab baa ba i Type: Table(12) permutationRepresentation(d6,6) [ 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 , 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ] Type: List(Matrix(Integer)) (19) -> ```

## Discussion

See this thread on FriCAS forum

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

 Axiom Volume 1: Tutorial. Documentation is freely availible from: http://www.axiom-developer.org/axiom-website/documentation.html

This site may have errors. Don't use for critical systems.