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  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  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.


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  > 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.


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  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.


[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.