On Tue, Mar 20, 2012 at 10:24 AM, Sergiu Ivanov
<unlimitedscol...@gmail.com> 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 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.
>

-- 
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.

Reply via email to