I am actually not sure anymore, which methods or functionality this class 
should provide.

Would it possibly be better to enhance PermutationGroup with an additional 
optional "from_action" and "from_cyclic_action" argument?  Eg.:

PermutationGroup(domain = X, cyclic_action = lambda x: f(x))

PermutationGroup(domain = X, group_action = (G, lambda g, x: f(g, x)))

Martin
On Monday, 2 May 2022 at 14:20:57 UTC+2 kcrisman wrote:

> On Sunday, May 1, 2022 at 7:32:01 PM UTC-4 Travis Scrimshaw wrote:
>
>> Sorry, I don't know an easy way. I've always just defined them by hand 
>>>> whenever needed. 
>>>> However, I agree with you that a better way is needed. 
>>>>
>>>
>>> I would love for there to be some standard way to define a group action 
>>> on a set - preferably maintaining other algebraic properties of the set, 
>>> such as addition!  But I don't know if there is even close to a standard 
>>> way to do this either. 
>>>
>>
>> - There is a standard way to do this, but not a generic method/class for 
>> it IIRC. You can do this by implementing an _act_on_() method on a wrapper 
>> class. Yet, this requires some manual input.
>> - For cyclic actions, there is the DiscreteDynamicalSystem class 
>> introduced in https://trac.sagemath.org/ticket/24128.
>> - There is also the Representation class in 
>> modules/with_basis/representation.py if you want to want to extend the 
>> action on the set to the module with a basis given by that set.
>>
>> Likely we will want to implement a class SetWithAction that automates a 
>> collects the orbit_decomposition functions and similar together as methods 
>> as a single global entry point.
>>
>>
> Hmm, maybe a tutorial is needed for this.  I would imagine that a lot of 
> people who aren't familiar with how to create a new wrapper class would be 
> the ones who need this.   Of course, the FiniteGroupAction suggestion 
> sounds quite welcome, too, though really having both options would be best.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/694a16d8-b59d-43bc-8b68-033c704284abn%40googlegroups.com.

Reply via email to