You have done a great job highlighting some of the things that are easy in mathematica and hard in sage. I don't see any answer to your points in the comments below. I suspect that a fairly serious rewrite of symbolic expressions will be necessary at some point to help this situation, but I don't think that it is un-doable in python.
Cheers, M. Hampton On Aug 22, 8:21 am, David Philp <[EMAIL PROTECTED]> wrote: > On 22/08/2008, at 5:27 PM, William Stein wrote: > > > > > On Thu, Aug 21, 2008 at 11:28 PM, David Philp > > <[EMAIL PROTECTED]> wrote: > > >> I hope one can't own such things but I don't want a legal fight. > > > If I were afraid, then Sage would be nowhere today. > > I just don't think Mathematica reimplementation is a worthy enough > thing that it's worth risking a legal fight with Wolfram. There are > other ways to make Sage really good. > > >> Otherwise, I agree. A mathematica-like parser would be useful. > >> Though I'd be surprised if the concepts map across well enough for it > >> to be anything other than an ugly hack. > > > Why? > > I don't think it's useful for me to keep going much more until I know > more about sage. But I will explain where the bad feeling came from: > > All the explanations that "sage can do that" have involved python > lists, because I used names and examples like 'data = {1, 2, 3}'. But > the power of ReplaceAll (the /. operator) is that it places no > requirements on the form of the 'data' argument. > > I.e. the example: > [(0 if d < 0 else d) for d in data] > > is an illustration of how to write a for-each expression in python, > but it has nothing much to do with ReplaceAll. The difference is that > ReplaceAll is used for transforming 'data' not 'the elements of data'. > > E.g. > x + a*y + z[w + v] /. Plus -> List > > yields {x, a y, z[{v, w}]} (That sort of manipulation has been useful > to me sometimes.) > > It reads much the same as before: expr, but with sums replaced by lists. > > If someone proposes an implementation I can try and shoot it down or > improve it. But I don't know sage well enough to know whether there > is an obvious way to do it all. My guess is that this is a natural > task for Lisp and the wrong task for Python. > > D > > ================================== > David J Philp > Postdoctoral Fellow > National Centre for Epidemiology and Population Health > Building 62, cnr Mills Rd & Eggleston Rd > The Australian National University > Canberra ACT 0200 Australia > > T: +61 2 6125 8260 > F: +61 2 6125 0740 > M: 0423 535 397 > W:http://nceph.anu.edu.au/ > > CRICOS Provider #00120C --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---