[sage-support] bug report with Rubik's cube functions

2015-03-19 Thread Pierre
Hi,

I have just realized this, and thought it would be helpful to know for 
anyone playing with Sage's Rubik's cube abilitites. Here it is:

While the following 3 commands:

sage: CubeGroup().move(U)

and

sage: CubeGroup().plot3d_cube(U)

and

sage: RubiksCube().move(U).show3d()

all take the convention that U means move the face U clockwise, 
unfortunately the command

sage:  RubiksCube().move(U)

assumes that U means move the face U counter-clockwise.

So yes, doing foo= RubiksCube().move(U) and printing foo displays 
something that is not consistent with what you get when calling 
foo.show3d().

I thought it was something to do with 3d plotting being left-handed in Sage 
or whatever, but no, foo.show() also gives the right answer. And the 
convention for what the permutation U is, taken by CubeGroup and given in 
Joyner's book, is just not the one appearing when you print foo.

It seems that inverses are taken, since RubiksCube().move(R*U) displays 
something that corresponds to U^-1 * R^-1 (by which I mean U^-1 first, then 
R^-1).

In a nutshell: the __str__ method in RubiksCube seems to be broken, somehow.

This is all quite confusing !

best
Pierre





-- 
You received this message because you are subscribed to the Google Groups 
sage-support group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-support] bug report with Rubik's cube functions

2015-03-19 Thread David Joyner
On Thu, Mar 19, 2015 at 8:07 AM, Pierre pierre.guil...@gmail.com wrote:
 Hi,

 I have just realized this, and thought it would be helpful to know for
 anyone playing with Sage's Rubik's cube abilitites. Here it is:

 While the following 3 commands:

 sage: CubeGroup().move(U)

 and

 sage: CubeGroup().plot3d_cube(U)

 and

 sage: RubiksCube().move(U).show3d()

 all take the convention that U means move the face U clockwise,
 unfortunately the command

 sage:  RubiksCube().move(U)

 assumes that U means move the face U counter-clockwise.

 So yes, doing foo= RubiksCube().move(U) and printing foo displays
 something that is not consistent with what you get when calling
 foo.show3d().

 I thought it was something to do with 3d plotting being left-handed in Sage
 or whatever, but no, foo.show() also gives the right answer. And the
 convention for what the permutation U is, taken by CubeGroup and given in
 Joyner's book, is just not the one appearing when you print foo.

 It seems that inverses are taken, since RubiksCube().move(R*U) displays
 something that corresponds to U^-1 * R^-1 (by which I mean U^-1 first, then
 R^-1).

 In a nutshell: the __str__ method in RubiksCube seems to be broken, somehow.

 This is all quite confusing !


I'm not sure, but I wonder if one describes a left action on a set and
the other describes the right action. Left actions vs right actions
are indeed confusing. However, some people insist on being lefties and
others insist on being righties, so Sage is merely being agnostic in
presenting both:-)

That's my guess but I could easily be wrong.


 best
 Pierre





 --
 You received this message because you are subscribed to the Google Groups
 sage-support group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to sage-support+unsubscr...@googlegroups.com.
 To post to this group, send email to sage-support@googlegroups.com.
 Visit this group at http://groups.google.com/group/sage-support.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
sage-support group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-support] bug report with Rubik's cube functions

2015-03-19 Thread Pierre
I agree. Surely in the code one has started with a right action (say) and 
has then decided to sometimes convert it to a left action using inverses.

However, some consistency would be good :-) After all, various pieces of 
code seem to disagree on what U is...

