mirror of
https://github.com/kalmarek/Groups.jl.git
synced 2024-12-26 02:20:30 +01:00
fix iteration over Automorphisms
This commit is contained in:
parent
a8a14206d1
commit
ad295fd436
@ -1,7 +1,7 @@
|
|||||||
change_pow(s::S, n::Integer) where S<:GSymbol = S(s.id, n)
|
change_pow(s::S, n::Integer) where S<:GSymbol = S(s.id, n)
|
||||||
|
|
||||||
function Base.iterate(s::GS, i=1) where GS<:GSymbol
|
function Base.iterate(s::GS, i=1) where GS<:GSymbol
|
||||||
return i <= abs(s.pow) ? (GS(s.id, sign(s.pow)), i+1) : nothing
|
return i <= abs(s.pow) ? (change_pow(s, sign(s.pow)), i+1) : nothing
|
||||||
end
|
end
|
||||||
Base.size(s::GSymbol) = (abs(s.pow), )
|
Base.size(s::GSymbol) = (abs(s.pow), )
|
||||||
Base.length(s::GSymbol) = first(size(s))
|
Base.length(s::GSymbol) = first(size(s))
|
||||||
|
@ -142,12 +142,17 @@
|
|||||||
@test (Groups.change_pow(f, -2)).pow == 1
|
@test (Groups.change_pow(f, -2)).pow == 1
|
||||||
@test (inv(f)).pow == 1
|
@test (inv(f)).pow == 1
|
||||||
|
|
||||||
f = Groups.AutSymbol(perm"(1,2)(3,4)")
|
g = Groups.AutSymbol(perm"(1,2)(3,4)")
|
||||||
@test isa(inv(f), Groups.AutSymbol)
|
@test isa(inv(g), Groups.AutSymbol)
|
||||||
|
|
||||||
@test_throws MethodError f*f
|
@test_throws MethodError g*f
|
||||||
|
|
||||||
@test A(f)^-1 == A(inv(f))
|
@test A(g)^-1 == A(inv(g))
|
||||||
|
|
||||||
|
h = Groups.transvection_R(1,2)
|
||||||
|
|
||||||
|
@test collect(A(g)*A(h)) == [g, h]
|
||||||
|
@test collect(A(h)^2) == [h, h]
|
||||||
end
|
end
|
||||||
|
|
||||||
@testset "reductions/arithmetic" begin
|
@testset "reductions/arithmetic" begin
|
||||||
|
Loading…
Reference in New Issue
Block a user