# isAbelian -- check whether a finite matrix group is Abelian

## Synopsis

• Usage:
isAbelian G
• Inputs:
• Outputs:
• , whether the group associated to the action is Abelian

## Description

This function is provided by the package InvariantRing.

The following example defines the action of a symmetric group permuting the three variables generating a polynomial ring.

 i1 : R = QQ[x_1..x_4] o1 = R o1 : PolynomialRing i2 : P = apply(3, i -> permutationMatrix(4, [i + 1, i + 2] ) ) o2 = {| 0 1 0 0 |, | 1 0 0 0 |, | 1 0 0 0 |} | 1 0 0 0 | | 0 0 1 0 | | 0 1 0 0 | | 0 0 1 0 | | 0 1 0 0 | | 0 0 0 1 | | 0 0 0 1 | | 0 0 0 1 | | 0 0 1 0 | o2 : List i3 : S4 = finiteAction(P, R) o3 = R <- {| 0 1 0 0 |, | 1 0 0 0 |, | 1 0 0 0 |} | 1 0 0 0 | | 0 0 1 0 | | 0 1 0 0 | | 0 0 1 0 | | 0 1 0 0 | | 0 0 0 1 | | 0 0 0 1 | | 0 0 0 1 | | 0 0 1 0 | o3 : FiniteGroupAction i4 : isAbelian S4 o4 = false

The following example defines the action of the product of two cyclic groups. One group has order 3 and cyclically permutes the three variables generating a polynomial ring. The other group has order 2 and multiplies the variables by -1.

 i5 : R = QQ[x_1..x_3] o5 = R o5 : PolynomialRing i6 : L = {matrix {{0,0,1},{0,1,0},{1,0,0}}, matrix {{-1,0,0},{0,-1,0},{0,0,-1}} } o6 = {| 0 0 1 |, | -1 0 0 |} | 0 1 0 | | 0 -1 0 | | 1 0 0 | | 0 0 -1 | o6 : List i7 : G = finiteAction(L, R) o7 = R <- {| 0 0 1 |, | -1 0 0 |} | 0 1 0 | | 0 -1 0 | | 1 0 0 | | 0 0 -1 | o7 : FiniteGroupAction i8 : isAbelian G o8 = true

## Ways to use isAbelian :

• "isAbelian(FiniteGroupAction)"

## For the programmer

The object isAbelian is .