[sci.math] Algebraic Simplification Wanted

dont@loop.uucp (Don Taylor;644-7631) (04/01/91)

I pulled <MSDOS.PROLOG>ALGEBRA.ARC from Simtel.  This is a differentiation and
simplification package written in prolog.  The author defines operators in
prolog but uses '~' for unary minus.  Here are the example operators he uses.

	?-op(11, yfx,  '^').
	?-op( 9,  fx,  '~').
	?-op(11,  fx, 'ln').
 
Can anyone provide a simple example that uses '-' for both subtraction and
unary minus?

I am using the symbolic math package Derive and it fails to make some specific
simplifications.  I want to put together a small special purpose program that
will perform these very specific simplifications.  For example

   Sin(a)^4*big_expr+Cos(a)^4*same_big_expr+Sin(a)^2*Cos(a)^2*same_big_expr
and
   Ln(big_expr1/big_expr2)-Ln(big_expr2/big_expr1)

are not simplified.  I believe the problem may be somewhat easier than general
algebraic simplification because Derive has already done a lot of low level
simplifications and ordering of variables.  It just doesn't seem to make a pass
looking for large collections of similar terms afterwards.

To be fair, Derive does a terrific job on most things and it is possible to
tell Derive to force towards Sin() or towards Cos() and the above example will
be simplified.  Unfortunately this removes a lot of the symmetry from the
equations and produces more small terms.  My hope is that the whole equation
is, or almost is, a perfect square.

Other simplification packages would also be of great interest.

Please reply by mail if possible
Thanks
Don Taylor
503-644-7631
loop!dont@tessi.UUCP
dont@loop.UUCP
tessi!loop!dont@nosun.west.sun.com