Hi  Chris

On 21 Aug., 17:19, Chris Seberino <cseber...@gmail.com> wrote:
> I want "x (x)" to return x^2.  It doesn't seem to work with any
> implicit_multiplication level.

The use of implicit multiplication is a very improper way to talk with
a CAS, IMHO. You met one of the reasons why it is improper and error
prone.

If you have an object that is directly followed by parentheses, then
in Python, which is the underlying language of Sage,  it means
function evaluation. Hence, when you write f(x) then you normally do
NOT want to multiply f and x, but typically f is a function and you
want to evaluate it at the point x.

And that's why it is a bad idea to drop the * in a multiplication.
When you write x(2+3), do you mean "x (a function) evaluated at 5"? Or
do you mean "x multiplied with 5"? How could Sage possibly know? So,
in case of doubt, better be clear and write x*(2+3), or write x(2+3)
and mean function evalutation.

>  What does the following error mean?

It is not an error but a deprecation warning.

> Does it mean this will get fixed in a future version?

No, since it is not a bug. You asked for function evaluation (without
being aware of), and you got function evaluation: x evaluated at x is
x.

The warning seems to tell that the current rules for substituting some
variable in a symbolic expression will actually be more rigid soon.

If  f is a function with two variables x,y, and you want to substitute
2 for x and 3 for y, then currently you can do f(2,3) -- but you get a
warning telling you that you should better write f(x=2,y=3), and that
soon you will not only get a (harmless) warning but an actual error.

Cheers,
Simon

-- 
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to