They _could_ be rewritten, but it is always easier to start from scratch, mainly because of all the assumptions that were silently admitted when writing any of these.
Add and Mul were sufficient for the vectors, forms and multiforms in `diffgeom`, but there are still corner cases causing bizarre results there. However they proved to have too many assumptions for the matrix expressions submodule, so Matthew Rocklin wrote new simpler, more modular containers (MatAdd and MatMul). Hopefully in the distant future Add and Mul will be refactored so they are just as simple. Concerning the other containers, I think that it is not clear whether they are really necessary. An argument against what I have said and in favor of the existence of various containers, is that the paradigms followed by Mathematica (rewrite rules, functional programing, lisp-like expressions) is different from that of python (object oriented programing), so following the example of Mathematica is not obviously correct. I do not consider this a very strong or well articulated argument. One can also start talking about type systems but 1) Mathematica does not have one; 2) Python's one is not strict; 3) SymPy's ad-hoc type system is a mess. Hence, I do not think that any immediate conclusions can be reached from this line of thought. On 22 July 2013 21:16, F. B. <[email protected]> wrote: > Wolfram Mathematica has Plus and Times which are used for every expression > overloading the "+" and " " operators. > > I see here that SymPy has Mul, Add, MatMul, MatAdd, VectMul, VectAdd, > TensMul, TensAdd, and so on... > > Do we really need all these ones? Couldn't Mul and Add be rewritten in > such a way as to correctly handle all those cases? > > -- > 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. > 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. For more options, visit https://groups.google.com/groups/opt_out.
