axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] Re: severe (!) bug in normalize


From: Martin Rubey
Subject: [Axiom-developer] Re: severe (!) bug in normalize
Date: 06 Dec 2006 11:28:52 +0100
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.4

Another question:

--- pp/build-improvements/src/algebra/efstruc.spad.pamphlet     2006-09-08 
02:57:48.000000000 +0200
+++ build-improvements.nn5/src/algebra/efstruc.spad.pamphlet    2006-10-07 
19:51:18.000000000 +0200
@@ -347,8 +347,28 @@
       true
 
     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])


what does

ll := [k, :ll]

do? I have never seen that before, although grep yields some hits.



Martin





reply via email to

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