1
0
mirror of https://github.com/kalmarek/Groups.jl.git synced 2024-12-04 10:06:27 +01:00
This commit is contained in:
kalmar 2017-07-21 16:05:49 +02:00
parent 6fa01d87ef
commit b7151d1fc2

View File

@ -7,16 +7,17 @@ export WreathProduct, WreathProductElem
############################################################################### ###############################################################################
doc""" doc"""
WreathProduct <: Group WreathProduct{T<:Group} <: Group
> Implements Wreath product of a group N by permutation (sub)group P < Sₖ, > Implements Wreath product of a group $N$ by permutation (sub)group $P < S_k$,
> usually written as $N \wr P$. > usually written as $N \wr P$.
> The multiplication inside wreath product is defined as > The multiplication inside wreath product is defined as
> (n, σ) * (m, τ) = (n*ψ(σ)(m), σ*τ), > $$(n, \sigma) * (m, \tau) = (n\psi(\sigma)(m), \sigma\tau),$$
> where ψ:P Aut(Nᵏ) is the permutation representation of Sₖ restricted to P. > where $\psi:P Aut(N^k)$ is the permutation representation of $S_k$
> restricted to $P$.
# Arguments: # Arguments:
* `::Group` : the single factor of group N * `::Group` : the single factor of group $N$
* `::PermutationGroup` : full PermutationGroup * `::PermGroup` : full `PermutationGroup`
""" """
immutable WreathProduct{T<:Group} <: Group immutable WreathProduct{T<:Group} <: Group
N::DirectProductGroup{T} N::DirectProductGroup{T}
@ -99,7 +100,6 @@ doc"""
doc""" doc"""
(G::WreathProduct)(p::perm) (G::WreathProduct)(p::perm)
> Returns the image of permutation `p` in `G` via embedding `p -> (id,p)`. > Returns the image of permutation `p` in `G` via embedding `p -> (id,p)`.
""" """
(G::WreathProduct)(p::perm) = G(G.N(), p) (G::WreathProduct)(p::perm) = G(G.N(), p)
@ -107,7 +107,6 @@ doc"""
(G::WreathProduct)(n::DirectProductGroupElem) (G::WreathProduct)(n::DirectProductGroupElem)
> Returns the image of `n` in `G` via embedding `n -> (n,())`. This is the > Returns the image of `n` in `G` via embedding `n -> (n,())`. This is the
> embedding that makes sequence `1 -> N -> G -> P -> 1` exact. > embedding that makes sequence `1 -> N -> G -> P -> 1` exact.
""" """
(G::WreathProduct)(n::DirectProductGroupElem) = G(n, G.P()) (G::WreathProduct)(n::DirectProductGroupElem) = G(n, G.P())
@ -171,9 +170,9 @@ doc"""
*(g::WreathProductElem, h::WreathProductElem) *(g::WreathProductElem, h::WreathProductElem)
> Return the wreath product group operation of elements, i.e. > Return the wreath product group operation of elements, i.e.
> >
> g*h = (g.n*g.p(h.n), g.p*h.p), > `g*h = (g.n*g.p(h.n), g.p*h.p)`,
> >
> where g.p(h.n) denotes the action of `g.p::perm` on > where `g.p(h.n)` denotes the action of `g.p::perm` on
> `h.n::DirectProductGroupElem` via standard permutation of coordinates. > `h.n::DirectProductGroupElem` via standard permutation of coordinates.
""" """
function *(g::WreathProductElem, h::WreathProductElem) function *(g::WreathProductElem, h::WreathProductElem)