You can subscribe to this list here.
2001 
_{Jan}

_{Feb}

_{Mar}

_{Apr}

_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}
(20) 
_{Dec}
(17) 

2002 
_{Jan}
(39) 
_{Feb}
(21) 
_{Mar}
(33) 
_{Apr}
(135) 
_{May}
(53) 
_{Jun}
(88) 
_{Jul}
(47) 
_{Aug}
(59) 
_{Sep}
(207) 
_{Oct}
(40) 
_{Nov}
(7) 
_{Dec}
(26) 
2003 
_{Jan}
(49) 
_{Feb}
(39) 
_{Mar}
(117) 
_{Apr}
(50) 
_{May}
(62) 
_{Jun}
(6) 
_{Jul}
(19) 
_{Aug}
(24) 
_{Sep}
(11) 
_{Oct}
(11) 
_{Nov}
(49) 
_{Dec}
(9) 
2004 
_{Jan}
(29) 
_{Feb}
(123) 
_{Mar}
(32) 
_{Apr}
(53) 
_{May}
(52) 
_{Jun}
(19) 
_{Jul}
(33) 
_{Aug}
(10) 
_{Sep}
(76) 
_{Oct}
(86) 
_{Nov}
(171) 
_{Dec}
(163) 
2005 
_{Jan}
(147) 
_{Feb}
(121) 
_{Mar}
(120) 
_{Apr}
(126) 
_{May}
(120) 
_{Jun}
(213) 
_{Jul}
(76) 
_{Aug}
(79) 
_{Sep}
(140) 
_{Oct}
(83) 
_{Nov}
(156) 
_{Dec}
(202) 
2006 
_{Jan}
(181) 
_{Feb}
(171) 
_{Mar}
(157) 
_{Apr}
(98) 
_{May}
(96) 
_{Jun}
(97) 
_{Jul}
(193) 
_{Aug}
(76) 
_{Sep}
(130) 
_{Oct}
(63) 
_{Nov}
(196) 
_{Dec}
(253) 
2007 
_{Jan}
(256) 
_{Feb}
(293) 
_{Mar}
(276) 
_{Apr}
(258) 
_{May}
(181) 
_{Jun}
(91) 
_{Jul}
(108) 
_{Aug}
(69) 
_{Sep}
(107) 
_{Oct}
(179) 
_{Nov}
(137) 
_{Dec}
(121) 
2008 
_{Jan}
(124) 
_{Feb}
(129) 
_{Mar}
(192) 
_{Apr}
(201) 
_{May}
(90) 
_{Jun}
(86) 
_{Jul}
(115) 
_{Aug}
(142) 
_{Sep}
(49) 
_{Oct}
(91) 
_{Nov}
(95) 
_{Dec}
(218) 
2009 
_{Jan}
(230) 
_{Feb}
(149) 
_{Mar}
(118) 
_{Apr}
(72) 
_{May}
(77) 
_{Jun}
(68) 
_{Jul}
(102) 
_{Aug}
(72) 
_{Sep}
(89) 
_{Oct}
(76) 
_{Nov}
(125) 
_{Dec}
(86) 
2010 
_{Jan}
(75) 
_{Feb}
(90) 
_{Mar}
(89) 
_{Apr}
(121) 
_{May}
(111) 
_{Jun}
(66) 
_{Jul}
(75) 
_{Aug}
(66) 
_{Sep}
(66) 
_{Oct}
(166) 
_{Nov}
(121) 
_{Dec}
(73) 
2011 
_{Jan}
(74) 
_{Feb}

_{Mar}

_{Apr}
(14) 
_{May}
(22) 
_{Jun}
(31) 
_{Jul}
(53) 
_{Aug}
(37) 
_{Sep}
(23) 
_{Oct}
(25) 
_{Nov}
(31) 
_{Dec}
(28) 
2012 
_{Jan}
(18) 
_{Feb}
(11) 
_{Mar}
(32) 
_{Apr}
(17) 
_{May}
(48) 
_{Jun}
(37) 
_{Jul}
(23) 
_{Aug}
(54) 
_{Sep}
(15) 
_{Oct}
(11) 
_{Nov}
(19) 
_{Dec}
(22) 
2013 
_{Jan}
(11) 
_{Feb}
(32) 
_{Mar}
(24) 
_{Apr}
(37) 
_{May}
(31) 
_{Jun}
(14) 
_{Jul}
(26) 
_{Aug}
(33) 
_{Sep}
(40) 
_{Oct}
(21) 
_{Nov}
(36) 
_{Dec}
(84) 
2014 
_{Jan}
(23) 
_{Feb}
(20) 
_{Mar}
(27) 
_{Apr}
(24) 
_{May}
(31) 
_{Jun}
(27) 
_{Jul}
(34) 
_{Aug}
(26) 
_{Sep}
(21) 
_{Oct}
(45) 
_{Nov}
(23) 
_{Dec}
(73) 
2015 
_{Jan}
(33) 
_{Feb}
(8) 
_{Mar}
(24) 
_{Apr}
(45) 
_{May}
(27) 
_{Jun}
(19) 
_{Jul}
(21) 
_{Aug}
(51) 
_{Sep}
(43) 
_{Oct}
(29) 
_{Nov}
(61) 
_{Dec}
(86) 
2016 
_{Jan}
(99) 
_{Feb}
(52) 
_{Mar}
(80) 
_{Apr}
(61) 
_{May}
(24) 
_{Jun}
(23) 
_{Jul}
(36) 
_{Aug}
(30) 
_{Sep}
(41) 
_{Oct}
(43) 
_{Nov}
(27) 
_{Dec}
(46) 
2017 
_{Jan}
(57) 
_{Feb}
(34) 
_{Mar}
(40) 
_{Apr}
(17) 
_{May}

_{Jun}

_{Jul}

_{Aug}

_{Sep}

_{Oct}

_{Nov}

_{Dec}

S  M  T  W  T  F  S 


1
(4) 
2
(1) 
3
(6) 
4
(11) 
5
(4) 
6
(1) 
7
(1) 
8

9
(5) 
10

11
(5) 
12
(1) 
13
(7) 
14
(4) 
15

16
(14) 
17
(5) 
18
(5) 
19
(1) 
20
(2) 
21
(7) 
22
(5) 
23
(9) 
24
(6) 
25
(15) 
26
(8) 
27
(12) 
28
(11) 
29
(7) 
30
(14) 




From: Robert Dodier <robert_dodier@us...>  20041104 15:34:28

Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv23756/doc/info Modified Files: maxima.texi Log Message: Strike out links to deleted items GAMALG and DCADRE. Index: maxima.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/maxima.texi,v retrieving revision 1.11 retrieving revision 1.12 diff u d r1.11 r1.12  maxima.texi 4 Nov 2004 05:12:25 0000 1.11 +++ maxima.texi 4 Nov 2004 15:34:15 0000 1.12 @@ 193,7 +193,6 @@ Special Functions * Introduction to Special Functions:: * GAMALG:: * SPECINT:: * Definitions for Special Functions:: @@ 232,7 +231,6 @@ Numerical * Introduction to Numerical:: * DCADRE:: * FOURIER:: * NDIFFQ:: * Definitions for Numerical:: 
From: Robert Dodier <robert_dodier@us...>  20041104 15:33:50

Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv23379/doc/info Modified Files: Special.texi Log Message: Strike out description of withdrawn package GAMALG, move it to None.texi. Index: Special.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Special.texi,v retrieving revision 1.9 retrieving revision 1.10 diff u d r1.9 r1.10  Special.texi 4 Nov 2004 05:12:25 0000 1.9 +++ Special.texi 4 Nov 2004 15:33:31 0000 1.10 @@ 1,11 +1,10 @@ @menu * Introduction to Special Functions:: * GAMALG:: * SPECINT:: * Definitions for Special Functions:: @end menu @... Introduction to Special Functions, GAMALG, Special Functions, Special Functions +@node Introduction to Special Functions, SPECINT, Special Functions, Special Functions @section Introduction to Special Functions @c @node %J @c @unnumberedsec phony @@ 21,17 +20,7 @@ Constant, in ODE2 @end deffn @... GAMALG, SPECINT, Introduction to Special Functions, Special Functions @... GAMALG   A Dirac gamma matrix algebra program which takes traces of and does manipulations on gamma matrices in n dimensions. It may be loaded into Maxima by LOADFILE("gam"); A preliminary manual is contained in the file SHARE;GAM USAGE and may be printed using PRINTFILE(GAM,USAGE,SHARE);  @... SPECINT, Definitions for Special Functions, GAMALG, Special Functions +@node SPECINT, Definitions for Special Functions, Introduction to Special Functions, Special Functions @section SPECINT  The Hypergeometric Special Functions Package HYPGEO is still under development. At the moment it will find the Laplace 
From: Robert Dodier <robert_dodier@us...>  20041104 15:32:34

Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv23209/doc/info Modified Files: Numerical.texi Log Message: Strike out description of obsolete function DCADRE, move it to None.texi. Index: Numerical.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Numerical.texi,v retrieving revision 1.9 retrieving revision 1.10 diff u d r1.9 r1.10  Numerical.texi 4 Nov 2004 05:12:25 0000 1.9 +++ Numerical.texi 4 Nov 2004 15:32:19 0000 1.10 @@ 1,151 +1,14 @@ @menu * Introduction to Numerical:: * DCADRE:: * FOURIER:: * NDIFFQ:: * Definitions for Numerical:: @end menu @... Introduction to Numerical, DCADRE, Numerical, Numerical +@node Introduction to Numerical, FOURIER, Numerical, Numerical @section Introduction to Numerical @... DCADRE, FOURIER, Introduction to Numerical, Numerical @... DCADRE The following is obsolete and does not exist in Maxima 5.9. We leave the documentation here for historical purposes.  To make an interface to fortran libraries in the current Maxima look at the examples in "maxima/src/fortdef.lsp"   The IMSL version of Romberg integration is now available in Maxima. For documentation, Do PRINTFILE(DCADRE,USAGE,IMSL1); . For a demo, do batch("dcadre.mc"); This is a numerical integration package using cautious, adaptive Romberg extrapolation. The DCADRE package is written to call the IMSL fortran library routine DCADRE. This is documentation for that program. Send bugs/comments to KMP To load this package, do @...  LOADFILE("imsl")$ @... example For a demo of this package, do @...  batch("dcadre.mc"); @... example The worker function takes the following syntax: IMSL_ROMBERG(fn,low,hi) where fn is a function of 1 argument; low and hi should be the lower and upper bounds of integration. fn must return floating point values. IMSL_ROMBERG(exp,var,low,hi)  where exp should be integrated over the range var=low to hi. The result  of evaluating exp must always be a floating point number. FAST_IMSL_ROMBERG(fn,low,hi)  This function does no error checking but may achieve a speed gain over  the IMSL_ROMBERG function. It expects that fn is a Lisp function (or  translated Maxima function) which accepts a floating point argument  and that it always returns a floating point value.  Returns either  [SUCCESS, answer, error] where answer is the result of the integration and  error is the estimated bound on the absolute error of the output, DCADRE,  as described in PURPOSE below. or  [WARNING, n, answer, error] where n is a warning code, answer is the answer,  and error is the estimated bound on the absolute error of the output, DCADRE,  as described in PURPOSE below. The following warnings may occur:  65 = One or more singularities were successfully handled.  66 = In some subinterval(s), the estimate of the integral was accepted  merely because the estimated error was small, even though no regular  behavior was recognized. or  [ERROR, errorcode] where error code is the IMSLgenerated  error code. The following error codes may occur:  131 = Failure due to insufficient internal working storage.  132 = Failure. This may be due to too much noise in function  (relative to the given error requirements) or due to an  illbehaved integrand.  133 = RERR is greater than 0.1 or less than 0.0 or is too small  for the precision of the machine.  The following flags have an influence upon the operation of IMSL_ROMBERG   ROMBERG_AERR [Default 1.0E5]  Desired absolute error in answer.  ROMBERG_RERR [Default 0.0]  Desired relative error in the answer.  Note: If IMSL signals an error, a message will be printed on the user's  console stating the nature of the error. (This error message  may be supressed by setting IMSLVERBOSE to FALSE.)  Note: Because this uses a translated Fortran routine, it may not be  recursively invoked. It does not call itself, but the user should  be aware that he may not type ^A in the middle of an IMSL_ROMBERG  computation, begin another calculation using the same package,  and expect to win  IMSL_ROMBERG will complain if it was already  doing one project when you invoke it. This should cause minimal  problems.  Purpose (modified version of the IMSL documentation)   DCADRE attempts to solve the following problem: Given a realvalued function F of one argument, two real numbers A and B, find a number  DCADRE such that:  @...  / B  [  / B  ]  [  [  [  ]  I F(x)dx  DCADRE  <= max [ ROMBERG_AERR, ROMBERG_RERR *  I F(x)dx  ]  ]  [  ]  ]  / A  [  / A  ] @... example Algorithm (modified version of the IMSL documentation)  This routine uses a scheme whereby DCADRE is computed as the sum of estimates for the integral of F(x) over suitably chosen subintervals of the given interval of integration. Starting with the interval of integration itself as the first such subinterval, cautious Romberg extrapolation is used to find an acceptable estimate on a given subinterval. If this attempt fails, the subinterval is divided into two subintervals of equal length, each of which is considered separately. Programming Notes (modified version of the IMSL documentation)  @... @bullet @... 1. DCADRE (the translatedFortran base for IMSL_ROMBERG) can, in many cases,  handle jump discontinuities and certain algebraic discontinuities. See  reference for full details. @... 2. The relative error parameter ROMBERG_RERR must be in the interval [0.0,0.1].  For example, ROMBERG_RERR=0.1 indicates that the estimate of the intergral  is to be correct to one digit, where as ROMBERG_RERR=1.0E4 calls for four  digits of accuracy. If DCADRE determines that the relative accuracy  requirement cannot be satisfied, IER is set to 133 (ROMBERG_RERR should be  large enough that, when added to 100.0, the result is a number greater than  100.0 (this will not be true of very tiny floating point numbers due to  the nature of machine arithmetic)). @... 3. The absolute error parameter, ROMBERG_AERR, should be nonnegative. In  order to give a reasonable value for ROMBERG_AERR, the user must know  the approximate magnitude of the integral being computed. In many cases,  it is satisfactory to use AERR=0.0. In this case, only the relative error  requirement is satisfied in the compuatation. @... 4. We quote from the reference, ``A very cautious man would accept DCADRE  only if IER [the warning or error code] is 0 or 65. The merely reasonable  man would keep the faith even if IER is 66. The adventurous man is quite  often right in accepting DCADRE even if the IER is 131 or 132.'' Even when  IER is not 0, DCADRE returns the best estimate that has been computed. @... itemize  For references on this technique, see de Boor, Calr, ``CADRE: An Algorithm for Numerical Quadrature,''  Mathematical Software (John R. Rice, Ed.), New York, Academic Press,  1971, Chapter 7.  @... FOURIER, NDIFFQ, DCADRE, Numerical +@node FOURIER, NDIFFQ, Introduction to Numerical, Numerical @section FOURIER  There is a Fast Fourier Transform package, do DESCRIBE(FFT) for details. There is also a Fourier Series package. It may be 
From: Robert Dodier <robert_dodier@us...>  20041104 15:31:45

Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv23107/doc/info Modified Files: Equations.texi Log Message: Strike out descriptions of obsolete functions ZRPOLY and ZSOLVE. Index: Equations.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Equations.texi,v retrieving revision 1.8 retrieving revision 1.9 diff u d r1.8 r1.9  Equations.texi 4 Nov 2004 05:12:25 0000 1.8 +++ Equations.texi 4 Nov 2004 15:31:32 0000 1.9 @@ 496,28 +496,3 @@ calling ALGSYS.) @end defvar @... @node ZRPOLY @... @unnumberedsec phony @... ZRPOLY   This is no longer available in Maxima. See ALLROOTS for a function  to compute the roots of a polynomial.  @... defun @... @node ZSOLVE @... @unnumberedsec phony @... ZSOLVE  This is not available with Maxima anymore. Documentation is left for  historical purposes.    For those who can make use of approximate numerical solutions to problems, there is a package which calls a routine which has been translated from the IMSL fortran library to solve N simultaneous nonlinear equations in N unknowns. It uses blackbox techniques that probably aren't desirable if an exact solution can be obtained from one of the smarter solvers (LINSOLVE, ALGSYS, etc). But for things that the other solvers don't attempt to handle, this can probably give some very useful results. For documentation, do PRINTFILE("zsolve.usg");. For a demo do batch("zsolve.mc")$  @... defun 
From: Robert Dodier <robert_dodier@us...>  20041104 15:31:08

Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv22934/doc/info Modified Files: Differential.texi Log Message: Strike out description of obsolete function ODE. Index: Differential.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Differential.texi,v retrieving revision 1.4 retrieving revision 1.5 diff u d r1.4 r1.5  Differential.texi 11 May 2004 02:27:21 0000 1.4 +++ Differential.texi 4 Nov 2004 15:30:57 0000 1.5 @@ 87,26 +87,6 @@ @end example @end defun @... @node ODE @... @unnumberedsec phony @... ODE (equation,y,x) This no longer exists in Maxima. The documentation is left here for historical purposes.  a potpourri of Ordinary Differential solvers combined in such a way as to attempt more and more difficult methods as each fails. For example, the first attempt is with ODE2, so therefore, a user using ODE can assume he has all the capabilities of ODE2 at the very beginning and if he has been using ODE2 in programs they will still run if he substitutes ODE (the returned values, and calling sequence are identical). In addition, ODE has a number of user features which can assist an experienced ODE solver if the basic system cannot handle the equation. The equation is of the same form as required for ODE2 (which see) and the y and x are dependent and independent variables, as with ODE2. For more details, do PRINTFILE(ODE,USAGE,SHARE); .  @... defun @c @node ODE2 @c @unnumberedsec phony @defun ODE2 (exp,dvar,ivar) 
From: Jay Belanger <belanger@us...>  20041104 14:58:32

