I, for one, would like surface plots, even if it is slow, using openmath or matplotlib (which SAGE has already). Is there a reason we can't do that?
Bobby Moretti wrote: > John, > > What William wrote will work, but I'm very curious what people actually > want to do with the calculus software. If you give me some specifics on > what you want to do, I'll work on adding it to SAGE natively, so that > you're not forced to use Maxima. > > ~Bobby > > On 5/20/07, *William Stein* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > wrote: > > > On 5/20/07, jperry <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> > wrote: > > > > I guess I solved my own problem: > > > > show( eval( maxima.eval( "sin(x)" ) ).plot( x, -5, 5 ) ) > > > > On May 20, 2:14 pm, jperry <[EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > > What's the proper method to plot a Maxima function? Maybe I'm > > > misunderstanding the syntax, but something like: > > > > > > show( maxima("x*sin(x)").plot( x,-5,5 ) ) > > > > > > gives me a graph consisting of axes with "x*sin(x)" printed in the > > > center of the graph (no plot). > > > > > > Using plot2d() works, but I'd prefer not to use Gnuplot since I'm > > > using the web-based notebook and my browser can't display EPS files. > > > > > > I can also use something like: > > > > > > L = [(x, maxima.eval( "float(sin(%s))"%x )) for x in range(-5,5)] > > > show( line(L) ) > > > > > > Is there a simplier way? AFAIK I can't avoid using Maxima > because I'm > > > using some ODE/Laplace functions that don't exist natively. > > Unfortunately, in your follow up post you didn't fix your problem, > since you just > ended up plotting sage's sin function. > > But using a strategy like you are using above, e.g., > > show ( plot( lambda x: float(maxima('sin(%s)'%x)), 0, 10 ) ) > > is probably a good way to go. NOTE -- it *will* be slow, since there > is a separate call to maxima to evaluate every single point > of the plot -- this might not be a problem for your application, though. > So you might want to restrict the number of evaluation points, e.g., > show ( plot( lambda x: float(maxima('sin(%s)'%x)), 0, 10 , > plot_points=10, plot_division=0) ) > > Note that as of sage-2.5, we have much much better support for > symbolic calculus type stuff directly in SAGE without having to use > maxima at all. You might want to try it out. E.g., > We compute a few Laplace transforms: > sage: sin(x).laplace(x, s) > 1/(s^2 + 1) > sage: (z + exp(x)).laplace(x, s) > z/s + 1/(s - 1) > sage: var('t0') > t0 > sage: log(t/t0).laplace(t, s) > (-log(t0) - log(s) - euler_gamma)/s > > See > http://sagemath.org/doc/html/ref/module-sage.calculus.calculus.html > <http://sagemath.org/doc/html/ref/module-sage.calculus.calculus.html> > and the sections around that section. > > .... And it's so cool that you -- my office mate from Northern Arizona > University > in 1994 -- are using SAGE! > > William > > -- > Bobby Moretti > [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > > --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-support@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-support URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/ -~----------~----~----~----~------~----~------~--~---