axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Fix for bug 294


From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] Fix for bug 294
Date: 07 Oct 2006 20:54:35 +0200

Waldek Hebisch <address@hidden> writes:

[...]

| 4) without the patch the AXIOM recurses infinitely handling the 
|    few integrals below (first I previosly gave in the bug report).
|    With the patch the first two are correctly handled, the other
|    two quickly hit into unimplemented part of Risch algorithm:

I can see the effect of the patch.  Could you explain what the
problems was and why the proposed patch fixes it?  That should appear
somewhere in the pmaphlet file.

When we get to final bits, you would also want to put your examples in
the testsuite.

[...]

|      goodCoef(v, l, s) ==
| -      for i in minIndex v .. maxIndex v for k in l repeat
| -        is?(k, s) and
| +      -- if k1 is part of k2 we should not express k1 in terms of k2
| +      -- (othewise we would get infinite recursion)
| +      -- below we impose a stronger condition: we require
| +      -- height(k1) to be maximal
| +      h:NonNegativeInteger := 0
| +      j:Integer := 0
| +      ll : List K := [];
| +      for k in l repeat
| +        if (is?(k, "log"::SY) or is?(k, "exp"::SY)
| +            or is?(k, "tan"::SY) or is?(k, "atan"::SY)) then
| +              ll := [k, :ll]
| +              h := h + 1
| +      not (h = (maxIndex(v) - minIndex(v) + 1)) => "failed"
| +      h := 0
| +      ll := reverse(ll)
| +      for i in minIndex v .. maxIndex v for k in ll repeat
| +        h1 := height(k)
| +        if (h1 > h) then
| +          j := i
| +          h := h1
| +      for i in minIndex v .. maxIndex v for k in ll repeat
| +        is?(k, s) and (i >= j) and
|             ((r:=recip(qelt(v,i))) case Q) and
|              (retractIfCan(r::Q)@Union(Z, "failed") case Z)
|                and gdCoef?(qelt(v, i), v) => return([i, k])

I much prefer the "functional" style you suggested earlier.

Thanks!

-- Gaby




reply via email to

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