On Thursday, March 19, 2015 at 3:32:18 PM UTC+1, David Joyner wrote:

 On Thu, Mar 19, 2015 at 8:07 AM, Pierre pierre@gmail.com 
 javascript: wrote: 
  Hi, 
  
  I have just realized this, and thought it would be helpful to know for 
  anyone playing with Sage's Rubik's cube abilitites. Here it is: 
  
  While the following 3 commands: 
  
  sage: CubeGroup().move(U) 
  
  and 
  
  sage: CubeGroup().plot3d_cube(U) 
  
  and 
  
  sage: RubiksCube().move(U).show3d() 
  
  all take the convention that U means move the face U clockwise, 
  unfortunately the command 
  
  sage:  RubiksCube().move(U) 
  
  assumes that U means move the face U counter-clockwise. 
  
  So yes, doing foo= RubiksCube().move(U) and printing foo displays 
  something that is not consistent with what you get when calling 
  foo.show3d(). 
  
  I thought it was something to do with 3d plotting being left-handed in 
 Sage 
  or whatever, but no, foo.show() also gives the right answer. And the 
  convention for what the permutation U is, taken by CubeGroup and given 
 in 
  Joyner's book, is just not the one appearing when you print foo. 
  
  It seems that inverses are taken, since RubiksCube().move(R*U) 
 displays 
  something that corresponds to U^-1 * R^-1 (by which I mean U^-1 first, 
 then 
  R^-1). 
  
  In a nutshell: the __str__ method in RubiksCube seems to be broken, 
 somehow. 
  
  This is all quite confusing ! 
  

 I'm not sure, but I wonder if one describes a left action on a set and 
 the other describes the right action. Left actions vs right actions 
 are indeed confusing. However, some people insist on being lefties and 
 others insist on being righties, so Sage is merely being agnostic in 
 presenting both:-) 

 That's my guess but I could easily be wrong. 


  best 
  Pierre 
  
  
  
  
  
  -- 
  You received this message because you are subscribed to the Google 
 Groups 
  sage-support group. 
  To unsubscribe from this group and stop receiving emails from it, send 
 an 
  email to sage-support...@googlegroups.com javascript:. 
  To post to this group, send email to sage-s...@googlegroups.com 
 javascript:. 
  Visit this group at http://groups.google.com/group/sage-support. 
  For more options, visit https://groups.google.com/d/optout. 


-- 
You received this message because you are subscribed to the Google Groups 
sage-support group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-support] bug report with Rubik's cube functions

2015-03-19 Thread David Joyner
On Thu, Mar 19, 2015 at 10:43 AM, Pierre pierre.guil...@gmail.com wrote:
 I agree. Surely in the code one has started with a right action (say) and
 has then decided to sometimes convert it to a left action using inverses.

 However, some consistency would be good :-) After all, various pieces of
 code seem to disagree on what U is...


Yes, this is not documented well enough. Thanks very much for pointing this out!

BTW, in case someone finds this sage-support thread via a google
search, here is a page on switching between the left and right action
conventions which might help:
http://groupprops.subwiki.org/wiki/Switching_between_the_left_and_right_action_conventions

 On Thursday, March 19, 2015 at 3:32:18 PM UTC+1, David Joyner wrote:

 On Thu, Mar 19, 2015 at 8:07 AM, Pierre pierre@gmail.com wrote:
  Hi,
 
  I have just realized this, and thought it would be helpful to know for
  anyone playing with Sage's Rubik's cube abilitites. Here it is:
 
  While the following 3 commands:
 
  sage: CubeGroup().move(U)
 
  and
 
  sage: CubeGroup().plot3d_cube(U)
 
  and
 
  sage: RubiksCube().move(U).show3d()
 
  all take the convention that U means move the face U clockwise,
  unfortunately the command
 
  sage:  RubiksCube().move(U)
 
  assumes that U means move the face U counter-clockwise.
 
  So yes, doing foo= RubiksCube().move(U) and printing foo displays
  something that is not consistent with what you get when calling
  foo.show3d().
 
  I thought it was something to do with 3d plotting being left-handed in
  Sage
  or whatever, but no, foo.show() also gives the right answer. And the
  convention for what the permutation U is, taken by CubeGroup and given
  in
  Joyner's book, is just not the one appearing when you print foo.
 
  It seems that inverses are taken, since RubiksCube().move(R*U)
  displays
  something that corresponds to U^-1 * R^-1 (by which I mean U^-1 first,
  then
  R^-1).
 
  In a nutshell: the __str__ method in RubiksCube seems to be broken,
  somehow.
 
  This is all quite confusing !
 

 I'm not sure, but I wonder if one describes a left action on a set and
 the other describes the right action. Left actions vs right actions
 are indeed confusing. However, some people insist on being lefties and
 others insist on being righties, so Sage is merely being agnostic in
 presenting both:-)

 That's my guess but I could easily be wrong.


  best
  Pierre
 
 
 
 
 
  --
  You received this message because you are subscribed to the Google
  Groups
  sage-support group.
  To unsubscribe from this group and stop receiving emails from it, send
  an
  email to sage-support...@googlegroups.com.
  To post to this group, send email to sage-s...@googlegroups.com.
  Visit this group at http://groups.google.com/group/sage-support.
  For more options, visit https://groups.google.com/d/optout.

 --
 You received this message because you are subscribed to the Google Groups
 sage-support group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to sage-support+unsubscr...@googlegroups.com.
 To post to this group, send email to sage-support@googlegroups.com.
 Visit this group at http://groups.google.com/group/sage-support.
 For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
sage-support group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.