Fix bug #608: taylor(x^a,[x],0,1) unsimplified
commitf1ccc679dadd3ec78491a8ed47f8f2b34e13ead5
authorKris Katterjohn <katterjohn@gmail.com>
Tue, 19 Apr 2022 10:49:49 +0000 (19 06:49 -0400)
committerKris Katterjohn <katterjohn@gmail.com>
Tue, 19 Apr 2022 10:49:49 +0000 (19 06:49 -0400)
tree055e17da41a513d5e14bdbe1f49dca8c600618cf
parent4522f7d93e56ec3c9c67adefc8c77f169d5e3126
Fix bug #608: taylor(x^a,[x],0,1) unsimplified

Also bug #545: multivar taylor gives 1^2

This is an ancient bug that was present in Macsyma.

SETUP-MULTIVAR-DISREP gives genvars that are associated with multivars
the DISREP property so they disrep to 1.  These genvars raised to powers
could be visible as unsimplified 1s raised to powers in output:

(%i1) taylor(x^a,[x],0,1);
(%o1) +1^2*x^a

(%i2) taylor((x*y)^a,[x,y],0,1);
(%o2) +1^4*(x*y)^a

(%i3) taylor(x^a+y^a,[x,y],0,1);
(%o3) +(1^2*y^a+1^2*x^a)

Prior to commit 38d4b2fd the internal genvars themselves could be made
visible by using taytorat:

(%i1) taylor(x^a,[x],0,1);
(%o1) +1^2*x^a

(%i2) taytorat(%);
(%o2) (g137^a)^2*x^a

Now we add to PDISREP! the knowledge that 1^x is equal to 1 for any x,
which prevents the construction of factors like 1^2 above.  (PDISREP!
already knows that x^0 is equal to 1 and x^1 is equal to x for any x.)

No problems with the test suite or share test suite.  New tests have
been added to rtest_taylor.
src/rat3e.lisp
tests/rtest_taylor.mac