[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] Infinite loop computing Laplace transform

From: Waldek Hebisch
Subject: [Axiom-developer] Infinite loop computing Laplace transform
Date: Mon, 15 Jan 2007 02:46:49 +0100 (CET)

I have looked at bug 101.  At the end of LaplaceTransform.locallaplace
we have:

      -- last chance option: try to use the fact that
      --    laplace(f(t),t,s) = s laplace(g(t),t,s) - g(0)  where dg/dt = f(t)
      elem?(int := lfintegrate(f, t)) and (rint := retractIfCan int) case F =>
           fint := rint :: F
           -- to avoid infinite loops, we don't call laplace recursively
           -- if the integral has no new logs and f is an algebraic function
           empty?(logpart int) and algebraic?(f, t) => oplap(fint, tt, ss)
           ss * locallaplace(fint, t, tt, s, ss) - eval(fint, tt = 0)

The recursion here is responsible for infinite loop when computing
laplace(log(z), z, w).  Namely, at this point f = log(z).  Integrating
we get  z*log(z) - z.  First part of locallaplace uses linearity
and recurses with f = z*log(z).  Again first part factors out z and
recurses with f = log(z)...

ATM I am unable to find a function such that this fragment helps.  OTOH
the fragment is quite likely to cause infinite recursion so I consider
disabling it.

                              Waldek Hebisch

reply via email to

[Prev in Thread] Current Thread [Next in Thread]