Merge branch 'master' into rtoy-verify-html-index
[maxima.git] / tests / wester_problems / test_math_vs_cs_match.mac
blob3c324d59870d061e99e2a3b0a218749630e297f0
1 /* Original version of this file copyright 1999 by Michael Wester,
2  * and retrieved from http://www.math.unm.edu/~wester/demos/MathvsCS/match.macsyma
3  * circa 2006-10-23.
4  *
5  * Released under the terms of the GNU General Public License, version 2,
6  * per message dated 2007-06-03 from Michael Wester to Robert Dodier
7  * (contained in the file wester-gpl-permission-message.txt).
8  *
9  * See: "A Critique of the Mathematical Abilities of CA Systems"
10  * by Michael Wester, pp 25--60 in
11  * "Computer Algebra Systems: A Practical Guide", edited by Michael J. Wester
12  * and published by John Wiley and Sons, Chichester, United Kingdom, 1999.
13  */
14 /* ----------[ M a c s y m a ]---------- */
15 /* ---------- Initialization ---------- */
16 showtime: all$
17 prederror: false$
18 /* ---------- Mathematics vs Computer Science ---------- */
19 /* Just how well are pattern matches between mathematically equivalent forms
20    performed? */
21 matchdeclare(x, true)$
22 defmatch(match, exp(x), x)$
23 match(exp(y), y);
24 match(%e^y,   y);
25 defmatch(match, %e^x, x)$
26 match(exp(y), y);
27 match(%e^y,   y);
28 defmatch(match, sqrt(x), x)$
29 match(sqrt(y), y);
30 match(y^(1/2), y);
31 defmatch(match, x^(1/2), x)$
32 match(sqrt(y), y);
33 match(y^(1/2), y);
34 defmatch(match, %i*x, x)$
35 match(%i*y,         y);
36 match(sqrt(-1)*y,   y);
37 match((-1)^(1/2)*y, y);
38 defmatch(match, sqrt(-1)*x, x)$
39 match(%i*y,         y);
40 match(sqrt(-1)*y,   y);
41 match((-1)^(1/2)*y, y);
42 defmatch(match, (-1)^(1/2)*x, x)$
43 match(%i*y,         y);
44 match(sqrt(-1)*y,   y);
45 match((-1)^(1/2)*y, y);
46 kill(x)$