On Monday, June 15, 2020 at 10:43:51 AM UTC-7, Nils Bruin wrote:
>
> There's obviously the choice for letting permutations/matrices on the 
> left/right, but I think there's a definite preferred choice for how to 
> convert to a permutation matrix: the one that makes it a homomorphism. And 
> for that, "Permutation" fails presently:
>
> sage: matrix(Permutation('(1,2,3)')*Permutation('(1,3)')) == 
> matrix(Permutation('(1,2,3)'))*matrix(Permutation('(1,3)')) 
> False 
>
> To make things worse, there is actually an option to fix this:

sage: sage.combinat.permutation.Permutations.options(mult="r2l") 
sage: matrix(Permutation('(1,2,3)')*Permutation('(1,3)')) == 
matrix(Permutation('(1,2,3)'))*matrix(Permutatio 
....: n('(1,3)')) 

Quoting from the documentation:

     It is best  for code not to rely on this setting being set to a 
particular 
     standard, but rather use the methods "left_action_product()" and 
     "right_action_product()" for multiplying permutations (these 
     methods don't depend on the setting). See 
     https://trac.sagemath.org/14885 for more details. 

so, "Permutation" objects aren't really meant to be a group: they are just 
objects on which two different groups can be overlaid (the opposites). So 
that means "matrix" can't possibly get it right in all cases. There should 
be a left_action_permutation_matrix and right_action_permutation_matrix on 
Permutation objects.

-- 
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/4f585bb2-76f1-4210-834f-de70a795e1b8o%40googlegroups.com.

Reply via email to