Chapter 1 Solutions
- Subject: Chapter 1 Solutions
- From: Richard Fateman
- Date: Thu, 28 Mar 2013 10:08:46 -0700
I have not seen this particular book, but I am beginning to question the
wisdom of
posting the complete solutions.
Anyone taking a course with this textbook will then simply be able to do any
homework problems taken from this book by copying what is in your posting.
and pasting in to maxima.
Thus converting a course in calculus to an exercise in cutting and pasting.
It might make more sense to show one type of each problem and how to
do it in Maxima, allowing the students to demonstrate (say) typing skills
and a modicum of pattern matching. It does not mean they understand
such concepts as plotting, distance, the equation of a line, but they can
sort of manipulate these ideas a little.
Basically, the vast majority of people taking calculus do not wish to learn
calculus. They are forced to take it. Enabling them to pass the course
without learning it is a plausible goal, for those students. Not such
a pleasant
prospect for math teachers.
So my suggestion is to NOT post all the solutions. Most of the
computer-algebra
interest vanishes after the first demonstration that a certain kind of
problem
CAN be solved by routine commands. The rest, which consists of posting
a cheat-sheet for the textbook, is of much less interest, and possibly
anti-educational.
RJF
On 3/26/2013 6:01 PM, Thomas D. Dean wrote:
> If this is too big, I will try to find another way.
>
> /* Examples and Problems from
> Calculus With Analytic Geometry
> Earl W. Swokowski
> Second Edition
>
> Solutions by: tomdean at speakeasy.org
>
> */
>
> /* This is free software: you can redistribute it and/or modify it
> under the terms of the GNU General Public License as published by
> the Free Software Foundation, either version 3 of the License, or
> (at your option) any later version.
>
> This is distributed in the hope that it will be useful, but WITHOUT
> ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
> or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
> License for more details.
>
> You should have received a copy of the GNU General Public License
> along with Foobar. If not, see <http://www.gnu.org/licenses/>.
> */
>
> kill(all);
>
> plot2d(x^2,[x,-10,10]);
>
> /* circle at (-2,3), passing thru (4,5) */
> eq1:(x+h)^2+(y+k)^2=r^2;
> /* the radius is distance (-2,3) .. (4,5); */
> req:sqrt((4-(-2))^2+(5-3)^2);
> heq:-2; keq:3;
> eq2:subst([r=req, h=heq, k=keq],eq1);
> eq3:expand(eq2);
> eq3-rhs(eq3);
>
> kill(all);
> depends(y,x);
> eq1:x^2+y^2-4*x+6*y-3=0;
> eq2: (x^2-4*x+m^2) + (y^2+6*y+n^2) = 3;
> eq3:first(solve(1*m*2=-4,m));
> eq4:first(solve(1*n*2=6,n));
> eq5:lhs(subst([eq3, eq4],eq2))=rhs(eq3)^2+rhs(eq4)^2+3;
> eq6:factor(x^2-4*x+rhs(eq3)^2);
> eq7:factor(y^2+6*y+rhs(eq4)^2);
> eq8:sqrt(rhs(eq5));
> print(eq6," + ", eq7, " = ",rhs(eq5))$
>
> kill(all);
>
> /****************************************************************/
> /* Exercises 1.2 Coordinate systems in R^2 */
>
> dist(a,b):=sqrt((a-b).(a-b));
> /* 1 */ A:[6,-2]; B:[2,1]; dist(A,B);
> /* 2 */ A:[-4,-1];B:[2,3]; dist(B,A);
> /* 3 */ A:[0,-7]; B:[-1,-2]; dist(B,A);
> /* 4 */ A:[4,5]; B:[4,-4]; dist(A,B);
> /* 5 */ A:[-3,-2];B:[-8,2]; dist(A,B);
> /* 6 */ A:[11,-7];B:[-9,0]; dist(A,B);
>
> /* 7 */ A:[-3,4]; B:[2,-1]; C:[9,6];
> [dist(A,B)^2,dist(B,C)^2,dist(A,C)^2];
> /* 8 */ A:[7,2]; B:[-4,0]; C:[4,6];
> [dist(A,B)^2,dist(B,C)^2,dist(A,C)^2];
> /* 9 thru 32 are sketches */
>
> circle(a,b,r):=(x+a)^2+(y+b)^2=r^2;
> /* 33 */circle(3,-2,4);
> /* 34 */circle(-5,2,5);
> circle(p1,p2):=(x+p1[1])^2+(y+p1[2])^2=(p2-p1).(p2-p1);
> /* 35 */circle([0,0],[-3,5]);
> /* 36 */circle([-4,6],[1,2]);
> /* 37 */circle([-4,2],[-4,0]);
> /* 38 */circle([3,5],[0,5]);
> p1:[4,-3];p2:[-2,7];
> dist(p1,p2);
> /* 39 */circle((p1+p2)/2,p2);
> /* 40 */circle([2,2],[2,0]);
> ctr(eq):=(
> x2:coeff(lhs(eq),x^2),
> eq:expand(eq/x2),
> x2:1,
> x1:coeff(lhs(eq),x^1),
> c:coeff(coeff(lhs(eq),x,0),y,0),
> y2:coeff(lhs(eq),y^2),
> y1:coeff(lhs(eq),y^1),
> x0:x1^2/4/x2^2,
> y0:y1^2/4/y2^2,
> factor(x2*x^2+x1*x+x0)+factor(y2*y^2+y1*y+y0)=-c+x0+y0
> )$
> /* 41 */ ctr(x^2+y^2+4*x-6*y+4=0);
> /* 42 */ ctr(x^2+y^2-10*x+2*y+22=0);
> /* 43 */ ctr(x^2+y^2 +6*x=0);
> /* 44 */ ctr(x^2+y^2+x+y-1=0);
> /* 45 */ ctr(2*x^2+2*y^2-x+y-3=0);
> /* 46 */ ctr(9*x^2+9*y^2-6*x+12*y-31=0);
>
>
> /******************************************************/
> /* section 1.3 */
> dist(a,b):=sqrt((a-b).(a-b));
> A:[-1,-3]; B:[6,1]; C:[2,-5];
> [dist(A,B)^2,dist(B,C)^2,dist(A,C)^2];
> m1:B-C$ m1:m1[2]/m1[1]; m2:A-C$ m2:m2[2]/m2[1];
>
> /* example 4 */
> A:[1,7]; B:[-3,2];
> mid:(A+B)/2;
> m0:A-B; m0:m0[2]/m0[1];
> m:-1/m0;
> y-mid[2]=m*(x-mid[1]);
>
>
> /* page 27 example 6 */
> kill(all);
> p:[5,-7];
> eq1:6*x+3*y-4=0;
> eq2:first(expand(solve(eq1,y)));
> m:coeff(rhs(eq2),x,1);
> eq3:y-p[2]=m*(x-p[1]);
> eq:[rhs(first(solve(eq1,y))),rhs(first(solve(eq3,y)))];
> plot2d(eq,[x,-5,5]);
> gnuplot_close();
>
> /****************************************************************/
> /* Exercises 1.3 lines */
> slope(a,b):=(a-b)[2]/(a-b)[1];
> dist(a,b):=sqrt((a-b).(a-b));
> midpoint(a,b):=(a+b)/2;
> pointslope(p,m):=y-p[2]=m*(x-p[1]);
> pointpoint(p1,p2):=y-p1[2]=slope(p1,p2)*(x-p1[1]);
> pointxintercept(p,b):=pointpoint(p,[b,0]);
> pointyintercept(p,yintercept):=pointpoint(p,[0,yintercept]);
> slopexintercept(m,b):=y=m*x+b;
> slopeyintercept(m,yintercept):=y=m*x+yintercept/m;
> xy(xintercept,yintercept):=y=yintercept*x/xintercept+xintercept;
> parallelline(l,p):=(
> m:coeff(expand(rhs(first(solve(l,y)))),x,1),
> pointslope(p,m)
> )$
> /* 1 */ A:[-4,6]$ B:[-1,18]$slope(A,B);
> /* 2 */ A:[6,-2];B:[-3,5];slope(A,B);
> /* 5 */ A:[-3,1];B:[5,3];C:[3,0];D:[-5,-2];
> slope(A,B);slope(C,D);slope(B,C);slope(A,D);
> /* 6 */ A:[2,3];B:[5,-1];C:[0,-6];D:[-6,2];
> slope(A,B);slope(C,D);slope(B,C);slope(A,D);
> /* 7 */ A:[6,15];B:[11,12];C:[-1,-8];D:[-6,-5];
> slope(A,B);slope(C,D);slope(B,C);slope(A,D);
> /* 8 */ A:[1,4];B:[6,-4];C:[-15,-6];
> slope(A,B);slope(A,C);slope(B,C);
> dist(A,B)^2;dist(A,C)^2;dist(B,C)^2;
> /* 9 */ A:[-1,-3];B:[4,2];C:[-7,5];kill(D);
> l1:pointpoint(A,B);
> l2:pointpoint(B,C);
> l3:parallelline(l1,C);
> l4:parallelline(l2,A);
> D:first(solve([l3,l4],[x,y]));
> /* 10 */ A:[x1,y1];B:[x2,y2];C:[x3,y3];D:[x4,y4];
> E:midpoint(A,B);F:midpoint(B,C);G:midpoint(C,D);H:midpoint(D,A);
> sl:ratsimp([slope(E,F),slope(F,G),slope(G,H),slope(H,E)]);
> soln:[is(equal(sl[1],sl[3])),is(equal(sl[2],sl[4]))];
> is(equal(soln[1],soln[2]));
> /* 11 */ pointslope([2,-6],1/2);
> /* 12 */ slopexintercept(-2,5);
> /* 13 */ pointpoint([-5,-7],[3,-4]);
> /* 14 */ xy(-4,8);
> /* 15 */ pointyintercept([87,-2],-3);
> /* 16 */ slopexintercept(6,-2);
> /* 17 */ A:[10,-6]; (a) x=10 (b) y=-6
> /* 18 */ A:[-5,1]; (a) y=1 (b) x=-5
> /* 19 */ A:[7,-3]; eq1:x+3*y=1;
> eq2:first(expand(solve(eq1,y)));
> m:-coeff(rhs(eq2),x,1);
> pointslope(A,m);
> /* 20 */ A:[-3/4,-1/2]; eq1:x+3*y=1;
> eq2:first(expand(solve(eq1,y)));
> m:coeff(rhs(eq2),x,1);
> pointslope(A,m);
> /* 21 */ A:[3,-1]; B:[-2,6];C:midpoint(A,B);
> eq1:pointpoint(A,B);
> eq2:first(expand(solve(eq1,y)));
> m:-coeff(rhs(eq2),x,1);
> eq3:pointslope(C,m);
> /* 22 */ y=-1x
> /* 23 */ A:[-3,2];B:[5,4];C:[3,-8];
> m1:slope(A,B); m2:slope(A,C); m3:slope(B,C);
> eq1:pointslope(C,-m1); eq2:pointslope(B,-m2); eq3:pointslope(A,-m3);
> solve([eq1,eq2]);solve([eq1,eq3]);solve([eq2,eq3]);
> /* 24 */ A:[-3,2];B:[5,4];C:[3,-8];
> D:midpoint(A,B); E:midpoint(A,C); F:midpoint(B,C);
> m1:slope(A,B); m2:slope(A,C); m3:slope(B,C);
> eq1:pointpoint(D,C); eq2:pointpoint(E,B); eq3:pointpoint(F,A);
> solve([eq1,eq2]);solve([eq1,eq3]);solve([eq2,eq3]);
> ymfromeq(eq1):=(
> eq2:first(expand(solve(eq1,y))),
> m:coeff(rhs(eq2),x,1),
> yintercept:solve(subst(x=0,eq2),y),
> print("slope",m,"intercept",yintercept)
> )$
> /* 25 */ ymfromeq(3*x-4*y+8=0)$
> /* 26 */ ymfromeq(2*y-5*x=1)$
> /* 27 */ ymfromeq(x+2*y=0);
> /* 28 */ ymfromeq(8*x=1-4*y);
> /* 29 */ ymfromeq(y=4);
> /* 30 */ ymfromeq(x+2=y/2);
> /* 31 */ ymfromeq(5*x+4*y=20);
> /* 32 */ ymfromeq(y=0);
> /* 33 */ ymfromeq(x=3*y+7);
> /* 34 */ ymfromeq(x-y=0);
> /* 35 */ A:[-1,2]; eq1:k*x+2*y-7=0;
> yintercept:rhs(subst(x=0,expand(first(solve(eq1,y)))));
> m1:coeff(rhs(first(expand(solve(eq1,y)))),x,1);
> eq2:first(expand(solve(pointyintercept(A,yintercept),y)));
> m2:coeff(rhs(eq2),x,1);
> solve(m1=m2,k);
> /* 36 */ eq1:5*x+k*y-3=0;
> yintercept:-5;
> solve(yintercept=rhs(first(solve(subst(x=0,eq1),y))),k);
> /* 37 */ assume(notequal(a,0), notequal(b,0));
> eq1:expand(pointslope([0,b],b/a)/b);
> eq2:eq1-x/a+1;
> eq3:subst(a=-a,eq2);
> eq4:4*x-2*y=6;
> eq5:expand(eq4/6);
> solve(1/a=coeff(lhs(eq5),x,1),a);
> solve(1/b=coeff(lhs(eq5),y,1),b);
> /* 38 */ A:[x1,y1]; B:[x2,y2];
> eq1:pointpoint(A,B);
> eq2:eq1*(x1-x2);
> /* 39 */ A:[r,4];B:[1,3-2*r];
> eq1:expand(first(solve(pointpoint(A,B),y)));
> m:coeff(rhs(eq1),x,1);
> to_poly_solve(m<5,r);
> /* 40 */ A:[t,3*t+1];B:[1-2*t,t];
> eq1:expand(first(solve(pointpoint(A,B),y)));
> m:factor(coeff(rhs(eq1),x,1));
> to_poly_solve(m>4,t);
>
> /******************************************************/
> /* section 1.4 Functions */
> kill(all);
> /* example 1 */
> f(x):=x^2;
> f(-6);f(sqrt(3));f(a+b);
> /* domain R, range 0 <= x <= infinity */
> /******************************************************/
> /* Exercises 1.4 functions */
> /* 1 */ f(x):=x^3+4*x-3;
> f(1);f(-1);f(0);f(sqrt(2));
> /* 2 */ f(x):=sqrt(x-1);
> f(1);f(3);f(5);f(10);
> /* 3 */ f(x):=3*x^2-x+2;
> f(a);f(-a);-f(a);f(a+h);f(a)+f(h);(f(a+h)-f(a))/h;
> /* 4 */ f(x):=1/(x^2-1);
> f(a);f(-a);-f(a);f(a+h);f(a)+f(h);(f(a+h)-f(a))/h;
> /* 5 */ g(x):=1/(x^2+4);
> g(1/a);1/g(a);g(a^2);g(a)^2;g(sqrt(a));sqrt(g(a));
> /* 6 */ g(x):=1/x;
> g(1/a);1/g(a);g(a^2);g(a)^2;g(sqrt(a));sqrt(g(a));
>
> /* load solver */ load(to_poly_solve);
> /* 7 */ f(x):=sqrt(3*x-5); to_poly_solve(3*x-5>=0,x);
> /* 8 */ f(x):=sqrt(7-2*x); to_poly_solve(7-2*x>=0,x);
> /* 9 */ f(x):=sqrt(4-x^2); to_poly_solve(4-x^2>=0,x);
> /* 10 */ f(x):=sqrt(x^2-9); to_poly_solve(x^2-9>=0,x);
> /* 11 */ f(x):=(x+1)/(x^3-9*x); to_poly_solve(denom(f(x))#0,x);
> /* 12 */ f(x):=(4*x+7)/(6*x^2+13*x-5); to_poly_solve(denom(f(x))#0,x);
> assume(a>0);
> /* 13 */ f(x):=7*x-4; to_poly_solve(f(x)=4,x); to_poly_solve(f(x)=a,x);
> /* 14 */ f(x):=3*x; to_poly_solve(f(x)=4,x); to_poly_solve(f(x)=a,x);
> /* 15 */ f(x):=sqrt(x-3); to_poly_solve(f(x)=4,x);
> to_poly_solve(f(x)=a,x);
> /* 16 */ f(x):=1/x; to_poly_solve(f(x)=4,x); to_poly_solve(f(x)=a,x);
> /* 17 */ f(x):=x^3; to_poly_solve(f(x)=4,x); to_poly_solve(f(x)=a,x);
> /* 18 */ f(x):=(x-4)^(1/3); to_poly_solve(f(x)=4,x);
> to_poly_solve(f(x)=a,x);
> forget(a>0);
> /* 19 thru 26, inspection */
> oddeven(f):=(
> if f(-a)=f(a) then print(f(x),"is even")
> elseif f(-a)=-f(a) then print(f(x),"is odd")
> else print(f(x),"is neither even or odd")
> )$
> /* 27 */ f(x):=x^3-4*x; oddeven(f);
> /* 28 */ f(x):=7*x^4-x^2+7; oddeven(f);
> /* 29 */ f(x):=9-5*x^2; oddeven(f);
> /* 30 */ f(x):=2*x^5-4*x^3; oddeven(f);
> /* 31 */ f(x):=2; oddeven(f);
> /* 32 */ f(x):=2*x^3+x^2; oddeven(f);
> /* 33 */ f(x):=2*x^2-3*x+4; oddeven(f);
> /* 34 */ f(x):=sqrt(x^2+1); oddeven(f);
> /* 35 */ f(x):=(x^3-4)^(1/3); oddeven(f);
> /* 36 */ f(x):=abs(x)+5; oddeven(f);
> /* 37 thru 59 sketch and determine domain and range */
> /* 61 x^2+y^2=1 is not a function because every value of x */
> /* produces two values of y */
> /* 62 */ solve(x^2+y^2=1,y);
> /******************************************************/
> /* section 1.5 */
> kill(all);
> /* load solver */ load(to_poly_solve);
> /* Example 1 */ f(x):=sqrt(4-x^2); g(x):=3*x+1;
> to_poly_solve(4-x^2>=0,x);
> f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
> /* Example 2 */ f(x):=x-2; g(x):=5*x+sqrt(x);
> g(f(x));f(g(x));
> /* Example 3 */ f(x):=x^2-1; g(x):=3*x+5;
> g(f(x));f(g(x));
> /******************************************************/
> /* Exercises 1.5 */
> kill(all);
> /* load solver */ load(to_poly_solve);
> /* in 1 thru 6 find f(x)+g(x), f(x)-g(x), f(x)*g(x), f(x)/g(x)
> /* 1 */ f(x):=3*x^2; g(x):=1/(2*x-3);
> to_poly_solve(2*x-3#0,x); /* x<>3/2 */
> f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
> to_poly_solve(3*x+5#0,x); /* x<>-5/3 */
> /* 2 */ f(x):=sqrt(x+3); g(x):=sqrt(x+3);
> to_poly_solve(x+3>=0,x);
> f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
> /* 3 */ f(x):=x+1/x; g(x):=x-1/x;
> f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
> /* 4 */ f(x):=x^3+3*x; g(x):=3*x^2+1;
> f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
> /* 5 */ f(x):=2*x^3-x+5; g(x):=x^2+x+2;
> f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
> dsoln:solve(diff(g(x),x)=0,x);
> diff(g(x),x,2);
> subst(dsoln,g(x));
> /* 6 */ f(x):=7*x^4+x^2-1; g(x):=7*x^4-x^3+4*x;
> f(x)+g(x);f(x)-g(x);f(x)*g(x);f(x)/g(x);
> dsoln:solve(diff(g(x),x)=0,x);
> diff(g(x),x,2);
> subst(dsoln,g(x));
> /* in 7 thru 20, find FoG(x) and GoF(x) */
> /* 7 */ f(x):=2*x^5+5; g(x):=4-7*x;
> f(g(x)); g(f(x));
> /* 8 */ f(x):=1/(3*x+1); g(x):=2/x^2;
> f(g(x)); g(f(x));
> to_poly_solve(3*x+1#0,x);
> /* 9 */ f(x):=x^3; g(x):=x+1;
> f(g(x)); g(f(x));
> /* 10 */ f(x):=sqrt(x^2+4); g(x):=7*x^2+1;
> f(g(x)); g(f(x));
> /* 11 */ f(x):=3*x^2+2; g(x):=1/(3*x^2+2);
> f(g(x)); g(f(x));
> /* 12 */ f(x):=7; g(x):=4;
> f(g(x)); g(f(x));
> /* 13 */ f(x):=sqrt(2*x+1); g(x):=x^2+3;
> f(g(x)); g(f(x));
> to_poly_solve(2*x+1>=0,x);
> /* 14 */ f(x):=6*x-12; g(x):=x/6+2;
> f(g(x)); g(f(x));
> /* 15 */ f(x):=abs(x); g(x):=(x+3)/2;
> f(g(x)); g(f(x));
> /* 16 */ f(x):=(x^2+1)^(1/3); g(x):=x^3+1;
> f(g(x)); g(f(x));
> /* 17 */ f(x):=x^2; g(x):=1/x^2;
> f(g(x)); g(f(x));
> /* 18 */ f(x):=1/(x+1); g(x):=x+1;
> f(g(x)); g(f(x));
> /* 19 */ f(x):=2*x-3; g(x):=(x+3)/2;
> f(g(x)); g(f(x));
> /* 20 */ f(x):=x^3-1; g(x):=(x+1)^(1/3);
> f(g(x)); g(f(x));
> /* 21 If f and g are 5th degree polynomials, show f+g is a fifth
> degree polynomial
> */
> f(x):=sum(a[i]*x^i,i,0,5);
> g(x):=sum(b[i]*x^i,i,0,5);
> collectterms(f(x)+g(x),x);
> /* 22 Show the degree of the product of two nonzero polynomials equals
> the sum of the degrees of the polynominals
> */
> f(x):=sum(a[i]*x^i,i,0,n);
> g(x):=sum(b[i]*x^i,i,0,m);
> sumexpand:true;
> collectterms(f(x)*g(x),x);
> /* 23 Prove the product of two odd functions is even, the product of
> two even functions is even and the product of an even function
> and an odd function is odd
> */
> /*elseif ratsimp(f(-a)=(-f(a))) then print("odd")*/
> oddeven(oe_arg_f):=(
> if ratsimp(oe_arg_f(-a)=oe_arg_f(a)) then print("even")
> elseif ratsimp(oe_arg_f(-a)=(-oe_arg_f(a))) then print("odd")
> else print("neither even or odd")
> );
> kill(e,o,f);
> e(x):=(f(x)+f(-x))/2; oddeven(e);
> o(x):=(f(x)-f(-x))/2; oddeven(o);
> h(x):=o(x)*o(x);
> oddeven(h);
> h(x):=e(x)*e(x);
> oddeven(h);
> h(x):=e(x)*o(x);
> oddeven(h);
> /* 25 Prove that every function with domain R can be written as the
> sum of an even and an odd function
> */
> kill(f);
> if f(x)=f(-x) then print("even")
> elseif f(x)=(-f(-x)) then print("odd")
> else print("neither even or odd");
> e(x):=(f(x)+f(-x))/2; oddeven(e);
> o(x):=(f(x)-f(-x))/2; oddeven(o);
> ratsimp(e(x)+o(x));
> /* 26 Prove there exists an infinite number of functions f and g such
> that f+g=fg*/
> kill(f,g);
> solve(f(x)+g(x)=f(x)*g(x),f(x));
> /******************************************************/
> /* section 1.6 */
> kill(all);
> /* load solver */ load(to_poly_solve);
> /* Example 1 find the inverse of a function ('') forces evaluation */
> f(x):=3*x-5;
> eq:''subst(y=x,rhs(first(solve(y=f(x),x))));
> g(x):=''eq;
> g(x);g(y);g(3);f(g(x));g(f(x));
> /* Example 2 f(x) and its inverse are reflected about y=x */
> f(x):=x^2-3;
> eq:''subst(y=x,rhs(solve(y=f(x),x)[2]));
> g(x):=''eq;
> g(x);g(y);g(3);f(g(x));g(f(x));
> plot2d([f(x),g(x),x],[x,-3,3]);
> gnuplot_close();
> /******************************************************/
> /* Exercises 1.6 */
> kill(all);
> /* 1 thru 4 prove f(x) and g(x) are inverses */
> /* 1 */
> f(x):=9*x+2; g(x):=x/9-2/9;
> ratsimp(f(g(x))); ratsimp(g(f(x)));
> /* 2 */
> f(x):=x^3+1; g(x):=(x-1)^(1/3);
> ratsimp(f(g(x))); ratsimp(g(f(x)));
> /* 3 domain allows change abs(x) to x */
> f(x):=sqrt(2*x+1); /* x >= -1/2 */
> g(x):=x^2/2-1/2; /* x >= 0 */
> ratsimp(f(g(x))); ratsimp(g(f(x)));
> /* 4 */
> f(x):=1/(x-1); /* x > 1 */
> g(x):=(1+x)/x; /* x > 0 */
> ratsimp(f(g(x))); ratsimp(g(f(x)));
> /* 5 thru 14 find the inverse of f */
> /* 5 */
> f(x):=8+11*x;
> eq:''subst(y=x,rhs(first(solve(y=f(x),x))));
> g(x):=''eq;
> g(x);g(y);g(3);f(g(x));g(f(x));
> /* 6 */
> f(x):=1/(8+11*x); /* x > -8/11 */
> eq:''subst(y=x,rhs(first(solve(y=f(x),x))));
> g(x):=''eq;
> g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
> /* 7 */
> f(x):=6-x^2; /* 0 <= x <= sqrt(6) */
> eq:''subst(y=x,rhs(solve(y=f(x),x)[2])); /* choose + sqrt */
> g(x):=''eq;
> g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
> /* 8 */
> f(x):=2*x^3-5;
> eq:''subst(y=x,rhs(solve(y=f(x),x)[3])); /* choose real root */
> g(x):=''eq;
> g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
> /* 9 */
> assume(y>0, x>=2/7);
> f(x):=sqrt(7*x-2); /* x >= 2/7 */
> eq:''subst(y=x,rhs(first(solve(y=f(x),x)))); /* choose real root */
> g(x):=''eq;
> g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
> forget(y>0, x>=2/7);
> /* 10 */
> assume(0<=x, x<=1/2, y>0);
> f(x):=sqrt(1-4*x^2);
> eq:''subst(y=x,rhs(solve(y=f(x),x)[2])); /* choose real root */
> g(x):=''eq;
> g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
> forget(0<=x, x<=1/2, y>0);
> /* 11 */
> f(x):=7-3*x^3;
> solve(y=f(x),x);
> eq:''subst(y=x,rhs(solve(y=f(x),x)[3])); /* choose real root */
> g(x):=''eq;
> g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
> /* 12 */
> f(x):=x;
> solve(y=f(x),x);
> eq:''subst(y=x,rhs(solve(y=f(x),x)[1])); /* choose real root */
> g(x):=''eq;
> g(x);g(y);g(3);ratsimp(f(g(x)));ratsimp(g(f(x)));
> /* 13 */
> f(x):=(x^3+8)^5;
> solve(y=f(x),x);
> _______________________________________________
> Maxima mailing list
> Maxima at math.utexas.edu
> http://www.math.utexas.edu/mailman/listinfo/maxima