As discussed at
http://groups.google.com/group/sage-devel/browse_thread/thread/b1a03f8fc8ae8fcd/553773d7ba600ae7#553773d7ba600ae7
, I'm writing a patch to deprecate calling symbolic expressions
without variable names.

In the course of writing the patch, and subsequent discussions with
Jason and Burcin, some issues have come up; I just wanted to report on
what we've decided and give people a chance to object.

1) Piecewise functions:
With my initial patch,
  sage: f = Piecewise([[(-1,1),1/2+x-x^3]])
doesn't work (that is, you get deprecation errors when you call f);
Burcin suggested an optional variable argument to Piecewise, so you
could type this instead:
  sage: f = Piecewise([[(-1,1),1/2+x-x^3]], x)

2) plotting
A lot of the plotting code is willing to pick variable names (in
alphabetical order) if names aren't given in the plot ranges.
For instance, this is a doctest in plot.py:
    sage: f = sin(x^2 + y^2)*cos(x)*sin(y)
    sage: c = contour_plot(f, (-4, 4), (-4, 4), plot_points=100)
This will be deprecated, but any of the following will work:
    sage: c = contour_plot(f, (x, -4, 4), (y, -4, 4), plot_points=100)
    sage: c = contour_plot(f.function(x, y), (-4, 4), (-4, 4), plot_points=100)
    sage: c = contour_plot(lambda x,y: f(x=x,y=y), (-4, 4), (-4, 4),
plot_points=100)

3) plotting single-variable expressions
As a special exception to the above rule, plots that want a
single-argument function will also accept a single-variable
expression; the following code will continue to work:
    sage: plot(sin(x), (-3, 3))
As far as I know, this will be the only place in all of Sage where a
symbolic expression is automatically promoted to a function without
the user specifying a variable name (without a deprecation warning).

4) fast_float
The fast_float code assigns variable names in alphabetical order if
the variable names are not explicitly given. This will be deprecated.

Carl

--~--~---------~--~----~------------~-------~--~----~
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