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
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer