You are quite right David...
But i feel working only on permutation groups and some basic algos on it
wont take up around two and a half months of summer since some work has
already been done on it before.

I am sure along with that it would be possible to do atleast one more
topics from the ones you have listed... maybe a smaller topic such as
vector spaces and some of its algos.

Also if we make a module for the group structure we can make one for rings
and fields... but include only the basic operations which also come under
the group module. We could leave out the complicated stuff(like Eucledian
Rings)

I think implementing all of the above in the time frame of a summer is
quite possible.

-Gaurav

On Tue, Mar 20, 2012 at 9:56 PM, David Joyner <[email protected]> wrote:

> On Tue, Mar 20, 2012 at 10:24 AM, Sergiu Ivanov
> <[email protected]> wrote:
> > Hello,
> >
> > Since the thread is about "fundamental algebraic structures", I'd like
> > to voice in.  While group theoretical stuff is mainly discussed in
> > this thread, I'd like to point out that it would be nice (at least in
> > my opinion) to start the implementation from the fundamental
> > components of algebraic structures: operations.  I'm trying to say
> > that I think that a group should be defined as an algebraic structure
> > with a single operation which has a number of properties; thus we may
> > define a class UniversalAlgebra, then derive Semigroup from it, then
> > Monoid, then Group.  This would be similar to defining log as a
> > subclass of Function.
> >
> > Once this architecture is set up, one will be able to (much easier)
> > add any other algebraic structure to SymPy.  (I'd be interested in
> > adding lattices, for example.)
> >
> > SymPy includes the classes AssocOp and LatticeOp; these may be used in
> > setting up the architecture I'm talking about.  However, I think a
> > more general Operation class would be necessary.
> >
> > This is would also make adding category theoretic things much easier :-)
> >
> > I'd be glad to hear opinions on this idea :-)
>
>
> I think this is great in principle (and this is the way Sage does this)
> but in practice for an undergraduate student lacking in mathematical
> sophistication, it is IMHO too optimistic.
>
> My guess is that it is easiest and most practical to implement
> (a) permutation groups and some basic algorithms
> (b) finite rings, such as ZZ/nZZ, and some basic algorithms
> (c) finite fields and some basic algorithms
> (d) vector spaces over finite fields and their subspaces (ie,
> linear block codes) and some basic algorithms
>
> Just doing (a) properly would be a full summer project I think.
>
> Hopefully the implementations are written clearly enough
> and with some similar framework that they can be fit into
> the more abstract category-theoretic framework that you describe.
>
> Anyway, that's my 2 cents:-)
>
> >
> > Sergiu
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "sympy" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected].
> > For more options, visit this group at
> http://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 [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://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 [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to