Update of /cvsroot/maxima/maxima/interfaces/emacs/emaxima In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv15465 Modified Files: maxima.el Log Message: (maximagethelp): Use same window to display help. Index: maxima.el =================================================================== RCS file: /cvsroot/maxima/maxima/interfaces/emacs/emaxima/maxima.el,v retrieving revision 1.40 retrieving revision 1.41 diff u d r1.40 r1.41  maxima.el 4 Nov 2004 14:54:33 0000 1.40 +++ maxima.el 4 Nov 2004 14:58:20 0000 1.41 @@ 1397,8 +1397,10 @@ (info "Maxima") (infootherwindow (concat "(Maxima)" node)))) (defun maximagetinfoonsubject (subject)  (if maximarunningxemacs +(defun maximagetinfoonsubject (subject &optional samewindow) + (if (or + maximarunningxemacs + samewindow) (progn (info "Maxima") (Infomenu "Function and Variable Index")) @@ 1423,7 +1425,7 @@ (searchforward ":") (skipcharsbackward ": ") (setq name (buffersubstringnoproperties pt (point))))  (maximagetinfoonsubject name))) + (maximagetinfoonsubject name t))) ; (if (not maximarunningxemacs) ; (infootherwindow (concat "(Maxima)" place)) ; (info "Maxima") 
From: Jay Belanger <belanger@us...>  20041104 14:54:43

Update of /cvsroot/maxima/maxima/interfaces/emacs/emaxima In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv14740 Modified Files: maxima.el Log Message: Redid some changes that were accidently erased. Index: maxima.el =================================================================== RCS file: /cvsroot/maxima/maxima/interfaces/emacs/emaxima/maxima.el,v retrieving revision 1.39 retrieving revision 1.40 diff u d r1.39 r1.40  maxima.el 4 Nov 2004 14:43:49 0000 1.39 +++ maxima.el 4 Nov 2004 14:54:33 0000 1.40 @@ 1393,13 +1393,21 @@ ;;;; Help functions (defun maximagotoinfonode (node)  (infootherwindow (concat "(Maxima)" node))) + (if maximarunningxemacs + (info "Maxima") + (infootherwindow (concat "(Maxima)" node)))) (defun maximagetinfoonsubject (subject)  (infootherwindow "(Maxima)Function and Variable Index") + (if maximarunningxemacs + (progn + (info "Maxima") + (Infomenu "Function and Variable Index")) + (infootherwindow "(Maxima)Function and Variable Index")) (searchforward subject)  (Infofollownearestnode)  (researchforward (concat ".*: *" subject "\\s")) + (if maximarunningxemacs + (Infofollownearestnode (point)) + (Infofollownearestnode)) + (researchforward (concat ".*: *" subject "\\( \\$\\)")) (if (lookingat "^") (forwardline 1) (beginningofline))) @@ 1414,13 +1422,8 @@ (setq pt (point)) (searchforward ":") (skipcharsbackward ": ")  (setq name (buffersubstringnoproperties pt (point)))  (skipcharsforward ": ")  (setq pt (point))  (endofline)  (skipcharsbackward ". ")  (setq place (buffersubstringnoproperties pt (point))))  (maximagetinfoonsubject place))) + (setq name (buffersubstringnoproperties pt (point)))) + (maximagetinfoonsubject name))) ; (if (not maximarunningxemacs) ; (infootherwindow (concat "(Maxima)" place)) ; (info "Maxima") @@ 1466,7 +1469,7 @@ (insert "q in the *info* buffer will return you here.\n") (insert "q in this buffer will exit Maxima help\n\n") (withtempbuffer  (require 'info nil t) + (require 'info) (Infomode) (Infogotonode "(Maxima)Function and Variable Index") (gotochar (pointmin)) @@ 1507,6 +1510,7 @@ (definekey (currentlocalmap) "\t" 'maximanextsubject) (gotochar (pointmin)) (researchforward "^\\*") + (forwardchar 1) (poptobuffer maximahelpbuffer) (setq bufferreadonly t)) (killbuffer maximahelpbuffer) @@ 1624,7 +1628,9 @@ (defun maximainfo () "Read the info file for Maxima." (interactive)  (infootherwindow "Maxima")) + (if maximarunningxemacs + (info "Maxima") + (infootherwindow "Maxima"))) ;;;; Completion 
From: Jay Belanger <belanger@us...>  20041104 14:43:57

Update of /cvsroot/maxima/maxima/interfaces/emacs/emaxima In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv12384 Modified Files: maxima.el Log Message: (maximasendregion): Display the process buffer. Index: maxima.el =================================================================== RCS file: /cvsroot/maxima/maxima/interfaces/emacs/emaxima/maxima.el,v retrieving revision 1.38 retrieving revision 1.39 diff u d r1.38 r1.39  maxima.el 3 Nov 2004 20:38:44 0000 1.38 +++ maxima.el 4 Nov 2004 14:43:49 0000 1.39 @@ 1393,21 +1393,13 @@ ;;;; Help functions (defun maximagotoinfonode (node)  (if maximarunningxemacs  (info "Maxima")  (infootherwindow (concat "(Maxima)" node)))) + (infootherwindow (concat "(Maxima)" node))) (defun maximagetinfoonsubject (subject)  (if maximarunningxemacs  (progn  (info "Maxima")  (Infomenu "Function and Variable Index"))  (infootherwindow "(Maxima)Function and Variable Index")) + (infootherwindow "(Maxima)Function and Variable Index") (searchforward subject)  (if maximarunningxemacs  (Infofollownearestnode (point))  (Infofollownearestnode))  (researchforward (concat ".*: *" subject "\\( \\$\\)")) + (Infofollownearestnode) + (researchforward (concat ".*: *" subject "\\s")) (if (lookingat "^") (forwardline 1) (beginningofline))) @@ 1422,8 +1414,13 @@ (setq pt (point)) (searchforward ":") (skipcharsbackward ": ")  (setq name (buffersubstringnoproperties pt (point))))  (maximagetinfoonsubject name))) + (setq name (buffersubstringnoproperties pt (point))) + (skipcharsforward ": ") + (setq pt (point)) + (endofline) + (skipcharsbackward ". ") + (setq place (buffersubstringnoproperties pt (point)))) + (maximagetinfoonsubject place))) ; (if (not maximarunningxemacs) ; (infootherwindow (concat "(Maxima)" place)) ; (info "Maxima") @@ 1469,7 +1466,7 @@ (insert "q in the *info* buffer will return you here.\n") (insert "q in this buffer will exit Maxima help\n\n") (withtempbuffer  (require 'info) + (require 'info nil t) (Infomode) (Infogotonode "(Maxima)Function and Variable Index") (gotochar (pointmin)) @@ 1510,7 +1507,6 @@ (definekey (currentlocalmap) "\t" 'maximanextsubject) (gotochar (pointmin)) (researchforward "^\\*")  (forwardchar 1) (poptobuffer maximahelpbuffer) (setq bufferreadonly t)) (killbuffer maximahelpbuffer) @@ 1628,9 +1624,7 @@ (defun maximainfo () "Read the info file for Maxima." (interactive)  (if maximarunningxemacs  (info "Maxima")  (infootherwindow "Maxima"))) + (infootherwindow "Maxima")) ;;;; Completion @@ 2499,7 +2493,8 @@ (if arg (maximaregion beg end) (if (maximacheckparens beg end)  (maximaregion beg end)))) + (maximaregion beg end))) + (maximadisplaybuffer)) (defun maximasendbuffer (&optional arg) "Send the buffer to the Maxima process, after checking the parentheses. 
From: Robert Dodier <robert_dodier@us...>  20041104 05:23:28

Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv3913 Modified Files: Function.texi Log Message: Strike out the contentfree @defmac BUILDQ  there exists a @defun BUILDQ which has substantial content, and the @defmac was apparently confusing to clinfo.lisp. Index: Function.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Function.texi,v retrieving revision 1.9 retrieving revision 1.10 diff u d r1.9 r1.10  Function.texi 4 Nov 2004 05:12:25 0000 1.9 +++ Function.texi 4 Nov 2004 05:23:11 0000 1.10 @@ 359,12 +359,6 @@ main computation. @end defun @... @node BUILDQ, CATCH, BREAK, Function Definition @... @unnumberedsec phony @... BUILDQ   See DESCRIBE(MACROS); .  @... defmac @c @node CATCH, COMPFILE, BUILDQ, Function Definition @c @unnumberedsec phony @defun CATCH (exp1,...,expn) 
Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv1739/doc/info Modified Files: Affine.texi Arrays.texi Command.texi Constants.texi Contexts.texi Ctensor.texi Debugging.texi Differentiation.texi Equations.texi Expressions.texi Floating.texi Function.texi Help.texi Input.texi Integration.texi Introduction.texi Matrices.texi maxima.texi Miscellaneous.texi Number.texi Numerical.texi Operators.texi Polynomials.texi Program.texi Rules.texi Simplification.texi Special.texi Tensor.texi Trigonometric.texi Log Message: Substitute "Maxima" for instances of MAXIMA, MACSYMA, Macsyma, and macsyma in which the term is understood to mean "this program". Some instances of Macsyma, etc., were just struck out. There remain some instances of Macsyma where it means "the predecessor of Maxima" or in quoted texts. Although the presence of "Macsyma" generally indicates outofdate documentation, e.g. references to obsolete hardware and software, no further attempt was made in this revision to make updates. Index: Affine.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Affine.texi,v retrieving revision 1.3 retrieving revision 1.4 diff u d r1.3 r1.4  Affine.texi 11 May 2004 02:27:21 0000 1.3 +++ Affine.texi 4 Nov 2004 05:12:25 0000 1.4 @@ 17,7 +17,7 @@ @c @node GROBNER_BASIS @c @unnumberedsec phony @defun GROBNER_BASIS (eqns) Takes as argument a macsyma list of equations +Takes as argument a list of equations and returns a grobner basis for them. The function POLYSIMP may now be used to simplify other functions relative to the equations. Index: Arrays.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Arrays.texi,v retrieving revision 1.3 retrieving revision 1.4 diff u d r1.3 r1.4  Arrays.texi 18 Jul 2002 15:58:29 0000 1.3 +++ Arrays.texi 4 Nov 2004 05:12:25 0000 1.4 @@ 151,7 +151,7 @@ of arrays are recognized. 1) The artq array (t in common lisp) which may have several dimensions indexed by integers, and may hold any lisp or macsyma object as an +indexed by integers, and may hold any lisp or Maxima object as an entry. To construct such an array, enter A:MAKE_ARRAY(ANY,3,4); then A will have as value, an array with twelve slots, and the indexing is zero based. @@ 163,12 +163,12 @@ (also known as keys) may be any object. It only takes ONE KEY at a time (B[X+1,U]:Y would ignore the u) Referencing is done by B[X+1]==> Y^2. Of course the key may be a list, eg B[[x+1,u]]:y would be valid. This is in compatible with the old Macsyma hash arrays, but saves consing. +compatible with the old Maxima hash arrays, but saves consing. An advantage of storing the arrays as values of the symbol is that the usual conventions about local variables of a function apply to arrays as well. The Hash_table type also uses less consing and is more efficient than the old type of macsyma hashar. To obtain consistent behaviour in +than the old type of Maxima hashar. To obtain consistent behaviour in translated and compiled code set TRANSLATE_FAST_ARRAYS [TRUE] to be TRUE. Index: Command.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Command.texi,v retrieving revision 1.10 retrieving revision 1.11 diff u d r1.10 r1.11  Command.texi 3 Nov 2004 05:19:05 0000 1.10 +++ Command.texi 4 Nov 2004 05:12:25 0000 1.11 @@ 60,7 +60,7 @@ @c @node EV @c @unnumberedsec phony @defun EV (exp, arg1, ..., argn) is one of MACSYMA's most powerful and +is one of Maxima's most powerful and versatile commands. It evaluates the expression exp in the environment specified by the argi. This is done in steps, as follows: @itemize @bullet @@ 95,7 +95,7 @@ TRUE during the evaluation of exp. V:expression (or alternately V=expression) causes V to be bound to the value of expression during the evaluation of exp. Note that if V is a MACSYMA option, then expression is used for its value during the +Maxima option, then expression is used for its value during the evaluation of exp. If more than one argument to EV is of this type then the binding is done in parallel. If V is a nonatomic expression then a substitution rather than a binding is performed. @@ 119,7 +119,7 @@ and EVFUNS which are composed, e.g. EV(exp,RATSIMP,REALPART) is handled as REALPART(RATSIMP(exp)). The SIMP, NUMER, FLOAT, and PRED switches may also be set locally in a block, or globally at the "top level" in MACSYMA so that they will +block, or globally at the "top level" in Maxima so that they will remain in effect until being reset. If exp is in CRE form then EV will return a result in CRE form provided the NUMER and FLOAT switches are not both TRUE. @@ 243,7 +243,7 @@ @c @node KILL @c @unnumberedsec phony @defun KILL (arg1, arg2, ...) eliminates its arguments from the MACSYMA +eliminates its arguments from the Maxima system. If argi is a variable (including a single array element), function, or array, the designated item with all of its properties is removed from core. If argi=LABELS then all input, intermediate, and @@ 251,7 +251,7 @@ argi=CLABELS then only input lines will be eliminated; if argi=ELABELS then only intermediate Elines will be eliminated; if argi=DLABELS only the output lines will be eliminated. If argi is the name of any of the other information lists (the elements of the MACSYMA variable +of the other information lists (the elements of the Maxima variable INFOLISTS), then every item in that class (and its properties) is KILLed and if argi=ALL then every item on every information list previously defined as well as LABELS is KILLed. If argi=a number (say @@ 317,8 +317,8 @@ @c @node OPTIONSET @c @unnumberedsec phony @defvar OPTIONSET  default: [FALSE]  if TRUE, MACSYMA will print out a message whenever a MACSYMA option is reset. This is useful if the + default: [FALSE]  if TRUE, Maxima will print out a +message whenever a Maxima option is reset. This is useful if the user is doubtful of the spelling of some option and wants to make sure that the variable he assigned a value to was truly an option variable. @@ 359,18 +359,18 @@ @c @unnumberedsec phony @defvar PROMPT default: [_] is the prompt symbol of the DEMO function, PLAYBACK(SLOW) mode, and (MACSYMABREAK). +PLAYBACK(SLOW) mode, and the Maxima break loop (as invoked by BREAK). @end defvar @c @node QUIT @c @unnumberedsec phony @defun QUIT () kills the current MACSYMA but doesn't affect the user's other jobs; equivalent to exiting to DCL and stopping the MACSYMA process. One may "quit" to MACSYMA toplevel by typing ControlC ControlG; +kills the current Maxima but doesn't affect the user's other +jobs; equivalent to exiting to DCL and stopping the Maxima process. +One may "quit" to Maxima toplevel by typing ControlC ControlG; ControlC gets NIL's interrupt prompt, at which one types either ControlG or just G. Typing X at the Interrupt prompt will cause a quit in a computation started within a MACSYMABREAK without disrupting +quit in a computation started within a Maxima break without disrupting the suspended main computation. @end defun @@ 378,24 +378,24 @@ @c @unnumberedsec phony @defun REMFUNCTION (f1, f2, ...) removes the user defined functions f1,f2,... from MACSYMA. If there is only one argument of ALL then all +f1,f2,... from Maxima. If there is only one argument of ALL then all functions are removed. @end defun @c @node RESET @c @unnumberedsec phony @defun RESET () causes all MACSYMA options to be set to their default values. +causes all Maxima options to be set to their default values. (Please note that this does not include features of terminals such as LINEL which can only be changed by assignment as they are not considered to be computational features of MACSYMA.) +considered to be computational features of Maxima.) @end defun @c @node RESTORE @c @unnumberedsec phony @defun RESTORE (filespecification) reinitializes all quantities filed away by a use of the SAVE or STORE functions, in a prior MACSYMA session, +by a use of the SAVE or STORE functions, in a prior Maxima session, from the file given by filespecification without bringing them into core. @@ 405,7 +405,7 @@ @defvar SHOWTIME default: [FALSE]  if TRUE then the computation time will be printed automatically with each output expression. By setting SHOWTIME:ALL, in addition to the cpu time MACSYMA now also prints out +SHOWTIME:ALL, in addition to the cpu time Maxima now also prints out (when not zero) the amount of time spent in garbage collection (gc) in the course of a computation. This time is of course included in the time printed out as "time=" . (It should be noted that since the @@ 428,7 +428,7 @@ @c @node TO_LISP @c @unnumberedsec phony @defun TO_LISP () enters the LISP system under MACSYMA. This is useful on +enters the LISP system under Maxima. This is useful on those systems where controluparrow is not available for this function. @@ 436,7 +436,7 @@ @c @node VALUES @c @unnumberedsec phony @defvar VALUES  default:[]  all bound atoms, i.e. user variables, not MACSYMA + default:[]  all bound atoms, i.e. user variables, not Maxima Options or Switches, (set up by : , :: , or functional binding). @end defvar Index: Constants.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Constants.texi,v retrieving revision 1.2 retrieving revision 1.3 diff u d r1.2 r1.3  Constants.texi 8 May 2000 18:13:06 0000 1.2 +++ Constants.texi 4 Nov 2004 05:12:25 0000 1.3 @@ 8,7 +8,7 @@ @c @node E @c @unnumberedsec phony @defvar E   The base of natural logarithms, e, is represented in MACSYMA +  The base of natural logarithms, e, is represented in Maxima as %E. @end defvar @@ 27,7 +27,7 @@ @c @node PI @c @unnumberedsec phony @defvar PI   "pi" is represented in MACSYMA as %PI. +  "pi" is represented in Maxima as %PI. @end defvar @c @node TRUE Index: Contexts.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Contexts.texi,v retrieving revision 1.3 retrieving revision 1.4 diff u d r1.3 r1.4  Contexts.texi 20 Apr 2001 22:39:48 0000 1.3 +++ Contexts.texi 4 Nov 2004 05:12:25 0000 1.4 @@ 69,9 +69,9 @@ default:[FALSE]  When using INTEGRATE, etc. one often introduces parameters which are real and positive or one's calculations can often be constructed so that this is true. There is a switch ASSUME_POS (default FALSE) such that if set to TRUE, MACSYMA +a switch ASSUME_POS (default FALSE) such that if set to TRUE, Maxima will assume one's parameters are positive. The intention here is to cut down on the number of questions MACSYMA needs to ask. Obviously, +cut down on the number of questions Maxima needs to ask. Obviously, ASSUME information or any contextual information present will take precedence. The user can control what is considered to be a parameter for this purpose. Parameters by default are those which satisfy @@ 110,18 +110,18 @@ currently exist, including the currently active context. The context mechanism makes it possible for a user to bind together and name a selected portion of his data base, called a context. Once this is done, the user can have MACSYMA assume or forget large numbers +this is done, the user can have Maxima assume or forget large numbers of facts merely by activating or deactivating their context. Any symbolic atom can be a context, and the facts contained in that context will be retained in storage until the user destroys them individually by using FORGET or destroys them as a whole by using KILL to destroy the context to which they belong. Contexts exist in a formal hierarchy, with the root always being the context GLOBAL, which contains information about MACSYMA that some +the context GLOBAL, which contains information about Maxima that some functions need. When in a given context, all the facts in that context are "active" (meaning that they are used in deductions and retrievals) as are all the facts in any context which is an inferior of that context. When a fresh MACSYMA is started up, the user is in a +of that context. When a fresh Maxima is started up, the user is in a context called INITIAL, which has GLOBAL as a subcontext. The functions which deal with contexts are: FACTS, NEWCONTEXT, SUPCONTEXT, KILLCONTEXT, ACTIVATE, DEACTIVATE, ASSUME, and FORGET. @@ 148,7 +148,7 @@ @c @node declaration @c @unnumberedsec phony @defvr declaration FEATURES   MACSYMA has builtin properties which are handled by the +  Maxima has builtin properties which are handled by the data base. These are called FEATURES. One can do DECLARE(N,INTEGER), etc. One can also DECLARE one's own FEATURES by e.g. DECLARE( INCREASING, FEATURE); which will then allow one to say Index: Ctensor.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Ctensor.texi,v retrieving revision 1.4 retrieving revision 1.5 diff u d r1.4 r1.5  Ctensor.texi 31 Oct 2004 19:56:33 0000 1.4 +++ Ctensor.texi 4 Nov 2004 05:12:25 0000 1.5 @@ 8,7 +8,7 @@  Component Tensor Manipulation Package. To use the CTENSR package, type TSETUP(); which automatically loads it from within MACSYMA (if it is not already loaded) and then prompts the user to +Maxima (if it is not already loaded) and then prompts the user to input his coordinate system. The user is first asked to specify the dimension of the manifold. If the dimension is 2, 3 or 4 then the list of coordinates defaults to [X,Y], [X,Y,Z] or [X,Y,Z,T] respectively. @@ 226,7 +226,7 @@ @defun TSETUP () A function in the CTENSR (Component Tensor Manipulation) package which automatically loads the CTENSR package from within MACSYMA (if it is not already loaded) and then prompts the user to +Maxima (if it is not already loaded) and then prompts the user to make use of it. See CTENSOR (nota bene, not CTENSR) for more details. @end defun Index: Debugging.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Debugging.texi,v retrieving revision 1.9 retrieving revision 1.10 diff u d r1.9 r1.10  Debugging.texi 30 Oct 2004 05:15:14 0000 1.9 +++ Debugging.texi 4 Nov 2004 05:12:25 0000 1.10 @@ 328,7 +328,7 @@ The matrix returned by TIMER_INFO contains the function name, time per function call, number of function calls, total time, and "GCTIME", which meant "garbage collection time" in the original MACSYMA +and "GCTIME", which meant "garbage collection time" in the original Macsyma but is now always zero. The data from which TIMER_INFO constructs its return value Index: Differentiation.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Differentiation.texi,v retrieving revision 1.6 retrieving revision 1.7 diff u d r1.6 r1.7  Differentiation.texi 11 May 2004 02:27:21 0000 1.6 +++ Differentiation.texi 4 Nov 2004 05:12:25 0000 1.7 @@ 143,7 +143,7 @@ (%o3)  . S + R .  dU dU @end example Since MACSYMA knows the chain rule for symbolic derivatives, it takes +Since Maxima knows the chain rule for symbolic derivatives, it takes advantage of the given dependencies as follows: @example (%i4) DIFF(R.S,T); @@ 174,7 +174,7 @@ U T @end example CAVEAT: DIFF is the only MACSYMA command which uses DEPENDENCIES +CAVEAT: DIFF is the only Maxima command which uses DEPENDENCIES information. The arguments to INTEGRATE, LAPLACE, etc. must be given their dependencies explicitly in the command, e.g., INTEGRATE(F(X),X). @@ 345,7 +345,7 @@ Gradients are needed when, for example, a function is not known explicitly but its first derivatives are and it is desired to obtain higher order derivatives. GRADEF may also be used to redefine the derivatives of MACSYMA's predefined functions (e.g. +derivatives of Maxima's predefined functions (e.g. GRADEF(SIN(X),SQRT(1SIN(X)**2)) ). It is not permissible to use GRADEF on subscripted functions. GRADEFS is a list of the functions which have been given gradients by Index: Equations.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Equations.texi,v retrieving revision 1.7 retrieving revision 1.8 diff u d r1.7 r1.8  Equations.texi 31 Oct 2004 19:57:58 0000 1.7 +++ Equations.texi 4 Nov 2004 05:12:25 0000 1.8 @@ 175,7 +175,7 @@ the initial guess for NEUMANN or FIRSTKINDSERIES. Default values for the 2nd thru 5th parameters are: unk: P(X), where P is the first function encountered in an integrand which is unknown to MACSYMA and X is the variable which occurs as an +which is unknown to Maxima and X is the variable which occurs as an argument to the first occurrence of P found outside of an integral in the case of SECONDKIND equations, or is the only other variable besides the variable of integration in FIRSTKIND equations. If the Index: Expressions.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Expressions.texi,v retrieving revision 1.11 retrieving revision 1.12 diff u d r1.11 r1.12  Expressions.texi 31 Oct 2004 19:58:55 0000 1.11 +++ Expressions.texi 4 Nov 2004 05:12:25 0000 1.12 @@ 22,7 +22,7 @@ STEP @end example Most things in MAXIMA are expressions. A sequence of expressions +Most things in Maxima are expressions. A sequence of expressions can be made into an expression by separating them by commas and putting parentheses around them. This is similar to the @b{C} @i{comma expression}. @@ 56,14 +56,14 @@ @node ASSIGNMENT, COMPLEX, Introduction to Expressions, Expressions @section ASSIGNMENT   There are two assignment operators in MACSYMA, : and :: . +  There are two assignment operators in Maxima, : and :: . E.g. A:3 sets the variable A to 3. :: assigns the value of the expression on its right to the value of the quantity on its left, which must evaluate to an atomic variable or subscripted variable. @node COMPLEX, INEQUALITY, ASSIGNMENT, Expressions @section COMPLEX   A complex expression is specified in MACSYMA by adding the +  A complex expression is specified in Maxima by adding the real part of the expression to %I times the imaginary part. Thus the roots of the equation X^24*X+13=0 are 2+3*%I and 23*%I. Note that simplification of products of complex expressions can be effected by @@ 73,7 +73,7 @@ @node INEQUALITY, SYNTAX, COMPLEX, Expressions @section INEQUALITY   MACSYMA has the usual inequality operators: +  Maxima has the usual inequality operators: less than: < greater than: > greater than or equal to: >= @@ 81,10 +81,10 @@ @node SYNTAX, Definitions for Expressions, INEQUALITY, Expressions @section SYNTAX   It is possible to add new operators to MACSYMA (infix, +  It is possible to add new operators to Maxima (infix, prefix, postfix, unary, or matchfix with given precedences), to remove existing operators, or to redefine the precedence of existing operators. While MACSYMA's syntax should be adequate for most +operators. While Maxima's syntax should be adequate for most ordinary applications, it is possible to define new operators or eliminate predefined ones that get in the user's way. The extension mechanism is rather straightforward and should be evident from the @@ 106,7 +106,7 @@ matching keyword for a matchfix operator. In addition, binding powers and parts of speech must be specified for all keywords defined. This is done by passing additional arguments to the extension functions. If a user does not specify these additional parameters, MACSYMA will +If a user does not specify these additional parameters, Maxima will assign default values. The six extension functions with binding powers and parts of speech defaults (enclosed in brackets) are summarized below. @@ 257,9 +257,9 @@ BINDTEST  causes ai to signal an error if it ever is used in a computation unbound. DECLARE([var1, var2, ...], BINDTEST) causes MACSYMA to give an error message whenever any of the vari occur +Maxima to give an error message whenever any of the vari occur unbound in a computation. MACSYMA currently recognizes and uses the following features of +Maxima currently recognizes and uses the following features of objects: @example EVEN, ODD, INTEGER, RATIONAL, IRRATIONAL, REAL, IMAGINARY, @@ 623,8 +623,7 @@ @c @unnumberedsec phony @defun OP (exp) Returns the operator of the expression, and functions the same way as PART(exp,0). It observes the setting of the INPART flag. It may not return the same value as the commercial Macsyma. +PART(exp,0). It observes the setting of the INPART flag. @end defun @c @node OPERATORP, OPTIMIZE, OP, Expressions Index: Floating.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Floating.texi,v retrieving revision 1.5 retrieving revision 1.6 diff u d r1.5 r1.6  Floating.texi 31 Oct 2004 19:59:30 0000 1.5 +++ Floating.texi 4 Nov 2004 05:12:25 0000 1.6 @@ 98,7 +98,7 @@ mathematical expression. It will take the input expression and FLOAT it, then OPTIMIZE it, and then insert MODE_DECLAREations for all the variables. This is THE way to use ROMBERG, PLOT2, INTERPOLATE, etc. e.g. EXP:somehairymacsymaexpression; +EXP:somehairyMaximaexpression; @example FLOATDEFUNK('F,['X],EXP); @@ 166,8 +166,5 @@ @defvar ZUNDERFLOW default: [TRUE]  if FALSE, an error will be signaled if floating point underflow occurs. Currently in NIL Macsyma, all floatingpoint underflow, floatingpoint overflow, and divisionbyzero errors signal errors, and this switch is ignored. @end defvar Index: Function.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Function.texi,v retrieving revision 1.8 retrieving revision 1.9 diff u d r1.8 r1.9  Function.texi 3 Nov 2004 05:14:05 0000 1.8 +++ Function.texi 4 Nov 2004 05:12:25 0000 1.9 @@ 10,7 +10,7 @@ @node FUNCTION, MACROS, Introduction to Function Definition, Function Definition @section FUNCTION   To define a function in MACSYMA you use the := operator. +  To define a function in Maxima you use the := operator. E.g. @example F(X):=SIN(X) @@ 87,7 +87,7 @@ side of the assignments, is evaluated in the entering context, before any binding occurs. Using just @code{block([x],..} would cause the x to have itself as value, just as if it would have if you entered a fresh @b{MAXIMA} +as value, just as if it would have if you entered a fresh @b{Maxima} session. The actual arguments to a function are treated in exactly same way as @@ 115,7 +115,7 @@ @defun BUILDQ ([varlist],expression);  EXPRESSION is any single MAXIMA expression and + EXPRESSION is any single Maxima expression and VARLIST is a list of elements of the form @code{<atom>} or @code{<atom>:<value>} @end defun @@ 126,7 +126,7 @@ <atom> is equivalent to <atom>:<atom>). then these values are substituted into <expression> in parallel. If any <atom> appears as a single argument to the special form SPLICE (i.e. SPLICE(<atom>) ) inside <expression>, then the value associated with that <atom> must be a macsyma +<expression>, then the value associated with that <atom> must be a Maxima list, and it is spliced into <expression> instead of substituted. @@ 138,7 +138,7 @@ by using @code{'}. @code{buildq} can be useful for building functions on the fly. One of the powerful things about @b{MAXIMA} is that you can have your +of the powerful things about @b{Maxima} is that you can have your functions define other functions to help solve the problem. Further below we discuss building a recursive function, for a series solution. This defining of functions inside functions @@ 220,7 +220,7 @@ might thing @code{splice(a)+splice(A)} could be replaced by @code{2*splice(A)}. No simplification takes place with the buildq To understand what SPLICE is doing with the algebra you must understand that for MAXIMA, a formula an operation like @code{A+B+C} is really +that for Maxima, a formula an operation like @code{A+B+C} is really internally similar to @code{+(A,B,C)}, and similarly for multiplication. Thus @code{*(2,B,C,D)} is @code{2*B*C*D} @@ 311,12 +311,12 @@ @c @node BLOCK, BREAK, BINDTEST, Function Definition @c @unnumberedsec phony @defun BLOCK ([v1,...,vk], statement1,...,statementj) Blocks in MACSYMA are +Blocks in Maxima are somewhat analogous to subroutines in FORTRAN or procedures in ALGOL or PL/I. Blocks are like compound statements but also enable the user to label statements within the block and to assign "dummy" variables to values which are local to the block. The vi are variables which are local to the BLOCK and the stmti are any MACSYMA expressions. If no +local to the BLOCK and the stmti are any Maxima expressions. If no variables are to be made local then the list may be omitted. A block uses these local variables to avoid conflict with variables having the same names used outside of the block (i.e. global to the block). In @@ 351,11 +351,11 @@ @c @unnumberedsec phony @defun BREAK (arg1, ...) will evaluate and print its arguments and will then cause a (MACSYMABREAK) at which point the user can examine and change +cause a Maxima break at which point the user can examine and change his environment. Upon typing EXIT; the computation resumes. ControlA (^A) will enter a MACSYMABREAK from any point +ControlA (^A) will enter a Maxima break from any point interactively. EXIT; will continue the computation. ControlX may be used inside the MACSYMABREAK to quit locally, without quitting the +used inside the Maxima break to quit locally, without quitting the main computation. @end defun @@ 407,14 +407,14 @@ @c @node COMPILE, COMPILE_LISP_FILE, COMPGRIND, Function Definition @c @unnumberedsec phony @defun COMPILE (f) The COMPILE command is a convenience feature in macsyma. It handles the calling of the function COMPFILE, which translates macsyma +The COMPILE command is a convenience feature in Maxima. It +handles the calling of the function COMPFILE, which translates Maxima functions into lisp, the calling of the lisp compiler on the file produced by COMPFILE, and the loading of the output of the compiler into the macsyma. It also checks the compiler +into the Maxima. It also checks the compiler comment listing output file for certain common errors. Do PRINTFILE(MCOMPI,DOC,MAXDOC); for more details. COMPILE(); causes macsyma to prompt for arguments. +COMPILE(); causes Maxima to prompt for arguments. COMPILE(function1,function2,...); compiles the functions, it uses the name of function1 as the first name of the file to put the lisp output. COMPILE(ALL); or COMPILE(FUNCTIONS); will compile all functions. @@ 456,7 +456,7 @@ @c @unnumberedsec phony @defun DEFINE_VARIABLE (name,defaultbinding,mode,optionaldocumentation) introduces a global variable into the MACSYMA environment. This is +introduces a global variable into the Maxima environment. This is for userwritten packages, which are often translated or compiled. Thus @example @@ 641,7 +641,7 @@ evaluated and returned as the value of MODE_IDENTITY. However, if the return value is not allowed by the mode declared in the first argument, an error or warning is signalled. The important thing is that the MODE of the expression as determined by the MACSYMA to Lisp +that the MODE of the expression as determined by the Maxima to Lisp translator, will be that given as the first argument, independent of anything that goes on in the second argument. E.g. X:3.3; MODE_IDENTITY(FIXNUM,X); is an error. MODE_IDENTITY(FLONUM,X) @@ 662,7 +662,7 @@ @defvar TRANSBIND default: [FALSE]  if TRUE removes global declarations in the local context. This applies to variables which are formal parameters to functions which one is TRANSLATEing from MACSYMA code +parameters to functions which one is TRANSLATEing from Maxima code to LISP. @end defvar @@ 678,16 +678,16 @@ @c @unnumberedsec phony @defun TRANSLATE (f1, f2, ...) translates the user defined functions f1,f2,... from the MACSYMA language to LISP (i.e. it makes them +f1,f2,... from the Maxima language to LISP (i.e. it makes them EXPRs). This results in a gain in speed when they are called. There is now a version of macsyma with the macsyma to lisp translator +is now a version of Maxima with the Maxima to lisp translator preloaded into it. It is available by typing :TM (for TranslateMacsyma) at DDT level. When given a file name, E.g. :TM GJC;TMTEST > , it gives that file to the function TRANSLATE_FILE, and proceeds without further user interaction. If no file name is given, :TM gives a regular macsyma "(%i1)" line. P.s. A user init file with +:TM gives a regular Maxima "(%i1)" line. P.s. A user init file with second name "TM" will be loaded if it exists. You may just want to link this to your macsyma init file. +link this to your Maxima init file. Functions to be translated should include a call to MODE_DECLARE at the beginning when possible in order to produce more efficient code. For example: @@ 710,11 +710,11 @@ translation of a user's function to LISP. Note that translated functions may not run identically to the way they did before translation as certain incompatabilities may exist between the LISP and MACSYMA versions. Principally, the RAT function with more than +and Maxima versions. Principally, the RAT function with more than one argument and the RATVARS function should not be used if any variables are MODE_DECLAREd CRE. Also the PREDERROR:FALSE setting will not translate. SAVEDEF[TRUE]  if TRUE will cause the MACSYMA version of a user +SAVEDEF[TRUE]  if TRUE will cause the Maxima version of a user function to remain when the function is TRANSLATEd. This permits the definition to be displayed by DISPFUN and allows the function to be edited. @@ 723,23 +723,23 @@ translated version. One can translate functions stored in a file by giving TRANSLATE an argument which is a file specification. This is a list of the form [fn1,fn2,DSK,dir] where fn1 fn2 is the name of the file of MACSYMA +[fn1,fn2,DSK,dir] where fn1 fn2 is the name of the file of Maxima functions, and dir is the name of a file directory. The result returned by TRANSLATE is a list of the names of the functions TRANSLATEd. In the case of a file translation the corresponding element of the list is a list of the first and second new file names containing the LISP code resulting from the translation. This will be fn1 LISP on the disk directory dir. The file of LISP code may be read into MACSYMA by using the LOADFILE +file of LISP code may be read into Maxima by using the LOADFILE function. @end defun @c @node TRANSLATE_FILE, TRANSRUN, TRANSLATE, Function Definition @c @unnumberedsec phony @defun TRANSLATE_FILE (file) translates a file of MACSYMA code into a file +translates a file of Maxima code into a file of LISP code. It takes one or two arguments. The first argument is the name of the MACSYMA file, and the optional second argument is the +the name of the Maxima file, and the optional second argument is the name of the LISP file to produce. The second argument defaults to the first argument with second file name the value of TR_OUTPUT_FILE_DEFAULT which defaults to TRLISP. For example: @@ 807,7 +807,7 @@ assumes that APPLY(F,[X]) is meant, and translates a such, with apropriate warning. There is no need to turn this off. With the default settings, no warning messages implies full compatibility of translated and compiled code with the macsyma interpreter. +translated and compiled code with the Maxima interpreter. @end defvar @c @node TR_GEN_TAGS, TR_NUMER, TR_FUNCTION_CALL_DEFAULT, Function Definition @@ 959,7 +959,7 @@ ALL  warn in COMPFILE and TRANSLATE  Do MODE_DECLARE(<variable>,ANY) to declare a variable to be a general macsyma variable (i.e. not limited to being FLOAT or FIXNUM). The extra +Maxima variable (i.e. not limited to being FLOAT or FIXNUM). The extra work in declaring all your variables in code to be compiled should pay off. @@ 968,7 +968,7 @@ @c @unnumberedsec phony @defun COMPILE_FILE (filename,&optionaloutfile) It takes filename which contains macsyma code, and translates this to lisp and then compiles the +contains Maxima code, and translates this to lisp and then compiles the result. It returns a list of four files (the original file,translation, notes on translation and the compiled code). @@ 977,10 +977,10 @@ @c @node DECLARE_TRANSLATED, , COMPILE_FILE, Function Definition @c @unnumberedsec phony @defun DECLARE_TRANSLATED (FN1,FN2..) When translating a file of macsyma code +When translating a file of Maxima code to lisp, it is important for the translator to know which functions it sees in the file are to be called as translated or compiled functions, and which ones are just macsyma functions or undefined. Putting this +and which ones are just Maxima functions or undefined. Putting this declaration at the top of the file, lets it know that although a symbol does which does not yet have a lisp function value, will have one at call time. (MFUNCTIONCALL fn arg1 arg2.. ) is generated when Index: Help.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Help.texi,v retrieving revision 1.9 retrieving revision 1.10 diff u d r1.9 r1.10  Help.texi 31 Oct 2004 20:00:04 0000 1.9 +++ Help.texi 4 Nov 2004 05:12:25 0000 1.10 @@ 45,8 +45,8 @@ All of Maxima is of course written in lisp. There is a naming convention for functions and variables: All symbols which begin with a "$" sign at lisp level, are read with the "$" sign stripped off at Macsyma level. For example, there are two lisp functions TRANSLATE and $TRANSLATE. If at macsyma level you enter +off at Maxima level. For example, there are two lisp functions +TRANSLATE and $TRANSLATE. If at Maxima level you enter TRANSLATE(FOO); the function which is called is the $translate function. To access the other function you must prefix with a "?". Note you may @i{not} put a space after the @code{?} since that would indicate @@ 76,7 +76,7 @@ @end example at the lisp prompt, to restart the Maxima session. If you intend to write lisp functions to be called at macsyma +If you intend to write lisp functions to be called at Maxima level you should name them by names beginning with a "$". Note that all symbols typed at lisp level are automatically read in upper case, unless you do something like @code{$odeSolve} to @@ 112,20 +112,20 @@ @noindent except that foo will not appear in the VALUES list. In order to view foo in macsyma printed format you may type +foo in Maxima printed format you may type @example (displa $foo) @end example In this documentation when we wish to refer to a macsyma symbol we shall generally omit the $ just as you would when typing at macsyma level. +In this documentation when we wish to refer to a Maxima symbol we +shall generally omit the $ just as you would when typing at Maxima level. This will cause confusion when we also wish to refer to a lisp symbol. In this case we shall usually try to use lower case for the lisp symbol and upper case for the macsyma symbol. For example LIST for $list and +and upper case for the Maxima symbol. For example LIST for $list and list for the lisp symbol whose printname is "list". Since functions defined using the MAXIMA language are not ordinary +Since functions defined using the Maxima language are not ordinary lisp functions, you must use mfuncall to call them. For example: Index: Input.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Input.texi,v retrieving revision 1.18 retrieving revision 1.19 diff u d r1.18 r1.19  Input.texi 3 Nov 2004 05:19:05 0000 1.18 +++ Input.texi 4 Nov 2004 05:12:25 0000 1.19 @@ 15,7 +15,7 @@ MC machine are disks and tapes. Files on the disks are figuratively grouped into "directories". A directory is just a list of all the files stored under a given user name. Do DESCRIBE(FILEOP); for details of how you may inspect your files using MACSYMA. Other +details of how you may inspect your files using Maxima. Other commands which deal with files are: SAVE, STORE, LOAD, LOADFILE, RESTORE, UNSTORE, STRINGOUT, BATCH, BATCON, DEMO, WRITEFILE, CLOSEFILE, DELFILE, REMFILE, and APPENDFILE. @@ 33,7 +33,7 @@ @c @node %, %%, PLAYBACK, Input and Output @c @unnumberedsec phony @defvar %  The last Dline computed by MACSYMA (whether or not it was printed + The last Dline computed by Maxima (whether or not it was printed out). (See also %%.) @end defvar @@ 41,7 +41,7 @@ @c @unnumberedsec phony @defvar %% The value of the last computation performed while in a (MACSYMABREAK). Also may be used in compound statements in the nth +Maxima break. Also may be used in compound statements in the nth statement to refer to the value of the (n1)th statement. E.g. F(N):=(INTEGRATE(X^N,X),SUBST(3,X,%%)SUBST(2,X,%%)); is in essence equivalent to F(N):=BLOCK([%%], %%:INTEGRATE(X^N,X), @@ 52,7 +52,7 @@ @c @node %EDISPFLAG, %TH, %%, Input and Output @c @unnumberedsec phony @defvar %EDISPFLAG  default: [FALSE]  if TRUE, MACSYMA displays %E to a + default: [FALSE]  if TRUE, Maxima displays %E to a negative exponent as a quotient, i.e. %E^X as 1/%E^X. @end defvar @@ 70,8 +70,8 @@ @c @unnumberedsec phony @deffn {special symbol} "?"  As prefix to a function or variable name, signifies that the function or variable is a LISP token, not a MACSYMA token. Two question marks typed together, ??, will flush the current MACSYMA +function or variable is a LISP token, not a Maxima token. Two +question marks typed together, ??, will flush the current Maxima command line. @end deffn @@ 97,14 +97,14 @@ @c @node BATCH, BATCHKILL, BACKUP, Input and Output @c @unnumberedsec phony @defun BATCH (filespecification) reads in and evaluates MACSYMA command +reads in and evaluates Maxima command lines from a file  A facility for executing command lines stored on a disk file rather than in the usual online mode. This facility has several uses, namely to provide a reservoir for working command lines, for giving errorfree demonstrations, or helping in organizing one's thinking in complex problemsolving situations where modifications may be done via a text editor. A batch file consists of a set of MACSYMA command lines, each with its +A batch file consists of a set of Maxima command lines, each with its terminating ; or $, which may be further separated by spaces, carriage returns, formfeeds, and the like. The BATCH function calls for reading in the command lines from the @@ 129,9 +129,9 @@ @c @node BOTHCASES, CHANGE_FILEDEFAULTS, BATCOUNT, Input and Output @c @unnumberedsec phony @defvar BOTHCASES  default: [TRUE] if TRUE will cause MAXIMA to retain lower + default: [TRUE] if TRUE will cause Maxima to retain lower case text as well as upper case. Note, however, that the names of any MAXIMA special variables or functions are in upper case. The default +Maxima special variables or functions are in upper case. The default is now TRUE since it makes code more readable, allowing users to have names like SeriesSolve. @@ 337,8 +337,7 @@ @end example . The default value of this switch might change depending on user experience. If you find the defaults either too big or two small for your tastes, send mail to MACSYMA. +experience. @end defvar @c @node ERROR_SYMS, EXPT, ERROR_SIZE, Input and Output @@ 364,7 +363,7 @@ @end defun @c @unnumberedsec phony @defvar EXPTDISPFLAG  default: [TRUE]  if TRUE, MACSYMA displays expressions + default: [TRUE]  if TRUE, Maxima displays expressions with negative exponents using quotients e.g., X**(1) as 1/X. @end defvar @@ 469,7 +468,7 @@ @c @unnumberedsec phony @c THIS FUNCTION DOES EXIST BUT DESCRIPTION SHOULD BE UPDATED !!! @defun FILE_TYPE ("filename") ; returns OBJECT, LISP, or MACSYMA, depending on +; returns OBJECT, LISP, or MAXIMA, depending on what kind of file it is. @end defun @@ 526,7 +525,7 @@ @c STILL EXISTS, NEEDS UPDATING !!! @defvar LINEL default: []  the number of characters which are printed on a line. It is initially set by MACSYMA to the line length of the type of +line. It is initially set by Maxima to the line length of the type of terminal being used (as far as is known) but may be reset at any time by the user. The user may have to reset it in DDT with :TCTYP as well. @@ 600,13 +599,13 @@ default:[FALSE]  Package designers who use SAVE or TRANSLATE to create packages (files) for others to use may want to set PACKAGEFILE:TRUE$ to prevent information from being added to MACSYMA's informationlists (e.g. VALUES, +from being added to Maxima's informationlists (e.g. VALUES, FUNCTIONS) except where necessary when the file is loaded in. In this way, the contents of the package will not get in the user's way when he adds his own data. Note that this will not solve the problem of possible name conflicts. Also note that the flag simply affects what is output to the package file. Setting the flag to TRUE is also useful for creating MACSYMA +Setting the flag to TRUE is also useful for creating Maxima init files. @end defvar @@ 694,7 +693,7 @@ described by its arguments on disk and keeps them in core also. The arg's are the expressions to be SAVEd. ALL is the simplest, but note that saving ALL will save the entire contents of your MACSYMA, which in the case of a large computation may +contents of your Maxima, which in the case of a large computation may result in a large file. VALUES, FUNCTIONS, or any other items on the INFOLISTS (do DESCRIBE(INFOLISTS); for the list) may be SAVEd, as may functions and @@ 708,7 +707,7 @@ @c @node SAVEDEF, SHOW, SAVE, Input and Output @c @unnumberedsec phony @defvar SAVEDEF  default: [TRUE]  if TRUE will cause the MACSYMA version of a + default: [TRUE]  if TRUE will cause the Maxima version of a user function to remain when the function is TRANSLATEd. This permits the definition to be displayed by DISPFUN and allows the function to be edited. If SAVEDEF is FALSE, the names of translated functions are @@ 742,7 +741,7 @@ @c @node STRING, STRINGOUT, STARDISP, Input and Output @c @unnumberedsec phony @defun STRING (expr) converts expr to MACSYMA's linear notation (similar to +converts expr to Maxima's linear notation (similar to FORTRAN's) just as if it had been typed in and puts expr into the buffer for possible editing (in which case expr is usually Ci) The STRING'ed expression should not be used in a computation. Index: Integration.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Integration.texi,v retrieving revision 1.11 retrieving revision 1.12 diff u d r1.11 r1.12  Integration.texi 3 Nov 2004 05:19:05 0000 1.11 +++ Integration.texi 4 Nov 2004 05:12:25 0000 1.12 @@ 6,7 +6,7 @@ @node Introduction to Integration, Definitions for Integration, Integration, Integration @section Introduction to Integration MACSYMA has several routines for handling integration. +Maxima has several routines for handling integration. The INTEGRATE command makes use of most of them. There is also the ANTID package, which handles an unspecified function (and its derivatives, of course). For numerical uses, there is the ROMBERG @@ 16,7 +16,7 @@ named QUAD_QAG, QUAD_QAGS, etc. Hypergeometric Functions are being worked on, do DESCRIBE(SPECINT); for details. Generally speaking, MACSYMA only handles integrals which are +Generally speaking, Maxima only handles integrals which are integrable in terms of the "elementary functions" (rational functions, trigonometrics, logs, exponentials, radicals, etc.) and a few extensions (error function, dilogarithm). It does not handle @@ 80,7 +80,7 @@ @c @unnumberedsec phony @defun DBLINT ('F,'R,'S,a,b) a doubleintegral routine which was written in toplevel macsyma and then translated and compiled to machine code. +toplevel Maxima and then translated and compiled to machine code. Use LOAD(DBLINT); to access this package. It uses the Simpson's Rule method in both the x and y directions to calculate /B /S(X) @@ 277,7 +277,7 @@ (%i5) INTEGRATE(%,X); (%o5) LOG(Q(R(X))) @end example (Note 1) The fact that MACSYMA does not perform certain integrals does +(Note 1) The fact that Maxima does not perform certain integrals does not always imply that the integral does not exist in closed form. In the example below the integration call returns the noun form but the integral can be found fairly easily. For example, one can compute the @@ 285,7 +285,7 @@ @example 1/((XA)*(XB)*(XC)) @end example where A, B and C are the roots. MACSYMA will +where A, B and C are the roots. Maxima will integrate this equivalent form although the integral is quite complicated. @example @@ 303,7 +303,7 @@ @c @unnumberedsec phony @defvar INTEGRATION_CONSTANT_COUNTER  a counter which is updated each time a constant of integration (called by MACSYMA, e.g., "INTEGRATIONCONSTANT1") +constant of integration (called by Maxima, e.g., "INTEGRATIONCONSTANT1") is introduced into an expression by indefinite integration of an equation. @end defvar Index: Introduction.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Introduction.texi,v retrieving revision 1.3 retrieving revision 1.4 diff u d r1.3 r1.4  Introduction.texi 11 May 2004 02:27:21 0000 1.3 +++ Introduction.texi 4 Nov 2004 05:12:25 0000 1.4 @@ 1,8 +1,8 @@ @c @menu @c @end menu Start MAXIMA with the command "maxima". MAXIMA will display version information and a prompt. End each MAXIMA command with a semicolon. +Start Maxima with the command "maxima". Maxima will display version +information and a prompt. End each Maxima command with a semicolon. End the session with the command "quit();". Here's a sample session: @example @@ 29,7 +29,7 @@ sonia$ @end example MAXIMA can search the info pages. Use the @kbd{describe} command to show +Maxima can search the info pages. Use the @kbd{describe} command to show all the commands and variables containing a string, and optionally their documentation: @@ 77,7 +77,7 @@ FACTOR explicitly), or if the integer is a fixnum (i.e. fits in one machine word), complete factorization of the integer will be attempted. The user's setting of INTFACLIM is used for internal  calls to FACTOR. Thus, INTFACLIM may be reset to prevent MACSYMA + calls to FACTOR. Thus, INTFACLIM may be reset to prevent Maxima from taking an inordinately long time factoring large integers. NEWFAC[FALSE] may be set to true to use the new factoring routines. Do EXAMPLE(FACTOR); for examples. @@ 111,7 +111,7 @@ (%o4) 6 (y + x) @end example MAXIMA knows about complex numbers and numerical constants: +Maxima knows about complex numbers and numerical constants: @example (%i6) cos(%pi); @@ 123,7 +123,7 @@ (%o7)  1 @end example MAXIMA can do differential and integral calculus: +Maxima can do differential and integral calculus: @example (%i8) u:expand((x+y)^6); @@ 143,7 +143,7 @@ 6 SQRT(3) 3 @end example MAXIMA can solve linear systems and cubic equations: +Maxima can solve linear systems and cubic equations: @example (%i11) linsolve( [ 3*x + 4*y = 7, 2*x + a*y = 13], [x,y]); @@ 156,7 +156,7 @@ (%o12) [x =  SQRT(5) %I, x = SQRT(5) %I, x = 3] @end example MAXIMA can solve nonlinear sets of equations. Note that if you don't +Maxima can solve nonlinear sets of equations. Note that if you don't want a result printed, you can finish your command with @kbd{$} instead of @kbd{;}. @@ 176,7 +176,7 @@ 2 2 @end example Under the X window system, MAXIMA can generate plots of one or more +Under the X window system, Maxima can generate plots of one or more functions: @example Index: Matrices.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Matrices.texi,v retrieving revision 1.3 retrieving revision 1.4 diff u d r1.3 r1.4  Matrices.texi 11 May 2004 02:27:21 0000 1.3 +++ Matrices.texi 4 Nov 2004 05:12:25 0000 1.4 @@ 309,7 +309,7 @@ lists the first sublist of which is the list of eigenvalues of the matrix and the other sublist of which is the list of the multiplicities of the eigenvalues in the corresponding order. [ The MACSYMA function SOLVE is used here to find the roots of the +function SOLVE is used here to find the roots of the characteristic polynomial of the matrix. Sometimes SOLVE may not be able to find the roots of the polynomial;in that case nothing in this package except CONJUGATE, INNERPRODUCT, UNITVECTOR, COLUMNVECTOR and @@ 319,7 +319,7 @@ and they will be explained below. ( This usually happens when SOLVE returns a notsoobviously real expression for an eigenvalue which is supposed to be real...)] The EIGENVALUES command is available directly from MACSYMA. To use the other functions you must have +directly from Maxima. To use the other functions you must have loaded in the EIGEN package, either by a previous call to EIGENVALUES, or by doing LOADFILE("eigen"); . @@ 331,7 +331,7 @@ of lists the first sublist of which is the output of the EIGENVALUES command and the other sublists of which are the eigenvectors of the matrix corresponding to those eigenvalues respectively. This function will work directly from MACSYMA, but if you wish to take advantage of +will work directly from Maxima, but if you wish to take advantage of the flags for controlling it (see below), you must first load in the EIGEN package from the SHARE; directory. You may do that by LOADFILE("eigen");. The flags that affect this function are: @@ 344,7 +344,7 @@ KNOWNEIGVALS[FALSE] If set to TRUE the EIGEN package will assume the eigenvalues of the matrix are known to the user and stored under the global name LISTEIGVALS. LISTEIGVALS should be set to a list similar to the output of the EIGENVALUES command. ( The MACSYMA function +to the output of the EIGENVALUES command. ( The function ALGSYS is used here to solve for the eigenvectors. Sometimes if the eigenvalues are messy, ALGSYS may not be able to produce a solution. In that case you are advised to try to simplify the eigenvalues by @@ 364,7 +364,7 @@ @c @unnumberedsec phony @defun ENTERMATRIX (m, n) allows one to enter a matrix element by element with MACSYMA requesting values for each of the m*n entries. +with Maxima requesting values for each of the m*n entries. @example (%i1) ENTERMATRIX(3,3); Is the matrix 1. Diagonal 2. Symmetric 3. Antisymmetric @@ 421,7 +421,7 @@ innerproduct defined above) as its argument and returns a similar list each sublist of which is orthogonal to all others. (Returned results may contain integers that are factored. This is due to the fact that the MACSYMA function FACTOR is used to simplify each substage of the +the function FACTOR is used to simplify each substage of the GramSchmidt algorithm. This prevents the expressions from getting very messy and helps to reduce the sizes of the numbers that are produced along the way.) @@ 486,7 +486,7 @@ defines a rectangular matrix with the indicated rows. Each row has the form of a list of expressions, e.g. [A, X**2, Y, 0] is a list of 4 elements. There are a number of MACSYMA commands which deal with matrices, for example: DETERMINANT, +commands which deal with matrices, for example: DETERMINANT, CHARPOLY, GENMATRIX, ADDCOL, ADDROW, COPYMATRIX, TRANSPOSE, ECHELON, and RANK. There is also a package on the SHARE directory for computing EIGENVALUES. Try DESCRIBE on these for more information. @@ 551,7 +551,7 @@ @c @unnumberedsec phony @defun MATTRACE (M) computes the trace [sum of the elements on the main diagonal] of the square matrix M. It is used by NCHARPOLY, an alternative to MACSYMA's +the square matrix M. It is used by NCHARPOLY, an alternative to Maxima's CHARPOLY. It is used by doing LOADFILE("nchrpl"); @end defun @@ 573,7 +573,7 @@ @c @unnumberedsec phony @defun NCHARPOLY (M,var) finds the characteristic polynomial of the matrix M with respect to var. This is an alternative to MACSYMA's CHARPOLY. +with respect to var. This is an alternative to Maxima's CHARPOLY. NCHARPOLY works by computing traces of powers of the given matrix, which are known to be equal to sums of powers of the roots of the characteristic polynomial. From these quantities the symmetric @@ 789,6 +789,6 @@ @c @node "[" @c @unnumberedsec phony @defvr {special symbol} "["   [ and ] are the characters which MACSYMA uses to delimit a +  [ and ] are the characters which Maxima uses to delimit a list. @end defvr Index: maxima.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/maxima.texi,v retrieving revision 1.10 retrieving revision 1.11 diff u d r1.10 r1.11  maxima.texi 3 Nov 2004 05:19:05 0000 1.10 +++ maxima.texi 4 Nov 2004 05:12:25 0000 1.11 @@ 36,12 +36,12 @@ @end titlepage @... Top, Introduction to MAXIMA, (dir), (dir) +@node Top, Introduction to Maxima, (dir), (dir) @top MAXIMA is a fairly complete computer algebra system. +Maxima is a fairly complete computer algebra system. This system MAXIMA is a COMMON LISP implementation due to William F. +This system Maxima is a COMMON LISP implementation due to William F. Schelter, and is based on the original implementation of Macsyma at MIT, as distributed by the Department of Energy. I now have permission from DOE to make derivative copies, and in particular to @@ 52,14 +52,14 @@ @c includes @menu MAXIMA infrastructure +Maxima infrastructure * Introduction to MAXIMA:: Sample MAXIMA sessions. * Bug Detection and Reporting:: Finding and reporting bugs in MAXIMA. * Help:: Asking for help from within a MAXIMA session. * Command Line:: MAXIMA command line syntax. * Operators:: Operators used in MAXIMA expressions. * Expressions:: Expressions in MAXIMA. +* Introduction to Maxima:: Sample Maxima sessions. +* Bug Detection and Reporting:: Finding and reporting bugs in Maxima. +* Help:: Asking for help from within a Maxima session. +* Command Line:: Maxima command line syntax. +* Operators:: Operators used in Maxima expressions. +* Expressions:: Expressions in Maxima. * Simplification:: Simplifying expressions. * Plotting:: 2D and 3D graphical output. * Input and Output:: File input and output. @@ 98,14 +98,14 @@ Advanced facilities and programming * Runtime Environment:: Customization of the MAXIMA environment. * Miscellaneous Options:: Options with a global effect on MAXIMA. +* Runtime Environment:: Customization of the Maxima environment. +* Miscellaneous Options:: Options with a global effect on Maxima. * Rules and Patterns:: User defined pattern matching and simplification rules. * Lists:: Manipulation of Lisp lists. * Function Definition:: Defining functions. * Program Flow:: Defining MAXIMA programs. * Debugging:: Debugging MAXIMA programs. +* Program Flow:: Defining Maxima programs. +* Debugging:: Debugging Maxima programs. Index @@ 116,7 +116,7 @@ Introduction * Introduction to MAXIMA:: +* Introduction to Maxima:: Help @@ 329,11 +329,11 @@ @c nota bene: Cc Cu Ca and texinfomultiplefilesupdate will delete @c the detailed node listing! @... Introduction to MAXIMA, Bug Detection and Reporting, Top, Top @... Introduction to MAXIMA +@node Introduction to Maxima, Bug Detection and Reporting, Top, Top +@chapter Introduction to Maxima @include Introduction.texi @... Bug Detection and Reporting, Help, Introduction to MAXIMA, Top +@node Bug Detection and Reporting, Help, Introduction to Maxima, Top @chapter Bug Detection and Reporting @include Bugs.texi Index: Miscellaneous.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Miscellaneous.texi,v retrieving revision 1.3 retrieving revision 1.4 diff u d r1.3 r1.4  Miscellaneous.texi 31 Oct 2004 20:03:21 0000 1.3 +++ Miscellaneous.texi 4 Nov 2004 05:12:25 0000 1.4 @@ 13,12 +13,12 @@ @node SHARE, Definitions for Miscellaneous Options, Introduction to Miscellaneous Options, Miscellaneous Options @section SHARE   The SHARE directory on MC or on a DEC20 version of MACSYMA +  The SHARE directory on MC or on a DEC20 version of Maxima contains programs, information files, etc. which are considered to be of interest to the MACSYMA community. Most files on SHARE; are not part of the MACSYMA system per se and must be loaded individually by +of interest to the Maxima community. Most files on SHARE; are not +part of the Maxima system per se and must be loaded individually by the user, e.g. LOADFILE("array");. Many files on SHARE; were contributed by MACSYMA users. Do PRINTFILE(SHARE,USAGE,SHARE); +were contributed by Maxima users. Do PRINTFILE(SHARE,USAGE,SHARE); for more details and the conventions for contributing to the SHARE directory. For an annotated "table of contents" of the directory, do: PRINTFILE(SHARE,>,SHARE); @@ 47,7 +47,7 @@ @c @node declaration @c @unnumberedsec phony @defvr declaration ALPHABETIC Adds to MACSYMA's alphabet which initially contains +Adds to Maxima's alphabet which initially contains the letters AZ, % and _. Thus, DECLARE("~",ALPHABETIC) enables NEW~VALUE to be used as a name. @@ 56,7 +56,7 @@ @c @unnumberedsec phony @defun APROPOS (string) takes a character string as argument and looks at all the MACSYMA names for ones with that string appearing anywhere within +the Maxima names for ones with that string appearing anywhere within them. Thus, APROPOS(EXP); will return a long list of all the flags and functions which have EXP as part of their names, such as EXPAND, EXP, EXPONENTIALIZE. Thus if you can only remember part of the name @@ 120,9 +120,9 @@ @c @unnumberedsec phony @defvar INFOLISTS default: [] a list of the names of all of the information lists in MACSYMA. These are: +lists in Maxima. These are: LABELS  all bound C,D, and E labels. VALUES  all bound atoms, i.e. user variables, not MACSYMA +VALUES  all bound atoms, i.e. user variables, not Maxima Options or Switches, (set up by : , :: , or functional binding). FUNCTIONS  all user defined functions (set up by f(x):=...). ARRAYS  declared and undeclared arrays (set up by : , :: , or :=...) @@ 231,7 +231,7 @@ Ai and pi may also be lists as with DECLARE. Pi may be any property e.g. FUNCTION, MODE_DECLARE, etc. It may also be TRANSFUN implying that the translated LISP version of the function is to be removed. This is useful if one wishes to have the MACSYMA version of the +This is useful if one wishes to have the Maxima version of the function executed rather than the translated version. Pi may also be OP or OPERATOR to remove a syntax extension given to ai. If ai is "ALL" then the property indicated by pi is removed from @@ 248,7 +248,7 @@ (which can be subscripted) from the system. If name is ALL then the values of all user variables are removed. Values are those items given names by the user as opposed to those which are automatically labeled by MACSYMA as Ci, Di, or Ei. +labeled by Maxima as Ci, Di, or Ei. @end defun @c @node RENAME @@ 311,8 +311,8 @@ "funcI" is not defined, that the file specified by "file" is to be automatically loaded in via LOAD, which file should contain a definition for "funcI". (This is the process by which calling e.g. INTEGRATE in a fresh MACSYMA causes various files to be loaded in.) As with the other filehandling commands in MACSYMA, the arguments to +INTEGRATE in a fresh Maxima causes various files to be loaded in.) +As with the other filehandling commands in Maxima, the arguments to SETUP_AUTOLOAD are not evaluated. Example: SETUP_AUTOLOAD("bessel")$ J1(0.0); . Index: Number.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Number.texi,v retrieving revision 1.3 retrieving revision 1.4 diff u d r1.3 r1.4  Number.texi 11 May 2004 02:27:21 0000 1.3 +++ Number.texi 4 Nov 2004 05:12:25 0000 1.4 @@ 67,7 +67,7 @@ BURN(402). BERN's time growth seems to be exponential, while BURN's is about cubic. But if next you do BERN(404), it only takes 12 secs, since BERN remembers all in an array, whereas BURN(404) will take maybe 14 secs or maybe 25, depending on whether MACSYMA needs to +maybe 14 secs or maybe 25, depending on whether Maxima needs to BFLOAT a better value of %PI.) BURN is available by doing LOAD(BFFAC);. BURN uses an observation of WGD that (rational) Bernoulli numbers can be approximated by (transcendental) zetas with tolerable efficiency. @@ 147,11 +147,11 @@ using the algorithm of Kuki, CACM algorithm 421. Calculations are performed in single precision and the relative error is typically around 1.0E7; evaluation at one point costs less than 1 msec. The algorithm provides for an error estimate, but the Macsyma +algorithm provides for an error estimate, but the Maxima implementation currently does not use it. Cgamma is the general function and may be called with a symbolic or numeric argument. With symbolic arguments, it returns as is; with real floating or rational arguments, it uses the Macsyma Gamma +real floating or rational arguments, it uses the Maxima Gamma function; and for complex numeric arguments, it uses the Kuki algorithm. Cgamma2 of two arguments, real and imaginary, is for numeric arguments Index: Numerical.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Numerical.texi,v retrieving revision 1.8 retrieving revision 1.9 diff u d r1.8 r1.9  Numerical.texi 3 Nov 2004 05:19:05 0000 1.8 +++ Numerical.texi 4 Nov 2004 05:12:25 0000 1.9 @@ 15,10 +15,10 @@ the documentation here for historical purposes. To make an interface to fortran libraries in the current MAXIMA look at the examples in +libraries in the current Maxima look at the examples in "maxima/src/fortdef.lsp"  The IMSL version of Romberg integration is now available in Macsyma. For documentation, Do PRINTFILE(DCADRE,USAGE,IMSL1); . For +Maxima. For documentation, Do PRINTFILE(DCADRE,USAGE,IMSL1); . For a demo, do batch("dcadre.mc"); This is a numerical integration package using cautious, adaptive Romberg extrapolation. @@ 43,7 +43,7 @@ FAST_IMSL_ROMBERG(fn,low,hi) This function does no error checking but may achieve a speed gain over the IMSL_ROMBERG function. It expects that fn is a Lisp function (or  translated Macsyma function) which accepts a floating point argument + translated Maxima function) which accepts a floating point argument and that it always returns a floating point value. Returns either @@ 335,7 +335,7 @@ @c @node FORTMX @c @unnumberedsec phony @defun FORTMX (name,matrix) converts a MACSYMA matrix into a sequence of +converts a Maxima matrix into a sequence of FORTRAN assignment statements of the form name(i,j)=<corresponding matrix element>. This command is now obsolete. FORTMX(name,matrix); may now be done as FORTRAN(name=matrix);. (If "name" is bound, @@ 374,7 +374,7 @@ in Horner's rule, using var as the main variable if it is specified. Var may also be omitted in which case the main variable of the CRE form of exp is used. HORNER sometimes improves stability if expr is to be numerically evaluated. It is also useful if MACSYMA is used to +to be numerically evaluated. It is also useful if Maxima is used to generate programs to be run in FORTRAN (see DESCRIBE(STRINGOUT);) @example (%i1) 1.0E20*X^25.5*X+5.2E20; @@ 399,7 +399,7 @@ action of the of the function is governed by INTPOLERROR[TRUE]). If INTPOLERROR is TRUE then an error occurs, otherwise the value of INTPOLERROR is returned (thus for plotting INTPOLERROR might be set to 0.0). Otherwise (given that MACSYMA can evaluate the first argument +0.0). Otherwise (given that Maxima can evaluate the first argument in the specified range, and that it is continuous) INTERPOLATE is guaranteed to come up with the zero (or one of them if there is more than one zero). The accuracy of INTERPOLATE is governed by Index: Operators.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Operators.texi,v retrieving revision 1.7 retrieving revision 1.8 diff u d r1.7 r1.8  Operators.texi 31 Oct 2004 20:04:11 0000 1.7 +++ Operators.texi 4 Nov 2004 05:12:25 0000 1.8 @@ 23,7 +23,7 @@  NOFIX operators are used to denote functions of no arguments. The mere presence of such an operator in a command will cause the corresponding function to be evaluated. For example, when one types "exit;" to exit from a MACSYMA break, "exit" is behaving similar to a +"exit;" to exit from a Maxima break, "exit" is behaving similar to a NOFIX operator. The function NOFIX("x") is a syntax extension function which declares x to be a NOFIX operator. Do DESCRIBE(SYNTAX); for more details. @@ 117,8 +117,8 @@ @c @node operator @c @unnumberedsec phony @deffn operator "=" denotes an equation to MACSYMA. To the pattern matcher in MACSYMA it denotes a total relation that holds between two expressions +denotes an equation to Maxima. To the pattern matcher in +Maxima it denotes a total relation that holds between two expressions if and only if the expressions are syntactically identical. @end deffn @@ 253,7 +253,7 @@ @defun FULLMAP (fn, exp1, ...) is similar to MAP but it will keep mapping down all subexpressions until the main operators are no longer the same. The user should be aware that FULLMAP is used by the MACSYMA +same. The user should be aware that FULLMAP is used by the Maxima simplifier for certain matrix manipulations; thus, the user might see an error message concerning FULLMAP even though FULLMAP was not explicitly called by the user. @@ 377,7 +377,7 @@ @defun SORT (list,optionalpredicate) sorts the list using a suitable optionalpredicate of two arguments (such as "<" or ORDERLESSP). If the optionalpredicate is not given, then MACSYMA's builtin ordering +the optionalpredicate is not given, then Maxima's builtin ordering predicate is used. @end defun @@ 621,7 +621,7 @@ TRUE and ZEROEQUIV(%E^X+X,X) returns FALSE. On the other hand ZEROEQUIV(LOG(A*B)  LOG(A)  LOG(B),A) will return DONTKNOW because of the presence of an extra parameter. The restrictions are: (1) Do not use functions that MACSYMA does not know how to +(1) Do not use functions that Maxima does not know how to differentiate and evaluate. (2) If the expression has poles on the real line, there may be errors in the result (but this is unlikely to occur). Index: Polynomials.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Polynomials.texi,v retrieving revision 1.6 retrieving revision 1.7 diff u d r1.6 r1.7  Polynomials.texi 11 May 2004 02:27:21 0000 1.6 +++ Polynomials.texi 4 Nov 2004 05:12:25 0000 1.7 @@ 32,7 +32,7 @@ which it occurs. For example the CRE variables of the expression X+SIN(X+1)+2*SQRT(X)+1 are X, SQRT(X), and SIN(X+1). If the user does not specify an ordering of variables by using the RATVARS function MACSYMA will choose an alphabetic one. In general, CRE's represent +Maxima will choose an alphabetic one. In general, CRE's represent rational expressions, that is, ratios of polynomials, where the numerator and denominator have no common factors, and the denominator is positive. The internal form is essentially a pair of polynomials (the @@ 247,7 +247,7 @@ the user calls FACTOR explicitly), or if the integer is a fixnum (i.e. fits in one machine word), complete factorization of the integer will be attempted. The user's setting of INTFACLIM is used for internal calls to FACTOR. Thus, INTFACLIM may be reset to prevent MACSYMA from +calls to FACTOR. Thus, INTFACLIM may be reset to prevent Maxima from taking an inordinately long time factoring large integers. NEWFAC[FALSE] may be set to true to use the new factoring routines. Do EXAMPLE(FACTOR); for examples. @@ 441,7 +441,7 @@ (i.e. fits in one machine word), complete factorization of the integer will be attempted. The user's setting of INTFACLIM is used for internal calls to FACTOR. Thus, INTFACLIM may be reset to prevent MACSYMA from taking an inordinately long time factoring large +Maxima from taking an inordinately long time factoring large integers. @end defvar @@ 930,8 +930,8 @@ @c @unnumberedsec phony @defun TELLRAT (poly) adds to the ring of algebraic integers known to MACSYMA, the element which is the solution of the polynomial with integer coefficients. MACSYMA initially knows about %I and all roots +Maxima, the element which is the solution of the polynomial with +integer coefficients. Maxima initially knows about %I and all roots of integers. TELLRAT(X); means substitute 0 for X in rational functions. There is a command UNTELLRAT which takes kernels and removes TELLRAT properties. When TELLRATing a multivariate Index: Program.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Program.texi,v retrieving revision 1.7 retrieving revision 1.8 diff u d r1.7 r1.8  Program.texi 22 Oct 2004 06:20:56 0000 1.7 +++ Program.texi 4 Nov 2004 05:12:25 0000 1.8 @@ 6,7 +6,7 @@ @node Introduction to Program Flow, Definitions for Program Flow, Program Flow, Program Flow @section Introduction to Program Flow MACSYMA provides a DO loop for iteration, as well as more primitive +Maxima provides a DO loop for iteration, as well as more primitive constructs such as GO. @c end concepts Program Flow @@ 64,7 +64,7 @@ The increment and limit may be nonnumeric expressions as long as this inequality can be determined. However, unless the increment is syntactically negative (e.g. is a negative number) at the time the DO statement is input, MACSYMA assumes it will be positive when the DO is +statement is input, Maxima assumes it will be positive when the DO is executed. If it is not positive, then the DO may not terminate properly. Note that the limit, increment, and termination condition are @@ 74,7 +74,7 @@ variable to their value prior to the DO and use this variable in the DO form. The value normally returned by a DO statement is the atom DONE, as every statement in MACSYMA returns a value. However, the function +every statement in Maxima returns a value. However, the function RETURN may be used inside the body to exit the DO prematurely and give it any desired value. Note however that a RETURN within a DO that occurs in a BLOCK will exit only the DO and not the BLOCK. Note also @@ 183,7 +183,7 @@ GUESS to be returned as the value of the DO. The BLOCK is exited and this value of the DO is returned as the value of the BLOCK because the DO is the last statement in the block.)  One other form of the DO is available in MACSYMA. The syntax is: + One other form of the DO is available in Maxima. The syntax is: @example FOR variable IN list [endtests] DO body @@ 222,7 +222,7 @@ @c @unnumberedsec phony @defvar ERREXP default: [ERREXP] When an error occurs in the course of a computation, MACSYMA prints out an error message and terminates the +computation, Maxima prints out an error message and terminates the computation. ERREXP is set to the offending expression and the message "ERREXP contains the offending expression" is printed. The user can then type ERREXP; to see this and hopefully find the problem. @@ 232,7 +232,7 @@ @c @unnumberedsec phony @defun ERROR (arg1, arg2, ...) will evaluate and print its arguments and then will cause an error return to top level MACSYMA or to the nearest +then will cause an error return to top level Maxima or to the nearest enclosing ERRCATCH. This is useful for breaking out of nested functions if an error condition is detected, or wherever one can't type control^. @@ 242,7 +242,7 @@ ERRORFUN default: [FALSE]  if set to the name of a function of no arguments will cause that function to be executed whenever an error occurs. This is useful in BATCH files where the user may want his MACSYMA killed or his terminal logged out if an error occurs. In +Maxima killed or his terminal logged out if an error occurs. In these cases ERRORFUN would be set to QUIT or LOGOUT. @end defun @@ 252,7 +252,7 @@ default: [FALSE]  if set to the name of a function of no arguments will cause that function to be executed whenever an error occurs. This is useful in BATCH files where the user may want his MACSYMA killed or his terminal logged out if an error occurs. In +Maxima killed or his terminal logged out if an error occurs. In these cases ERRORFUN would be set to QUIT or LOGOUT. @end defvar @@ 272,7 +272,7 @@ @c @unnumberedsec phony @deffn {special operator} FOR  Used in iterations, do DESCRIBE("DO"); for a description of MACSYMA's iteration facilities. +Maxima's iteration facilities. @end deffn @c @node GO, {special operator}, {special operator}, Program Flow @@ 301,7 +301,7 @@ @end example The result of an IF statement is expression1 if condition is true and expression2 if it is false. expression1 and expression2 are any MACSYMA expressions (including nested IF statements), and condition is +Maxima expressions (including nested IF statements), and condition is an expression which evaluates to TRUE or FALSE and is composed of relational and logical operators which are as follows: @example Index: Rules.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Rules.texi,v retrieving revision 1.3 retrieving revision 1.4 diff u d r1.3 r1.4  Rules.texi 11 May 2004 02:27:21 0000 1.3 +++ Rules.texi 4 Nov 2004 05:12:25 0000 1.4 @@ 363,7 +363,7 @@ @c @unnumberedsec phony @defun TELLSIMPAFTER (pattern, replacement) defines a replacement for pattern which the MACSYMA simplifier uses after it applies the builtin +which the Maxima simplifier uses after it applies the builtin simplification rules. The pattern may be anything but a single variable or a number. Index: Simplification.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Simplification.texi,v retrieving revision 1.4 retrieving revision 1.5 diff u d r1.4 r1.5  Simplification.texi 20 Oct 2004 02:44:15 0000 1.4 +++ Simplification.texi 4 Nov 2004 05:12:25 0000 1.5 @@ 24,14 +24,14 @@ @c @unnumberedsec phony @defvar ASKEXP default: [] contains the expression upon which ASKSIGN is called. A user may enter a MACSYMA break with ^A and inspect this +called. A user may enter a Maxima break with ^A and inspect this expression in order to answer questions asked by ASKSIGN. @end defvar @c @node ASKINTEGER, ASKSIGN, ASKEXP, Simplification @c @unnumberedsec phony @defun ASKINTEGER (exp,<optionalarg>) exp is any valid macsyma expression +exp is any valid Maxima expression and optionalarg is EVEN,ODD,INTEGER and defaults to INTEGER if not given. This function attempts to determine from the database whether exp is EVEN, ODD or just an INTEGER. It will ask the user if it @@ 204,7 +204,7 @@ @c @node declaration, declaration, declaration, Simplification @c @unnumberedsec phony @defvr declaration LINEAR   One of MACSYMA's OPPROPERTIES. For univariate f so +  One of Maxima's OPPROPERTIES. For univariate f so declared, "expansion" F(X+Y) > F(X)+F(Y), F(A*X) > A*F(X) takes place where A is a "constant". For functions F of >=2 args, "linearity" is defined to be as in the case of 'SUM or 'INTEGRATE, @@ 277,7 +277,7 @@ will allow (X+Y) to be displayed like that. This is sometimes useful but be very careful: like the SIMP flag, this is one flag you do not want to set to FALSE as a matter of course or necessarily for other than local use in your MACSYMA. +than local use in your Maxima. @end defvar @c @node NEGSUMDISPFLAG, {special symbol}, NEGDISTRIB, Simplification @@ 344,7 +344,7 @@ @c @unnumberedsec phony @defvar OPPROPERTIES  the list of the special operatorproperties handled by the MACSYMA simplifier: LINEAR, ADDITIVE, MULTIPLICATIVE, OUTATIVE, +the Maxima simplifier: LINEAR, ADDITIVE, MULTIPLICATIVE, OUTATIVE, EVENFUN, ODDFUN, COMMUTATIVE, SYMMETRIC, ANTISYMMETRIC, NARY, LASSOCIATIVE, and RASSOCIATIVE. Index: Special.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Special.texi,v retrieving revision 1.8 retrieving revision 1.9 diff u d r1.8 r1.9  Special.texi 3 Nov 2004 05:19:05 0000 1.8 +++ Special.texi 4 Nov 2004 05:12:25 0000 1.9 @@ 25,7 +25,7 @@ @section GAMALG  A Dirac gamma matrix algebra program which takes traces of and does manipulations on gamma matrices in n dimensions. It may be loaded into MACSYMA by +loaded into Maxima by LOADFILE("gam"); A preliminary manual is contained in the file SHARE;GAM USAGE and may be printed using @@ 459,7 +459,7 @@ @c @node PSI @c @unnumberedsec phony @defun PSI (X) derivative of LOG(GAMMA(X)). At this time, MACSYMA does not +derivative of LOG(GAMMA(X)). At this time, Maxima does not have numerical evaluation capabilities for PSI. For information on the PSI[N](X) notation, see POLYGAMMA. Index: Tensor.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Tensor.texi,v retrieving revision 1.3 retrieving revision 1.4 diff u d r1.3 r1.4  Tensor.texi 11 May 2004 02:27:21 0000 1.3 +++ Tensor.texi 4 Nov 2004 05:12:25 0000 1.4 @@ 12,7 +12,7 @@ DEMO("itenso.dem1"); (and additional demos are in ("itenso.dem2"), ("itenso.dem3") and following).   There are two tensor packages in MACSYMA, CTENSR and +  There are two tensor packages in Maxima, CTENSR and ITENSR. CTENSR is Component Tensor Manipulation, and may be accessed with LOAD(CTENSR); . ITENSR is Indicial Tensor Manipulation, and is loaded by doing LOAD(ITENSR); A manual for CTENSR AND ITENSR is Index: Trigonometric.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Trigonometric.texi,v retrieving revision 1.5 retrieving revision 1.6 diff u d r1.5 r1.6  Trigonometric.texi 3 Nov 2004 05:19:05 0000 1.5 +++ Trigonometric.texi 4 Nov 2004 05:12:25 0000 1.6 @@ 5,15 +5,15 @@ @node Introduction to Trigonometric, Definitions for Trigonometric, Trigonometric, Trigonometric @section Introduction to Trigonometric   MACSYMA has many Trig functions defined. Not all Trig +  Maxima has many Trig functions defined. Not all Trig identities are programmed, but it is possible for the user to add many of them using the pattern matching capabilities of the system. The Trig functions defined in MACSYMA are: ACOS, ACOSH, ACOT, ACOTH, ACSC, +Trig functions defined in Maxima are: ACOS, ACOSH, ACOT, ACOTH, ACSC, ACSCH, ASEC, ASECH, ASIN, ASINH, ATAN, ATANH, COS, COSH, COT, COTH, CSC, CSCH, SEC, SECH, SIN, SINH, TAN, and TANH. There are a number of commands especially for handling Trig functions, see TRIGEXPAND, TRIGREDUCE, and the switch TRIGSIGN. Two SHARE packages extend the simplification rules built into MACSYMA, NTRIG and ATRIG1. Do +simplification rules built into Maxima, NTRIG and ATRIG1. Do DESCRIBE(cmd) for details. @c end concepts Trigonometric @@ 103,7 +103,7 @@ @defun ATRIG1  The atrig1 package contains several additional simplification rules for inverse trig functions. Together with rules already known to Macsyma, the following angles are fully implemented: +already known to Maxima, the following angles are fully implemented: 0, %PI/6, %PI/4, %PI/3, and %PI/2. Corresponding angles in the other three quadrants are also available. Do LOAD(ATRIG1); to use them. 
From: Jay Belanger <belanger@us...>  20041103 20:46:53

Update of /cvsroot/maxima/maxima/interfaces/emacs/emaxima In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv4984 Modified Files: maximafontlock.el Log Message: Made maximasymbols a list of strings. Index: maximafontlock.el =================================================================== RCS file: /cvsroot/maxima/maxima/interfaces/emacs/emaxima/maximafontlock.el,v retrieving revision 1.10 retrieving revision 1.11 diff u d r1.10 r1.11  maximafontlock.el 2 Apr 2004 22:44:43 0000 1.10 +++ maximafontlock.el 3 Nov 2004 20:46:44 0000 1.11 @@ 717,6 +717,7 @@ "killcontext" "kostka" "labels" + "lambda" "laplace" "last" "lc" @@ 1174,6 +1175,7 @@ "else" "for" "if" + "in" "step" "then" "thru" @@ 1435,8 +1437,8 @@ ;;; now for the symbols (defvar maximasymbols  (mapcar  (lambda (x) (list x)) +; (mapcar +; (lambda (x) (list x)) (append maximavars1 maximavars2 @@ 1455,6 +1457,7 @@ maximamacros maximaspecops maximadecs  maximaspsymbs1))) + maximaspsymbs1)) +;) ;;; end of maximafontlock.el 
From: Jay Belanger <belanger@us...>  20041103 20:39:01

Update of /cvsroot/maxima/maxima/interfaces/emacs/emaxima In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv3442 Modified Files: maxima.el Log Message: Made info searches work with XEmacs. Index: maxima.el =================================================================== RCS file: /cvsroot/maxima/maxima/interfaces/emacs/emaxima/maxima.el,v retrieving revision 1.37 retrieving revision 1.38 diff u d r1.37 r1.38  maxima.el 3 Nov 2004 19:20:57 0000 1.37 +++ maxima.el 3 Nov 2004 20:38:44 0000 1.38 @@ 1393,13 +1393,21 @@ ;;;; Help functions (defun maximagotoinfonode (node)  (infootherwindow (concat "(Maxima)" node))) + (if maximarunningxemacs + (info "Maxima") + (infootherwindow (concat "(Maxima)" node)))) (defun maximagetinfoonsubject (subject)  (infootherwindow "(Maxima)Function and Variable Index") + (if maximarunningxemacs + (progn + (info "Maxima") + (Infomenu "Function and Variable Index")) + (infootherwindow "(Maxima)Function and Variable Index")) (searchforward subject)  (Infofollownearestnode)  (researchforward (concat ".*: *" subject "\\s")) + (if maximarunningxemacs + (Infofollownearestnode (point)) + (Infofollownearestnode)) + (researchforward (concat ".*: *" subject "\\( \\$\\)")) (if (lookingat "^") (forwardline 1) (beginningofline))) @@ 1414,13 +1422,8 @@ (setq pt (point)) (searchforward ":") (skipcharsbackward ": ")  (setq name (buffersubstringnoproperties pt (point)))  (skipcharsforward ": ")  (setq pt (point))  (endofline)  (skipcharsbackward ". ")  (setq place (buffersubstringnoproperties pt (point))))  (maximagetinfoonsubject place))) + (setq name (buffersubstringnoproperties pt (point)))) + (maximagetinfoonsubject name))) ; (if (not maximarunningxemacs) ; (infootherwindow (concat "(Maxima)" place)) ; (info "Maxima") @@ 1466,7 +1469,7 @@ (insert "q in the *info* buffer will return you here.\n") (insert "q in this buffer will exit Maxima help\n\n") (withtempbuffer  (require 'info nil t) + (require 'info) (Infomode) (Infogotonode "(Maxima)Function and Variable Index") (gotochar (pointmin)) @@ 1507,6 +1510,7 @@ (definekey (currentlocalmap) "\t" 'maximanextsubject) (gotochar (pointmin)) (researchforward "^\\*") + (forwardchar 1) (poptobuffer maximahelpbuffer) (setq bufferreadonly t)) (killbuffer maximahelpbuffer) @@ 1624,7 +1628,9 @@ (defun maximainfo () "Read the info file for Maxima." (interactive)  (infootherwindow "Maxima")) + (if maximarunningxemacs + (info "Maxima") + (infootherwindow "Maxima"))) ;;;; Completion 
From: Jay Belanger <belanger@us...>  20041103 19:21:24

Update of /cvsroot/maxima/maxima/interfaces/emacs/emaxima In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv17453 Modified Files: maxima.el Log Message: Improved indentation (with some side effects, such as skipping over strings when necessary while doing searches). New variable: `maximadontreindentsomelines' If nonnil, don't reindent comments beginning with "/*" on an otherwise blank line. When completing (MTAB) while in a string, use filename completion. Consistently use the same type of completion (choice of completions appears in a separate buffer). CcCe sends previous Maxima form (similar to CxCe), and CcCs sends previous form and goes to the next form. Maxima minor mode: Cc=e `maximaminibufferondeterminedregion' Cc=l `maximaminibufferonline' Cc=r `maximaminibufferonregion' Cc=f `maximaminibufferonform' Cc=m `maximaminibuffer' Cc=o `maximainsertlastoutput' Cc=t `maximainsertlastoutputtex' Regions sent to the Maxima process (both in Maxima mode and Maxima minor mode) are highlighted (until the next action). Info help uses emacs's info more, so specifying the maxima info file isn't necessary. CcCd and CcCh prompt for (with completion) a symbol, and will go directly to the proper info page. With an argument, use the symbol under the point. CcCa prompts for an expression, and presents a list of Maxima symbols containing the expression. With an argument, use the symbol under the point. Index: maxima.el =================================================================== RCS file: /cvsroot/maxima/maxima/interfaces/emacs/emaxima/maxima.el,v retrieving revision 1.36 retrieving revision 1.37 diff u d r1.36 r1.37  maxima.el 20 May 2004 18:12:56 0000 1.36 +++ maxima.el 3 Nov 2004 19:20:57 0000 1.37 @@ 25,8 +25,6 @@ ;; ;; ;; Please send suggestions and bug reports to <belanger@...>. ;; The latest version of this package should be available at ;; ftp://vh213601.truman.edu/pub/Maxima ;; You will need both maxima.el and maximafontlock.el ;;; Commentary: @@ 47,28 +45,14 @@ ;; (setq automodealist (cons '("\\.max" . maximamode) automodealist)) ;; to your `.emacs' file. [...2826 lines suppressed...] + (if (or + (eq thiscommand 'maximaminibufferonregion) + (eq thiscommand 'maximaminibufferondeterminedregion) + (eq thiscommand 'maximaminibufferonform) + (eq thiscommand 'maximaminibufferonline)) + (maximaminormodeaddhighlight) + (maximaminormoderemovehighlight))) + +(defun maximaminormodehighlighting () + (if maximarunningxemacs + (addlocalhook 'postcommandhook + 'maximaminormodeaddremovehighlight) + (addhook 'postcommandhook + 'maximaminormodeaddremovehighlight nil t))) + +(addhook 'maximaminormodehook + 'maximaminormodehighlighting) + (provide 'maxima) ;;; maxima.el ends here 
From: Robert Dodier <robert_dodier@us...>  20041103 05:19:17

Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv24389/doc/info Modified Files: Command.texi Input.texi Integration.texi maxima.texi Numerical.texi Special.texi Trigonometric.texi Log Message: Expunge mention of FASSAVE and FASL files from .texi documents. FASSAVE description removed from Input.texi. Mentions of FASL removed from Input.texi and other documents. See also bug report #782386. Index: Command.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Command.texi,v retrieving revision 1.9 retrieving revision 1.10 diff u d r1.9 r1.10  Command.texi 24 Oct 2004 16:32:35 0000 1.9 +++ Command.texi 3 Nov 2004 05:19:05 0000 1.10 @@ 272,13 +272,6 @@ Also the latter print out a list of names or FALSE if the specific argument doesn't exist whereas KILL always has value "DONE" even if the named item doesn't exist.  Note that killing expressions will not help the problem which occurs on MC indicated by "NO CORE  FASLOAD" which results when either too many FASL files have been loaded in or when allocation level has gotten too high. In either of these cases, no amount of killing will cause the size of these spaces to decrease. Killing expressions only causes some spaces to get emptied out but not made smaller. @end defun @c @node LABELS Index: Input.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Input.texi,v retrieving revision 1.17 retrieving revision 1.18 diff u d r1.17 r1.18  Input.texi 2 Nov 2004 05:45:38 0000 1.17 +++ Input.texi 3 Nov 2004 05:19:05 0000 1.18 @@ 16,7 +16,7 @@ grouped into "directories". A directory is just a list of all the files stored under a given user name. Do DESCRIBE(FILEOP); for details of how you may inspect your files using MACSYMA. Other commands which deal with files are: SAVE, FASSAVE, STORE, LOAD, +commands which deal with files are: SAVE, STORE, LOAD, LOADFILE, RESTORE, UNSTORE, STRINGOUT, BATCH, BATCON, DEMO, WRITEFILE, CLOSEFILE, DELFILE, REMFILE, and APPENDFILE. @@ 185,8 +185,8 @@ collapses" its argument by causing all of its common (i.e. equal) subexpressions to share (i.e. use the same cells), thereby saving space. (COLLAPSE is a subroutine used by the OPTIMIZE command.) Thus, calling COLLAPSE may be useful before using FASSAVE or after loading in a SAVE file. You can collapse several expressions +command.) Thus, calling COLLAPSE may be useful +after loading in a SAVE file. You can collapse several expressions together by using COLLAPSE([expr1,...,exprN])$. Similarly, you can collapse the elements of the array A by doing COLLAPSE(LISTARRAY('A))$. @@ 362,28 +362,12 @@ A^^B). @end defun @... @node EXPTDISPFLAG, FASSAVE, EXPT, Input and Output @c @unnumberedsec phony @defvar EXPTDISPFLAG default: [TRUE]  if TRUE, MACSYMA displays expressions with negative exponents using quotients e.g., X**(1) as 1/X. @end defvar @... @node FASSAVE, FILEDEFAULTS, EXPTDISPFLAG, Input and Output @... @unnumberedsec phony @... IS THIS FUNCTION EXPECTED TO WORK ANYMORE ??? IF NOT I'LL CUT IT. @... FASSAVE (args) is similar to SAVE but produces a FASL file in which the sharing of subexpressions which are shared in core is preserved in the file created. Hence, expressions which have common subexpressions will consume less space when loaded back from a file created by FASSAVE rather than by SAVE. Files created with FASSAVE are reloaded using LOADFILE, just as files created with SAVE. FASSAVE returns a list of the form [<name of file>,<size of file in blocks>,...] where ... are the things saved. Warnings are printed out in the case of large files. FASSAVE may be used while a WRITEFILE is in progress.  @... defun @c @node FILENAME_MERGE, FILENUM, FILENAME, Input and Output @c @unnumberedsec phony @c THIS FUNCTION DOES EXIST BUT IT TAKES NO MORE THAN 2 ARGUMENTS !!! @@ 485,9 +469,8 @@ @c @unnumberedsec phony @c THIS FUNCTION DOES EXIST BUT DESCRIPTION SHOULD BE UPDATED !!! @defun FILE_TYPE ("filename") ; returns FASL, LISP, or MACSYMA, depending on what kind of file it is. FASL means a compiled Lisp file, which normally has an extension of .VAS in NIL. +; returns OBJECT, LISP, or MACSYMA, depending on +what kind of file it is. @end defun @c @node GRIND, IBASE, FILE_TYPE, Input and Output @@ 591,7 +574,7 @@ accompanying loading of files. The following options are available: TRUE means always print the message; 'LOADFILE means print only when the LOADFILE command is used; 'AUTOLOAD means print only when a file is automatically loaded in (e.g. the integration file SIN FASL); FALSE +is automatically loaded in; FALSE means never print the loading message. @end defvar @@ 614,8 +597,8 @@ @c @unnumberedsec phony @c STILL EXISTS, NEEDS CLARIFICATION !!! @defvar PACKAGEFILE  default:[FALSE]  Package designers who use SAVE, FASSAVE, or TRANSLATE to create packages (files) for others + default:[FALSE]  Package designers who use SAVE +or TRANSLATE to create packages (files) for others to use may want to set PACKAGEFILE:TRUE$ to prevent information from being added to MACSYMA's informationlists (e.g. VALUES, FUNCTIONS) except where necessary when the file is loaded in. Index: Integration.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Integration.texi,v retrieving revision 1.10 retrieving revision 1.11 diff u d r1.10 r1.11  Integration.texi 31 Oct 2004 20:02:48 0000 1.10 +++ Integration.texi 3 Nov 2004 05:19:05 0000 1.11 @@ 406,7 +406,7 @@ @c @node QQ, QUANC8, POTENTIAL, Integration @c @unnumberedsec phony @defun QQ   The file SHARE1;QQ FASL (which may be loaded with LOAD("QQ");) +  The package QQ (which may be loaded with LOAD("QQ");) contains a function QUANC8 which can take either 3 or 4 arguments. The 3 arg version computes the integral of the function specified as the first argument over the interval from lo to hi as in @@ 430,8 +430,8 @@ @c @node QUANC8, RESIDUE, QQ, Integration @c @unnumberedsec phony @defun QUANC8 ('function name,lo,hi) An adaptive integrator, available in SHARE1;QQ FASL. DEMO and USAGE files are provided. The method is to +An adaptive integrator. +DEMO and USAGE files are provided. The method is to use NewtonCotes 8panel quadrature rule, hence the function name QUANC8, available in 3 or 4 arg versions. Absolute and relative error checks are used. To use it do LOAD("QQ"); For more details do Index: maxima.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/maxima.texi,v retrieving revision 1.9 retrieving revision 1.10 diff u d r1.9 r1.10  maxima.texi 14 Mar 2004 22:04:57 0000 1.9 +++ maxima.texi 3 Nov 2004 05:19:05 0000 1.10 @@ 310,7 +310,6 @@ * Introduction to Function Definition:: * FUNCTION:: * MACROS:: * OPTIMIZATION:: * Definitions for Function Definition:: Program Flow Index: Numerical.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Numerical.texi,v retrieving revision 1.7 retrieving revision 1.8 diff u d r1.7 r1.8  Numerical.texi 20 Oct 2004 03:12:40 0000 1.7 +++ Numerical.texi 3 Nov 2004 05:19:05 0000 1.8 @@ 493,6 +493,6 @@ is symbolic all the way. INTERPOLATE(x^2a^2,x,a/2,2*a); complains that .5*a is not flonum... An adaptive integrator which uses the NewtonCotes 8 panel quadrature rule is available in SHARE1;QQ FASL. Do DESCRIBE(QQ) for details. +rule is available. Do DESCRIBE(QQ) for details. @end defun Index: Special.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Special.texi,v retrieving revision 1.7 retrieving revision 1.8 diff u d r1.7 r1.8  Special.texi 11 May 2004 02:27:21 0000 1.7 +++ Special.texi 3 Nov 2004 05:19:05 0000 1.8 @@ 69,7 +69,7 @@ @c @unnumberedsec phony @defun AIRY (X) returns the Airy function Ai of real argument X. The file SHARE1;AIRY FASL contains routines to evaluate the Airy functions +The Airy package contains routines to evaluate the Airy functions Ai(X), Bi(X), and their derivatives dAi(X), dBi(X). Ai and Bi satisfy the AIRY eqn diff(y(x),x,2)x*y(x)=0. Read SHARE1;AIRY USAGE for details. Index: Trigonometric.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Trigonometric.texi,v retrieving revision 1.4 retrieving revision 1.5 diff u d r1.4 r1.5  Trigonometric.texi 31 Oct 2004 20:05:28 0000 1.4 +++ Trigonometric.texi 3 Nov 2004 05:19:05 0000 1.5 @@ 101,7 +101,7 @@ @c @node ATRIG1 @c @unnumberedsec phony @defun ATRIG1   SHARE1;ATRIG1 FASL contains several additional +  The atrig1 package contains several additional simplification rules for inverse trig functions. Together with rules already known to Macsyma, the following angles are fully implemented: 0, %PI/6, %PI/4, %PI/3, and %PI/2. Corresponding angles in the other 
From: Robert Dodier <robert_dodier@us...>  20041103 05:15:51

Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv24135/doc/info Modified Files: None.texi Log Message: Moved some text cut out of other .texi files into this one for historical reference. Index: None.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/None.texi,v retrieving revision 1.4 retrieving revision 1.5 diff u d r1.4 r1.5  None.texi 31 Oct 2004 18:38:13 0000 1.4 +++ None.texi 3 Nov 2004 05:15:40 0000 1.5 @@ 665,3 +665,32 @@ @end defun @c END TEXT RECENTLY (200410) CUT FROM doc/info/Runtime.texi + +@defun FASSAVE (args) +is similar to SAVE but produces a FASL file in which +the sharing of subexpressions which are shared in core is preserved in +the file created. Hence, expressions which have common subexpressions +will consume less space when loaded back from a file created by +FASSAVE rather than by SAVE. Files created with FASSAVE are reloaded +using LOADFILE, just as files created with SAVE. FASSAVE returns a +list of the form [<name of file>,<size of file in blocks>,...] where +... are the things saved. Warnings are printed out in the case of +large files. FASSAVE may be used while a WRITEFILE is in progress. + +@end defun + +@node OPTIMIZATION, Definitions for Function Definition, MACROS, Function Definition +@section OPTIMIZATION + +The optimu files no longer exist in Maxima. The documentation is left +here for historical purposes. + +When using TRANSLATE and generating code with MACSYMA, +there are a number of techniques which can save time and be helpful. +Do DEMO("optimu.dem") for a demonstration. In particular, the +function FLOATDEFUNK from TRANSL;OPTIMU FASL, creates a function +definition from a mathlike expression, but it optimizes it (with +OPTIMIZE) and puts in the MODE_DECLAREations needed to COMPILE +correctly. (This can be done by hand, of course). The demo will only +run in a fresh macsyma. + 
From: Robert Dodier <robert_dodier@us...>  20041103 05:14:14

Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv23965/doc/info Modified Files: Function.texi Log Message: Moved obsolete @section OPTIMIZATION to None.texi. Struck out a mention of the FASL file type. Index: Function.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Function.texi,v retrieving revision 1.7 retrieving revision 1.8 diff u d r1.7 r1.8  Function.texi 11 May 2004 02:27:21 0000 1.7 +++ Function.texi 3 Nov 2004 05:14:05 0000 1.8 @@ 2,7 +2,6 @@ * Introduction to Function Definition:: * FUNCTION:: * MACROS:: * OPTIMIZATION:: * Definitions for Function Definition:: @end menu @@ 110,7 +109,7 @@ possibly @code{buildq}. @... MACROS, OPTIMIZATION, FUNCTION, Function Definition +@node MACROS, Definitions for Function Definition, FUNCTION, Function Definition @section MACROS @@ 282,26 +281,9 @@ @end defun @... OPTIMIZATION, Definitions for Function Definition, MACROS, Function Definition @... OPTIMIZATION  The optimu files no longer exist in Maxima. The documentation is left here for historical purposes.  When using TRANSLATE and generating code with MACSYMA, there are a number of techniques which can save time and be helpful. Do DEMO("optimu.dem") for a demonstration. In particular, the function FLOATDEFUNK from TRANSL;OPTIMU FASL, creates a function definition from a mathlike expression, but it optimizes it (with OPTIMIZE) and puts in the MODE_DECLAREations needed to COMPILE correctly. (This can be done by hand, of course). The demo will only run in a fresh macsyma.  @c end concepts Function Definition @... Definitions for Function Definition, , OPTIMIZATION, Function Definition +@node Definitions for Function Definition, , MACROS, Function Definition @section Definitions for Function Definition @... @node APPLY, BINDTEST, OPTIMIZATION, Function Definition @... @unnumberedsec phony @defun APPLY (function, list) gives the result of applying the function to the list of its arguments. This is useful when it is desired to @@ 428,8 +410,8 @@ The COMPILE command is a convenience feature in macsyma. It handles the calling of the function COMPFILE, which translates macsyma functions into lisp, the calling of the lisp compiler on the file produced by COMPFILE, and the loading of the output of the compiler, know as a FASL file, into the macsyma. It also checks the compiler +produced by COMPFILE, and the loading of the output of the compiler +into the macsyma. It also checks the compiler comment listing output file for certain common errors. Do PRINTFILE(MCOMPI,DOC,MAXDOC); for more details. COMPILE(); causes macsyma to prompt for arguments. 
From: Robert Dodier <robert_dodier@us...>  20041102 05:45:49

Update of /cvsroot/maxima/maxima/doc/info In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv21426/doc/info Modified Files: Input.texi Log Message: Updated and clarified descriptions of LOAD and LOADFILE. Moved some stuff from LOAD into FILE_SEARCH. Index: Input.texi =================================================================== RCS file: /cvsroot/maxima/maxima/doc/info/Input.texi,v retrieving revision 1.16 retrieving revision 1.17 diff u d r1.16 r1.17  Input.texi 31 Oct 2004 20:01:26 0000 1.16 +++ Input.texi 2 Nov 2004 05:45:38 0000 1.17 @@ 402,10 +402,27 @@ FILE_SEARCH searches for the file @code{filename} and returns the path to the file (as a string) if it can be found; otherwise FILE_SEARCH returns FALSE.  @code{FILE_SEARCH (filename)} searches in the default search directories, which are specified by the FILE_SEARCH_MAXIMA, FILE_SEARCH_LISP, and FILE_SEARCH_DEMO variables. +FILE_SEARCH first checks if the actual name passed exists, +before attempting to match it to ``wildcard'' file search patterns. +See FILE_SEARCH_MAXIMA concerning file search patterns. + +The argument @code{filename} can be a path and file name, +or just a file name, or, if a file search directory includes a file search pattern, +just the base of the file name (without an extension). +For example, + +@example +file_search ("/home/wfs/special/zeta.mac"); +file_search ("zeta.mac"); +file_search ("zeta"); +@end example + +will all find the same file, assuming the file exists and @code{/home/wfs/special/###.mac} +is in FILE_SEARCH_MAXIMA. + @code{FILE_SEARCH (filename, pathlist)} searches only in the directories specified by @code{pathlist}, which is a list of strings. @@ 413,21 +430,12 @@ so if the path list is given, FILE_SEARCH searches only the ones specified, and not any of the default search directories. Even if there is only one directory in @code{pathlist}, it must still be given as a oneelement list. @... INCLUDE THE FOLLOWING EXAMPLE ??? OR NOT REALLY NEEDED ??? @... For example, @... @example @... file_search ("neumann", ["/home/wfs/special/###.mac"]); @... @end example @... searches for a file named @code{neumann.mac} in one directory, @... @code{/home/wfs/special}.  FILE_SEARCH is invoked by the LOAD function with FILE_SEARCH_MAXIMA and FILE_SEARCH_LISP as the search directories. FILE_SEARCH first checks if the actual name passed exists, before substituting it in the various patterns. See FILE_SEARCH_MAXIMA concerning file search patterns. The user may modify the default search directories. See FILE_SEARCH_MAXIMA. +FILE_SEARCH is invoked by LOAD with FILE_SEARCH_MAXIMA and FILE_SEARCH_LISP +as the search directories. + @end defun @defvar FILE_SEARCH_MAXIMA @@ 456,6 +464,8 @@ @end example appends two additional directories. +It may be convenient to put such an expression in the file @code{maximainit.mac} +so that the file search path is assigned automatically when Maxima starts. Multiple filename extensions and multiple paths can be specified by special ``wildcard'' constructions. @@ 541,83 +551,36 @@ @end defvar @c @node LOAD, LOADFILE, LINEL, Input and Output @c @unnumberedsec phony @... IN GREAT NEED OF CLARIFICATION AND UPDATING !!! @... LOAD ("filename") ; takes one argument, a filename represented as a "string" (i.e. inside quotation marks), or as list (e.g. inside square brackets), and locates and loads in the indicated file. If no directory is specified, +@defun LOAD (filename) +Evaluates expressions in @code{filename}, thus bringing new variables and functions into Maxima. +To find the file, LOAD calls FILE_SEARCH with FILE_SEARCH_MAXIMA and FILE_SEARCH_LISP as the search directories. +If LOAD succeeds, it returns the path of the file. +Otherwise LOAD prints an error message. LOAD("EIGEN") will load the eigen package without the need for the user to be aware of the details of whether the package was compiled, translated, saved, or fassaved, i.e. LOAD will work on both LOADFILEable and BATCHable files. Note: LOAD will use BATCHLOAD if it finds the file is BATCHable (which means that it will BATCH the file in "silently" without terminal output or labels). Other MACSYMA commands to load in files are: LOADFILE, RESTORE, BATCH, and DEMO. Do DESCRIBE(command); for details. LOADFILE and RESTORE work for files written with SAVE; BATCH and DEMO for those files written with STRINGOUT or created as lists of commands with a text editor.  If LOAD can't find the file, check the values of FILE_SEARCH_MAXIMA and FILE_SEARCH_LISP to make sure that they contain appropriate templates.  @... (%i4) load("eigen"); MACSYMA BUG: Unknown file type NIL  Error: macsyma error Error signalled by MEVAL1. Broken at $LOAD. Type :H for Help. MAXIMA>>:q @... example  By examining the file system we find the file is actually in /public/maxima/share/eigen.mc. So we add that to the file_search path. This can be done at start up (in the file @code{maximainit.mac}) or, else it can be done and then the system resaved once it has been customized for local directories and pathnames. At lisp level we would do  @... (inpackage "MAXIMA") (setq $file_search ($append (list '(mlist)  "/tmp/foo.mac" "/tmp/foo.mc") $file_search)) @... example  and at maxima level:  @... (%i5) file_search:append(["/public/maxima/share/foo.mc"],  file_search)$ (%i6) load("eigen");  batching /usr/public/maxima/share/eigen.mc (%o6) #/public/maxima/share/eigen.mc (%i7) eigenvalues(matrix([a,b],[c,d]));  2 2   SQRT(D  2 A D + 4 B C + A ) + D + A (%o7) [[,  2 +LOAD works equally well for Lisp code and Maxima code. +Files created by SAVE, TRANSLATE_FILE, and COMPILE_FILE, which create Lisp code, +and STRINGOUT, which creates Maxima code, +can all be processed by LOAD. +See also LOADFILE, RESTORE, BATCH, and DEMO. +LOADFILE and RESTORE process Lisp files; +BATCH and DEMO process Maxima files.  2 2  SQRT(D  2 A D + 4 B C + A ) + D + A  ], [1, 1]]  2 @... example +See FILE_SEARCH for more detail about the file search mechanism. @end defun @c @node LOADFILE, LOADPRINT, LOAD, Input and Output @c @unnumberedsec phony @defun LOADFILE (filename) loads a file as designated by its arguments. This function may be used to bring back quantities that were stored from a prior MACSYMA session by use of the SAVE or STORE functions. Specify the pathname as on your operating system. For unix this would be "/home/wfs/foo.mc" for example. +Evaluates Lisp expressions in @code{filename}. +LOADFILE quotes its argument, so @code{filename} must be a literal string, +not a string variable. +Also, LOADFILE does not invoke FILE_SEARCH, so @code{filename} must include +the file extension and as much of the path as needed to find the file. + +LOADFILE can process files created by SAVE, TRANSLATE_FILE, and COMPILE_FILE. +The user may find it more convenient to use LOAD instead of LOADFILE. @end defun @c @node LOADPRINT, NOSTRING, LOADFILE, Input and Output 
From: Raymond Toy <rtoy@us...>  20041101 22:17:17

Update of /cvsroot/maxima/maxima/src In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv4947 Modified Files: comm.lisp Log Message: Bug 626728 scanmap/bottomup failure Apply fix from Stavros. Index: comm.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/comm.lisp,v retrieving revision 1.8 retrieving revision 1.9 diff u d r1.8 r1.9  comm.lisp 4 Oct 2004 02:25:55 0000 1.8 +++ comm.lisp 1 Nov 2004 22:17:05 0000 1.9 @@ 165,7 +165,8 @@ (declaretop (unspecial x y oprx opry negxpty timesp)) (defmfun subst0 (new old)  (cond ((alike (cdr new) (cdr old)) + (cond ((atom new) new) + ((alike (cdr new) (cdr old)) (cond ((eq (caar new) (caar old)) old) (t (simplifya (cons (cons (caar new) (memq 'array (cdar old))) (cdr old)) nil)))) 
From: Raymond Toy <rtoy@us...>  20041101 17:33:03

Update of /cvsroot/maxima/maxima/src In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv8168 Modified Files: hypgeo.lisp Log Message: Before taking the caar of something in fractest1 and fractest2, make sure it's a list first. Index: hypgeo.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/hypgeo.lisp,v retrieving revision 1.5 retrieving revision 1.6 diff u d r1.5 r1.6  hypgeo.lisp 1 Nov 2004 16:38:54 0000 1.5 +++ hypgeo.lisp 1 Nov 2004 17:32:45 0000 1.6 @@ 1600,9 +1600,10 @@ (mul (kti i1 a1)(kti i2 a2)))))) (t 'productofywithnofractindices))) (defun fractest1  (r a1 a2 i1 i2 i flg)  (cond ((or (equal (caar i2) 'rat)(eq flg 'besshtjory)) +(defun fractest1 (r a1 a2 i1 i2 i flg) + (cond ((or (and (listp i2) + (equal (caar i2) 'rat)) + (eq flg 'besshtjory)) (sendexec r (cond ((eq flg 'bessytj) (mul (bess i1 a1 'j) @@ 1621,9 +1622,9 @@ (kti i2 a2)))))) (t 'productofiyofnofractindex))) (defun fractest2  (r a1 i1 i11 flg)  (cond ((or (equal (caar i1) 'rat) +(defun fractest2 (r a1 i1 i11 flg) + (cond ((or (and (listp i1) + (equal (caar i1) 'rat)) (eq flg 'd) (eq flg 'kbateman) (eq flg 'gammaincomplete) 
From: Raymond Toy <rtoy@us...>  20041101 16:39:04

Update of /cvsroot/maxima/maxima/src In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv27314/src Modified Files: hypgeo.lisp Log Message: Don't declaretop asinx and atanx, but declare them special in the places where they're needed. Also renamed them to *asinx* and *atanx* to make it clear they're special variables. Index: hypgeo.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/hypgeo.lisp,v retrieving revision 1.4 retrieving revision 1.5 diff u d r1.4 r1.5  hypgeo.lisp 29 Oct 2004 17:06:25 0000 1.4 +++ hypgeo.lisp 1 Nov 2004 16:38:54 0000 1.5 @@ 694,30 +694,22 @@ (setq $radexpand '$all) (return (graspsometrigs exp)))) (declaretop (special asinx atanx))  (setq asinx nil atanx nil)  (defun graspsometrigs  (exp)  (prog(u x l )  (cond ((setq l (u*asinx exp))  (setq u  (cdras 'u l)  x  (cdras 'x l)  asinx  't)  (return (defintegrate u))))  (cond ((setq l (u*atanx exp))  (setq u  (cdras 'u l)  x  (cdras 'x l)  atanx  't)  (return (defintegrate u))))  (return (defintegrate exp)))) +(defun graspsometrigs (exp) + (let ((*asinx* nil) + (*atanx* nil)) + (declare (special *asinx* *atanx*)) + (prog (u x l) + (cond ((setq l (u*asinx exp)) + (setq u (cdras 'u l) + x (cdras 'x l) + *asinx* 't) + (return (defintegrate u)))) + (cond ((setq l (u*atanx exp)) + (setq u (cdras 'u l) + x (cdras 'x l) + *atanx* 't) + (return (defintegrate u)))) + (return (defintegrate exp))))) @@ 801,10 +793,11 @@ (p1 p2 p3) (cond ((eq p1 p2) p3)(t (maximasubstitute p1 p2 p3)))) (defun ltexec  (u e f)  (prog(l)  (cond ((or asinx atanx)(return (ltasinatan u e)))) +(defun ltexec (u e f) + (declare (special *asinx* *atanx*)) + (prog (l) + (cond ((or *asinx* *atanx*) + (return (ltasinatan u e)))) (cond ((zerp e)(return (ltsflog u)))) (cond ((and (not (zerp e))(setq l (c*t^v u))) (return (ltexp l e f)))) @@ 819,9 +812,10 @@ nil)) (defun ltasinatan (u e) + (declare (special *asinx* *atanx*)) (cond ((zerp e)  (cond (asinx (ltltp 'asin u var nil))  (atanx (ltltp 'atan u var nil)) + (cond (*asinx* (ltltp 'asin u var nil)) + (*atanx* (ltltp 'atan u var nil)) (t 'ltasinatanfailed1))) (t 'ltasinatanfailed2))) @@ 2396,4 +2390,3 @@ (list (add v (mul 3. (inv 2.)))) (inv (mul z z))))) (declaretop (unspecial asinx atanx)) 
From: Raymond Toy <rtoy@us...>  20041101 13:43:38

Update of /cvsroot/maxima/maxima/src In directory sc8prcvs1.sourceforge.net:/tmp/cvsserv23932/src Modified Files: schatc.lisp Log Message: Add a reference to J. Moses' thesis, and add some comments based on descriptions from his thesis. Index: schatc.lisp =================================================================== RCS file: /cvsroot/maxima/maxima/src/schatc.lisp,v retrieving revision 1.4 retrieving revision 1.5 diff u d r1.4 r1.5  schatc.lisp 4 Oct 2004 02:25:55 0000 1.4 +++ schatc.lisp 1 Nov 2004 13:43:00 0000 1.5 @@ 11,6 +11,16 @@ (inpackage "MAXIMA") (macsymamodule schatc) +;;;; I think this is described in Chapter 3 of J. Moses' thesis, +;;;; "Symbolic Integration", MITLCSTR047. A scanned version of the +;;;; thesis is available at +;;;; http://www.lcs.mit.edu/publications/pubs/pdf/MITLCSTR047.pdf. +;;;; +;;;; Unfortunately, some important pages in the scan are all black. +;;;; +;;;; Schatchen is Yiddish for "matchmaker" and Schatchen here is a +;;;; pattern matching routine. + #nil (evalwhen (eval compile) (setq oldibase *readbase* *readbase* 10.)) @@ 113,6 +123,97 @@ (defun dvcoe (e pat args) (m1 ($ratsimp (list '(mtimes) e args)) pat)) + +;;; SCHATCHEN pattern matcher. +;;; +;;; Match the (maxima) expression in E with the pattern given by P. +;;; +;;; The pattern language is partially described in Moses thesis. We +;;; summarize here some of the main ideas. (This is mostly taken from +;;; his thesis.) +;;; +;;; A variable in the pattern is written in the form (VAR name pred +;;; arg1 arg2 ... argn) +;;; +;;; where +;;; +;;; name = name of variable +;;; pred = predicate associated with the variable +;;; argi = arguments 2 through n+1 for pred +;;; +;;; The first arg of pred is assumed to the expression that the match +;;; assigns to the variable. +;;; +;;; If the variable has a mode, it is written in prefix form. Thus +;;; A*x, where A is a number and is a coefficient of plus or times +;;; becomes (coeffpt (var a number) x). +;;; +;;; Some modes: +;;; +;;; coefft  coefficient of TIMES (matches A in A*x) coeffp  +;;; coefficient of PLUS (matches B in x + B) coeffpt  coefficient of +;;; PLUS and TIMES (like coefft and coeffp and matches things like +;;; 2*x^2+sqrt(2)*x^2 so that the coefficient of x^2 is 2+sqrt(2). +;;; +;;; A brief description of the algorithm: +;;; +;;; If E equals P, the match succeeds. +;;; +;;; If P is of the form (VAR name pred arg1 ... argn), then (pred e +;;; arg1 arg2 ... argn) is evaluated. If the value of the pred is +;;; true, the match succeeds and ((name . e) is appended to the +;;; answer. Otherwise the match fails. +;;; +;;; If P is of the form (op p1 ... pn) and op is not PLUS, TIMES, or +;;; EXPT, then E must be of the form (op1 e1 ... en) and each pi must +;;; match i1 and op must match op1. Otherwise the match fails. +;;; +;;; If the pattern is of the form (EXPT p1 p2) then +;;; 1) e is (EXPT e1 e2) and p1 matches e1 and p2 matches e2 or +;;; 2) e is 0 and p1 matches 0 or +;;; 3) e is 1 and +;;; a) p2 matches 0 or +;;; b) p1 matches 1 +;;; 4) p2 matches 1 and p1 matches e +;;; +;;; Otherwise the match fails +;;; +;;; If the pattern is of the form (op p1 p2 ... pn) and op = PLUS or +;;; TIMES, then if E is not of the form (op e1 ... em), E is +;;; transformed to (op E). In this case an attempt is made to match +;;; each pi with some ej. The scan starts with p1 matched with e1. +;;; If that fails p1 is matched with e2. If pi matches some ej, ej is +;;; deleted (destructively) from E and the scan continues with pi=1 +;;; matched with he first subexpression remaining in E. If for some +;;; pi no ej can be found to match it, then pi is matched with 0 if op +;;; = PLUS or 1 if op = TIMES. If that also fails, the match fails. +;;; If all the pi have been matched, but some ej have not, the match +;;; fails. +;;; +;;; Exceptions to the above are due to modes. If op = PLUS, and pi is +;;; of the form (coeffpt (var name pred arg1 ... argn) p1 ... pk), +;;; then the remaining expression is traversed with the pattern +;;; (coefft (var name pred arg1 ... argn) p1 ... pk). Each +;;; subexpression that is thus matched is deleted from the expression. +;;; The simplified sum of the result of the scan becomes the value of +;;; the variable. If no subexpression could thuse be matched, then +;;; (pred 0 arg1 ... argn) is attempted. If this too fails, the match +;;; fails. +;;; +;;; If op = PLUS and pn is of the form (coeffp (var name pred arg1 +;;; ... argn), then if e is currently of the form (PLUS ei ... en), +;;; then (pred e arg1 ... argn) is evaluated. If the value of pred is +;;; true, ((name . e)) is appended. If no subexpressions remain in e, +;;; then pred 0 arg1 ... argn) is attempted. If it succeeds, ((name +;;; . )) is appended. Otherwise, the match fails. +;;; +;;; If op = PLUS and pi is of the form (coefft (var name pred arg1 +;;; ... argn) p1 ... pk) then (times p1 .... pk) is matched with e. +;;; If the match succeeds and e remains of the form (times e1 ... en), +;;; then (pred e arg1 ... argn) is attempted. If it fails, the match +;;; fails. If no subexpressions remain in e, then (pred 1 arg1 +;;; ... argn) is attempted. If this succeeds, ((name . 1) is +;;; appended. (defmfun schatchen (e p) (m2 e p nil)) 