New definite integrals and new problems



Am Montag, den 08.06.2009, 22:42 +0200 schrieb Dieter Kaiser:
> Am Montag, den 08.06.2009, 13:17 -0400 schrieb Dan Gildea:
> > > From: Dieter Kaiser <drdieterkaiser at web.de>
> > > Subject: New definite integrals and new problems
> > > 
> > > (%i58) integrate(exp(-x)*log(x),x,0,inf);
> > > (%o58) -'limit(-%e^-x*log(x)-gamma_incomplete(0,x),x,0,plus)
> > > 
> > > The last step is to get the limit of the above expression which is known
> > > to be -%gamma.
> > 
> > To get this limit, we probably need asymptotic expansions of the 
> > special functions: see e.g. p 80 of Gruntz's thesis.
> 
> I have got a paper from Richard Fateman - again many thanks - which
> gives three more general algorithm for integrals like the above. The
> algorithm are based on the differentiation of the integral
> representation of the Gamma, Beta and Incomplete Gamma functions.
> 
> I think we have all functionality which is needed to implement these
> algorithm.

I have implemented the first algorithm with the help of the paper which
I have got from Richard Fateman to get the desired integral:

(%i62) ?defint\-log\-exp(exp(-t)*log(t),t);
(%o62) - %gamma

I have called the new Lisp routine directly to show the first result:

(defun m2-log-exp-1 (expr)
  (when *debug-defint-log*
    (format t "~&M2-LOG-EXP-1 with ~A~%" expr))
  (m2 expr
    '((mtimes)
        (c freevar)
        ((mexpt) (z varp) (w freevar))
        ((mexpt) $%e ((coefft) (s freevar) (z varp)))
        ((mexpt) ((%log) (z varp)) (m freevar)))
    nil))

(defun defint-log-exp (expr var)
  (let ((x nil))
    (cond
      ((setq x (m2-log-exp-1 expr))
       (let ((c (cdras 'c x))
             (w (cdras 'w x))
             (m (cdras 'm x))
             (s (cdras 's x)))
         (setq s (mul -1 s))
         (mul
           (simplify (list '(%signum) s))
           (power s (mul -1 (add m 1)))
           ($at ($diff (list '(%gamma) var) var m)
                (list '(mequal)
                      var
                      (div (add w 1) s))))))
      (t nil))))

This algorithm works for integrals of the type

   integrate(t^w * log(t)^w * exp(-t^s), t, 0, inf)

This is the general solution:

(%i8) ?defint\-log\-exp(c*t^w*exp(-s*t)*log(t)^m,t);
(%o8) s^(-m-1)*signum(s)*(at('diff(gamma(t),t,m),t = (w+1)/s))

This is the first part of a more general algorithm. Furthermore, there
are two more algorithm for integrals with log and exp functions in the
paper.

I will have a look at defint to include this algorithm.

Dieter Kaiser