Mon Mar 31 21:39:29 MST 1997 aquarius% reduce REDUCE 3.6, 15-Jul-95, patched to 15 Apr 96 ... 1: % ----------[ R e d u c e ]---------- % ---------- Initialization ---------- on time; Time: 0 ms % ---------- Trigonometry ---------- % => - [(sqrt(5) + 1) sqrt(2)]/[(sqrt(5) - 1) sqrt(sqrt(5) + 5)] % = - sqrt[1 + 2/sqrt(5)] % From B. F. Caviness, Robert P. Gilbert, Wolfram Koepf, Roman Shtokhamer and % David W. Wood, _An Introduction to Applied Symbolic Computation using % MACSYMA_, University of Delaware, draft of December 14, 1993, section 2.3.3. load_package(assist)$ Time: 60 ms tan(7*pi/10); 7*pi tan(------) 10 Time: 20 ms trigreduce(ws); 3*pi - sin(------) 10 ---------------- 3*pi cos(------) 10 Time: 60 ms % => - cos 3 sqrt((1 + cos(6))/2); sqrt(cos(6) + 1) ------------------ sqrt(2) Time: 10 ms % cos(n pi) + sin((4 n - 1)/2 pi) => (-1)^n - 1 for integer n cos(n*pi) + sin((4*n - 1)/2 * pi); 4*n*pi - pi cos(n*pi) + sin(-------------) 2 Time: 10 ms % cos(cos(n pi) pi) + sin(cos(n pi) pi/2) => -1 + (-1)^n for integer n cos(cos(n*pi)*pi) + sin(cos(n*pi)*pi/2); cos(n*pi)*pi cos(cos(n*pi)*pi) + sin(--------------) 2 Time: 20 ms % sin([n^5/5 + n^4/2 + n^3/3 - n/30] pi) => 0 for integer n % [Paul Zimmermann] sin((n^5/5 + n^4/2 + n^3/3 - n/30) * pi); 5 4 3 6*n *pi + 15*n *pi + 10*n *pi - n*pi sin(--------------------------------------) 30 Time: 20 ms % | cos x |, | sin x | => - cos x, - sin x for - 3 pi < x < - 5/2 pi %assume(-3*Pi < x, x < -5/2*Pi); {abs(cos(x)), abs(sin(x))}; {abs(cos(x)),abs(sin(x))} Time: 10 ms clear x; Time: 0 ms % Trigonometric manipulations---these are typically difficult for students r:= cos(3*x)/cos(x); cos(3*x) r := ---------- cos(x) Time: 10 ms % => cos(x)^2 - 3 sin(x)^2 or similar trigexpand(r); 2 2 cos(x) - 3*sin(x) Time: 10 ms % => 2 cos(2 x) - 1 trigreduce(trigexpand(r)); 2*cos(2*x) - 1 Time: 40 ms % Use rewrite rules => cos(x)^2 - 3 sin(x)^2 for all n, x such that fixp(n) let cos(n*x) = cos((n - 1)*x) * cos(x) - sin((n - 1)*x) * sin(x); Time: 10 ms for all n, x such that fixp(n) let sin(n*x) = sin((n - 1)*x) * cos(x) + cos((n - 1)*x) * sin(x); Time: 0 ms r; 2 2 cos(x) - 3*sin(x) Time: 10 ms for all n, x such that fixp(n) clear cos(n*x); Time: 0 ms for all n, x such that fixp(n) clear sin(n*x); Time: 10 ms clear r; Time: 0 ms load_package(trigsimp)$ Time: 260 ms % Here is a tricky way of writing 0/0 xpr:= (tan(x)^2 + 1 - sec(x)^2)/(sin(x)^2 + cos(x)^2 - 1); 2 2 - sec(x) + tan(x) + 1 xpr := -------------------------- 2 2 cos(x) + sin(x) - 1 Time: 0 ms % Let's try simplifying this expression! trigsimp(xpr); ***** Zero divisor Cont? (Y or N) ?y Time: 20 ms % What is its limit at zero? limit(xpr, x, 0); limit(xpr,x,0) Time: 90 ms % What is the derivative? df(xpr, x); ***** Zero divisor Cont? (Y or N) ?y Time: 0 ms clear xpr; Time: 10 ms % ---------- Quit ---------- quit; Quitting real 10.78 user 0.73 sys 1.32