axiom-developer
[Top][All Lists]

[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