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