On 03/17/2012 05:10 AM, Aleksandar Makelov wrote:
Hi,
Yup I'm looking at the GAP website now and it seems like a lot of fun;
I'm also looking for some kind of algorithm reference for
computational group theory like the ones listed at GAP. I'll have a
lot of work to do in the next couple of days (break's over) but will
try to implement at least one way of representing groups and find some
algorithms that might help build a potential group theory module.
Aleksandar Makelov
On Mar 16, 6:39 pm, Aaron Meurer<asmeu...@gmail.com> wrote:
On Fri, Mar 16, 2012 at 4:12 PM, Aleksandar Makelov
<amake...@college.harvard.edu> wrote:
Hi,
for the Galois group I'm using a rather naive approach for equations
of degree 4 or less - it's based on the theory given in a standard
textbook (Artin's Algebra, 2nd edition) - looking at the discriminant
and in the quartic case at the resolvent cubic. It's a solid algorithm
except for one of the cases where there is ambiguity between C_4 and
D_4, but that's OK for most of the polynomials you'd encounter in the
exercises... But now that I looked around I saw there might be some
more general algorithms out there (http://mathoverflow.net/questions/
22923/computing-the-galois-group-of-a-polynomial/ for example), so
that's probably what I'm going to try next.
http://www.maplesoft.com/support/help/Maple/view.aspx?path=galoismay
also give you some inspiration.
Respectively, representing groups will be just by name (not so many of
them in degrees less than 5...) but obviously in higher degrees it'd
be convenient to have a way of handling arbitrary groups. Galois
groups are naturally embedded in the symmetric groups S_n, so
permutations will probably pop up from the algorithms; as size gets
larger (approx. n!) it'd be better to have them in cycle notation, and
also try to extract a list of generators / generators with relations.
Other than that, I don't know... I'm currently doing representation
theory and it sounds tempting (eigenvals()? character tables?). But
that's just the mathematical side of it, and I'll have to think a lot
about implementation.
Aleksandar Makelov
Well, we want to be able to do more with a group than just have its name.
How you represent the group, and its elements, depends on what the
group is (finite or infinite for one thing), and what you plan to do.
It will be useful to be able to represent them in many different ways.
If you're interested in working on group theory, you might also look
at the GAP project for some inspiration. They have the most powerful
group theory software (as far as I know).
Aaron Meurer
On Mar 16, 4:32 pm, Aaron Meurer<asmeu...@gmail.com> wrote:
As others have said, we will leave the straight graph theory to
networkx and similar libraries. Those other things would be fitting,
though. Take a look at what's already implemented in the
combinatorics module, the sets module, and elsewhere.
And it would be awesome to have a group theory module. We presently
only have a Permutation class in the combinatorics module, but other
than that, we don't really have a good way to represent a group.
Obviously, to compute the Galois group of a polynomial, you need a way
to represent it, so for this idea, you would really need to implement
a group theory framework that we can build upon.
What algorithm do you use to compute the Galois group?
Aaron Meurer
On Fri, Mar 16, 2012 at 6:06 AM, Aleksandar Makelov
<amake...@college.harvard.edu> wrote:
Hi guys,
I'm currently a freshman at Harvard College, probably concentrating in
mathematics / mathematics and CS. I've done a lot of mathematics in
high school (math Olympiads) and university (honors linear and
abstract algebra, real and complex analysis) so far, and I'm
interested in bringing mathematics and CS together.
I've been dealing with sympy for a couple of weeks now and was
wondering whether it'd be a good idea for GSoC to implement some more
complicated combinatorial functionality (e.g. graph algorithms,
generating functions, recurrence relations, operations on sets,...) ?
Also, I'm currently working on several little functions for
computation of the Galois group of quadratic/cubic/quartic
polynomials; I'll probably send the code in a couple of days. Maybe
I'll be able to develop some GSoC-like ideas in this direction
(abstract algebra) as well.
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to
sympy+unsubscr...@googlegroups.com.
For more options, visit this group athttp://groups.google.com/group/sympy?hl=en.
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to
sympy+unsubscr...@googlegroups.com.
For more options, visit this group athttp://groups.google.com/group/sympy?hl=en.
I think a main reference is "Permutation Group Algorithms" by Akos
Seress - Cambridge Tracts in Mathemathics 152 published 2003.
--
You received this message because you are subscribed to the Google Groups
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/sympy?hl=en.