1
0
mirror of https://github.com/kalmarek/Groups.jl.git synced 2024-07-17 10:55:33 +02:00

new definition of AutSymbol, AutGroupElem and its parent AutGroup

This commit is contained in:
kalmar 2017-05-12 19:55:07 +02:00
parent bab1a64042
commit 2c35d8427e

View File

@ -10,7 +10,12 @@ immutable AutSymbol <: GSymbol
func::Function func::Function
end end
typealias AutGroupElem GWord{AutSymbol}
type AutGroup <: Group
objectGroup::Group
generators::Vector{AutSymbol}
end
(==)(s::AutSymbol, t::AutSymbol) = s.gen == t.gen && s.pow == t.pow (==)(s::AutSymbol, t::AutSymbol) = s.gen == t.gen && s.pow == t.pow
hash(s::AutSymbol, h::UInt) = hash(s.gen, hash(s.pow, hash(:AutSymbol, h))) hash(s::AutSymbol, h::UInt) = hash(s.gen, hash(s.pow, hash(:AutSymbol, h)))
@ -109,7 +114,6 @@ function getperm(s::AutSymbol)
end end
end end
typealias AutWord GWord{AutSymbol}
function (f::AutSymbol){T}(v::Vector{GWord{T}}) function (f::AutSymbol){T}(v::Vector{GWord{T}})
if f.pow == 0 if f.pow == 0
return v return v
@ -117,7 +121,7 @@ function (f::AutSymbol){T}(v::Vector{GWord{T}})
return f.func(v) return f.func(v)
end end
function (F::AutWord)(v) function (F::AutGroupElem)(v)
for f in F.symbols for f in F.symbols
v = f(v) v = f(v)
end end