mirror of
https://github.com/kalmarek/Groups.jl.git
synced 2024-12-05 02:11:27 +01:00
WreathProduct uses the additive group of a ring by default
This commit is contained in:
parent
93253115ab
commit
0ab4df2ce5
@ -7,17 +7,17 @@ export WreathProduct, WreathProductElem
|
|||||||
###############################################################################
|
###############################################################################
|
||||||
|
|
||||||
doc"""
|
doc"""
|
||||||
WreathProduct{T<:Group} <: Group
|
WreathProduct(N, P) <: Group
|
||||||
> Implements Wreath product of a group $N$ by permutation (sub)group $P < S_k$,
|
> Implements Wreath product of a group `N` by permutation group $P = S_n$,
|
||||||
> 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, \sigma) * (m, \tau) = (n\psi(\sigma)(m), \sigma\tau),$$
|
> > `(n, σ) * (m, τ) = (n*σ(m), στ)`
|
||||||
> where $\psi:P → Aut(N^k)$ is the permutation representation of $S_k$
|
> where `σ(m)` denotes the action (from the right) of the permutation group on
|
||||||
> restricted to $P$.
|
> `n-tuples` of elements from `N`
|
||||||
|
|
||||||
# Arguments:
|
# Arguments:
|
||||||
* `::Group` : the single factor of group $N$
|
* `N::Group` : the single factor of group $N$
|
||||||
* `::Generic.PermGroup` : full `PermutationGroup`
|
* `P::Generic.PermGroup` : full `PermutationGroup`
|
||||||
"""
|
"""
|
||||||
struct WreathProduct{T<:Group, I<:Integer} <: Group
|
struct WreathProduct{T<:Group, I<:Integer} <: Group
|
||||||
N::DirectProductGroup{T}
|
N::DirectProductGroup{T}
|
||||||
@ -64,7 +64,11 @@ parent(g::WreathProductElem) = WreathProduct(parent(g.n[1]), parent(g.p))
|
|||||||
|
|
||||||
WreathProduct(G::T, P::Generic.PermGroup{I}) where {T, I} = WreathProduct{T, I}(G, P)
|
WreathProduct(G::T, P::Generic.PermGroup{I}) where {T, I} = WreathProduct{T, I}(G, P)
|
||||||
|
|
||||||
WreathProductElem(n::DirectProductGroupElem{T}, p::Generic.perm{I}, check=true) where {T, I} = WreathProductElem{T, I}(n, p, check)
|
WreathProduct(G::T, P::Generic.PermGroup{I}) where {T<:AbstractAlgebra.Ring, I} = WreathProduct(AddGrp(G), P)
|
||||||
|
|
||||||
|
WreathProductElem(n::DirectProductGroupElem{T}, p::Generic.perm{I}, check=true) where {T,I} = WreathProductElem{T,I}(n, p, check)
|
||||||
|
|
||||||
|
WreathProductElem(n::DirectProductGroupElem{T}, p::Generic.perm{I}, check=true) where {T<:AbstractAlgebra.RingElem, I} = WreathProductElem(DirectProductGroupElem(AddGrpElem.(n.elts)), p, check)
|
||||||
|
|
||||||
###############################################################################
|
###############################################################################
|
||||||
#
|
#
|
||||||
|
Loading…
Reference in New Issue
Block a user