From: Dieter K. <cra...@us...> - 2009-02-06 15:13:06
|
Update of /cvsroot/maxima/maxima/src In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv3713 Modified Files: rpart.lisp Log Message: Adding the handling of realpart/imagpart of functions with Mirror symmetry For functions with mirror symmetry Maxima now gets correct and more simple results for the realpart/imagpart of a function with real, imagainary or complex arguments. Tested with GCL 2.6.8 and CLISP 2.44. The testsuite and share_testsuite has no problems. Index: rpart.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/rpart.lisp,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- rpart.lisp 31 Jan 2009 16:25:25 -0000 1.13 +++ rpart.lisp 6 Feb 2009 15:12:56 -0000 1.14 @@ -331,6 +331,14 @@ ;;; to functions known by risplit, such as the more useless trigonometrics. (((lambda (foot) (and foot (risplit foot))) (coversinemyfoot l))) + ((or (get (mop l) 'commutes-with-conjugate) + (get (mop l) 'conjugate-function)) + ;; A function with Mirror symmetry. The general expressions for + ;; the realpart and imagpart simplifies accordingly. + (cons (mul (div 1 2) + (add (simplify (list '($conjugate) l)) l)) + (mul (div 1 2) '$%i + (sub (simplify (list '($conjugate) l)) l)))) ;;; A MAJOR ASSUMPTION: ;;; All random functions are pure real, regardless of argument. ;;; This is evidently assumed by some of the integration functions. |