On 3/31/10 8:15 AM, Dieter Kaiser wrote:
> Hello Ray,
> this is a trace of polelist, res, and res1. polelist returns a cons with
> a symbol $neg in it.
>
> (%i4) integrate(1/(2+cos(x)),x,0,%pi);
> 0: (RES 2
> ((MPLUS SIMP) 1 ((MTIMES SIMP RATSIMP) 4 YY)
> ((MEXPT SIMP RATSIMP) YY 2))
> #<FUNCTION (LAMBDA #) {B095B2D}> #<FUNCTION (LAMBDA #)
> {B095C95}>)
> 1: (POLELIST
> ((MPLUS SIMP) 1 ((MTIMES SIMP RATSIMP) 4 YY)
> ((MEXPT SIMP RATSIMP) YY 2))
> #<FUNCTION (LAMBDA #) {B095B2D}> #<FUNCTION (LAMBDA #)
> {B095C95}>)
> 1: POLELIST returned
> ((((MPLUS SIMP) -2 ((MEXPT SIMP) 3 ((RAT SIMP) 1 2)))
> ((MPLUS SIMP) 2 ((MTIMES SIMP) -1 ((MEXPT SIMP) 3 ((RAT SIMP)
> 1 2)))
> YY)
> ((MPLUS SIMP) -2
> ((MTIMES SIMP RATSIMP) -1 ((MEXPT SIMP) 3 ((RAT SIMP) 1
> 2))))
> ((MPLUS SIMP) 2 ((MEXPT SIMP) 3 ((RAT SIMP) 1 2)) YY))
> NIL (((MPLUS SIMP) -2 ((MEXPT SIMP) 3 ((RAT SIMP) 1 2))) .
> $NEG) NIL)
> 1: (RES1 2 ((MPLUS SIMP) 4 ((MTIMES SIMP) 2 YY))
> (((MPLUS SIMP) -2 ((MEXPT SIMP) 3 ((RAT SIMP) 1 2))) .
> $NEG))
>
This just doesn't make any sense to me. The only change was in unitcir
which changed the region and region1 functions. Neither of these can
return '$NEG. And even if they did, polelist never uses the results
from region or region1 except as the test clause in a COND.
I guess I'll have to build with sbcl myself. (I've been kind of
avoiding that since I already have too many Lisp's for building maxima.)
Ray