Dear Devel list,

Before reading this, read the discussions at
http://groups.google.com/group/sage-devel/browse_thread/thread/8ec32e4d895da60c
and tracs # 1221 and # 2787.

Since nothing has been done on this in over a year, and because I feel
fairly strongly that it is *very* important (to keep "insane ease of
use", in wdj's words) to keep things like
sage: integrate(sin(x),x,0,pi)
viable, I messed around with a toy implementation of some alternate
syntax that would preserve backward compatibility but allow for the
Mathematica-style syntax and multiple integration.

I now have a working (still toy) implementation that keeps all current
syntax, but adds the following possibilities giving correct answers:

sage: integrate(sin(x),[x],[var('y')]) # double integral, x first
sage: integrate(sin(x),[x,0,pi],[y]) # one definite, one indefinite
sage: integrate(sin(x),(x,),(x,)) # double integral, using tuples
instead of lists if you like parentheses
sage: integrate(sin(x),(x,),(var('y'),),(var('z'),)) # or more
integrals

One would not (yet) be able to do something like
sage: integrate(sin(x),[0,pi])
though I suppose it would be easy to implement; this seems a little
weird to me personally, though, esp. if
sage: integrate(sin(x),0,pi)
is already available.

Because the integration code is spread in a few places, I am sure it
will take some work to make this work properly, but I am familiar
enough with it from previous work that this proof of concept has
convinced me.  (Thanks, Python, for making such things so easy!)  It
is really just a matter of asking the right arguments to be passed at
some point, since Maxima and the interface to it take care of the
rest.

So I am wondering if there is any feedback from esp. William, Ondrej,
Jason, and whomever else posted or discussed this on trac.  Certainly
having "native" multiple integrals seems like a no-brainer to try to
have, and enabling easy transfer from Mma is definitely useful.  But
I'd also like to ensure that
sage: integrate(sin(x),x,0,pi)
and friends live happily ever after, or at least until I stop
teaching, and I am quite happy to do all the work to make that happen
while addressing the valid points these tickets make.

Thanks,
-  kcrisman
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to