g(x):=sin +x
g(3)  SHOULD be sin+3.

g(x):=sin
g(3)  should be sin

g :=  sin + identity

g(3)
  might possibly be sin(3)+identity(3)   or  sin(3)+3.

but the use of the syntax g(x) to resolve both lambda-calculus binding
and evaluation  as well as operator simplification, resolution of
arguments by position etc  (e.g. in the case g(x.y))   looks like a
bad idea.  So it might be better, in the latter case, to require
something like apply(convert_operator_expression_to_lambda_expression
(g,[x]), [3]).  You can think up a shorter name.

Simplification of operators (e.g. in manipulation of differential
equations) is widespread in the literature.  But if you don't know
what your textbook writer is really doing and you just copy stuff into
a CAS, you are likely to get into trouble pretty soon. A closer look
at any but the most formal presentations is likely to reveal that the
notation is ambiguous.  Modeling ambiguity is generally unsatisfactory
because, even if the computer keeps things straight, the humans don't.
And that's assuming the computer keeps things straight....

 is the operator  1   the same as the identity?   or is it
multiplication by 1? Sometimes it doesn't matter. Sometimes it does.

RJF



On Mar 29, 10:44 am, Carl Witty <carl.wi...@gmail.com> wrote:
> On Sun, Mar 29, 2009 at 5:27 AM, Burcin Erocal <bur...@erocal.org> wrote:
> >    * We raise an error whenever a function object is specified without
> >      variables.
>
> > Comments?
>
> +1 for raising an error.
>
> 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