On Mar 12, 2009, at 2:42 PM, Florent Hivert wrote:

>       Dear Robert,
>
>>>>> The very purpose of the category framework it to declare in a
>>>>> mathematical
>>>>> way, this that have a matematical meaning. In the case of a right
>>>>> action of A
>>>>> on B, on declare that B is a A-RightModule. It is much more
>>>>> informative by all
>>>>> respect than testing if a random element of A accept to be
>>>>> multiplied by a
>>>>> random element of B.
>>>>
>>>> _rmul_ and _lmul_ are only tried if B is an A-module. (We don't  
>>>> (yet)
>>>> have the distinction between right and left modules, this is  
>>>> part of
>>>> where the "try it out" comes into play).
>>>
>>> Thanks for this explanation... Should I understand that once we had
>>> the
>>> correct framework, these are supposed to disappear ?
>>
>> They won't disappear--the coercion model will simply assume they're
>> implemented and use them without trying them out first.
>
> I'm sorry I wasn't clear... In my mind, "They" was supposed to  
> refer to "try
> out" an not _rmul_ and _lmul_.

No problem--I've certainly had my share of trying to re-explain  
myself :).

>>> Permutations acting on lists is not a module structure but this may
>>> fits in a
>>> category of sets with a group acting on (G-set) no-linearity here.
>>> For acting
>>> on plain list, (i.e. data structure I would rather not use "*" do
>>> denote the
>>> operation).
>>
>> BTW, We already have
>>
>> sage: [1,10,100] * 5
>> [1, 10, 100, 1, 10, 100, 1, 10, 100, 1, 10, 100, 1, 10, 100]
>
> I find this ugly !!!

It's a natural extension of the fact that Python uses '+' for list  
concatenation.

sage: [1, 2, 3] + [10, 20, 30]
[1, 2, 3, 10, 20, 30]

which is handy to be able to do (though you can complain about their  
choice of concatenation operator if you want).

>> (which is to be like Python) so there is some precedent. Perhaps a
>> better example is an element of a galois group acting on a field.
>
> I'm sorry I don't get your point even with this new example. You  
> have a group
> (finite or not) acting on a set (finite, discrete or not). And this  
> is an
> actual action
>      g1 . (g2 . x) = (g1 g2) . x
> So the field is a G-Set. And you probably need all the usual notion  
> of orbit,
> fixed point, stabilizer, centralizer...


I was just coming up with an example that didn't involve lists. It  
certainly is a G-Set (with G hopefully lazily computed in practice).  
My point was that sometimes it make sense to implement the action on  
the actor's side, and sometimes on the acted-upon's side.

Ideally, the coercion model just has the idea of an action, without  
having to specify where they can come from. In any case, it's clear  
there's some cleaning up to do, and I'll go in and do that (though  
not right now).

- Robert


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to