GSoC Group Theory

202 views
Skip to first unread message

Jennifer White

unread,
Mar 6, 2015, 2:24:17 PM3/6/15
to sy...@googlegroups.com
Hi,
I'm Jennifer, I'm a 3rd year Maths/Physics student at the University of Warwick UK. Last summer I interned at Google and now I'm looking to get involved in some Open Source work and potentially GSoC.

SymPy caught my eye, and particular the suggestion of implementing a Group Theory module, because Algebra and Groups are my specialist areas in my degree and I thoroughly enjoy working with Python so I'm very interested in formulating a proposal for this.

I am new to Open Source work and using Git but I am very enthusiastic about learning new things and I was wondering where would be a good place to start?

I've taken modules in various aspects of Groups (most recently looking at Representation and Character Theory) so I do have a fairly good understanding of the underpinning theory here.

I plan to thoroughly investigate SymPy's existing capabilities with regards to groups as PermutationGroups and some special groups (like Dihedral, Cyclic etc) are already implemented. I'm also going to have a look at what some existing systems like GAP can do and think about what the most fundamental functionalities that I need to get implemented are.

Any advice or guidance is welcome

Jason Moore

unread,
Mar 6, 2015, 2:32:50 PM3/6/15
to sy...@googlegroups.com
Hi Jennifer,

We have this page to help newcomers get started with SymPy development:

https://github.com/sympy/sympy/wiki/introduction-to-contributing

Other people will have to comment on the group theory specifics.

--
You received this message because you are subscribed to the Google Groups "sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sympy+un...@googlegroups.com.
To post to this group, send email to sy...@googlegroups.com.
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/b2d5fc1c-911a-4f5c-b003-93571f8377e1%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Aaron Meurer

unread,
Mar 9, 2015, 1:03:16 PM3/9/15
to sy...@googlegroups.com
Looking at what SymPy can currently do and what GAP can do are both
good places to start.

I personally would like to see SymPy be able to represent groups in
ways other than just as permutation groups, e.g., symbolically from
generators. This also opens up the possibility to have some parts of
the module that work with infinite groups.

Group theory is huge, and you could work on it for 20 summers and
still have things to implement, so I would try to find some specific
thing that SymPy cannot do but other systems like GAP or Sage can, and
make a project out of that.

Aaron Meurer

Jennifer White

unread,
Mar 10, 2015, 9:27:00 AM3/10/15
to sy...@googlegroups.com
Thanks for your response.
The two areas that I had particular interest in were representing groups symbolically as you mentioned, and also potentially looking into generating Galois Groups. Do you think these would be good areas to start with?
Obviously there is a huge amount that could be done in this area and I don't want to be unrealistically ambitious!

Aaron Meurer

unread,
Mar 10, 2015, 11:54:56 AM3/10/15
to sy...@googlegroups.com
Those both sound like good ideas. I would look into what the
prerequisites for each are so you can see what is already implemented
and what needs to be implemented.

Aaron Meurer
> https://groups.google.com/d/msgid/sympy/2482dc87-dcce-47cf-9920-0fec91205550%40googlegroups.com.

Jennifer White

unread,
Mar 17, 2015, 8:09:22 AM3/17/15
to sy...@googlegroups.com
For anyone who may be interested in this, I have now put submitted my proposal on Melange and have also put the most relevant parts on the SymPy Wiki. I would very much appreciate any comments or suggestions. I can't seem to find the suggested mentor for this project so any suggestions or improvements are very welcome

Aaron Meurer

unread,
Mar 17, 2015, 1:51:23 PM3/17/15
to sy...@googlegroups.com
I would suggest putting in more details about the actual
implementation. A suggestion would be to show a "fake" python session
showing the inputs and outputs of some of the functions you would
implement. See https://asmeurersympy.wordpress.com/2011/04/27/advice-for-future-prospective-gsoc-students/
(number 4) for an example of what I mean.

Aaron Meurer
> https://groups.google.com/d/msgid/sympy/7251c9b8-d061-4551-b546-a0ed66601602%40googlegroups.com.

Jennifer White

unread,
Mar 18, 2015, 5:24:27 AM3/18/15
to sy...@googlegroups.com
Thanks, I have updated both now. Hopefully this is an improvement

Aaron Meurer

unread,
Mar 18, 2015, 1:01:32 PM3/18/15
to sy...@googlegroups.com
The symbols in your example will need to be set as symbols('a b',
commutative=False). Otherwise b*a*b*a will be the same as a**2*b**2.

Aaron Meurer
> https://groups.google.com/d/msgid/sympy/2dda088d-37e8-440e-8eb3-0b4c8eb27163%40googlegroups.com.

Jennifer White

unread,
Mar 18, 2015, 1:07:42 PM3/18/15
to sy...@googlegroups.com
Thanks
Reply all
Reply to author
Forward
0 new messages