Merge branch 'rtoy-remove-more-lmdcls'
[maxima.git] / share / contrib / lurkmathml / maximadiffs.txt
blobb8c889b107614f602810add745896c9149aa99df
1 diff -r -c -C 5 maxima-5.9.0rc3_orig/doc/info/Input.texi maxima-5.9.0rc3/doc/info/Input.texi
2 *** maxima-5.9.0rc3_orig/doc/info/Input.texi    Sat Mar 30 06:49:22 2002
3 --- maxima-5.9.0rc3/doc/info/Input.texi Sun Jan  5 17:17:20 2003
4 ***************
5 *** 682,691 ****
6 --- 682,733 ----
7   the LOADFILE command is used; 'AUTOLOAD means print only when a file
8   is automatically loaded in (e.g. the integration file SIN FASL); FALSE
9   means never print the loading message.
10   
11   @end defvar
12 + @defun MATHML (expr)
13 + @defunx MATHML (expr,filename)
14 + @defunx MATHML (label,filename)
15
16 + Convert an expression to Presentation MathML (v2).
17
18 + In the case of a label,
19 + an equation-number will be produced.
20 + in case a file-name is supplied, the output will be appended to the
21 + file.
22
23 + @example
24 + (C1) integrate(1/(1+x^3),x);
25
26 +                                        2 x - 1
27 +                      2            ATAN(-------)
28 +                 LOG(x  - x + 1)        SQRT(3)    LOG(x + 1)
29 + (D1)          - --------------- + ------------- + ----------
30 +                        6             SQRT(3)          3
31 + (C2) mathml(d1);
32 + <math xmlns="http://www.w3.org/1998/Math/MathML"> -<mfrac><mrow>
33 +  <mi>log</mi> <mfenced separators=""><msup><mrow><mi>x</mi> </mrow> 
34 +  <mn>2</mn> </msup> <mo>-</mo> <mi>x</mi> <mo>+</mo> <mn>1</mn> 
35 +  </mfenced> </mrow> <mrow><mn>6</mn> </mrow></mfrac> <mo>+</mo> 
36 +  <mfrac><mrow><mi>arctan</mi> <mfenced separators=""><mfrac><mrow>
37 +  <mn>2</mn> <mspace width="thinmathspace"/><mi>x</mi> <mo>-</mo> 
38 +  <mn>1</mn> </mrow> <mrow><msqrt><mn>3</mn> </msqrt></mrow></mfrac> 
39 +  </mfenced> </mrow> <mrow><msqrt><mn>3</mn> </msqrt></mrow></mfrac> 
40 +  <mo>+</mo> <mfrac><mrow><mi>log</mi> <mfenced separators="">
41 +  <mi>x</mi> <mo>+</mo> <mn>1</mn> </mfenced> </mrow> <mrow>
42 +  <mn>3</mn> </mrow></mfrac> <mspace width="verythickmathspace"/> 
43 +  <mtext>(D1)</mtext> </math>
44 + (D2)                               (D1)
45 + (C6) mathml(integrate(sin(x),x));
46 + <math xmlns="http://www.w3.org/1998/Math/MathML"> -<mi>cos</mi> 
47 +  <mi>x</mi> </math>
48 + (D6)                               FALSE
49 + (C7) mathml(d1,"/tmp/jo.xml");
50 + (D7)                               (D1)
51 + @end example
52 + where the last expression will be appended to the file @file{/tmp/jo.xml}
53 + @end defun
54   @c @node NOSTRING, OBASE, LOADPRINT, Input and Output
55   @c @unnumberedsec phony
56   @defun NOSTRING (arg)
57   displays all input lines when playing back rather than
58   STRINGing them.  If arg is GRIND then the display will be in a more
59 diff -r -c -C 5 maxima-5.9.0rc3_orig/src/Makefile.am maxima-5.9.0rc3/src/Makefile.am
60 *** maxima-5.9.0rc3_orig/src/Makefile.am        Sun Oct 27 21:16:27 2002
61 --- maxima-5.9.0rc3/src/Makefile.am     Fri Nov 29 16:58:31 2002
62 ***************
63 *** 191,200 ****
64 --- 191,201 ----
65   macsys.lisp \
66   mactex.lisp \
67   marray.lisp \
68   mat.lisp \
69   matcom.lisp \
70 + mathml.lisp \
71   matrix.lisp \
72   matrun.lisp \
73   max_ext.lisp \
74   maxima-package.lisp \
75   maxmac.lisp \
76 diff -r -c -C 5 maxima-5.9.0rc3_orig/src/Makefile.in maxima-5.9.0rc3/src/Makefile.in
77 *** maxima-5.9.0rc3_orig/src/Makefile.in        Tue Oct 29 22:06:15 2002
78 --- maxima-5.9.0rc3/src/Makefile.in     Fri Nov 29 17:01:00 2002
79 ***************
80 *** 159,168 ****
81 --- 159,169 ----
82   macsys.lisp \
83   mactex.lisp \
84   marray.lisp \
85   mat.lisp \
86   matcom.lisp \
87 + mathml.lisp \
88   matrix.lisp \
89   matrun.lisp \
90   max_ext.lisp \
91   maxima-package.lisp \
92   maxmac.lisp \
93 diff -r -c -C 5 maxima-5.9.0rc3_orig/src/clisp-depends.mk maxima-5.9.0rc3/src/clisp-depends.mk
94 *** maxima-5.9.0rc3_orig/src/clisp-depends.mk   Sun Oct 27 19:49:39 2002
95 --- maxima-5.9.0rc3/src/clisp-depends.mk        Fri Nov 29 17:01:00 2002
96 ***************
97 *** 238,247 ****
98 --- 238,248 ----
99   binary-clisp/maxima.mem : invert.lisp
100   binary-clisp/maxima.mem : hypgeo.lisp
101   binary-clisp/maxima.mem : hyp.lisp
102   binary-clisp/maxima.mem : todd-coxeter.lisp
103   binary-clisp/maxima.mem : mactex.lisp
104 + binary-clisp/maxima.mem : mathml.lisp
105   binary-clisp/maxima.mem : plot.lisp
106   binary-clisp/maxima.mem : autol.lisp
107   binary-clisp/maxima.mem : max_ext.lisp
108   binary-clisp/maxima.mem : autoconf-variables.lisp
109   binary-clisp/maxima.mem : init-cl.lisp
110 diff -r -c -C 5 maxima-5.9.0rc3_orig/src/cmucl-depends.mk maxima-5.9.0rc3/src/cmucl-depends.mk
111 *** maxima-5.9.0rc3_orig/src/cmucl-depends.mk   Sun Oct 27 19:49:37 2002
112 --- maxima-5.9.0rc3/src/cmucl-depends.mk        Fri Nov 29 16:57:24 2002
113 ***************
114 *** 238,247 ****
115 --- 238,248 ----
116   binary-cmucl/maxima.core : invert.lisp
117   binary-cmucl/maxima.core : hypgeo.lisp
118   binary-cmucl/maxima.core : hyp.lisp
119   binary-cmucl/maxima.core : todd-coxeter.lisp
120   binary-cmucl/maxima.core : mactex.lisp
121 + binary-cmucl/maxima.core : mathml.lisp
122   binary-cmucl/maxima.core : plot.lisp
123   binary-cmucl/maxima.core : autol.lisp
124   binary-cmucl/maxima.core : max_ext.lisp
125   binary-cmucl/maxima.core : autoconf-variables.lisp
126   binary-cmucl/maxima.core : init-cl.lisp
127 diff -r -c -C 5 maxima-5.9.0rc3_orig/src/gcl-depends.mk maxima-5.9.0rc3/src/gcl-depends.mk
128 *** maxima-5.9.0rc3_orig/src/gcl-depends.mk     Sun Oct 27 19:49:31 2002
129 --- maxima-5.9.0rc3/src/gcl-depends.mk  Fri Nov 29 16:57:11 2002
130 ***************
131 *** 237,246 ****
132 --- 237,247 ----
133   binary-gcl/maxima : invert.lisp
134   binary-gcl/maxima : hypgeo.lisp
135   binary-gcl/maxima : hyp.lisp
136   binary-gcl/maxima : todd-coxeter.lisp
137   binary-gcl/maxima : mactex.lisp
138 + binary-gcl/maxima : mathml.lisp
139   binary-gcl/maxima : plot.lisp
140   binary-gcl/maxima : autol.lisp
141   binary-gcl/maxima : max_ext.lisp
142   binary-gcl/maxima : autoconf-variables.lisp
143   binary-gcl/maxima : init-cl.lisp
144 Only in maxima-5.9.0rc3/src: mathml.lisp
145 diff -r -c -C 5 maxima-5.9.0rc3_orig/src/max_ext.lisp maxima-5.9.0rc3/src/max_ext.lisp
146 *** maxima-5.9.0rc3_orig/src/max_ext.lisp       Mon Sep 23 23:32:55 2002
147 --- maxima-5.9.0rc3/src/max_ext.lisp    Fri Nov 29 17:00:52 2002
148 ***************
149 *** 1,9 ****
150 --- 1,10 ----
151   ;;Autoloads for maxima
152   (in-package "MAXIMA")
153   
154   (AUTO-MSPEC '$TEX '|mactex|)
155 + (AUTO-MSPEC '$MATHML '|mathml|)
156   (AUTOF '$FUNCSOL '|nusum|)
157   ;(AUTOF '$NUSUML '|nusum|)
158   (AUTOF '$RFORM '|nusum|)
159   ;(AUTOF '$RFORN '|nusum|)
160   ;(AUTOF '$PRODSHIFT '|nusum|)
161 diff -r -c -C 5 maxima-5.9.0rc3_orig/src/maxima.system maxima-5.9.0rc3/src/maxima.system
162 *** maxima-5.9.0rc3_orig/src/maxima.system      Tue Oct 22 23:52:03 2002
163 --- maxima-5.9.0rc3/src/maxima.system   Fri Nov 29 17:00:19 2002
164 ***************
165 *** 397,406 ****
166 --- 397,407 ----
167                          (:file "invert")
168                          (:file "hypgeo")
169                          (:file "hyp")
170                          (:file "todd-coxeter")
171                          (:file "mactex")
172 +                        (:file "mathml")
173                          (:file "plot")))
174                (:module final :source-pathname ""
175                         ;; These are not compiled, for whatever reason
176                         :load-only t
177                         :components ((:file "autol")
178 Only in maxima-5.9.0rc3/tests: mathml_ref_list
179 Only in maxima-5.9.0rc3/tests: mathmltest
180 diff -r -c -C 5 maxima-5.9.0rc3_orig/tests/rtest11.mac maxima-5.9.0rc3/tests/rtest11.mac
181 *** maxima-5.9.0rc3_orig/tests/rtest11.mac      Mon May  8 07:09:42 2000
182 --- maxima-5.9.0rc3/tests/rtest11.mac   Sat Jan  4 11:14:58 2003
183 ***************
184 *** 23,37 ****
185   EXP2:diff(EXP1,X);
186   1/(3*((2*X-2^(1/3))^2/(3*2^(2/3))+1))-(2*X-2^(1/3))
187                                  /(6*2^(2/3)*(X^2-2^(1/3)*X+2^(2/3)))
188                                 +1/(3*2^(2/3)*(X+2^(1/3)))$  
189                                 
190 ! /* was 1/(3*((2*2^(2/3)*X-2)^2/12+1))-2^(1/3)*(2*2^(2/3)*X-2)
191 !                              /(12*(2^(2/3)*X^2-2*X+2*2^(1/3)))
192 !                             +2^(1/3)/(6*(X+2^(1/3)))$
193 !                               which is equal
194 ! */                            
195   radcan(EXP2);
196   1/(X^3+2)$
197   reveal(EXP1:-LOG(X^2-2^(1/3)*X+2^(2/3))/(6*2^(2/3))+ATAN((2*X-2^(1/3))/(2^(1/3)*SQRT(3)))
198                                         /(2^(2/3)*SQRT(3))
199                                        +LOG(X+2^(1/3))/(3*2^(2/3)),2);
200 --- 23,36 ----
201   EXP2:diff(EXP1,X);
202   1/(3*((2*X-2^(1/3))^2/(3*2^(2/3))+1))-(2*X-2^(1/3))
203                                  /(6*2^(2/3)*(X^2-2^(1/3)*X+2^(2/3)))
204                                 +1/(3*2^(2/3)*(X+2^(1/3)))$  
205                                 
206 ! /* was 1/(3*((2*2^(2/3)*X-2)^2/12+1))-2^(1/3)*(2*2^(2/3)*X-2) */
207 ! /*                           /(12*(2^(2/3)*X^2-2*X+2*2^(1/3))) */
208 ! /*                          +2^(1/3)/(6*(X+2^(1/3)))$ */
209 ! /*                            which is equal */
210   radcan(EXP2);
211   1/(X^3+2)$
212   reveal(EXP1:-LOG(X^2-2^(1/3)*X+2^(2/3))/(6*2^(2/3))+ATAN((2*X-2^(1/3))/(2^(1/3)*SQRT(3)))
213                                         /(2^(2/3)*SQRT(3))
214                                        +LOG(X+2^(1/3))/(3*2^(2/3)),2);
215 diff -r -c -C 5 maxima-5.9.0rc3_orig/tests/rtest13.mac maxima-5.9.0rc3/tests/rtest13.mac
216 *** maxima-5.9.0rc3_orig/tests/rtest13.mac      Mon May  8 07:09:42 2000
217 --- maxima-5.9.0rc3/tests/rtest13.mac   Sat Jan  4 11:13:49 2003
218 ***************
219 *** 50,87 ****
220   'DIFF(G(X),X,2) = 'DIFF(F(X),X,1)-COS(X)$
221   ATVALUE('DIFF(G(X),X),X = 0,A);
222   A$
223   ATVALUE(F(X),X = 0,1);
224   1$
225 ! /* The matchfix stuff seems to work but is difficult for batch to parse and check
226 !  MATCHFIX("{","}");
227 ! "{"$
228 ! INFIX("|");
229 ! "|"$
230 ! EXP1:{X | X > 0};
231 ! {X | X > 0}$
232 ! EXP2:{X | X < 2};
233 ! {X | X < 2}$
234 ! INFIX("OU");
235 ! OU$
236 ! INFIX("OI");
237 ! OI$
238 ! EXP1 OU EXP2;
239 ! {X | X > 0} OU {X | X < 2}$
240 ! EXP1 OU EXP2;
241 ! {X | X > 0} OU {X | X < 2}$
242 ! EXP1:{1,2,3};
243 ! {1,2,3}$
244 ! {3,4,5};
245 ! {3,4,5}$
246 ! EXP1 OU EXP1 OU %;
247 ! {1,2,3} OU {1,2,3} OU {3,4,5}$
248 ! INFIX("ou",100,100);
249 ! OU$
250 ! EXP2:INFIX("OI",120,120);
251 ! OI$
252 ! EXP1 OU EXP1 OU %;
253 ! {1,2,3} OU {1,2,3} OU OI$
254 ! REMOVE("ou",OPERATOR);
255 ! DONE$
256 ! ERRCATCH(EXP1 OU EXP2);
257 ! [{1,2,3} OU OI]$  */
258 --- 50,87 ----
259   'DIFF(G(X),X,2) = 'DIFF(F(X),X,1)-COS(X)$
260   ATVALUE('DIFF(G(X),X),X = 0,A);
261   A$
262   ATVALUE(F(X),X = 0,1);
263   1$
264 ! /* The matchfix stuff seems to work but is difficult for batch to parse and check */
265 ! /* MATCHFIX("{","}"); */
266 ! /* "{"$ */
267 ! /* INFIX("|"); */
268 ! /* "|"$ */
269 ! /* EXP1:{X | X > 0}; */
270 ! /* {X | X > 0}$ */
271 ! /* EXP2:{X | X < 2}; */
272 ! /* {X | X < 2}$ */
273 ! /* INFIX("OU"); */
274 ! /* OU$ */
275 ! /* INFIX("OI"); */
276 ! /* OI$ */
277 ! /* EXP1 OU EXP2; */
278 ! /* {X | X > 0} OU {X | X < 2}$ */
279 ! /* EXP1 OU EXP2; */
280 ! /* {X | X > 0} OU {X | X < 2}$ */
281 ! /* EXP1:{1,2,3}; */
282 ! /* {1,2,3}$ */
283 ! /* {3,4,5}; */
284 ! /* {3,4,5}$ */
285 ! /* EXP1 OU EXP1 OU %; */
286 ! /* {1,2,3} OU {1,2,3} OU {3,4,5}$ */
287 ! /* INFIX("ou",100,100); */
288 ! /* OU$ */
289 ! /* EXP2:INFIX("OI",120,120); */
290 ! /* OI$ */
291 ! /* EXP1 OU EXP1 OU %; */
292 ! /* {1,2,3} OU {1,2,3} OU OI$ */
293 ! /* REMOVE("ou",OPERATOR); */
294 ! /* DONE$ */
295 ! /* ERRCATCH(EXP1 OU EXP2); */
296 ! /* [{1,2,3} OU OI]$  */ 
297 \ No newline at end of file
298 diff -r -c -C 5 maxima-5.9.0rc3_orig/tests/rtest9a.mac maxima-5.9.0rc3/tests/rtest9a.mac
299 *** maxima-5.9.0rc3_orig/tests/rtest9a.mac      Mon May  8 07:09:42 2000
300 --- maxima-5.9.0rc3/tests/rtest9a.mac   Sat Jan  4 11:17:05 2003
301 ***************
302 *** 29,41 ****
303   SIN(X+(O+1/2)*%PI);
304   -COS(X)$
305   (linel:500,DIFF(EXP(X^2+Y)/(X+Y),X,2));
306   4*X^2*%E^(Y+X^2)/(Y+X)+2*%E^(Y+X^2)/(Y+X)-4*X*%E^(Y+X^2)/(Y+X)^2
307                       +2*%E^(Y+X^2)/(Y+X)^3$
308 ! /* we use sconcat here, because it is not possible to compare the
309 !   output from optimize which involves gensyms with something we read.
310 ! */
311   sconcat(OPTIMIZE(%));
312   sconcat("BLOCK([%1,%2,%3,%4],%1:Y+X,%2:X^2,%3:%E^(Y+%2),%4:1/%1,4*%2*%4*%3+2*%4*%3-4*X*%3/%1^2+2*%3/%1^3)")$
313   linel:79;
314   79$
315   LAPLACE(%E^(2*T+A)*SIN(T)*T,T,S);
316 --- 29,40 ----
317   SIN(X+(O+1/2)*%PI);
318   -COS(X)$
319   (linel:500,DIFF(EXP(X^2+Y)/(X+Y),X,2));
320   4*X^2*%E^(Y+X^2)/(Y+X)+2*%E^(Y+X^2)/(Y+X)-4*X*%E^(Y+X^2)/(Y+X)^2
321                       +2*%E^(Y+X^2)/(Y+X)^3$
322 ! /* we use sconcat here, because it is not possible to compare the */
323 ! /* output from optimize which involves gensyms with something we read. */
324   sconcat(OPTIMIZE(%));
325   sconcat("BLOCK([%1,%2,%3,%4],%1:Y+X,%2:X^2,%3:%E^(Y+%2),%4:1/%1,4*%2*%4*%3+2*%4*%3-4*X*%3/%1^2+2*%3/%1^3)")$
326   linel:79;
327   79$
328   LAPLACE(%E^(2*T+A)*SIN(T)*T,T,S);
329 ***************
330 *** 46,55 ****
331   B*LAPLACE(F(T),T,S)+A*LAPLACE(F(T),T,S)/(S^2-A^2) = 2/S^3$
332   LINSOLVE([%],['LAPLACE(F(T),T,S)]);
333   exp:['LAPLACE(F(T),T,S) = (2*S^2-2*A^2)/(B*S^5+(A-A^2*B)*S^3)]$
334   
335   /* This is ok but needs a response */
336 ! /*
337 ! ("respond POSITIVE to a*b(a*b-1) positive,negative,or zero", ILT(EV(exp[1]),S,T));
338 ! F(T) = -2*COSH(SQRT(A*B*(A*B-1))*T/B)/(A^3*B^2-2*A^2*B+A)
339 !      +A*T^2/(A*B-1)+2/(A^3*B^2-2*A^2*B+A)$
340 ! */
341 \ No newline at end of file
342 --- 45,52 ----
343   B*LAPLACE(F(T),T,S)+A*LAPLACE(F(T),T,S)/(S^2-A^2) = 2/S^3$
344   LINSOLVE([%],['LAPLACE(F(T),T,S)]);
345   exp:['LAPLACE(F(T),T,S) = (2*S^2-2*A^2)/(B*S^5+(A-A^2*B)*S^3)]$
346   
347   /* This is ok but needs a response */
348 ! /* ("respond POSITIVE to a*b(a*b-1) positive,negative,or zero", ILT(EV(exp[1]),S,T)); */
349 ! /* F(T) = -2*COSH(SQRT(A*B*(A*B-1))*T/B)/(A^3*B^2-2*A^2*B+A) */
350 ! /*      +A*T^2/(A*B-1)+2/(A^3*B^2-2*A^2*B+A)$ */
351 \ No newline at end of file