[Maxima] Substituting a value for a differential function
macrakis at alum.mit.edu
Sun Apr 1 14:44:02 CDT 2012
Yes, please see my note from Thursday:
---------- Forwarded message ----------
From: Stavros Macrakis <macrakis at alum.mit.edu>
Date: Thu, Mar 29, 2012 at 17:29
Subject: Re: [Maxima] infinite loop
To: Leo Butler <l_butler at users.sourceforge.net>
Cc: maxima at math.utexas.edu
This is a misfeature (i.e. it is supposed to work this way, but it is a bad
idea) in the way function/array names are evaluated. Unlike normal
evaluation in Maxima, they do 'infinite evaluation'. A simple example:
x(1) => infinite loop
x => infinite loop
Maxima version: 5.26.0
Maxima build date: 13:32 1/18/2012
Host type: i686-apple-darwin11.2.0
Lisp implementation type: SBCL
Lisp implementation version: 22.214.171.124-11e4aa5
On Thu, Mar 29, 2012 at 15:16, Leo Butler <l_butler at users.sourceforge.net>
> The following leads to an infinite loop. Could someone explain why?
> f(x,y) := x(1)*y(2);
> Leo Butler <l_butler at users.sourceforge.net>
> SDF Public Access UNIX System - http://sdf.lonestar.org
> Maxima mailing list
> Maxima at math.utexas.edu
On Sun, Apr 1, 2012 at 14:06, Robert Dodier <robert.dodier at gmail.com> wrote:
> On 3/28/12, Barton Willis <willisb at unk.edu> wrote:
> > Putative bug:
> > (%i1) (a : b, b : c, c : d)$
> > Should be b[x], not d[x], I think:
> > (%i2) a[x];
> > (%o2) d[x]
> Not a bug, but a misfeature; the code works as intended,
> but the intent is questionable.
> I looked into this, and there is a loop in MEVAL1 which reevaluates
> the name of the function. The code is pretty convoluted -- I'm guessing
> it could be simplified a lot.
> I don't know the motivation for reevaluating function names.
> It would be interesting to disable that somehow to find out what,
> if anything, in existing Maxima code (e.g. share) depends on it.
> Robert Dodier
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Maxima