I was surprised with the following behavior:
Maxima 5.20.1 http://maxima.sourceforge.net
using Lisp SBCL 1.0.30
Distributed under the GNU Public License. See the file COPYING.
Dedicated to the memory of William Schelter.
The function bug_report() provides bug reporting information.
(%i1) gradef(S(x,n,i), C(x,n,i), 0, 0);
(%o1) S(x, n, i)
(%o2) [S(x, n, i)]
(%o4) grad efs
(%i5) diff(S(x,n,i), x);
(%o5) C(x, n, i)
(%i6) gradef(C(x,n,i), s(x,n,i), 0, 0);
(%o6) grad ef(C(x, n, i), s(x, n, i), 0, 0)
(%i7) diff(S(x,n,i), x);
(%o7) C(x, n, i)
(%i8) diff(C(x,n,i), x);
(%o8) -- (C(x, n, i))
In other words, after loading 'vect.mac', where the GRAD operator is defined, Maxima starts to intepret GRADEF as GRAD(EF) [and GRADEFS similarly]. I had to edit 'vect.mac' and change all apearances of GRAD to GRAD2 (e.g.) to preserve the original behavior of GRADEF. Is this intended behavior?
Log in to post a comment.