Robert Bradshaw wrote: > On Feb 22, 2009, at 1:38 AM, Burcin Erocal wrote: > >>> My first thought is that doing the above might be somewhat orthogonal >>> to pynac, since pynac provides the low-level symbolic manipulation, >>> and the above would just be a natural thing built on top of that. >> I agree that the above is independent of changes to pynac. We provide >> support for functions through the CallableSymbolicExpression class in >> sage.calculus.calculus. This is the same for pynac and maxima based >> symbolics. >> >> In order to make vector valued funtions to work, you will need to >> extend >> that class to allow multiple outputs, then sort out the preparser. > > I don't think one would want to have multiple outputs, rather one > would want to have a *single* (symbolic) vector as output. It might > make more sense to simply allow symbolic vectors to be callable, > passing the arguments to each of their components.
I agree that you would want a single symbolic vector as output. However, I don't think that extending symbolic vectors alone does all that is needed. There are definite advantages to specifying the names and order of variables. For example: vector([x+y, y+z])(1,2) would make sense with the above proposal, but almost certainly not be what was intended (i.e, would return vector([3,3]), instead of vector([3,2+z]), as would be consistent now). Instead, f(x,y,z) = vector([x+y, y+z]) knows that f(1,2,3) means x=1, y=2, and so would output vector([3, 2+z]) Also, it seems weird to have symbolic vectors have a jacobian function, especially when the user doesn't get a chance to specify the ordering of the variables. Jason --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---