From: Robert D. <rob...@us...> - 2005-03-18 07:08:36
|
Update of /cvsroot/maxima/maxima/archive/share/trash In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv28794/archive/share/trash Added Files: intsce.mac intsce.usg Log Message: Move share/integration/intsce.{mac,usg} to archive/share/trash/ and strike from list of files in share/Makefile.am. According to intsce.usg, intsce.lisp (already in archive/share/lisp/) and intsce.mac contain functions to integrate certain products of sin, cos, and exp, however, integrate already has equivalent functionality (as determined by attempting some expressions of the form intsce is supposed to handle and seeing that integrate returns something free of integrate) so these files are at best redundant. --- NEW FILE: intsce.mac --- /* this is the integration part of intsce. it can be altered, translated, and incorporated in intsce lisp which contains the top-level routine that does the pattern matching. */ sceint(m,n):=block([den,num],modedeclare([m,n],integer), den:d^2+b^2*(m+n)^2, num: if m=0 then (if n=0 then return(ret) else if n=1 then (d*co+b*si)*ex else (d*co+n*b*si)*ex*co^(n-1)+n*(n-1)*b^2*sceint(0,n-2)) else if m=1 then (if n=0 then (d*si-b*co)*ex else if n=1 then (d*si*co+b*si^2-b*co^2)*ex else (d*si*co+n*b*si^2-b*co^2)*co^(n-1)*ex+ n*(n-1)*b^2*sceint(1,n-2)) else (if n=0 then (d*si-m*b*co)*ex*si^(m-1)+m*(m-1)*b^2*sceint(m-2,0) else if n=1 then (d*co*si+b*si^2-m*b*co^2)*si^(m-1)*ex+m*(m-1)*b^2*sceint(m-2,1) else (d*si*co+n*b*si^2-m*b*co^2)*si^(m-1)*co^(n-1)*ex+ n*(n-1)*b^2*sceint(m,n-2)+m*(m-1)*b^2*sceint(m-2,n)), return(num/den))$ --- NEW FILE: intsce.usg --- INTSCE LISP contains a routine INTSCE(EXPR,VAR) which integrates EXPR w.r.t. VAR where EXPR is of the form: EXP(A*X+B)*COS(C*X)^N*SIN(C*X)^M EXPR may be any expression, but if it is not in the above form then the regular integration program will be invoked if the switch ERRINTSCE [FALSE] is FALSE. If it is TRUE then INTSCE will err out. The LISP file contains a main program $INTSCE which does the pattern matching and error checking and a subroutine $SCEINT which does the actual integration. The MACSYMA form of this routine can be found in SHARE;INTSCE > . Richard Bogen 7/22/74 |