[sage-devel] Re: TypeError: unsupported operand parent(s) for *: <(1,3)(2,4), (1,4,3,2)> and S4

2018-01-30 Thread Simon King
PS: On 2018-01-30, Simon King wrote: > The coercion model chooses coercion to the left factor's parent, if > there are coercions available in *both* directions. However, if there > only is a coercion from the left factor's parent to the right factor's > parent but not

[sage-devel] Re: TypeError: unsupported operand parent(s) for *: <(1,3)(2,4), (1,4,3,2)> and S4

2018-01-30 Thread Simon King
Dear Hsin-Po Wang, On 2018-01-30, Hsin-Po Wang wrote: > But it is still interesting to see if this is an unintentional bug in, say, > the coercion model and can be fixed. We have sage: S4.has_coerce_map_from(S4.subgroups()[19]) True Hence, the coercion model is

[sage-devel] Re: TypeError: unsupported operand parent(s) for *: <(1,3)(2,4), (1,4,3,2)> and S4

2018-01-29 Thread Hsin-Po Wang
> use > S4(S4.subgroups()[19][1]) * S4[1] > Thank you. That makes perfect sense. This does not bother me anymore since I found that pre-casting all subgroup-elements to S4 accelerates my work a lot. (i.e. S4subgroups=[ [S4(h) for h in H] for H in S4.subgroups()] ) But it is still

[sage-devel] Re: TypeError: unsupported operand parent(s) for *: <(1,3)(2,4), (1,4,3,2)> and S4

2018-01-29 Thread John H Palmieri
I'm not sure if Sage can always tell, if you multiply an element of a subgroup by an element of the larger group, that the result should make sense and lie in the larger group. You should be able to fix this by forcing Sage to consider the subgroup element as lying in the larger group: rather