Thanks for the contribution. One comment:
(%o59) expintegral_e(x,x)
(%i60) diff(%,x);
(%o60) 'diff(expintegral_e(x,x),x,1)-expintegral_e(x-1,x)
(%i61) ev(%,'diff);
Opps! %o60 should equal %o61
(%o61) 'diff(expintegral_e(x,x),x,1)-2*expintegral_e(x-1,x)
This isn't bug in your code. I don't know of a workaround. In orthopoly,
there is
(defprop unk simp-unk operators)
(defun simp-unk (x y z)
(declare (ignore y z))
(merror "Maxima doesn't know the derivative of ~:M with respect the ~:M
argument" (nth 2 x) (nth 1 x)))
And
(putprop '$hermite
'((n x)
((unk) "$first" "$hermite")
((mtimes) 2 n (($hermite) ((mplus) -1 n) x)))
'grad)
With this scheme
(%i68) diff(hermite(a,b),a);
Maxima doesn't know the derivative of hermite with respect the first
argument
Barton