GREAT ! Thanks for the amazing support !

I have just used Sage for one day, and I was disappointed by this side-
effect.  But with such an outstanding support, I'm now convinced it's
the tool to use !

PC

On 25 juil, 22:07, William Stein <wst...@gmail.com> wrote:
> On Sat, Jul 25, 2009 at 12:31 PM, pca<pierre.carbonne...@gmail.com> wrote:
>
> > Dear all,
>
> > I have been puzzled, and annoyed, by an unexpected side-effect.  It
> > can be demonstrated in the notebook by the following example.  It
> > models the speed as distance / time, then solve for the distance, then
> > evaluate the distance with different arguments:
>
> > var('v d t')
> > equation  = v == d / t
> > solution = solve(equation, d, solution_dict = True)
> > d_   = solution[0][d]; print d_ #-> t*v
> > constants= {v: 2}
> > print d_(constants, t=3) #--> 6
> > # BEWARE: the previous call has the side effect that t=3 in later
> > evaluation !
>
> This is *definitely* a bug in Sage.  I've made this trac #6622:
>
>    http://trac.sagemath.org/sage_trac/ticket/6622
>
> Here's how to workaround it (namely, put "dict(constants)" instead of
> "constants"):
>
> sage: var('v t')
> sage: f = v*t
> sage: s = {v: 2}
> sage: f(dict(s), t=3)
> 6
> sage: s
> {v: 2}
>
> William
>
>
>
> > print d_(constants) #--> 6 : the side-effect is apparent here !
> > print d_ #--> t*v
>
> > I would expect d_(constants) to result in t*2, but instead its using a
> > previous assignment of t to yield 6 !
>
> > I'm using Sage for an engineering pblm, and I find it useful to
> > separate constants from arguments.  The side effect is thus annoying
> > to me: is there any other way to evaluate a function with constants
> > and arguments, without any side-effect with the arguments ?  I'm new
> > to this forum, so not sure if it has been raised before. Sorry if
> > there is an easy answer.
>
> > Thanks in advance.
> > PC
>
> --
> William Stein
> Associate Professor of Mathematics
> University of Washingtonhttp://wstein.org
--~--~---------~--~----~------------~-------~--~----~
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
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to