@@ -36,7 +36,7 @@ The fields are
36
36
- the seeds (something iterable of eltype `S`) whose closure under the action is the G-set
37
37
- the dictionary used to store attributes (orbits, elements, ...).
38
38
"""
39
- @attributes mutable struct GSetByElements{T,S} <: GSet{T}
39
+ @attributes mutable struct GSetByElements{T,S} <: GSet{T,S }
40
40
group:: T
41
41
action_function:: Function
42
42
seeds
229
229
# TODO : Compute membership without writing down all elements,
230
230
# using what is called `RepresentativeAction` in GAP.
231
231
232
- function Base. in (omega, Omega:: GSetByElements )
232
+ function Base. in (omega:: S , Omega:: GSetByElements{T,S} ) where {T,S}
233
233
omega in Omega. seeds && return true
234
234
return omega in elements (Omega)
235
235
end
@@ -256,12 +256,12 @@ as_gset(G::T, Omega) where T<:Union{GAPGroup,FinGenAbGroup} = as_gset(G, ^, Omeg
256
256
# # not via the action function stored in the G-set,
257
257
# # - write something like `orbit(omega)`, `stabilizer(omega)`.
258
258
259
- struct ElementOfGSet
260
- gset:: GSet
261
- obj:: Any
259
+ struct ElementOfGSet{T, S, G <: GSet{T, S} }
260
+ gset:: G
261
+ obj:: S
262
262
end
263
263
264
- function (Omega:: GSet )(obj:: Any )
264
+ function (Omega:: GSet{T, S} )(obj:: S ) where {T, S}
265
265
return ElementOfGSet (Omega, obj)
266
266
end
267
267
@@ -509,7 +509,7 @@ The fields are
509
509
- the (left or right) transversal, of type `SubgroupTransversal{T, S, E}`,
510
510
- the dictionary used to store attributes (orbits, elements, ...).
511
511
"""
512
- @attributes mutable struct GSetBySubgroupTransversal{T, S, E} <: GSet{T}
512
+ @attributes mutable struct GSetBySubgroupTransversal{T, S, E} <: GSet{T,GroupCoset{T, E} }
513
513
group:: T
514
514
subgroup:: S
515
515
side:: Symbol
0 commit comments