On Feb 27, 2013, at 8:18 AM, Mary Clark <[email protected]> wrote:
In addition to what Aaron said in this pull request ( https://github.com/sympy/sympy/pull/1810) about redesigning how some of the group theory code works, what other things are still waiting to be implement/are wanted to be added? I personally think that most of the stuff about groups should be moved out of combinatorics and into its own file. Additionally most stuff seems to be dedicated specifically to permutation groups, and not towards things more general. Definitely. Group theory is not "combinatorics". And in addition to making classes for special groups like I said, the class structure should be designed so that permutation groups are just a special kind of groups. Most algorithms will be implemented for permutation groups, and the classes will define a way to convert to them to apply the algorithms, but the classes themselves will be based on the exact mathematical way that the user wants them defined. For example, D4 will literally consist of the symbols r and f that satisfy r**4 = e = f**2 and r*f = f*r**-1. A big thing in SymPy, especially recently, is that you should not be forced to work with some canonical representation just because it makes it easier for us to compute with. For example, computing with trig expressions is much easier if you only allow sin and cos, but we still allow you to write things in terms of tan or cot or sec and everything (ideally anyway) still works out. This sort of idea is very nicely done in the special functions module, where there are dozens of special functions that are all special cases of each other, but, for example, integration all happens in terms of the most general one (meijerg), but at the end, it is converted back into the most convenient special function (like besselj or or polygamma or something). You should think of what the standard ways to represent groups are and how to set up a framework to automatically convert between them. Also think about infinite groups. In addition to thinking about a project on lie groups/algebras, I'm also quite interested in computational group theory, so if there was a lot of outstanding work to be done with this module, I'd love to do it as a gsoc project. Of course, this is the interesting part. I've CCd Aleksandar Makelov, who did the groups project last year. He'll be able to tell you more about this. As far as I know, nothing can be done for infinite groups (not even representing them), so you might see what can be done with them. One thing I personally think would be useful, which relates to what I said above, would be to take a finite group and list all the ways it can be represented (e.g., D3 = S3), and to convert between representations. Another thing that would be useful would be to compute Galois groups. But this is more the polys module than the groups module, so it may not interest you. Aaron Meurer Mary -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy?hl=en. For more options, visit https://groups.google.com/groups/opt_out. -- 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy?hl=en. For more options, visit https://groups.google.com/groups/opt_out.
