(*^ ::[ Information = "This is a Mathematica Notebook file. It contains ASCII text, and can be transferred by email, ftp, or other text-file transfer utility. It should be read or edited using a copy of Mathematica or MathReader. If you received this as email, use your mail application or copy/paste to save everything from the line containing (*^ down to the line containing ^*) into a plain text file. On some systems you may have to give the file a name ending with ".ma" to allow Mathematica to recognize it as a Notebook. The line below identifies what version of Mathematica created this file, but it can be opened using any other version as well."; FrontEndVersion = "X Window System Mathematica Notebook Front End Version 2.2"; X11StandardFontEncoding; fontset = title, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, e8, fullFontName, -9, "-*-times-bold-r-normal-*-*-240-75-75-*-*-*-*", 24, fontName, "times"; fontset = subtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, bold, e6, fullFontName, -9, "-*-times-bold-r-normal-*-*-180-75-75-*-*-*-*", 18, fontName, "times"; fontset = subsubtitle, inactive, noPageBreakBelow, noPageBreakInGroup, nohscroll, preserveAspect, groupLikeTitle, center, M7, italic, e6, fullFontName, -9, "-*-times-medium-i-normal-*-*-140-75-75-*-*-*-*", 14, fontName, "times"; fontset = section, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, grayBox, M22, bold, a20, fullFontName, -9, "-*-times-bold-r-normal-*-*-180-75-75-*-*-*-*", 18, fontName, "times"; fontset = subsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, blackBox, M19, bold, a15, fullFontName, -9, "-*-times-bold-r-normal-*-*-140-75-75-*-*-*-*", 14, fontName, "times"; fontset = subsubsection, inactive, noPageBreakBelow, nohscroll, preserveAspect, groupLikeSection, whiteBox, M18, bold, a12, fullFontName, -9, "-*-times-bold-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = text, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, fullFontName, -9, "-*-times-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = smalltext, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, fullFontName, -9, "-*-times-medium-r-normal-*-*-100-75-75-*-*-*-*", 10, fontName, "times"; fontset = input, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeInput, M42, N23, bold, fullFontName, -9, "-*-courier-bold-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "courier"; fontset = output, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, L-5, fullFontName, -9, "-*-courier-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "courier"; fontset = message, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, fullFontName, -9, "-*-courier-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "courier"; fontset = print, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, fullFontName, -9, "-*-courier-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "courier"; fontset = info, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeOutput, M42, N23, fullFontName, -9, "-*-courier-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "courier"; fontset = postscript, PostScript, formatAsPostScript, output, inactive, noPageBreakInGroup, nowordwrap, preserveAspect, groupLikeGraphics, M7, l34, w282, h287, fullFontName, -9, "-*-courier-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "courier"; fontset = name, inactive, noPageBreakInGroup, nohscroll, preserveAspect, M7, italic, B65535, fullFontName, -9, "-*-times-medium-i-normal-*-*-100-75-75-*-*-*-*", 10, fontName, "times"; fontset = header, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, italic, fullFontName, -9, "-*-times-medium-i-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = leftheader, fullFontName, -9, "-*-times-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = footer, inactive, nohscroll, noKeepOnOnePage, preserveAspect, center, M7, italic, fullFontName, -9, "-*-times-medium-i-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = leftfooter, fullFontName, -9, "-*-times-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = help, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, fullFontName, -9, "-*-times-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = clipboard, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, fullFontName, -9, "-*-times-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = completions, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, fullFontName, -9, "-*-courier-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "courier"; fontset = special1, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, fullFontName, -9, "-*-times-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = special2, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, fullFontName, -9, "-*-times-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = special3, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, fullFontName, -9, "-*-times-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = special4, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, fullFontName, -9, "-*-times-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times"; fontset = special5, inactive, nohscroll, noKeepOnOnePage, preserveAspect, M7, fullFontName, -9, "-*-times-medium-r-normal-*-*-120-75-75-*-*-*-*", 12, fontName, "times";paletteColors = 128; automaticGrouping; currentKernel; ] :[font = title; inactive; preserveAspect; startGroup] (C) Copyright 1994 D.C.M. Burbulla and C.T.J. Dodson Notebook to support the book Self-Tutor for Computer Calculus ;[s] 3:0,0;75,1;104,2;143,-1; 3:1,0,-9 -*-times-bold-r-normal-*-*-120-75-75-*-*-*-*,times,1,12,0,0,0;1,0,-9 -*-times-bold-i-normal-*-*-170-75-75-*-*-*-*,times,3,17,0,0,0;1,0,-9 -*-times-bold-r-normal-*-*-240-75-75-*-*-*-*,times,1,24,0,0,0; :[font = subtitle; inactive; preserveAspect] Using Mathematica 2 ;[s] 2:0,0;6,1;20,-1; 2:1,0,-9 -*-times-bold-r-normal-*-*-230-75-75-*-*-*-*,times,1,23,0,0,0;1,0,-9 -*-times-medium-i-normal-*-*-230-75-75-*-*-*-*,times,2,23,0,0,0; :[font = subsubtitle; inactive; preserveAspect; fontName = "Times"] by D. C. M. Burbulla and C. T. J. Dodson, University of Toronto Published by: Prentice-Hall Canada (English) ISBN 0130152803 and Prentice-Hall Japan (Japanese) ISBN4-8101-8558-3 C3055 P2880E ;[s] 5:0,0;128,1;129,2;145,3;192,4;222,-1; 5:1,0,-9 -*-times-medium-i-normal-*-*-120-75-75-*-*-*-*,times,2,12,0,0,0;1,0,-9 -*-times-medium-i-normal-*-*-110-75-75-*-*-*-*,times,2,11,0,0,0;1,0,-9 -*-courier-medium-i-normal-*-*-110-75-75-*-*-*-*,courier,2,11,0,0,0;1,0,-9 -*-times-medium-i-normal-*-*-120-75-75-*-*-*-*,times,2,12,0,0,0;1,0,-9 -*-courier-medium-i-normal-*-*-110-75-75-*-*-*-*,courier,2,11,0,0,0; :[font = section; inactive; Cclosed; preserveAspect; startGroup] Techniques of Integration :[font = input; preserveAspect; fontName = "Courier"] The basic techniques of integration are algebraic manipulation, substitution or change of variable, parts, and the method of partial fractions. To help you practice these methods with Mathematica, four functions have been defined for you in the package for this chapter. They are: parts, transform, inversesub, and completesquare. ;[s] 1:0,0;336,-1; 1:1,0,-9 -*-courier-medium-r-normal-*-*-120-75-75-*-*-*-*,courier,0,12,0,0,0; :[font = subsection; inactive; Cclosed; preserveAspect; fontName = "Times"; startGroup] Chap12.m :[font = input; preserveAspect; fontName = "Courier"] inversesub/: inversesub[integrand_, x_, z_, substitution_] := {newintegrand = (integrand /. x -> substitution)*D[substitution, z], Solve[x == substitution, z]} parts/: parts[integrand_, x_, u_, substitution_] := {newintegrand = Integrate[integrand/substitution, x]* D[substitution, x], u -> substitution, v -> Integrate[integrand/substitution, x]} transform/: transform[integrand_, x_, u_, substitution_] := {newintegrand = integrand/D[substitution, x] /. substitution -> u, u == substitution} completesquare/: completesquare[quadratic_, x_] := (one = Coefficient[quadratic, x^2]; two = Coefficient[quadratic, x]; three = quadratic /. x -> 0; one*(x + two/(2*one))^2 + one*((4*one*three-two^2)/(4*one^2))) ;[s] 3:0,0;179,1;181,2;795,-1; 3:1,0,-9 -*-courier-bold-r-normal-*-*-120-75-75-*-*-*-*,courier,1,12,0,0,0;1,0,-9 -*-courier-bold-r-normal-*-*-100-75-75-*-*-*-*,courier,1,10,0,0,0;1,0,-9 -*-courier-bold-r-normal-*-*-120-75-75-*-*-*-*,courier,1,12,0,0,0; :[font = input; preserveAspect; fontName = "Courier"] See how transform helps prepare the integration of x^2 sin(x^3), using the substitution u = x^3: ;[s] 1:0,0;97,-1; 1:1,0,-9 -*-courier-medium-r-normal-*-*-120-75-75-*-*-*-*,courier,0,12,0,0,0; :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] transform[x^2 Sin[x^3], x, u, x^3] :[font = output; output; inactive; preserveAspect; endGroup] {Sin[u]/3, u == x^3} ;[o] Sin[u] 3 {------, u == x } 3 :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] Integrate[newintegrand, u] :[font = output; output; inactive; preserveAspect; endGroup] -Cos[u]/3 ;[o] -Cos[u] ------- 3 :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] % /. u -> x^3 :[font = output; output; inactive; preserveAspect; endGroup] -Cos[x^3]/3 ;[o] 3 -Cos[x ] -------- 3 :[font = input; preserveAspect; fontName = "Courier"] What about x (x+3)^(1/2): ;[s] 1:0,0;25,-1; 1:1,0,-9 -*-courier-medium-r-normal-*-*-120-75-75-*-*-*-*,courier,0,12,0,0,0; :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] transform[x Sqrt[x + 3], x, u, x + 3] :[font = output; output; inactive; preserveAspect; endGroup] {u^(1/2)*x, u == 3 + x} ;[o] {Sqrt[u] x, u == 3 + x} :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] newintegrand /. x -> u - 3 :[font = output; output; inactive; preserveAspect; endGroup] (-3 + u)*u^(1/2) ;[o] (-3 + u) Sqrt[u] :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] Expand[%] :[font = output; output; inactive; preserveAspect; endGroup] -3*u^(1/2) + u^(3/2) ;[o] 3/2 -3 Sqrt[u] + u :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] Integrate[%, u] :[font = output; output; inactive; preserveAspect; endGroup] -2*u^(3/2) + (2*u^(5/2))/5 ;[o] 5/2 3/2 2 u -2 u + ------ 5 :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] % /. u -> x + 3 :[font = output; output; inactive; preserveAspect; endGroup] -2*(3 + x)^(3/2) + (2*(3 + x)^(5/2))/5 ;[o] 5/2 3/2 2 (3 + x) -2 (3 + x) + ------------ 5 :[font = input; preserveAspect; fontName = "Courier"] Another approach to the second integral is to use what is sometimes referred to as an inverse substituion; we have a function for this: ;[s] 1:0,0;137,-1; 1:1,0,-9 -*-courier-medium-r-normal-*-*-120-75-75-*-*-*-*,courier,0,12,0,0,0; :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] inversesub[x Sqrt[x + 3], x, z, z^2 - 3] :[font = output; output; inactive; preserveAspect; endGroup] {2*z*(z^2)^(1/2)*(-3 + z^2), {{z -> -(3 + x)^(1/2)}, {z -> (3 + x)^(1/2)}}} ;[o] 2 2 {2 z Sqrt[z ] (-3 + z ), {{z -> -Sqrt[3 + x]}, {z -> Sqrt[3 + x]}}} :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] PowerExpand[newintegrand] // Expand :[font = output; output; inactive; preserveAspect; endGroup] -6*z^2 + 2*z^4 ;[o] 2 4 -6 z + 2 z :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] Integrate[%, z] :[font = output; output; inactive; preserveAspect; endGroup] -2*z^3 + (2*z^5)/5 ;[o] 5 3 2 z -2 z + ---- 5 :[font = input; Cclosed; preserveAspect; fontName = "Courier"; startGroup] % /. z -> Sqrt[x + 3] :[font = output; output; inactive; preserveAspect; endGroup; endGroup; endGroup; endGroup] -2*(3 + x)^(3/2) + (2*(3 + x)^(5/2))/5 ;[o] 5/2 3/2 2 (3 + x) -2 (3 + x) + ------------ 5 ^*)