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.


Reply via email to