Work on the Exponential Integrals



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