12 Sept 2002 1. Posted version 1.3 to my webpage and announced its availability to the Maxima community. 10 Sept 2002 1. When fun in sdiffgrad is lambda, do not differentiate using positional derivatives. Without checking for a lambda form, derivatives of lambda forms were incorrectly differentiated (commercial Macsyma has this bug). Maxima doesn't support derivatives of lambda forms. 2. Similar to the support for %sqrt in %pderivop, I added support for the exp function. This change allows things like (C40) diff(f(x),x); (D40) f (x) (1) (C41) %,f=exp; x (D41) %E to fully evaluate. 3. Fixed bug in %pderivop; before (cond ((or (eq f '%sqrt) (eq f '$exp)) ;; any others? (let ((x (gensym))) (setq f `((lambda simp) ((mlist) x) ((,f) x)))))) after bug fix (cond ((or (eq f '%sqrt) (eq f '$exp)) ;; any others? (let ((x (gensym))) (setq f `((lambda simp) ((mlist) ,x) ((,f) ,x)))))) 4. Restored support for things like (C71) diff(f(x),x); (D71) f (x) (1) (C72) %,f=sqrt(42); (D72) 0 Support for this was removed when I added a check for non-atoms in %pderivop. 19 August 2002 1. Added support for pderivop(lambda([ ....]), ...). 2. Added support to %pderivop for sqrt; this allows (c1) e : diff(g(x),x); (c2) e, g=sqrt; 18 August 2002 1. Fixed bug in nonnegative-intp and zero-intp. 2. Added meval to final clause of %pderivop; without it things like (c1) g(x) := x^3$ (c2) pderivop(g,1); (c3) ev(%); need a user-supplied ev to get the lambda form. 10 August 2002 1. pdiff.lisp now modifies the tex-mexpt function; thus pdiff now loads mactex. 9 August 2002 1. Started an experimental version of pdiff; several option variables control the way positional deriviates are converted to tex. Now, tex-mexpt also needs to be modified. When finished, this will be version 1.3. 2. Added a new user-level function pderivop; this makes it possible to do several useful things. See the source file. 3. The experimental version checks that the arity of a function matches its number of derivative subscripts; this happens in mapply1. 7 August 2002 1. Used $put to included version information and changed the wording of some comments; boosted version to 1.2.2. We can now conditionally load pdiff with (c1) if(get('pdiff,'version) = false) then load("pdiff.lisp"); 29 July 2002 Fixed four bugs in convert_to_diff. 1. setf in (setf (nth i args) iarg))) requires that args be a copy of (cddr e). Fixed. 2. Conversion of f_(1)(k), when k is a constant requires a dummy. I added an extra conditional that checks for constant arguments. 3. Elements of the at-list weren't being converted to Maxima derivatives. 4. convert_to_diff failed on CRE expressions; fixed by converting to general form. Changed version to 1.2.1. 28 July 2002 First announcement of pdiff of Maxima list, version 1.2.