An assorted selection of the tests found in the Wester benchmark 1. Compute 50! : In> 50! Out> 30414093201713378043612608166064768844377641568960512000000000000 2. Compute the prime decomposition of 6!. : In> ans:=Factors(6!) Out> {{2,4},{5,1},{3,2}} This list contains lists of two elements. This list should be interpreted as In> PrettyForm(FW(ans)) 4 2 2 * 5 * 3 Out> True 3. Compute 1/2 + ... + 1/10. : In> Sum(i,2,10,1/i) Out> 4861/2520 4. Compute a numerical approximation of e^(Pi*sqrt(163)) to 50 digits. : In> Precision(50) In> N(Exp(Pi*Sqrt(163))) Out> 262537412640768743.99999999999925007259719818568885219682604177332393 5. Compute an infinite decimal representation of 1/7 : In> Decimal(1/7) Out> {0,{1,4,2,8,5,7}} 6. Compute the first terms of the continued fraction of Pi. : In> PrettyForm(ContFrac(Pi())) 1 3 + --------------------------- 1 7 + ----------------------- 1 15 + ------------------ 1 1 + -------------- 1 292 + -------- 1 + rest Out> True 7. Simplify sqrt(2*sqrt(3)+4). : In> RadSimp(Sqrt(2*Sqrt(3)+4)) Out> 1+Sqrt(3) 8. Simplify sqrt(14+3*sqrt(3+2*sqrt(5-12*sqrt(3-2*sqrt(2))))). : In> RadSimp(Sqrt(14+3*Sqrt(3+2*Sqrt(5-12*Sqrt(3-2*Sqrt(2)))))) Out> 3+Sqrt(2) 9. Simplify 2*infinity-3. : In> 2*Infinity-3 Out> Infinity Infinity is also defined for comparisons like a < Infinity 10. Compute the normal form of (x^2-4)/(x^2+4x+4). : In> PrettyForm(GcdReduce((x^2-4)/(x^2+4*x+4),x)) -2 + x ------ 2 + x Out> True 11. Expand (x+1)^5, then differentiate and factorize. : In> ans:=Factors(D(x)Expand((x+1)^5)) In> PrettyForm(FW(ans)) 4 ( 1 + x ) * 5 Out> True 12. Simplify sqrt(997) - (997^3)^(1/6). : In> RadSimp(Sqrt(997)-997^3^(1/6)) Out> 0 13. Simplify sqrt(999983) - (999983^3)^(1/6). : In> RadSimp(Sqrt(999983)-999983^3^(1/6)) Out> 0 14. Recognize that (2^(1/3)+4^(1/3))^3-6*(2^(1/3)+4^(1/3)) - 6 is 0. : In> RadSimp((2^(1/3)+4^(1/3))^3-6*(2^(1/3)+4^(1/3))-6) Out> 0 15. Simplify log e^z into z only for -Pi < Im(z) <= Pi. : In> Simplify(Ln(Exp(z))) Out> z 16. Invert the 2x2 matrix [[a,b],[1,ab]]. : In> A:={{a,b},{1,a*b}} In> ans:=Inverse(A) Out> {{(a*b)/(b*a^2-b),(-b)/(b*a^2-b)},{-1/(b*a^2-b),a/(b*a^2-b)}} In> TableForm(Simplify(ans)) {1/(a+ -1/a),1/(1-a^2)} {1/(b-b*a^2),1/(b*a-b/a)} Out> True 17. Find the eigenvalues of the matrix [[5, -3, -7],[-2, 1, 2],[ 2, -3, -4]]. : In> A:={{5,-3,-7},{-2,1,2},{2,-3,-4}} In> EigenValues(A) Out> {1,3,-2} 18. Compute the limit of (1-cos x)/x^2 when x goes to zero. : In> Limit(x,0)(1-Cos(x))/x^2 Out> 1/2 19. Compute the derivative of |x|. : In> D(x)Abs(x) Out> Sign(x) 20. Compute an antiderivative of |x|. : In> AntiDeriv(Abs(x),x) Out> (Abs(x)*x)/2 21. Compute the derivative of |x| (piecewise defined). : In> D(x)if(x<0)(-x)else x Out> if(x<0)-1else1 22. Compute the antiderivative of |x| (piecewise defined). : In> AntiDeriv(if(x<0)(-x)else x,x) Out> if(x<0)(-x^2/2)else x^2/2 23. Compute the first terms of the Taylor expansion of 1/sqrt(1-v^2/c^2) at v=0. : In> ans:=Taylor(v,0,4)Sqrt(1/(1-v^2/c^2)) In> ans:=Simplify(ans) In> PrettyForm(ans) 2 4 v 3 * v 1 + ------ + ------ 2 4 2 * c 8 * c Out> True 24. Compute the inverse of the square of the above expansion. : In> ans:=Taylor(v,0,4)(1/ans)^2 In> PrettyForm(Simplify(ans)) 2 v 1 - -- 2 c Out> True 25. Compute the Taylor expansion of tan(x) at x=0 by dividing the expansion of sin(x) by that of cos(x). : In> ans1:=Taylor(x,0,5)Sin(x)/Cos(x) In> PrettyForm(ans1) 3 5 x 2 * x x + -- + ------ 3 15 In> ans2:=Taylor(x,0,5)Tan(x) In> PrettyForm(ans2) 3 5 x 2 * x x + -- + ------ 3 15 In> ans1-ans2 Out> 0 26. Compute the Legendre polynomials directly. : In> 10#Legendre(0,_x)<--1 In> 20#Legendre(n_IsInteger,_x)<--[Local(result);result:=[Local(x);Expand(1/(2^n*n!)*Deriv(x,n)Expand((x^2-1)^n,x));];Eval(result);] In> ForEach(item,Table(Legendre(i,x),i,0,4,1))PrettyForm(item) 1 x 2 -1 + 3 * x ----------- 2 3 -3 * x + 5 * x --------------- 2 2 4 3 -15 * x 35 * x - + -------- + ------- 8 4 8 27. Compute the Legendre polynomials recursively, using their recurrence of order 2. : In> 10#LegendreRecursive(0,_x)<--1 In> 20#LegendreRecursive(1,_x)<--x In> 30#LegendreRecursive(n_IsPositiveInteger,_x)<--Expand(((2*n-1)*x*LegendreRecursive(n-1,x)-(n-1)*LegendreRecursive(n-2,x))/n) In> ForEach(item,Table(LegendreRecursive(i,x),i,0,4,1))PrettyForm(item) 1 x 2 -1 + 3 * x ----------- 2 3 -3 * x + 5 * x --------------- 2 2 4 3 -15 * x 35 * x - + -------- + ------- 8 4 8 28. Evaluate the fourth Legendre polynomial at 1. : In> Legendre(4,1) Out> 1 29. Define the polynomial p = sum( i=1..5, ai*x^i ). : In> ans:=Sum(MakeVector(a,5)*FillList(x,5)^(1..5)) In> PrettyForm(ans) 2 3 4 5 a1 * x + a2 * x + a3 * x + a4 * x + a5 * x 30. Apply Horner's rule to the above polynomial. : In> ans:=Sum(MakeVector(a,5)*FillList(x,5)^(1..5)) In> PrettyForm(Horner(ans,x)) ( ( ( ( a5 * x + a4 ) * x + a3 ) * x + a2 ) * x + a1 ) * x 31. Compute the first terms of the continued fraction of Pi. : In> pi:=N(Pi,20) In> a:=ContFrac(pi,6) In> PrettyForm(a) 1 3 + --------------------------- 1 7 + ----------------------- 1 15 + ------------------ 1 1 + -------------- 1 292 + -------- 1 + rest 32. Compute an infinite decimal representation of 1/7. : In> Decimal(1/7) Out> {0,{1,4,2,8,5,7}} This result means that the decimal expansion of 1/7 is 0.142857142857142.... 33. Evaluate TRUE and FALSE. : In> True And False Out> False 34. Solve the equation tan(x) = 1. : In> Solve(Tan(x)==1,x) Out> Pi/4 35. Revert the Taylor expansion of sin(y) + cos(y) at y=0. : In> t:=InverseTaylor(y,0,6)Sin(y)+Cos(y) In> PrettyForm(t) 2 3 ( y - 1 ) 2 * ( y - 1 ) 4 y - 1 + ---------- + -------------- + ( y - 1 ) + 2 3 5 17 * ( y - 1 ) --------------- 10 And check that it is in fact the inverse up to degree 5: In> s:=Taylor(y,0,6)Sin(y)+Cos(y) In> BigOh(Subst(y,s)t,y,6) Out> y 36. Solve the linear (dependent) system x+y+z=6,2x+y+2z=10,x+3y+z=10. : In> Solve({x+y+z==6,2*x+y+2*z==10,x+3*y+z==10},{x,y,z}) Out> {{4-z,2,z}} 37. Evaluate True And False : In> True And False Out> False In> CanProve(True And False) Out> False 38. Simplify x or (not x) : In> CanProve(x Or Not x) Out> True 39. Simplify x or y or (x and y) : In> CanProve(x Or y Or x And y) Out> x Or y 39 examples done