Skip to content

Commit 429961e

Browse files
authored
Add is_abelian for groups (#1907)
1 parent 21aac12 commit 429961e

File tree

4 files changed

+11
-0
lines changed

4 files changed

+11
-0
lines changed

Diff for: src/exports.jl

+1
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,7 @@ export inverse_image_fn
276276
export inverse_mat
277277
export invmod
278278
export iroot
279+
export is_abelian
279280
export is_associated
280281
export is_compatible
281282
export is_constant

Diff for: src/generic/PermGroups.jl

+2
Original file line numberDiff line numberDiff line change
@@ -678,6 +678,8 @@ order(::Type{T}, G::SymmetricGroup) where {T} = convert(T, factorial(T(G.n)))
678678
order(::Type{T}, g::Perm) where {T} =
679679
convert(T, foldl(lcm, length(c) for c in cycles(g)))
680680

681+
is_abelian(G::SymmetricGroup) = G.n <= 2
682+
681683
@doc raw"""
682684
matrix_repr(a::Perm)
683685

Diff for: src/generic/exports.jl

+1
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ export inverse_fn
4646
export inverse_image_fn
4747
export inverse_mat
4848
export invmod
49+
export is_abelian
4950
export is_compatible
5051
export is_divisible_by
5152
export is_free

Diff for: test/generic/Perm-test.jl

+7
Original file line numberDiff line numberDiff line change
@@ -305,6 +305,13 @@ end
305305
@test collect(cycles(p^5)) == [T[1,9], T[2], T[3], T[4], T[5], T[6,10,8], T[7]]
306306
@test Generic.permtype(p^5) == [3, 2, 1, 1, 1, 1, 1]
307307
@test order(p^5) == 6
308+
309+
@test is_abelian(SymmetricGroup(T(1)))
310+
@test is_abelian(SymmetricGroup(T(2)))
311+
@test !is_abelian(SymmetricGroup(T(3)))
312+
@test !is_abelian(SymmetricGroup(T(4)))
313+
@test !is_abelian(SymmetricGroup(T(5)))
314+
@test !is_abelian(SymmetricGroup(T(10)))
308315
end
309316

310317
@testset "Perm.characters" begin

0 commit comments

Comments
 (0)