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