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