(************** Content-type: application/mathematica ************** CreatedBy='Mathematica 5.0' Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. *******************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 134731, 3819]*) (*NotebookOutlinePosition[ 135779, 3851]*) (* CellTagsIndexPosition[ 135735, 3847]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["Cusp Catastrophe How-to", "Title"], Cell["by W. Garrett Mitchener", "Author"], Cell[TextData[{ "In this worksheet, I illustrate how to generate a bifurcation diagram for \ a two-parameter dynamical system in one dependent variable. The particular \ types of bifurcations that can happen form what's called a ", StyleBox["cusp catastrophe. ", FontSlant->"Italic"], StyleBox["T", FontVariations->{"CompatibilityType"->0}], "his worksheet shows several ways to generate the cusp picture that \ illustrates what happens." }], "Abstract"], Cell[CellGroupData[{ Cell["Setup", "Section"], Cell["Let's work with the dynamical system given by:", "Text"], Cell[BoxData[ \(\(x\& . \) \[Equal] h + r\ x - x\^3\)], "DisplayFormula"], Cell["\<\ First, here's how to define a function for the right hand \ side:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(f[x_, r_, h_] = h + r\ x - x^3\)], "Input", CellLabel->"In[1]:="], Cell[BoxData[ \(h + r\ x - x\^3\)], "Output", CellLabel->"Out[1]="] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["First method: Solve for fixed point collision directly", "Section"], Cell[TextData[{ "Fixed points happen when ", Cell[BoxData[ \(TraditionalForm\`\(x\& . \) \[Equal] 0\)]], ", and bifurcations happen when fixed points collide (and in other \ situations). But look what happens when we try to solve for the fixed \ points:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(fps = Solve[f[x, r, h] \[Equal] 0, x]\)], "Input", CellLabel->"In[2]:="], Cell[BoxData[ \({{x \[Rule] \(-\(\(\((2\/3)\)\^\(1/3\)\ r\)\/\((\(-9\)\ h + \@3\ \@\(27\ \ h\^2 - 4\ r\^3\))\)\^\(1/3\)\)\) - \((\(-9\)\ h + \@3\ \@\(27\ h\^2 - 4\ \ r\^3\))\)\^\(1/3\)\/\(2\^\(1/3\)\ 3\^\(2/3\)\)}, {x \[Rule] \(\((1 + \ \[ImaginaryI]\ \@3)\)\ r\)\/\(2\^\(2/3\)\ 3\^\(1/3\)\ \((\(-9\)\ h + \@3\ \ \@\(27\ h\^2 - 4\ r\^3\))\)\^\(1/3\)\) + \(\((1 - \[ImaginaryI]\ \@3)\)\ \ \((\(-9\)\ h + \@3\ \@\(27\ h\^2 - 4\ r\^3\))\)\^\(1/3\)\)\/\(2\ 2\^\(1/3\)\ \ 3\^\(2/3\)\)}, {x \[Rule] \(\((1 - \[ImaginaryI]\ \@3)\)\ r\)\/\(2\^\(2/3\)\ \ 3\^\(1/3\)\ \((\(-9\)\ h + \@3\ \@\(27\ h\^2 - 4\ r\^3\))\)\^\(1/3\)\) + \ \(\((1 + \[ImaginaryI]\ \@3)\)\ \((\(-9\)\ h + \@3\ \@\(27\ h\^2 - 4\ r\^3\))\ \)\^\(1/3\)\)\/\(2\ 2\^\(1/3\)\ 3\^\(2/3\)\)}}\)], "Output", CellLabel->"Out[2]="] }, Open ]], Cell[TextData[{ "Those expressions are pretty nasty, and you can't tell which roots are \ real or complex. Don't let the i's in those two lower expresssions fool you. \ The square roots may generate complex numbers depending on ", Cell[BoxData[ \(TraditionalForm\`r\)]], " and ", Cell[BoxData[ \(TraditionalForm\`h\)]], " that cancel out with the i's on top. For the moment, suppose that's not \ a problem. Now imagine trying to set two of these equal and solve for ", Cell[BoxData[ \(TraditionalForm\`r\)]], " and ", Cell[BoxData[ \(TraditionalForm\`h\)]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Solve[\((x /. fps[\([1]\)])\) \[Equal] \((x /. fps[\([2]\)])\), h]\)], "Input", CellLabel->"In[3]:="], Cell[BoxData[ \({{h \[Rule] \(-\(\(2\ r\^\(3/2\)\)\/\(3\ \@3\)\)\)}, {h \[Rule] \(2\ \ r\^\(3/2\)\)\/\(3\ \@3\)}}\)], "Output", CellLabel->"Out[3]="] }, Open ]], Cell[TextData[{ "We got lucky: That's the right answer, and the computer didn't crash. I \ don't recommend this method because if your dynamical system is more \ complicated than this example, the expressions for the roots will probably be \ so big and complicated that ", StyleBox["Mathematica", FontSlant->"Italic"], " can't deal so easily with them. It's worth a try in that case, but there \ are alternatives. I'll plot the solution below, after showing an alternative \ method of deriving it." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Second method: Combine fixed point solve with linear stability \ analysis failure\ \>", "Section"], Cell[TextData[{ "An alternative is to use the fact that ", StyleBox["Mathematica", FontSlant->"Italic"], " can handle systems of polynomial equations very easily. Here, we ", ButtonBox["Solve", ButtonStyle->"RefGuideLink"], " for the parameter values such that there is a fixed point at ", Cell[BoxData[ \(TraditionalForm\`x\)]], ", and such that linear stability analysis fails there. " }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(bifSol = Solve[{f[x, r, h] \[Equal] 0, D[f[x, r, h], x] \[Equal] 0}, {r, h}]\)], "Input", CellLabel->"In[4]:="], Cell[BoxData[ \({{h \[Rule] \(-2\)\ x\^3, r \[Rule] 3\ x\^2}}\)], "Output", CellLabel->"Out[4]="] }, Open ]], Cell[TextData[{ "We want to plot ", Cell[BoxData[ \(TraditionalForm\`r\)]], " horizontally and ", Cell[BoxData[ \(TraditionalForm\`h\)]], " vertically to reproduce the figure on p. 71 of Strogatz. The nice thing \ about this result is that it gives ", Cell[BoxData[ \(TraditionalForm\`h\)]], " and ", Cell[BoxData[ \(TraditionalForm\`r\)]], " very simply in terms of the fixed point ", Cell[BoxData[ \(TraditionalForm\`x\)]], ", so we can vary ", Cell[BoxData[ \(TraditionalForm\`x\)]], ", and generate a plot of ", Cell[BoxData[ \(TraditionalForm\`h\)]], " vs. ", Cell[BoxData[ \(TraditionalForm\`r\)]], " parametrically. Here's how to set that up." }], "Text"], Cell[TextData[{ "Just so you'll know, the solution comes as a list of rule tables, because \ some systems of equations may have many solutions. So we use ", Cell[BoxData[ \(TraditionalForm\`bifSol[\([1]\)]\)]], " to fish out the single rule table we want:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(bifSol[\([1]\)]\)], "Input", CellLabel->"In[5]:="], Cell[BoxData[ \({h \[Rule] \(-2\)\ x\^3, r \[Rule] 3\ x\^2}\)], "Output", CellLabel->"Out[5]="] }, Open ]], Cell[TextData[{ " Then we have to make an expression for ", ButtonBox["ParametricPlot", ButtonStyle->"RefGuideLink"], ". " }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \({r, h} /. bifSol[\([1]\)]\)], "Input", CellLabel->"In[6]:="], Cell[BoxData[ \({3\ x\^2, \(-2\)\ x\^3}\)], "Output", CellLabel->"Out[6]="] }, Open ]], Cell["Finally, here's the plot command:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(ParametricPlot[{r, h} /. bifSol[\([1]\)], {x, \(-5\), 5}, \[IndentingNewLine]PlotRange \[Rule] {{\(-2\), 2}, {\(-2\), 2}}]\)], "Input", CellLabel->"In[7]:="], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .61803 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.5 0.25 0.309017 0.154508 [ [0 .29652 -6 -9 ] [0 .29652 6 0 ] [.125 .29652 -12 -9 ] [.125 .29652 12 0 ] [.25 .29652 -6 -9 ] [.25 .29652 6 0 ] [.375 .29652 -12 -9 ] [.375 .29652 12 0 ] [.625 .29652 -9 -9 ] [.625 .29652 9 0 ] [.75 .29652 -3 -9 ] [.75 .29652 3 0 ] [.875 .29652 -9 -9 ] [.875 .29652 9 0 ] [1 .29652 -3 -9 ] [1 .29652 3 0 ] [.4875 0 -12 -4.5 ] [.4875 0 0 4.5 ] [.4875 .07725 -24 -4.5 ] [.4875 .07725 0 4.5 ] [.4875 .15451 -12 -4.5 ] [.4875 .15451 0 4.5 ] [.4875 .23176 -24 -4.5 ] [.4875 .23176 0 4.5 ] [.4875 .38627 -18 -4.5 ] [.4875 .38627 0 4.5 ] [.4875 .46353 -6 -4.5 ] [.4875 .46353 0 4.5 ] [.4875 .54078 -18 -4.5 ] [.4875 .54078 0 4.5 ] [.4875 .61803 -6 -4.5 ] [.4875 .61803 0 4.5 ] [ 0 0 0 0 ] [ 1 .61803 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash 0 .30902 m 0 .31527 L s [(-2)] 0 .29652 0 1 Mshowa .125 .30902 m .125 .31527 L s [(-1.5)] .125 .29652 0 1 Mshowa .25 .30902 m .25 .31527 L s [(-1)] .25 .29652 0 1 Mshowa .375 .30902 m .375 .31527 L s [(-0.5)] .375 .29652 0 1 Mshowa .625 .30902 m .625 .31527 L s [(0.5)] .625 .29652 0 1 Mshowa .75 .30902 m .75 .31527 L s [(1)] .75 .29652 0 1 Mshowa .875 .30902 m .875 .31527 L s [(1.5)] .875 .29652 0 1 Mshowa 1 .30902 m 1 .31527 L s [(2)] 1 .29652 0 1 Mshowa .125 Mabswid .025 .30902 m .025 .31277 L s .05 .30902 m .05 .31277 L s .075 .30902 m .075 .31277 L s .1 .30902 m .1 .31277 L s .15 .30902 m .15 .31277 L s .175 .30902 m .175 .31277 L s .2 .30902 m .2 .31277 L s .225 .30902 m .225 .31277 L s .275 .30902 m .275 .31277 L s .3 .30902 m .3 .31277 L s .325 .30902 m .325 .31277 L s .35 .30902 m .35 .31277 L s .4 .30902 m .4 .31277 L s .425 .30902 m .425 .31277 L s .45 .30902 m .45 .31277 L s .475 .30902 m .475 .31277 L s .525 .30902 m .525 .31277 L s .55 .30902 m .55 .31277 L s .575 .30902 m .575 .31277 L s .6 .30902 m .6 .31277 L s .65 .30902 m .65 .31277 L s .675 .30902 m .675 .31277 L s .7 .30902 m .7 .31277 L s .725 .30902 m .725 .31277 L s .775 .30902 m .775 .31277 L s .8 .30902 m .8 .31277 L s .825 .30902 m .825 .31277 L s .85 .30902 m .85 .31277 L s .9 .30902 m .9 .31277 L s .925 .30902 m .925 .31277 L s .95 .30902 m .95 .31277 L s .975 .30902 m .975 .31277 L s .25 Mabswid 0 .30902 m 1 .30902 L s .5 0 m .50625 0 L s [(-2)] .4875 0 1 0 Mshowa .5 .07725 m .50625 .07725 L s [(-1.5)] .4875 .07725 1 0 Mshowa .5 .15451 m .50625 .15451 L s [(-1)] .4875 .15451 1 0 Mshowa .5 .23176 m .50625 .23176 L s [(-0.5)] .4875 .23176 1 0 Mshowa .5 .38627 m .50625 .38627 L s [(0.5)] .4875 .38627 1 0 Mshowa .5 .46353 m .50625 .46353 L s [(1)] .4875 .46353 1 0 Mshowa .5 .54078 m .50625 .54078 L s [(1.5)] .4875 .54078 1 0 Mshowa .5 .61803 m .50625 .61803 L s [(2)] .4875 .61803 1 0 Mshowa .125 Mabswid .5 .01545 m .50375 .01545 L s .5 .0309 m .50375 .0309 L s .5 .04635 m .50375 .04635 L s .5 .0618 m .50375 .0618 L s .5 .09271 m .50375 .09271 L s .5 .10816 m .50375 .10816 L s .5 .12361 m .50375 .12361 L s .5 .13906 m .50375 .13906 L s .5 .16996 m .50375 .16996 L s .5 .18541 m .50375 .18541 L s .5 .20086 m .50375 .20086 L s .5 .21631 m .50375 .21631 L s .5 .24721 m .50375 .24721 L s .5 .26266 m .50375 .26266 L s .5 .27812 m .50375 .27812 L s .5 .29357 m .50375 .29357 L s .5 .32447 m .50375 .32447 L s .5 .33992 m .50375 .33992 L s .5 .35537 m .50375 .35537 L s .5 .37082 m .50375 .37082 L s .5 .40172 m .50375 .40172 L s .5 .41717 m .50375 .41717 L s .5 .43262 m .50375 .43262 L s .5 .44807 m .50375 .44807 L s .5 .47898 m .50375 .47898 L s .5 .49443 m .50375 .49443 L s .5 .50988 m .50375 .50988 L s .5 .52533 m .50375 .52533 L s .5 .55623 m .50375 .55623 L s .5 .57168 m .50375 .57168 L s .5 .58713 m .50375 .58713 L s .5 .60258 m .50375 .60258 L s .25 Mabswid .5 0 m .5 .61803 L s 0 0 m 1 0 L 1 .61803 L 0 .61803 L closepath clip newpath .5 Mabswid 1 .47734 m .99836 .4764 L .77165 .37638 L .69224 .34912 L .62119 .32909 L .58951 .32176 L .56438 .31679 L .54271 .31322 L .5269 .31112 L .51489 .30988 L .51057 .30953 L .5068 .30928 L .50369 .30912 L .50261 .30908 L .50166 .30905 L .50088 .30903 L .50037 .30902 L .50016 .30902 L .50005 .30902 L .50002 .30902 L .50022 .30902 L .50067 .30901 L .50133 .30899 L .50213 .30897 L .50471 .30886 L .50851 .30864 L .51329 .30829 L .5187 .3078 L .5344 .30598 L .571 .30002 L .6246 .28809 L .69902 .26677 L .7993 .23111 L s .7993 .23111 m 1 .13901 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", CellLabel->"From In[7]:=", ImageSize->{288, 177.938}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHgool00`00ooooo`3Oool0 0ool00ool20009ool00`00ooooo`2aool2000Qool00=Woo`03003ooooo0:ooo`80 02?oo`00fOoo0`00[?oo0`009Ooo003Iool00`00ooooo`2Zool2000Xool00=Woo`03003ooooo0:So o`8002[oo`00fOoo00<00?ooool0Y_oo0P00;?oo003Iool00`00ooooo`2Tool2000^ool00=Woo`03 003ooooo0:;oo`80033oo`00fOoo0`00Wooo0`00<_oo003Iool00`00ooooo`2Mool2000eool00=Wo o`03003ooooo09_oo`8003Ooo`00fOoo00<00?ooool0VOoo0P00>Ooo003Iool00`00ooooo`2Gool2 000kool00=Woo`03003ooooo09Goo`8003goo`00fOoo0`00T_oo0`00?ooo003Iool00`00ooooo`2@ ool20012ool00=Woo`03003ooooo08koo`8004Coo`00fOoo00<00?ooool0S?oo0P00A_oo003Iool0 0`00ooooo`2:ool20018ool00=Woo`03003ooooo08Soo`8004[oo`00fOoo00<00?ooool0Q_oo0P00 C?oo003Iool30023ool3001>ool00=Woo`03003ooooo087oo`80057oo`00_?oo10001_oo0P001Ooo 1@001ooo00<00?ooool0Oooo0P00Dooo002lool01000ooooo`001_oo0P002Ooo0P001_oo00<00?oo ool0OOoo0P00EOoo002kool00`00ooooo`02ool00`00ooooo`0?ool00`00ooooo`04ool00`00oooo o`1kool2001Gool00;_oo`03003ooooo00;oo`03003ooooo00ooo`03003ooooo00Coo`03003ooooo 07Woo`8005Woo`00/ooo0`001Ooo00<00?ooool00_oo00<00?ooool02_oo00@00?ooooooo`8000Ko o`@007Goo`<005_oo`00^ooo00<00?ooool00_oo00<00?ooool02_oo1@001ooo00<00?ooool0Looo 0`00G_oo002kool00`00ooooo`02ool00`00ooooo`0:ool00`00ooooo`09ool00`00ooooo`1`ool3 001Qool00;_oo`03003ooooo00;oo`03003ooooo00[oo`03003ooooo00Woo`03003ooooo06goo`<0 06Coo`00_?oo00@00?ooool000goo`03003ooooo00Woo`03003ooooo06_oo`8006Ooo`00_?oo1000 3Ooo1P001_oo00<00?ooool0J?oo0`00JOoo003Iool3001Uool3001/ool00=Woo`03003ooooo06;o o`<006ooo`00fOoo00<00?ooool0Gooo0`00L_oo003Iool00`00ooooo`1Lool3001eool00=Woo`03 003ooooo05Woo`<007Soo`00fOoo00<00?ooool0Eooo0P00Nooo003Iool00`00ooooo`1Dool3001m ool00=Woo`<0057oo`<0083oo`003_oo1`008ooo1`001Ooo0P001Ooo1@009?oo1`009Ooo10001_oo 0P001Ooo1@008ooo00<00?ooool09_oo10001_oo0P001Ooo1@004_oo0`003ooo1`008ooo1`001Ooo 0P001Ooo1@009?oo1`001ooo000?ool00`00ooooo`02ool00`00ooooo`0Tool00`00ooooo`06ool2 0009ool2000Vool00`00ooooo`0Vool01000ooooo`001_oo0P002Ooo0P008_oo00<00?ooool09_oo 00@00?ooool000Koo`8000Woo`8000goo`@001Goo`03003ooooo02Ooo`03003ooooo00Koo`8000Wo o`8002Coo`03003ooooo00;oo`03003ooooo00Goo`004?oo00<00?ooool0:?oo00<00?ooool04_oo 00<00?ooool09?oo00<00?ooool09Ooo00<00?ooool00_oo00<00?ooool03ooo00<00?ooool08?oo 00<00?ooool09Ooo00<00?ooool00_oo00<00?ooool03ooo00<00?ooool02?oo0`006Ooo00<00?oo ool09ooo00<00?ooool04_oo00<00?ooool08ooo00<00?ooool02Ooo000Aool2000Xool00`00oooo o`0Bool00`00ooooo`0Tool00`00ooooo`0Uool00`00ooooo`02ool00`00ooooo`0?ool00`00oooo o`0Pool00`00ooooo`0Uool00`00ooooo`02ool00`00ooooo`0?ool00`00ooooo`04ool4000Lool0 0`00ooooo`0Wool00`00ooooo`0Bool00`00ooooo`0Tool20009ool000Ooo`<000Soo`8001goo`<0 00Ooo`03003ooooo00goo`04003oooooool2000Lool30007ool00`00ooooo`0Mool30005ool00`00 ooooo`02ool00`00ooooo`0:ool01000oooooooo0P008_oo00<00?ooool09Ooo00<00?ooool00_oo 00<00?ooool02_oo00@00?ooooooo`8000?oo`<0023oo`03003ooooo02Ooo`03003ooooo00goo`04 003oooooool2000Wool20008ool001?oo`8002Koo`03003ooooo00goo`D002Ooo`03003ooooo02Go o`03003ooooo00;oo`03003ooooo00[oo`D002?oo`<002Goo`03003ooooo00;oo`03003ooooo00[o o`D00004ool00000000Sool00`00ooooo`0Wool00`00ooooo`0=ool5000Yool20007ool001Coo`03 003ooooo02Coo`03003ooooo00goo`03003ooooo02Woo`03003ooooo02Goo`03003ooooo00;oo`03 003ooooo00[oo`03003ooooo02Goo`03003ooooo02Goo`03003ooooo00;oo`03003ooooo00[oo`03 003oo`0000<002Koo`03003ooooo02Ooo`03003ooooo00goo`03003ooooo02coo`03003ooooo00Go o`005?oo00<00?ooool09?oo00<00?ooool03Ooo00<00?ooool0:Ooo00<00?ooool09Ooo00<00?oo ool00_oo00<00?ooool02_oo00<00?ooool09Ooo00<00?ooool09Ooo00<00?ooool00_oo00<00?oo ool02Ooo0`00:_oo00<00?ooool09ooo00<00?ooool03Ooo00<00?ooool0;?oo00<00?ooool01Ooo 000>ool20003ool2000Sool200000ooo003oo`0>ool00`00ooooo`0Vool200000ooo003oo`0Wool0 1000ooooo`003Ooo00<00?ooool09Ooo00<00?ooool09_oo00@00?ooool000Soo`@00003ool00?oo 02Ooo`800003ool00?oo02Goo`800003ool00?oo00koo`03003ooooo02Koo`8000?oo`8000Ooo`00 3ooo10009ooo0P003ooo1P009Ooo0P00:?oo10003Ooo1P008_oo00<00?ooool09_oo10001?oo1000 1Ooo1P009Ooo0P00:?oo0P003ooo1P009?oo10002Ooo003Iool00`00ooooo`0Zool4002Vool00=Wo o`<002Goo`D00:[oo`00fOoo00<00?ooool08Ooo1000[ooo003Iool00`00ooooo`0Mool4002cool0 0=Woo`03003ooooo01Ooo`H00;Ooo`00fOoo00<00?ooool03ooo2000_Ooo003Iool00`00ooooo`08 ool70035ool00=Woo`03003oo`0000P00ool00`00ooooo`09ool00`00ooooo`3Dool00;coo`8000ooo`H000Koo`03003ooooo0=Co o`00fOoo00<00?ooool0e?oo003Iool3003Dool00=Woo`03003ooooo0=Coo`00fOoo00<00?ooool0 e?oo003Iool00`00ooooo`3Dool00=Woo`03003ooooo0=Coo`00fOoo00<00?ooool0e?oo003Iool3 003Dool00=Woo`03003ooooo0=Coo`00fOoo00<00?ooool0e?oo003Iool00`00ooooo`3Dool00=Wo o`03003ooooo0=Coo`00fOoo00<00?ooool0e?oo003Iool3003Dool00=Woo`03003ooooo0=Coo`00 fOoo00<00?ooool0e?oo003Iool00`00ooooo`3Dool00=Woo`03003ooooo0=Coo`00fOoo00<00?oo ool0e?oo003Iool3003Dool00=Woo`03003ooooo0=Coo`00fOoo00<00?ooool0e?oo003"], ImageRangeCache->{{{109, 396}, {293.562, 116.625}} -> {-3.73904, 0.670628, \ 0.0147206, 0.0238185}}], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False]], "Output", CellLabel->"Out[7]="] }, Open ]], Cell[TextData[{ "Just so we can see the cusp more clearly, here's a set of plotting options \ (see ", ButtonBox["1.9.2", ButtonStyle->"MainBookLink"], ") that moves the axes, and sets the aspect ratio so the vertical axis \ isn't squished:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(ParametricPlot[{r, h} /. bifSol[\([1]\)], {x, \(-5\), 5}, \[IndentingNewLine]PlotRange \[Rule] {{\(-2\), 2}, {\(-2\), 2}}, \[IndentingNewLine]AxesOrigin \[Rule] {\(-2\), \(-2\)}, \ \[IndentingNewLine]AspectRatio \[Rule] 1]\)], "Input", CellLabel->"In[8]:="], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.5 0.25 0.5 0.25 [ [.125 -0.0125 -12 -9 ] [.125 -0.0125 12 0 ] [.25 -0.0125 -6 -9 ] [.25 -0.0125 6 0 ] [.375 -0.0125 -12 -9 ] [.375 -0.0125 12 0 ] [.5 -0.0125 -3 -9 ] [.5 -0.0125 3 0 ] [.625 -0.0125 -9 -9 ] [.625 -0.0125 9 0 ] [.75 -0.0125 -3 -9 ] [.75 -0.0125 3 0 ] [.875 -0.0125 -9 -9 ] [.875 -0.0125 9 0 ] [1 -0.0125 -3 -9 ] [1 -0.0125 3 0 ] [-0.0125 .125 -24 -4.5 ] [-0.0125 .125 0 4.5 ] [-0.0125 .25 -12 -4.5 ] [-0.0125 .25 0 4.5 ] [-0.0125 .375 -24 -4.5 ] [-0.0125 .375 0 4.5 ] [-0.0125 .5 -6 -4.5 ] [-0.0125 .5 0 4.5 ] [-0.0125 .625 -18 -4.5 ] [-0.0125 .625 0 4.5 ] [-0.0125 .75 -6 -4.5 ] [-0.0125 .75 0 4.5 ] [-0.0125 .875 -18 -4.5 ] [-0.0125 .875 0 4.5 ] [-0.0125 1 -6 -4.5 ] [-0.0125 1 0 4.5 ] [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .125 0 m .125 .00625 L s [(-1.5)] .125 -0.0125 0 1 Mshowa .25 0 m .25 .00625 L s [(-1)] .25 -0.0125 0 1 Mshowa .375 0 m .375 .00625 L s [(-0.5)] .375 -0.0125 0 1 Mshowa .5 0 m .5 .00625 L s [(0)] .5 -0.0125 0 1 Mshowa .625 0 m .625 .00625 L s [(0.5)] .625 -0.0125 0 1 Mshowa .75 0 m .75 .00625 L s [(1)] .75 -0.0125 0 1 Mshowa .875 0 m .875 .00625 L s [(1.5)] .875 -0.0125 0 1 Mshowa 1 0 m 1 .00625 L s [(2)] 1 -0.0125 0 1 Mshowa .125 Mabswid .025 0 m .025 .00375 L s .05 0 m .05 .00375 L s .075 0 m .075 .00375 L s .1 0 m .1 .00375 L s .15 0 m .15 .00375 L s .175 0 m .175 .00375 L s .2 0 m .2 .00375 L s .225 0 m .225 .00375 L s .275 0 m .275 .00375 L s .3 0 m .3 .00375 L s .325 0 m .325 .00375 L s .35 0 m .35 .00375 L s .4 0 m .4 .00375 L s .425 0 m .425 .00375 L s .45 0 m .45 .00375 L s .475 0 m .475 .00375 L s .525 0 m .525 .00375 L s .55 0 m .55 .00375 L s .575 0 m .575 .00375 L s .6 0 m .6 .00375 L s .65 0 m .65 .00375 L s .675 0 m .675 .00375 L s .7 0 m .7 .00375 L s .725 0 m .725 .00375 L s .775 0 m .775 .00375 L s .8 0 m .8 .00375 L s .825 0 m .825 .00375 L s .85 0 m .85 .00375 L s .9 0 m .9 .00375 L s .925 0 m .925 .00375 L s .95 0 m .95 .00375 L s .975 0 m .975 .00375 L s .25 Mabswid 0 0 m 1 0 L s 0 .125 m .00625 .125 L s [(-1.5)] -0.0125 .125 1 0 Mshowa 0 .25 m .00625 .25 L s [(-1)] -0.0125 .25 1 0 Mshowa 0 .375 m .00625 .375 L s [(-0.5)] -0.0125 .375 1 0 Mshowa 0 .5 m .00625 .5 L s [(0)] -0.0125 .5 1 0 Mshowa 0 .625 m .00625 .625 L s [(0.5)] -0.0125 .625 1 0 Mshowa 0 .75 m .00625 .75 L s [(1)] -0.0125 .75 1 0 Mshowa 0 .875 m .00625 .875 L s [(1.5)] -0.0125 .875 1 0 Mshowa 0 1 m .00625 1 L s [(2)] -0.0125 1 1 0 Mshowa .125 Mabswid 0 .025 m .00375 .025 L s 0 .05 m .00375 .05 L s 0 .075 m .00375 .075 L s 0 .1 m .00375 .1 L s 0 .15 m .00375 .15 L s 0 .175 m .00375 .175 L s 0 .2 m .00375 .2 L s 0 .225 m .00375 .225 L s 0 .275 m .00375 .275 L s 0 .3 m .00375 .3 L s 0 .325 m .00375 .325 L s 0 .35 m .00375 .35 L s 0 .4 m .00375 .4 L s 0 .425 m .00375 .425 L s 0 .45 m .00375 .45 L s 0 .475 m .00375 .475 L s 0 .525 m .00375 .525 L s 0 .55 m .00375 .55 L s 0 .575 m .00375 .575 L s 0 .6 m .00375 .6 L s 0 .65 m .00375 .65 L s 0 .675 m .00375 .675 L s 0 .7 m .00375 .7 L s 0 .725 m .00375 .725 L s 0 .775 m .00375 .775 L s 0 .8 m .00375 .8 L s 0 .825 m .00375 .825 L s 0 .85 m .00375 .85 L s 0 .9 m .00375 .9 L s 0 .925 m .00375 .925 L s 0 .95 m .00375 .95 L s 0 .975 m .00375 .975 L s .25 Mabswid 0 0 m 0 1 L s 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath .5 Mabswid 1 .77236 m .99836 .77083 L .77165 .60899 L .69224 .56488 L .62119 .53248 L .58951 .52061 L .56438 .51258 L .54271 .5068 L .5269 .5034 L .51489 .5014 L .51057 .50084 L .5068 .50043 L .50369 .50017 L .50261 .5001 L .50166 .50005 L .50088 .50002 L .50037 .50001 L .50016 .5 L .50005 .5 L .50002 .5 L .50022 .5 L .50067 .49999 L .50133 .49996 L .50213 .49992 L .50471 .49975 L .50851 .4994 L .51329 .49882 L .5187 .49803 L .5344 .49509 L .571 .48544 L .6246 .46614 L .69902 .43165 L .7993 .37395 L s .7993 .37395 m 1 .22492 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", CellLabel->"From In[8]:=", ImageSize->{288, 288}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHgool00`00ooooo`0Sool200000ooo003oo`0Tool01000ooooo`003Ooo 00<00?ooool08Ooo00@00?ooool002?oo`04003ooooo000=ool00`00ooooo`0Sool200000ooo003o o`0Rool200000ooo003oo`0>ool00`00ooooo`0Tool20003ool20002ool005?oo`8000ooo`H002;o o`8002Goo`@000goo`H001koo`@002?oo`@000goo`H002;oo`8002Goo`8000ooo`H002;oo`@000Co o`00oooo/Ooo003ooonaool00?oook7oo`00oooo/Ooo003ooonaool00?oook7oo`00oooo/Ooo000X oooo00240005ool002Soo`03003ooooo00Ooo`03003ooooo00Ooo`03003ooooo00Koo`03003ooooo 00Ooo`03003ooooo00Ooo`03003ooooo00Koo`03003ooooo00Ooo`03003ooooo00Koo`03003ooooo 00Ooo`03003ooooo00Ooo`03003ooooo00Koo`03003ooooo00Ooo`03003ooooo00Ooo`03003ooooo 00Koo`03003ooooo00Ooo`03003ooooo00Ooo`03003ooooo00Koo`03003ooooo00Ooo`03003ooooo 00Ooo`03003ooooo00Koo`03003ooooo00Ooo`03003ooooo00Koo`03003ooooo00Ooo`03003ooooo 00Ooo`03003ooooo00Koo`03003ooooo00Ooo`03003ooooo00Ooo`03003ooooo00Koo`03003ooooo 00Ooo`03003ooooo00Ooo`03003ooooo00Koo`03003ooooo00Ooo`03003ooooo00Ooo`03003ooooo 00Koo`03003ooooo00Ooo`03003ooooo00Koo`03003ooooo00Ooo`03003ooooo00Ooo`03003ooooo 00Koo`03003ooooo00Ooo`03003ooooo00?oo`00:?oo00<00?ooool0;_oo00<00?ooool0;Ooo00<0 0?ooool0;Ooo00<00?ooool0;Ooo00<00?ooool0;Ooo00<00?ooool0;_oo00<00?ooool0;Ooo00<0 0?ooool0;Ooo00<00?ooool00ooo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKo o`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKo o`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`<00?ooohKoo`00:?oo 00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo 00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo 00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`<00?ooohKoo`00:?oo00<00?oo ool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?oo ool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?oo ool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo0`00oooo Q_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0oooo Q_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0oooo Q_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0oooo Q_oo000Xool3003ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000X ool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`002_oo1`001Ooo0P001Ooo1@001_oo 00<00?ooool0ooooQ_oo000=ool00`00ooooo`06ool20009ool20005ool00`00ooooo`3ooon6ool0 00goo`03003ooooo01;oo`03003ooooo00?oo`03003ooooo0?ooohKoo`003Ooo00<00?ooool04_oo 00<00?ooool00ooo00<00?ooool0ooooQ_oo0003ool30007ool00`00ooooo`0=ool01000oooooooo 0P001Ooo1000ooooQOoo000=ool00`00ooooo`0=ool50006ool00`00ooooo`3ooon6ool000goo`03 003ooooo00goo`03003ooooo00Soo`03003ooooo0?ooohKoo`003Ooo00<00?ooool03Ooo00<00?oo ool02?oo00<00?ooool0ooooQ_oo000:ool200000ooo003oo`0>ool00`00ooooo`08ool00`00oooo o`3ooon6ool000coo`8000ooo`H000Goo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo 000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo 000Xool3003ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool0 0`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool0 0`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool3 003ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00oooo o`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00oooo o`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00oooo o`3ooon6ool002Soo`<00?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6 ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6 ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6 ool002Soo`03003ooooo0?ooohKoo`00:?oo0`00ooooQ_oo000Xool00`00ooooo`3ooomnool20006 ool002Soo`03003ooooo0?oooggoo`03003ooooo00Koo`00:?oo00<00?ooool0ooooO?oo00<00?oo ool01ooo000Xool00`00ooooo`3ooomjool2000:ool001coo`L000Goo`03003ooooo0?ooogWoo`03 003ooooo00[oo`007ooo00<00?ooool01_oo00<00?ooool0ooooN?oo00<00?ooool02ooo000Oool0 0`00ooooo`06ool00`00ooooo`3ooomfool2000>ool001ooo`03003ooooo00Koo`03003ooooo0?oo ogGoo`03003ooooo00koo`005Ooo0`001ooo00<00?ooool01_oo1000ooooLooo00<00?ooool03ooo 000Oool00`00ooooo`06ool00`00ooooo`3ooombool2000Bool001ooo`03003ooooo00Koo`03003o oooo0?ooog7oo`03003ooooo01;oo`007ooo00<00?ooool01_oo00<00?ooool0ooooL?oo00<00?oo ool04ooo000Lool200000ooo003oo`07ool00`00ooooo`3ooom^ool2000Fool001koo`8000Soo`03 003ooooo0?ooofgoo`03003ooooo01Koo`00:?oo00<00?ooool0ooooK?oo00<00?ooool05ooo000X ool00`00ooooo`3ooomZool2000Jool002Soo`03003ooooo0?ooofWoo`03003ooooo01[oo`00:?oo 00<00?ooool0ooooJ?oo00<00?ooool06ooo000Xool3003ooomVool2000Nool002Soo`03003ooooo 0?ooofGoo`03003ooooo01koo`00:?oo00<00?ooool0ooooHooo0P008Ooo000Xool00`00ooooo`3o oomRool00`00ooooo`0Qool002Soo`03003ooooo0?ooof7oo`03003ooooo02;oo`00:?oo00<00?oo ool0ooooGooo0P009Ooo000Xool00`00ooooo`3ooomNool00`00ooooo`0Uool002Soo`03003ooooo 0?oooegoo`03003ooooo02Koo`00:?oo00<00?ooool0ooooFooo0P00:Ooo000Xool00`00ooooo`3o oomJool00`00ooooo`0Yool002Soo`<00?oooeWoo`03003ooooo02[oo`00:?oo00<00?ooool0oooo Eooo0P00;Ooo000Xool00`00ooooo`3ooomFool00`00ooooo`0]ool002Soo`03003ooooo0?oooeGo o`03003ooooo02koo`00:?oo00<00?ooool0ooooDooo0P00ool00`00ooooo`0eool002Soo`<00?ooodcoo`8003So o`00:?oo00<00?ooool0ooooBooo00<00?ooool0>?oo000Xool00`00ooooo`3ooom:ool00`00oooo o`0iool002Soo`03003ooooo0?ooodSoo`8003coo`00:?oo00<00?ooool0ooooAooo00<00?ooool0 ??oo000Xool00`00ooooo`3ooom6ool00`00ooooo`0mool002Soo`03003ooooo0?ooodCoo`80043o o`00:?oo00<00?ooool0oooo@ooo00<00?ooool0@?oo000Xool00`00ooooo`3ooom2ool00`00oooo o`11ool002Soo`03003ooooo0?oood3oo`8004Coo`00:?oo0`00oooo?ooo00<00?ooool0A?oo000X ool00`00ooooo`3ooolnool00`00ooooo`15ool002Soo`03003ooooo0?oooccoo`8004Soo`00:?oo 00<00?ooool0oooo>ooo00<00?ooool0B?oo000Xool00`00ooooo`3oooljool00`00ooooo`19ool0 02Soo`03003ooooo0?ooocSoo`8004coo`003?oo10001_oo0P001Ooo1@001_oo00<00?ooool0oooo =ooo00<00?ooool0C?oo000Ooo`<009_oo`00:?oo0`00i?oo0`00W_oo000Xool00`00ooooo`3Rool2002Q ool002Soo`03003ooooo0=ooo`<00:?oo`00:?oo00<00?ooool0g?oo0`00Y_oo000Xool00`00oooo o`3Iool3002Yool002Soo`03003ooooo0=Goo`@00:coo`007_oo10001_oo00<00?ooool0dOoo1000 /?oo000Nool01000ooooo`001_oo00<00?ooool0cOoo1000]?oo000Mool00`00ooooo`02ool00`00 ooooo`03ool00`00ooooo`38ool5002hool001goo`03003ooooo00;oo`03003ooooo00?oo`03003o oooo0<;oo`H00;goo`007Ooo00<00?ooool00_oo00<00?ooool00ooo1000_Ooo2@00__oo000Mool0 0`00ooooo`02ool00`00ooooo`03ool00`00ooooo`37ool5002iool001goo`03003ooooo00;oo`03 003ooooo00?oo`03003ooooo0?oo`<009ooo`00:?oo00<00?ooool0 i_oo0`00W?oo000Xool00`00ooooo`3Yool3002Iool002Soo`03003ooooo0>coo`<009Koo`00:?oo 00<00?ooool0kooo0P00U?oo000Xool00`00ooooo`3aool2002Bool002Soo`03003ooooo0??oo`80 093oo`00:?oo00<00?ooool0mOoo0P00S_oo000Xool00`00ooooo`3gool2002_oo00<00?ooool0BOoo000Xool00`00ooooo`3ooolk ool20019ool002Soo`03003ooooo0?ooocgoo`03003ooooo04Koo`00:?oo0`00oooo?_oo0P00A_oo 000Xool00`00ooooo`3ooom0ool00`00ooooo`13ool002Soo`03003ooooo0?oood7oo`03003ooooo 04;oo`00:?oo00<00?ooool0oooo@_oo0P00@_oo000Xool00`00ooooo`3ooom4ool00`00ooooo`0o ool002Soo`03003ooooo0?ooodGoo`8003ooo`00:?oo00<00?ooool0ooooAooo00<00?ooool0??oo 000Xool00`00ooooo`3ooom8ool00`00ooooo`0kool002Soo`03003ooooo0?ooodWoo`8003_oo`00 :?oo0`00ooooBooo00<00?ooool0>?oo000Xool00`00ooooo`3ooomool001ooo`03003ooooo00Koo`03003o oooo0?ooogSoo`03003ooooo00_oo`007?oo0P0000?oo`00ool01ooo00<00?ooool0ooooNOoo0P00 2ooo000Nool20008ool00`00ooooo`3ooomkool00`00ooooo`08ool002Soo`03003ooooo0?ooogco o`03003ooooo00Ooo`00:?oo00<00?ooool0ooooOOoo0P001ooo000Xool00`00ooooo`3ooomoool0 0`00ooooo`04ool002Soo`03003ooooo0?ooohKoo`00:?oo0`00ooooQ_oo000Xool00`00ooooo`3o oon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3o oon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3o oon6ool002Soo`03003ooooo0?ooohKoo`00:?oo0`00ooooQ_oo000Xool00`00ooooo`3ooon6ool0 02Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool0 02Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool0 02Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool3003ooon6ool002Soo`03 003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03 003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03 003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`<0 0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo 0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000:ool70005ool20005ool50006ool00`00ooooo`3o oon6ool000goo`03003ooooo00Koo`8000Woo`8000Goo`03003ooooo0?ooohKoo`003Ooo00<00?oo ool04_oo00<00?ooool00ooo00<00?ooool0ooooQ_oo000=ool00`00ooooo`0Bool00`00ooooo`03 ool00`00ooooo`3ooon6ool000goo`03003ooooo00goo`04003oooooool20005ool4003ooon5ool0 00goo`03003ooooo00goo`D000Koo`03003ooooo0?ooohKoo`003Ooo00<00?ooool03Ooo00<00?oo ool02?oo00<00?ooool0ooooQ_oo000=ool00`00ooooo`0=ool00`00ooooo`08ool00`00ooooo`3o oon6ool000[oo`800003ool00?oo00koo`03003ooooo00Soo`03003ooooo0?ooohKoo`003?oo0P00 3ooo1P001Ooo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?oo ohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`<00?ooohKoo`00 :?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00 :?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00 :?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00 :?oo0`00ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<0 0?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<0 0?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo0`00 ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0 ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0 ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0 ooooQ_oo000Xool3003ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo 000Xool00`00ooooo`3ooon6ool002Soo`03003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo 000Lool70005ool00`00ooooo`3ooon6ool001goo`03003ooooo00;oo`03003ooooo00?oo`03003o oooo0?ooohKoo`007_oo00<00?ooool01ooo00<00?ooool0ooooQ_oo000Oool20007ool00`00oooo o`3ooon6ool0023oo`8000Koo`@00?ooohGoo`008Ooo0P00ooooS_oo000Rool00`00ooooo`3ooon< ool002;oo`03003ooooo0?ooohcoo`007?oo0P000ooo0P00ooooS_oo000Mool4003ooon@ool00?oo ok7oo`00oooo/Ooo003ooonaool00?oook7oo`00oooo/Ooo003ooonaool00?oook7oo`00oooo/Ooo 003ooonaool00?oook7oo`00oooo/Ooo0000\ \>"], ImageRangeCache->{{{109, 396}, {423.562, 136.562}} -> {-4.12177, -0.168114, \ 0.0155771, 0.0155771}}], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False]], "Output", CellLabel->"Out[8]="] }, Open ]], Cell[TextData[{ "By the way, I just guessed that ", Cell[BoxData[ \(TraditionalForm\`x\)]], " should go from -5 to 5. Alternatively, you could solve for the fixed \ points explicitly for ", Cell[BoxData[ \(TraditionalForm\`r = 2\)]], " (the right-hand edge) and get an idea for the ", Cell[BoxData[ \(TraditionalForm\`x\)]], " range that way." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["Third method: Discriminants", "Section"], Cell[TextData[{ "Every polynomial has a discriminant. (See ", StyleBox["http://mathworld.wolfram.com/PolynomialDiscriminant.html.", "Program"], ") The definition is kind of complicated: You start by numbering all the \ roots of a polynomial ", Cell[BoxData[ \(TraditionalForm\`r\_1, ... , r\_n\)]], ". Remember, every complex polynomial of degree ", Cell[BoxData[ \(TraditionalForm\`n\)]], " has ", Cell[BoxData[ \(TraditionalForm\`n\)]], " complex roots. Then the discriminant is defined to be the product of the \ squares of the differences between every possible pair of roots:" }], "Text"], Cell[BoxData[ \(D = \[Product]\+\(i = 1\)\%n\(\[Product]\+\(j = i + 1\)\%n\((r\_i - \ r\_j)\)\^2\)\)], "DisplayFormula"], Cell["\<\ So the discriminant is zero if two of the roots coincide. Luckily, \ there's a way to compute the discriminant just from the coefficients of the \ polynomial. The following incantation defines such a calculation. (Don't \ worry about how this works for now.)\ \>", "Text"], Cell[BoxData[ \(Discriminant[p_?PolynomialQ, x_] := With[{n = Exponent[p, x]}, Cancel[\((\((\(-1\))\)^\((n \((n - 1)\)/2)\) Resultant[p, D[p, x], x])\)/ Coefficient[p, x, n]^\((2 n - 1)\)]]\)], "Input", CellLabel->"In[9]:="], Cell[TextData[{ "Here's the familiar discriminant for a quadratic polynomial, up to a \ factor of ", Cell[BoxData[ \(TraditionalForm\`a\^2\)]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Discriminant[a\ x^2\ + \ b\ x\ + \ c, \ x]\)], "Input", CellLabel->"In[10]:="], Cell[BoxData[ \(\(b\^2 - 4\ a\ c\)\/a\^2\)], "Output", CellLabel->"Out[10]="] }, Open ]], Cell[TextData[{ "So if our function ", Cell[BoxData[ \(TraditionalForm\`f[x, r, h]\)]], " undergoes a bifurcation at parameter values ", Cell[BoxData[ \(TraditionalForm\`r\)]], " and ", Cell[BoxData[ \(TraditionalForm\`h\)]], ", two fixed points collide, which means the discriminant must be zero:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(discF = Discriminant[f[x, r, h], x]\)], "Input", CellLabel->"In[11]:="], Cell[BoxData[ \(\(-27\)\ h\^2 + 4\ r\^3\)], "Output", CellLabel->"Out[11]="] }, Open ]], Cell[TextData[{ "The equation ", Cell[BoxData[ \(TraditionalForm\`\(-27\)\ h\^2 + 4\ r\^3 \[Equal] 0\)]], " defines a curve in the ", Cell[BoxData[ FormBox[Cell[TextData[Cell[BoxData[ FormBox[Cell[TextData[Cell[BoxData[ \(TraditionalForm\`\((r, h)\)\)]]]], TraditionalForm]]]]], TraditionalForm]]], "implicitly, and we want to get a picture of it. There are different ways \ to do this. One is to use ", ButtonBox["ImplicitPlot", ButtonStyle->"RefGuideLink"], ". We have to first load a package to make that command available." }], "Text"], Cell[BoxData[ \(<< Graphics`\)], "Input", CellLabel->"In[12]:="], Cell[CellGroupData[{ Cell[BoxData[ \(ImplicitPlot[ discF \[Equal] 0, {r, \(-2\), 2}, {h, \(-2\), 2}]\)], "Input", CellLabel->"In[13]:="], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% ContourGraphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.5 0.240385 0.5 0.240385 [ [.01923 -0.0125 -6 -9 ] [.01923 -0.0125 6 0 ] [.25962 -0.0125 -6 -9 ] [.25962 -0.0125 6 0 ] [.5 -0.0125 -3 -9 ] [.5 -0.0125 3 0 ] [.74038 -0.0125 -3 -9 ] [.74038 -0.0125 3 0 ] [.98077 -0.0125 -3 -9 ] [.98077 -0.0125 3 0 ] [-0.0125 .01923 -12 -4.5 ] [-0.0125 .01923 0 4.5 ] [-0.0125 .25962 -12 -4.5 ] [-0.0125 .25962 0 4.5 ] [-0.0125 .5 -6 -4.5 ] [-0.0125 .5 0 4.5 ] [-0.0125 .74038 -6 -4.5 ] [-0.0125 .74038 0 4.5 ] [-0.0125 .98077 -6 -4.5 ] [-0.0125 .98077 0 4.5 ] [ 0 0 0 0 ] [ 1 1 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .01923 0 m .01923 .00625 L s [(-2)] .01923 -0.0125 0 1 Mshowa .25962 0 m .25962 .00625 L s [(-1)] .25962 -0.0125 0 1 Mshowa .5 0 m .5 .00625 L s [(0)] .5 -0.0125 0 1 Mshowa .74038 0 m .74038 .00625 L s [(1)] .74038 -0.0125 0 1 Mshowa .98077 0 m .98077 .00625 L s [(2)] .98077 -0.0125 0 1 Mshowa .125 Mabswid .06731 0 m .06731 .00375 L s .11538 0 m .11538 .00375 L s .16346 0 m .16346 .00375 L s .21154 0 m .21154 .00375 L s .30769 0 m .30769 .00375 L s .35577 0 m .35577 .00375 L s .40385 0 m .40385 .00375 L s .45192 0 m .45192 .00375 L s .54808 0 m .54808 .00375 L s .59615 0 m .59615 .00375 L s .64423 0 m .64423 .00375 L s .69231 0 m .69231 .00375 L s .78846 0 m .78846 .00375 L s .83654 0 m .83654 .00375 L s .88462 0 m .88462 .00375 L s .93269 0 m .93269 .00375 L s .25 Mabswid 0 0 m 1 0 L s 0 .01923 m .00625 .01923 L s [(-2)] -0.0125 .01923 1 0 Mshowa 0 .25962 m .00625 .25962 L s [(-1)] -0.0125 .25962 1 0 Mshowa 0 .5 m .00625 .5 L s [(0)] -0.0125 .5 1 0 Mshowa 0 .74038 m .00625 .74038 L s [(1)] -0.0125 .74038 1 0 Mshowa 0 .98077 m .00625 .98077 L s [(2)] -0.0125 .98077 1 0 Mshowa .125 Mabswid 0 .06731 m .00375 .06731 L s 0 .11538 m .00375 .11538 L s 0 .16346 m .00375 .16346 L s 0 .21154 m .00375 .21154 L s 0 .30769 m .00375 .30769 L s 0 .35577 m .00375 .35577 L s 0 .40385 m .00375 .40385 L s 0 .45192 m .00375 .45192 L s 0 .54808 m .00375 .54808 L s 0 .59615 m .00375 .59615 L s 0 .64423 m .00375 .64423 L s 0 .69231 m .00375 .69231 L s 0 .78846 m .00375 .78846 L s 0 .83654 m .00375 .83654 L s 0 .88462 m .00375 .88462 L s 0 .93269 m .00375 .93269 L s .25 Mabswid 0 0 m 0 1 L s 0 0 m 1 0 L 1 1 L 0 1 L closepath clip newpath .5 Mabswid .98077 .7617 m .97008 .75304 L .95547 .74132 L .93822 .72773 L .93016 .7215 L .90512 .70243 L .90486 .70223 L .87955 .68359 L .87063 .67713 L .85425 .66556 L .83443 .65182 L .82895 .64814 L .80364 .63139 L .79617 .62652 L .77834 .61538 L .75522 .60121 L .75304 .59997 L .72773 .58552 L .71074 .57591 L .70243 .57191 L .67713 .55908 L .66093 .55061 L .65182 .54644 L .62652 .53533 L .60128 .5253 L .60121 .52528 L .57591 .51642 L .55061 .50894 L .5253 .50316 L .5 .5 L .5253 .49684 L .55061 .49106 L .57591 .48358 L .60121 .47472 L .60128 .4747 L .62652 .46467 L .65182 .45356 L .66093 .44939 L .67713 .44092 L .70243 .42809 L .71074 .42409 L .72773 .41448 L .75304 .40003 L .75522 .39879 L .77834 .38462 L .79617 .37348 L .80364 .36861 L .82895 .35186 L .83443 .34818 L .85425 .33444 L Mistroke .87063 .32287 L .87955 .31641 L .90486 .29777 L .90512 .29757 L .93016 .2785 L .93822 .27227 L .95547 .25868 L .97008 .24696 L .98077 .2383 L Mfstroke % End of Graphics MathPictureEnd \ \>"], "Graphics", CellLabel->"From In[13]:=", ImageSize->{288, 288}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg_oo000Gool00`00ooooo`3ooomHool2000mool001Ooo`03003ooooo0?oo oeKoo`8003ooo`005ooo00<00?ooool0ooooEOoo00<00?ooool0?ooo000Gool00`00ooooo`3ooomC ool20012ool001Ooo`03003ooooo0?oooe;oo`03003ooooo04;oo`005ooo00<00?ooool0ooooDOoo 00<00?ooool0@ooo000Gool00`00ooooo`3ooom@ool00`00ooooo`14ool001Ooo`800?ooodooo`80 04Ooo`005ooo00<00?ooool0ooooCOoo00<00?ooool0Aooo000Gool00`00ooooo`3ooom;ool2001: ool001Ooo`03003ooooo0?ooodWoo`8004coo`005ooo00<00?ooool0ooooB?oo00<00?ooool0C?oo 000Gool00`00ooooo`3ooom6ool2001?ool001Ooo`03003ooooo0?ooodGoo`03003ooooo04ooo`00 5ooo00<00?ooool0oooo@ooo0P00D_oo000Gool00`00ooooo`3ooom2ool00`00ooooo`1Bool001Oo o`03003ooooo0?oood3oo`8005Goo`005ooo00<00?ooool0oooo?_oo0P00Eooo000Gool00`00oooo o`3ooollool2001Iool001Ooo`03003ooooo0?oooc_oo`03003ooooo05Woo`005ooo00<00?ooool0 oooo>Ooo0P00G?oo000Gool00`00ooooo`3ooolhool00`00ooooo`1Lool001Ooo`03003ooooo0?oo ocKoo`8005ooo`005ooo00<00?ooool0oooo=Ooo00<00?ooool0Gooo000Gool00`00ooooo`3ooolc ool2001Rool001Ooo`03003ooooo0?oooc;oo`03003ooooo06;oo`005ooo00<00?ooool0oooocoo`<00:Ooo`005ooo00<00?ooool0j_oo0P00Z_oo000Gool0 0`00ooooo`3Wool3002/ool001Ooo`03003ooooo0>?oo`@00:ooo`003?oo10001ooo00<00?ooool0 gooo1000/ooo000?oo`@00:ooo`005ooo00<00?oo ool0iooo0`00[?oo000Gool00`00ooooo`3Zool2002Zool001Ooo`03003ooooo0>coo`<00:Ooo`00 5ooo00<00?ooool0kooo0P0000?oo`00ool0X_oo000Gool00`00ooooo`3aool3002Rool001Ooo`03 003ooooo0?Coo`800:3oo`005ooo00<00?ooool0m_oo0`00WOoo000Gool00`00ooooo`3iool2002K ool001Ooo`03003ooooo0?_oo`<009Soo`005ooo00<00?ooool0o_oo0P00U_oo000Gool00`00oooo o`3oool1ool3002Cool001Ooo`03003ooooo0?ooo`Coo`80097oo`005ooo00<00?ooool0oooo1_oo 0P00Sooo000Gool2003oool9ool2002=ool001Ooo`03003ooooo0?ooo`[oo`<008[oo`005ooo00<0 0?ooool0oooo3Ooo0P00R?oo000Gool00`00ooooo`3oool?ool20026ool001Ooo`03003ooooo0?oo oa7oo`8008Coo`005ooo00<00?ooool0oooo4ooo0P00P_oo000Gool00`00ooooo`3ooolEool20020 ool001Ooo`03003ooooo0?oooaOoo`03003ooooo07goo`005ooo00<00?ooool0oooo6?oo0P00OOoo 000Gool00`00ooooo`3ooolJool2001kool001Ooo`03003ooooo0?oooacoo`8007Woo`005ooo00<0 0?ooool0oooo7_oo0`00M_oo000Gool00`00ooooo`3ooolQool2001dool001Ooo`03003ooooo0?oo ob?oo`03003ooooo077oo`005ooo00<00?ooool0oooo9?oo0P00LOoo000Gool00`00ooooo`3ooolV ool00`00ooooo`1^ool001Ooo`03003ooooo0?ooobOoo`8006koo`005ooo00<00?ooool0oooo:Ooo 0P00K?oo000Gool00`00ooooo`3oool[ool2001Zool001Ooo`03003ooooo0?ooobgoo`8006Soo`00 5ooo0P00ooooOoo 0P00G?oo000Gool00`00ooooo`3ooolkool00`00ooooo`1Iool001Ooo`03003ooooo0?oooccoo`80 05Woo`005ooo00<00?ooool0oooo?_oo00<00?ooool0E_oo000Gool00`00ooooo`3oooloool00`00 ooooo`1Eool001Ooo`03003ooooo0?oood3oo`8005Goo`005ooo00<00?ooool0oooo@_oo00<00?oo ool0D_oo000Gool00`00ooooo`3ooom3ool2001Bool001Ooo`03003ooooo0?ooodGoo`03003ooooo 04ooo`005ooo00<00?ooool0ooooA_oo0P00Cooo000Gool00`00ooooo`3ooom8ool00`00ooooo`1< ool001Ooo`03003ooooo0?ooodWoo`8004coo`005ooo00<00?ooool0ooooBooo0P00B_oo000Gool2 003ooom>ool00`00ooooo`17ool001Ooo`03003ooooo0?ooodkoo`8004Ooo`005ooo00<00?ooool0 ooooD?oo00<00?ooool0A?oo000Gool00`00ooooo`3ooomAool20014ool001Ooo`03003ooooo0?oo oe?oo`03003ooooo047oo`005ooo00<00?ooool0ooooE?oo0P00@Ooo000Gool00`00ooooo`3ooomF ool00`00ooooo`0nool001Ooo`03003ooooo0?oooeOoo`03003ooooo03goo`005ooo00<00?ooool0 ooooF?oo0P00?Ooo000Gool00`00ooooo`3ooomJool00`00ooooo`0jool001Ooo`03003ooooo0?oo oe_oo`8003[oo`005ooo00<00?ooool0ooooGOoo00<00?ooool0=ooo000Gool00`00ooooo`3ooomN ool00`00ooooo`0fool001Ooo`03003ooooo0?oooeooo`8003Koo`005ooo00<00?ooool0ooooHOoo 00<00?ooool0ool00`00ooooo`06ool001Ooo`03 003ooooo0?oooiOoo`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03 003ooooo0?oooiOoo`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03 003ooooo0?oooiOoo`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03 003ooooo0?oooiOoo`005ooo0P00ooooV?oo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo 0?oooiOoo`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo 0?oooiOoo`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo 0?oooiOoo`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo 0?oooiOoo`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo 0?oooiOoo`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo 0?oooiOoo`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`800?oooiSo o`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOo o`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOo o`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOo o`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOo o`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOo o`005ooo00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOo o`005ooo0P00ooooV?oo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOoo`005ooo 00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOoo`005ooo 00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOoo`005ooo 00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOoo`005ooo 00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOoo`005ooo 00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOoo`005ooo 00<00?ooool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`800?oooiSoo`005ooo00<00?oo ool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOoo`005ooo00<00?oo ool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOoo`005ooo00<00?oo ool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOoo`005ooo00<00?oo ool0ooooUooo000Gool00`00ooooo`3ooonGool001Ooo`03003ooooo0?oooiOoo`005ooo00<00?oo ool0ooooUooo000Gool00`00ooooo`3ooonGool000[oo`L000Koo`03003ooooo0?oooiOoo`002ooo 00<00?ooool00_oo00<00?ooool01?oo00<00?ooool0ooooUooo000"], ImageRangeCache->{{{109, 396}, {670.438, 383.438}} -> {-3.98531, 3.58008, \ 0.0153165, 0.0153165}}], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] ContourGraphics \[SkeletonIndicator]\), False, Editable->False]], "Output", CellLabel->"Out[13]="] }, Open ]], Cell["\<\ An alternative is to solve for one variable in terms of the other. \ This can get a little tricky:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(hSol = Solve[discF \[Equal] 0, h]\)], "Input", CellLabel->"In[14]:="], Cell[BoxData[ \({{h \[Rule] \(-\(\(2\ r\^\(3/2\)\)\/\(3\ \@3\)\)\)}, {h \[Rule] \(2\ \ r\^\(3/2\)\)\/\(3\ \@3\)}}\)], "Output", CellLabel->"Out[14]="] }, Open ]], Cell[TextData[{ "Now we need both solutions. This expression gives us a list of solutions \ for ", Cell[BoxData[ \(TraditionalForm\`h\)]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(h /. hSol\)], "Input", CellLabel->"In[15]:="], Cell[BoxData[ \({\(-\(\(2\ r\^\(3/2\)\)\/\(3\ \@3\)\)\), \(2\ r\^\(3/2\)\)\/\(3\ \@3\)}\ \)], "Output", CellLabel->"Out[15]="] }, Open ]], Cell[TextData[{ "The ", ButtonBox["/.", ButtonStyle->"RefGuideLink"], " command can work with a list of rule tables, and produces a list of what \ happens when you apply the different rule tables to the expression on the \ left. Just so you see what it's doing:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Foo[bar, baz] /. {{Foo \[Rule] f, bar \[Rule] x, baz \[Rule] y}, \[IndentingNewLine]{Foo \[Rule] g, bar \[Rule] a, baz \[Rule] b}}\)], "Input", CellLabel->"In[16]:="], Cell[BoxData[ \({f[x, y], g[a, b]}\)], "Output", CellLabel->"Out[16]="] }, Open ]], Cell[TextData[{ "Now for our plot. Since we have ", Cell[BoxData[ \(TraditionalForm\`h\)]], " as a function of ", Cell[BoxData[ \(TraditionalForm\`r\)]], ", we can use the regular ", ButtonBox["Plot", ButtonStyle->"RefGuideLink"], " command, but we need to plot both solutions." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Plot[h /. hSol, {r, \(-2\), 2}]\)], "Input", CellLabel->"In[17]:="], Cell[BoxData[ RowBox[{\(Plot::"plnr"\), \(\(:\)\(\ \)\), \ "\<\"\\!\\(h/.\[InvisibleSpace]hSol\\) is not a machine-size real number at \ \\!\\(r\\) = \\!\\(-1.9999998333333333`\\). \\!\\(\\*ButtonBox[\\\"More\ \[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"Plot::plnr\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[17]:="], Cell[BoxData[ RowBox[{\(Plot::"plnr"\), \(\(:\)\(\ \)\), \ "\<\"\\!\\(h/.\[InvisibleSpace]hSol\\) is not a machine-size real number at \ \\!\\(r\\) = \\!\\(-1.8377320337083367`\\). \\!\\(\\*ButtonBox[\\\"More\ \[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"Plot::plnr\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[17]:="], Cell[BoxData[ RowBox[{\(Plot::"plnr"\), \(\(:\)\(\ \)\), \ "\<\"\\!\\(h/.\[InvisibleSpace]hSol\\) is not a machine-size real number at \ \\!\\(r\\) = \\!\\(-1.660764800562505`\\). \\!\\(\\*ButtonBox[\\\"More\ \[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"Plot::plnr\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[17]:="], Cell[BoxData[ RowBox[{\(General::"stop"\), \(\(:\)\(\ \)\), "\<\"Further output of \ \\!\\(Plot :: \\\"plnr\\\"\\) will be suppressed during this calculation. \\!\ \\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::stop\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[17]:="], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .61803 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.952381 0.0147151 0.588604 [ [.21429 .00222 -9 -9 ] [.21429 .00222 9 0 ] [.40476 .00222 -9 -9 ] [.40476 .00222 9 0 ] [.59524 .00222 -9 -9 ] [.59524 .00222 9 0 ] [.78571 .00222 -9 -9 ] [.78571 .00222 9 0 ] [.97619 .00222 -3 -9 ] [.97619 .00222 3 0 ] [.01131 .13244 -18 -4.5 ] [.01131 .13244 0 4.5 ] [.01131 .25016 -18 -4.5 ] [.01131 .25016 0 4.5 ] [.01131 .36788 -18 -4.5 ] [.01131 .36788 0 4.5 ] [.01131 .4856 -18 -4.5 ] [.01131 .4856 0 4.5 ] [.01131 .60332 -6 -4.5 ] [.01131 .60332 0 4.5 ] [ 0 0 0 0 ] [ 1 .61803 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .21429 .01472 m .21429 .02097 L s [(0.2)] .21429 .00222 0 1 Mshowa .40476 .01472 m .40476 .02097 L s [(0.4)] .40476 .00222 0 1 Mshowa .59524 .01472 m .59524 .02097 L s [(0.6)] .59524 .00222 0 1 Mshowa .78571 .01472 m .78571 .02097 L s [(0.8)] .78571 .00222 0 1 Mshowa .97619 .01472 m .97619 .02097 L s [(1)] .97619 .00222 0 1 Mshowa .125 Mabswid .07143 .01472 m .07143 .01847 L s .11905 .01472 m .11905 .01847 L s .16667 .01472 m .16667 .01847 L s .2619 .01472 m .2619 .01847 L s .30952 .01472 m .30952 .01847 L s .35714 .01472 m .35714 .01847 L s .45238 .01472 m .45238 .01847 L s .5 .01472 m .5 .01847 L s .54762 .01472 m .54762 .01847 L s .64286 .01472 m .64286 .01847 L s .69048 .01472 m .69048 .01847 L s .7381 .01472 m .7381 .01847 L s .83333 .01472 m .83333 .01847 L s .88095 .01472 m .88095 .01847 L s .92857 .01472 m .92857 .01847 L s .25 Mabswid 0 .01472 m 1 .01472 L s .02381 .13244 m .03006 .13244 L s [(0.2)] .01131 .13244 1 0 Mshowa .02381 .25016 m .03006 .25016 L s [(0.4)] .01131 .25016 1 0 Mshowa .02381 .36788 m .03006 .36788 L s [(0.6)] .01131 .36788 1 0 Mshowa .02381 .4856 m .03006 .4856 L s [(0.8)] .01131 .4856 1 0 Mshowa .02381 .60332 m .03006 .60332 L s [(1)] .01131 .60332 1 0 Mshowa .125 Mabswid .02381 .04415 m .02756 .04415 L s .02381 .07358 m .02756 .07358 L s .02381 .10301 m .02756 .10301 L s .02381 .16187 m .02756 .16187 L s .02381 .1913 m .02756 .1913 L s .02381 .22073 m .02756 .22073 L s .02381 .27959 m .02756 .27959 L s .02381 .30902 m .02756 .30902 L s .02381 .33845 m .02756 .33845 L s .02381 .39731 m .02756 .39731 L s .02381 .42674 m .02756 .42674 L s .02381 .45617 m .02756 .45617 L s .02381 .51503 m .02756 .51503 L s .02381 .54446 m .02756 .54446 L s .02381 .57389 m .02756 .57389 L s .25 Mabswid .02381 0 m .02381 .61803 L s 0 0 m 1 0 L 1 .61803 L 0 .61803 L closepath clip newpath % End of Graphics MathPictureEnd \ \>"], "Graphics", CellLabel->"From In[17]:=", ImageSize->{288, 177.938}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg?oo00<00?ooool00_oo00<00?ooool02_oo00<0 0?ooool0>?oo00<00?ooool00_oo00<00?ooool02_oo0P000_oo0P00@Ooo00<00?ooool02Ooo001R ool00`00ooooo`02ool00`00ooooo`0?ool00`00ooooo`0dool00`00ooooo`02ool00`00ooooo`0; ool00`00ool0000hool00`00ooooo`02ool00`00ooooo`0;ool00`00ooooo`0gool00`00ooooo`02 ool00`00ooooo`0:ool00`00ooooo`02ool00`00ooooo`0oool00`00ooooo`09ool006?oo`04003o oooo000Ooo00@00?ooool000koo`8003Woo`04 003ooooo000=ool00`00ooooo`02ool00`00ooooo`0lool200000ooo003oo`0:ool006?oo`@000go o`@003Woo`@000ooo`8003Woo`@0013oo`<003Koo`@000koo`@0047oo`8000_oo`00oooo/Ooo000P ool00`00ooooo`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000P ool00`00ooooo`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000F oooo002J0001ool0023oo`03003ooooo013oo`03003ooooo017oo`03003ooooo013oo`03003ooooo 013oo`03003ooooo017oo`03003ooooo013oo`03003ooooo017oo`03003ooooo013oo`03003ooooo 017oo`03003ooooo013oo`03003ooooo017oo`03003ooooo013oo`03003ooooo017oo`03003ooooo 013oo`03003ooooo013oo`03003ooooo017oo`03003ooooo013oo`03003ooooo017oo`03003ooooo 013oo`03003ooooo017oo`03003ooooo00Soo`008?oo00<00?ooool04?oo00<00?ooool04Ooo00<0 0?ooool04?oo00<00?ooool04?oo00<00?ooool04Ooo00<00?ooool04?oo00<00?ooool04Ooo00<0 0?ooool04?oo00<00?ooool04Ooo00<00?ooool04?oo00<00?ooool04Ooo00<00?ooool04?oo00<0 0?ooool04Ooo00<00?ooool04?oo00<00?ooool04?oo00<00?ooool04Ooo00<00?ooool04?oo00<0 0?ooool04Ooo00<00?ooool04?oo00<00?ooool04Ooo00<00?ooool02?oo000Pool00`00ooooo`1: ool00`00ooooo`1;ool00`00ooooo`1;ool00`00ooooo`1;ool00`00ooooo`1;ool00`00ooooo`08 ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool2003ooon?ool0023o o`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023o o`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023o o`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023o o`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool2003ooon?ool0023oo`03003o oooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03003o oooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03003o oooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03003o oooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool2003ooon?ool0023oo`03003ooooo0?oo ohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03003ooooo0?oo ohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03003ooooo0?oo ohkoo`000ooo10001_oo0P001?oo1`001_oo00<00?ooool0ooooS_oo0003ool01000ooooo`001_oo 0P001Ooo00<00?ooool00_oo00<00?ooool01?oo00<00?ooool0ooooS_oo0002ool00`00ooooo`02 ool00`00ooooo`0;ool00`00ooooo`08ool00`00ooooo`3ooon>ool000;oo`03003ooooo00;oo`03 003ooooo00coo`8000Soo`03003ooooo0?ooohkoo`000_oo00<00?ooool00_oo00<00?ooool03Ooo 0P001ooo0`00ooooS_oo0002ool00`00ooooo`02ool00`00ooooo`0>ool20006ool00`00ooooo`3o oon>ool000;oo`03003ooooo00;oo`03003ooooo00ooo`03003ooooo00Coo`03003ooooo0?ooohko o`000_oo00<00?ooool00_oo00<00?ooool03ooo00<00?ooool01?oo00<00?ooool0ooooS_oo0003 ool01000ooooo`003?oo0P000ooo0P001_oo00<00?ooool0ooooS_oo0003ool4000=ool40008ool0 0`00ooooo`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool0 0`00ooooo`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool0 0`00ooooo`3ooon>ool0023oo`800?ooohooo`008?oo00<00?ooool0ooooS_oo000Pool00`00oooo o`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00oooo o`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00oooo o`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00oooo o`3ooon>ool0023oo`800?ooohooo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`800?ooohooo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023o o`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023o o`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo0003ool40006ool20006ool40007ool0 0`00ooooo`3ooon>ool000?oo`04003ooooo0006ool20008ool00`00ooooo`06ool00`00ooooo`3o oon>ool000;oo`03003ooooo00;oo`03003ooooo00goo`03003ooooo00Koo`03003ooooo0?ooohko o`000_oo00<00?ooool00_oo00<00?ooool02Ooo1P001ooo00<00?ooool0ooooS_oo0002ool00`00 ooooo`02ool00`00ooooo`09ool01@00oooooooo00002?oo0`00ooooS_oo0002ool00`00ooooo`02 ool00`00ooooo`0:ool01000ooooo`002?oo00<00?ooool0ooooS_oo0002ool00`00ooooo`02ool0 0`00ooooo`0;ool00`00ool00008ool00`00ooooo`3ooon>ool000;oo`03003ooooo00;oo`03003o oooo00_oo`03003oo`0000Soo`03003ooooo0?ooohkoo`000ooo00@00?ooool000ooo`8000Soo`03 003ooooo0?ooohkoo`000ooo10003ooo0P002?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3o oon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3o oon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool2003ooon?ool0 023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0 023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0 023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0 023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool2003ooon?ool0023oo`03 003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03 003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03 003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03 003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`80 0?ooohooo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03003ooooo 0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03003ooooo 0?ooohkoo`008?oo00<00?ooool0ooooS_oo0003ool40006ool20007ool30007ool00`00ooooo`3o oon>ool000?oo`04003ooooo0006ool20006ool01@00oooooooo00001_oo00<00?ooool0ooooS_oo 0002ool00`00ooooo`02ool00`00ooooo`0:ool00`00ooooo`02ool00`00ooooo`04ool00`00oooo o`3ooon>ool000;oo`03003ooooo00;oo`03003ooooo00[oo`03003ooooo00;oo`03003ooooo00Co o`03003ooooo0?ooohkoo`000_oo00<00?ooool00_oo00<00?ooool02_oo0P000_oo0P001_oo0`00 ooooS_oo0002ool00`00ooooo`02ool00`00ooooo`0:ool00`00ool000020007ool00`00ooooo`3o oon>ool000;oo`03003ooooo00;oo`03003ooooo00[oo`03003ooooo00Woo`03003ooooo0?ooohko o`000_oo00<00?ooool00_oo00<00?ooool02ooo00<00?ooool02?oo00<00?ooool0ooooS_oo0003 ool01000ooooo`003_oo0P002Ooo00<00?ooool0ooooS_oo0003ool4000@ool30006ool00`00oooo o`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00oooo o`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00oooo o`3ooon>ool0023oo`800?ooohooo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`800?ooohooo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023o o`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023o o`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023o o`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023o o`800?ooohooo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03003o oooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`03003o oooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo0003ool40006ool20006ool40007ool00`00oooo o`3ooon>ool000?oo`04003ooooo0006ool20005ool00`00ooooo`02ool00`00ooooo`04ool00`00 ooooo`3ooon>ool000;oo`03003ooooo00;oo`03003ooooo00[oo`03003ooooo00;oo`03003ooooo 00Coo`03003ooooo0?ooohkoo`000_oo00<00?ooool00_oo00<00?ooool02_oo00<00?ooool00_oo 00<00?ooool01?oo00<00?ooool0ooooS_oo0002ool00`00ooooo`02ool00`00ooooo`0:ool20002 ool20006ool3003ooon>ool000;oo`03003ooooo00;oo`03003ooooo00coo`8000Soo`03003ooooo 0?ooohkoo`000_oo00<00?ooool00_oo00<00?ooool02_oo0P000_oo0P001_oo00<00?ooool0oooo S_oo0002ool00`00ooooo`02ool00`00ooooo`0:ool00`00ooooo`02ool00`00ooooo`04ool00`00 ooooo`3ooon>ool000?oo`04003ooooo000=ool00`00ooooo`02ool00`00ooooo`04ool00`00oooo o`3ooon>ool000?oo`@000koo`@000Ooo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo 000Pool00`00ooooo`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo 000Pool00`00ooooo`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo0P00ooooSooo000Pool0 0`00ooooo`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool0 0`00ooooo`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool0 0`00ooooo`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool0 0`00ooooo`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo0P00ooooSooo000Pool00`00oooo o`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00oooo o`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00oooo o`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00oooo o`3ooon>ool0023oo`03003ooooo0?ooohkoo`008?oo0P00ooooSooo000Pool00`00ooooo`3ooon> ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool001?oo`L000Koo`03003ooooo0?ooohkoo`005_oo00<00?ooool01ooo00<00?ooool0ooooS_oo 000Fool00`00ooooo`07ool00`00ooooo`3ooon>ool001Koo`03003ooooo00Ooo`03003ooooo0?oo ohkoo`005_oo00<00?ooool01ooo0`00ooooS_oo000Fool00`00ooooo`07ool00`00ooooo`3ooon> ool001Koo`03003ooooo00Ooo`03003ooooo0?ooohkoo`005_oo00<00?ooool01ooo00<00?ooool0 ooooS_oo000Cool200000ooo003oo`08ool00`00ooooo`3ooon>ool001Goo`8000Woo`03003ooooo 0?ooohkoo`008?oo00<00?ooool0ooooS_oo0000\ \>"], ImageRangeCache->{{{109, 396}, {650.562, 473.625}} -> {-0.50392, 2.88198, \ 0.00386179, 0.00624851}}], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False]], "Output", CellLabel->"Out[17]="] }, Open ]], Cell[TextData[{ "That isn't good. What sometimes happens is that ", StyleBox["Mathematica", FontSlant->"Italic"], " evaluates the expression you're plotting in a funny order, so for \ example, it sets ", Cell[BoxData[ \(TraditionalForm\`r = \(-1.66\)\)]], ", and looks at ", Cell[BoxData[ \(TraditionalForm\`h /. hSol\)]], " but doesn't evaluate the ", ButtonBox["/.", ButtonStyle->"RefGuideLink"], " substitution, so there's nowhere to plug in ", Cell[BoxData[ \(TraditionalForm\`r\)]], ", and it gets confused. What usually works in this case is to tell ", StyleBox["Mathematica", FontSlant->"Italic"], " not to delay evaluating the expression to be plotted. You do that by \ wrapping it in ", ButtonBox["Evaluate", ButtonStyle->"RefGuideLink"], ". This is a good trick to know. ", ButtonBox["Solve", ButtonStyle->"RefGuideLink"], ", ", ButtonBox["Plot", ButtonStyle->"RefGuideLink"], ", and other functions are documented as having this odd behavior: They \ \"evaluate their arguments in a non-standard way\" which is a clue that you \ might need to use ", ButtonBox["Evaluate", ButtonStyle->"RefGuideLink"], ". Anyway, here's the repaired ", ButtonBox["Plot", ButtonStyle->"RefGuideLink"], " command:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Plot[Evaluate[h /. hSol], {r, \(-2\), 2}]\)], "Input", CellLabel->"In[18]:="], Cell[BoxData[ RowBox[{\(Plot::"plnr"\), \(\(:\)\(\ \)\), "\<\"\\!\\(-\\(\\(\\(2\\\\ \ r\\^\\(\[LeftSkeleton] 1 \[RightSkeleton]\\)\\)\\/\\(3\\\\ \\@3\\)\\)\\)\\) \ is not a machine-size real number at \\!\\(r\\) = \ \\!\\(-1.9999998333333333`\\). \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"Plot::plnr\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[18]:="], Cell[BoxData[ RowBox[{\(Plot::"plnr"\), \(\(:\)\(\ \)\), "\<\"\\!\\(-\\(\\(\\(2\\\\ \ r\\^\\(\[LeftSkeleton] 1 \[RightSkeleton]\\)\\)\\/\\(3\\\\ \\@3\\)\\)\\)\\) \ is not a machine-size real number at \\!\\(r\\) = \ \\!\\(-1.8377320337083367`\\). \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"Plot::plnr\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[18]:="], Cell[BoxData[ RowBox[{\(Plot::"plnr"\), \(\(:\)\(\ \)\), "\<\"\\!\\(-\\(\\(\\(2\\\\ \ r\\^\\(\[LeftSkeleton] 1 \[RightSkeleton]\\)\\)\\/\\(3\\\\ \\@3\\)\\)\\)\\) \ is not a machine-size real number at \\!\\(r\\) = \ \\!\\(-1.660764800562505`\\). \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"Plot::plnr\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[18]:="], Cell[BoxData[ RowBox[{\(General::"stop"\), \(\(:\)\(\ \)\), "\<\"Further output of \ \\!\\(Plot :: \\\"plnr\\\"\\) will be suppressed during this calculation. \\!\ \\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::stop\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[18]:="], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .61803 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.476191 0.309017 0.270334 [ [.2619 .29652 -9 -9 ] [.2619 .29652 9 0 ] [.5 .29652 -3 -9 ] [.5 .29652 3 0 ] [.7381 .29652 -9 -9 ] [.7381 .29652 9 0 ] [.97619 .29652 -3 -9 ] [.97619 .29652 3 0 ] [.01131 .03868 -12 -4.5 ] [.01131 .03868 0 4.5 ] [.01131 .17385 -24 -4.5 ] [.01131 .17385 0 4.5 ] [.01131 .44418 -18 -4.5 ] [.01131 .44418 0 4.5 ] [.01131 .57935 -6 -4.5 ] [.01131 .57935 0 4.5 ] [ 0 0 0 0 ] [ 1 .61803 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .2619 .30902 m .2619 .31527 L s [(0.5)] .2619 .29652 0 1 Mshowa .5 .30902 m .5 .31527 L s [(1)] .5 .29652 0 1 Mshowa .7381 .30902 m .7381 .31527 L s [(1.5)] .7381 .29652 0 1 Mshowa .97619 .30902 m .97619 .31527 L s [(2)] .97619 .29652 0 1 Mshowa .125 Mabswid .07143 .30902 m .07143 .31277 L s .11905 .30902 m .11905 .31277 L s .16667 .30902 m .16667 .31277 L s .21429 .30902 m .21429 .31277 L s .30952 .30902 m .30952 .31277 L s .35714 .30902 m .35714 .31277 L s .40476 .30902 m .40476 .31277 L s .45238 .30902 m .45238 .31277 L s .54762 .30902 m .54762 .31277 L s .59524 .30902 m .59524 .31277 L s .64286 .30902 m .64286 .31277 L s .69048 .30902 m .69048 .31277 L s .78571 .30902 m .78571 .31277 L s .83333 .30902 m .83333 .31277 L s .88095 .30902 m .88095 .31277 L s .92857 .30902 m .92857 .31277 L s .25 Mabswid 0 .30902 m 1 .30902 L s .02381 .03868 m .03006 .03868 L s [(-1)] .01131 .03868 1 0 Mshowa .02381 .17385 m .03006 .17385 L s [(-0.5)] .01131 .17385 1 0 Mshowa .02381 .44418 m .03006 .44418 L s [(0.5)] .01131 .44418 1 0 Mshowa .02381 .57935 m .03006 .57935 L s [(1)] .01131 .57935 1 0 Mshowa .125 Mabswid .02381 .06572 m .02756 .06572 L s .02381 .09275 m .02756 .09275 L s .02381 .11978 m .02756 .11978 L s .02381 .14682 m .02756 .14682 L s .02381 .20088 m .02756 .20088 L s .02381 .22792 m .02756 .22792 L s .02381 .25495 m .02756 .25495 L s .02381 .28198 m .02756 .28198 L s .02381 .33605 m .02756 .33605 L s .02381 .36308 m .02756 .36308 L s .02381 .39012 m .02756 .39012 L s .02381 .41715 m .02756 .41715 L s .02381 .47122 m .02756 .47122 L s .02381 .49825 m .02756 .49825 L s .02381 .52528 m .02756 .52528 L s .02381 .55232 m .02756 .55232 L s .02381 .01165 m .02756 .01165 L s .02381 .60638 m .02756 .60638 L s .25 Mabswid .02381 0 m .02381 .61803 L s 0 0 m 1 0 L 1 .61803 L 0 .61803 L closepath clip newpath .5 Mabswid .02427 .30901 m .0255 .30899 L .02692 .30896 L .02826 .30892 L .03323 .30873 L .03863 .30845 L .04448 .30808 L .06499 .30637 L .10349 .3019 L .18103 .28928 L .26304 .27197 L .34201 .25218 L .41796 .23066 L .49881 .20536 L .57662 .17887 L .65934 .14859 L .73904 .11748 L .81569 .08588 L .89726 .05053 L .97579 .0149 L .97619 .01472 L s .02427 .30902 m .0255 .30904 L .02692 .30907 L .02826 .30911 L .03323 .30931 L .03863 .30959 L .04448 .30996 L .06499 .31166 L .10349 .31614 L .18103 .32876 L .26304 .34607 L .34201 .36585 L .41796 .38737 L .49881 .41268 L .57662 .43917 L .65934 .46945 L .73904 .50055 L .81569 .53215 L .89726 .5675 L .97579 .60313 L .97619 .60332 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", CellLabel->"From In[18]:=", ImageSize->{288, 177.938}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHgOoo000Xool00`00ooooo`3ooom8ool2000lool002Soo`03003ooooo0?ooodKoo`8003ko o`00:?oo00<00?ooool0oooo@ooo0`00@?oo000Xool00`00ooooo`3ooom1ool20013ool002Soo`03 003ooooo0?ooocooo`8004Goo`00:?oo00<00?ooool0oooo?Ooo0P00Aooo000Xool00`00ooooo`3o ooljool30019ool002Soo`03003ooooo0?ooocSoo`8004coo`00:?oo00<00?ooool0oooo=_oo0P00 C_oo000Xool3003ooolcool3001@ool002Soo`03003ooooo0?oooc7oo`8005?oo`00:?oo00<00?oo ool0oooo;_oo0`00EOoo000Xool00`00ooooo`3oool/ool2001Hool002Soo`03003ooooo0?ooob[o o`8005[oo`00:?oo00<00?ooool0oooo9ooo0`00G?oo000Xool00`00ooooo`3ooolUool2001Oool0 02Soo`03003ooooo0?ooob;oo`<0067oo`00:?oo00<00?ooool0oooo8?oo0P00I?oo000Xool00`00 ooooo`3ooolNool2001Vool002Soo`03003ooooo0?oooa_oo`<006Soo`00:?oo0`00oooo6?oo0`00 Jooo000Xool00`00ooooo`3ooolFool2001^ool002Soo`03003ooooo0?oooa?oo`<0073oo`00:?oo 00<00?ooool0oooo4?oo0`00Looo000Xool00`00ooooo`3oool>ool2001fool002Soo`03003ooooo 0?ooo`_oo`<007Soo`00:?oo00<00?ooool0oooo2?oo0`00Nooo000Xool00`00ooooo`3oool6ool2 001nool002Soo`03003ooooo0?ooo`?oo`<0083oo`00:?oo00<00?ooool0oooo0`00Pooo000Xool0 0`00ooooo`3mool20026ool002Soo`<00?[oo`<008Soo`00:?oo00<00?ooool0n?oo0P00Rooo000X ool00`00ooooo`3eool3002=ool002Soo`03003ooooo0??oo`80093oo`00:?oo00<00?ooool0l?oo 0`00T_oo000Xool00`00ooooo`3^ool2002Eool002Soo`03003ooooo0>_oo`<009Ooo`003?oo1000 1_oo0P001Ooo1@001_oo00<00?ooool0j?oo0`00V_oo0007oo`800:;oo`000ooo0`001Ooo00<00?ooool00_oo00<00?ooool02_oo00@00?oo ooooo`8000Goo`@00=goo`<00:Coo`002ooo00<00?ooool00_oo00<00?ooool02_oo1@001_oo00<0 0?ooool0g?oo0P00Yooo000;ool00`00ooooo`02ool00`00ooooo`0:ool00`00ooooo`08ool00`00 ooooo`3Iool3002Yool000_oo`03003ooooo00;oo`03003ooooo00[oo`03003ooooo00Soo`03003o oooo0=Koo`<00:coo`003?oo00@00?ooool000goo`03003ooooo00Soo`03003ooooo0=?oo`<00:oo o`003?oo10003Ooo1P001Ooo00<00?ooool0d?oo0`00/_oo000Xool00`00ooooo`3=ool3002eool0 02Soo`03003ooooo0Soo`00:?oo 00<00?ooool0U_oo1000jooo000Xool00`00ooooo`2Cool3003_ool002Soo`03003ooooo093oo`<0 0?;oo`00:?oo00<00?ooool0S?oo1000mOoo000Xool00`00ooooo`29ool3003iool002Soo`03003o oooo08Koo`<00?coo`00:?oo00<00?ooool0P_oo1000oooo000Xool00`00ooooo`1oool3003oool4 ool002Soo`03003ooooo07_oo`@00?ooo`Ooo`00:?oo0`00Mooo1000oooo2ooo000Xool00`00oooo o`1cool4003oool?ool002Soo`03003ooooo06ooo`@00?oooa?oo`00:?oo00<00?ooool0Jooo1000 oooo5ooo000Xool00`00ooooo`1Wool4003ooolKool002Soo`03003ooooo05;oo`@000Koo`8000Go o`D0053oo`L004ooo`L000Goo`8000Goo`D0053oo`L000Soo`00:?oo00<00?ooool0D_oo00@00?oo ool000Koo`800003ool00000008000Coo`8005;oo`03003ooooo05?oo`03003ooooo00Koo`8000Wo o`80053oo`03003ooooo00;oo`03003ooooo00Koo`00:?oo00<00?ooool0DOoo00<00?ooool00_oo 00<00?ooool00_oo10002Ooo00<00?ooool0D?oo00<00?ooool0Dooo00<00?ooool04_oo00<00?oo ool0Cooo00<00?ooool02_oo000Xool00`00ooooo`1Aool00`00ooooo`02ool5000=ool00`00oooo o`1@ool00`00ooooo`1Cool00`00ooooo`0Bool00`00ooooo`1@ool2000:ool002Soo`03003ooooo 057oo`H000coo`04003oooooool2001Bool00`00ooooo`1Cool00`00ooooo`0=ool01000oooooooo 0P00Dooo0P002Ooo000Xool00`00ooooo`1=ool50004ool00`00ooooo`0:ool5001Cool00`00oooo o`1Cool00`00ooooo`0=ool5001Eool20008ool002Soo`<004Soo`D000Coo`03003ooooo00;oo`03 003ooooo00[oo`03003ooooo05Goo`03003ooooo05?oo`03003ooooo00goo`03003ooooo05Soo`03 003ooooo00Koo`00:?oo00<00?ooool0A?oo10002Ooo00<00?ooool00_oo00<00?ooool02_oo00<0 0?ooool0EOoo00<00?ooool0Dooo00<00?ooool03Ooo00<00?ooool0F?oo00<00?ooool01_oo000X ool00`00ooooo`0oool5000>ool01000ooooo`003Ooo00<00?ooool0D_oo0P0000?oo`00ool0DOoo 0P0000?oo`00ool03_oo00<00?ooool0D_oo0P000ooo0P002?oo000Xool00`00ooooo`0iool6000C ool4000=ool6001Aool2001Dool2000?ool6001@ool4000:ool002Soo`03003ooooo03?oo`H00?oo odgoo`00:?oo00<00?ooool0;Ooo1P00ooooDooo000Xool00`00ooooo`0Wool6003ooomIool002So o`03003ooooo027oo`H00?oooeooo`00:?oo00<00?ooool06_oo1`00ooooIOoo000Xool00`00oooo o`0Bool8003ooom/ool002Soo`03003ooooo01800?ooogCoo`007oooo`00T@000Ooo000Xool00`00 ooooo`0:ool<000>ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0@ ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0@ ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0@ ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`08 ool002Soo`03003ooooo01Koo`/003coo`03003ooooo05coo`03003ooooo05coo`03003ooooo05co o`03003ooooo00Soo`00:?oo00<00?ooool08Ooo1P00ooooGooo000Xool00`00ooooo`0Wool6003o oomIool002Soo`03003ooooo02goo`H00?oooe?oo`00:?oo00<00?ooool0ooo`00:?oo00<00?ooool0U_oo1000jooo000Xool00`00oooo o`2Jool3003Xool002Soo`<009goo`<00>Goo`00:?oo00<00?ooool0X?oo0`00h_oo000Xool00`00 ooooo`2Sool4003Nool002Soo`03003ooooo0:Ooo`<00=_oo`00:?oo00<00?ooool0Z_oo0`00f?oo 000Xool00`00ooooo`2]ool3003Eool002Soo`03003ooooo0;3oo`<00=;oo`00:?oo00<00?ooool0 /ooo1000c_oo000Xool00`00ooooo`2gool3003;ool002Soo`03003ooooo0;[oo`<007oo`<00:7oo`002ooo00<00?ooool00_oo00<00?ooool02_oo00<00?ooool02?oo00<00?ooool0 i?oo0`00W_oo000;ool00`00ooooo`02ool00`00ooooo`0:ool00`00ooooo`08ool00`00ooooo`3W ool3002Kool000coo`04003ooooo000=ool00`00ooooo`08ool00`00ooooo`3Zool2002Iool000co o`@000goo`H000Goo`03003ooooo0>coo`<009Koo`00:?oo00<00?ooool0kooo0`00Tooo000Xool0 0`00ooooo`3bool3002@ool002Soo`03003ooooo0?Goo`8008koo`00:?oo00<00?ooool0mooo0`00 Rooo000Xool3003jool30028ool002Soo`03003ooooo0?goo`8008Koo`00:?oo00<00?ooool0oooo 0`00Pooo000Xool00`00ooooo`3oool3ool30020ool002Soo`03003ooooo0?ooo`Koo`8007koo`00 :?oo00<00?ooool0oooo2?oo0`00Nooo000Xool00`00ooooo`3oool;ool3001hool002Soo`03003o oooo0?ooo`koo`8007Koo`00:?oo00<00?ooool0oooo4?oo0`00Looo000Xool00`00ooooo`3ooolC ool3001`ool002Soo`03003ooooo0?oooaKoo`8006koo`00:?oo0`00oooo6?oo0`00Jooo000Xool0 0`00ooooo`3ooolKool3001Xool002Soo`03003ooooo0?oooakoo`8006Koo`00:?oo00<00?ooool0 oooo8?oo0P00I?oo000Xool00`00ooooo`3ooolRool3001Qool002Soo`03003ooooo0?ooobGoo`80 05ooo`00:?oo00<00?ooool0oooo9ooo0`00G?oo000Xool00`00ooooo`3ooolZool2001Jool002So o`03003ooooo0?ooobcoo`8005Soo`00:?oo00<00?ooool0oooo;_oo0`00EOoo000Xool00`00oooo o`3ooolaool2001Cool002Soo`<00?oooc?oo`<0053oo`00:?oo00<00?ooool0oooo=_oo0P00C_oo 000Xool00`00ooooo`3ooolhool2001Ooo000Xool3 003ooom=ool2000gool002Soo`03003ooooo0?ooodooo`8003Goo`00:?oo00<00?ooool0ooooDOoo 0P00ool002Soo`03003ooooo 0?ooogSoo`8000coo`00:?oo00<00?ooool0ooooN_oo0P002_oo000Xool3003ooon6ool002Soo`03 003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo000Xool00`00ooooo`3ooon6ool002Soo`03 003ooooo0?ooohKoo`00:?oo00<00?ooool0ooooQ_oo003ooonaool00?oook7oo`00oooo/Ooo003o oonaool00?oook7oo`00oooo/Ooo003ooonaool00?oook7oo`00oooo/Ooo0000\ \>"], ImageRangeCache->{{{109, 396}, {443.75, 266.812}} -> {-1.07623, 2.48007, \ 0.00789455, 0.0139062}}], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False]], "Output", CellLabel->"Out[18]="] }, Open ]], Cell[TextData[{ "By the way, you can ignore the complaints about not getting a real number. \ The plotting process complains because the expression generates complex \ numbers for ", Cell[BoxData[ \(TraditionalForm\`r < 0\)]], " and nothing bad happens; they just don't show up in the plot." }], "Text"], Cell[TextData[{ "We can also solve for ", Cell[BoxData[ \(TraditionalForm\`r\)]], " as a function of ", Cell[BoxData[ \(TraditionalForm\`h\)]], ", which happens to be easier in this case." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(rSol = Solve[discF \[Equal] 0, r]\)], "Input", CellLabel->"In[19]:="], Cell[BoxData[ RowBox[{\(General::"spell1"\), \(\(:\)\(\ \)\), "\<\"Possible spelling \ error: new symbol name \\\"\\!\\(rSol\\)\\\" is similar to existing symbol \\\ \"\\!\\(hSol\\)\\\". \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::spell1\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[19]:="], Cell[BoxData[ \({{r \[Rule] 3\ \((\(-\(1\/2\)\))\)\^\(2/3\)\ h\^\(2/3\)}, {r \[Rule] \(3\ \ h\^\(2/3\)\)\/2\^\(2/3\)}, {r \[Rule] \(-\(\(3\ \((\(-1\))\)\^\(1/3\)\ \ h\^\(2/3\)\)\/2\^\(2/3\)\)\)}}\)], "Output", CellLabel->"Out[19]="] }, Open ]], Cell[TextData[{ "Two of the solutions are complex for every ", Cell[BoxData[ \(TraditionalForm\`h\)]], ", so the only one we need to worry about is:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(rSolReal = \(3\ h\^\(2/3\)\)\/2\^\(2/3\)\)], "Input", CellLabel->"In[20]:="], Cell[BoxData[ \(\(3\ h\^\(2/3\)\)\/2\^\(2/3\)\)], "Output", CellLabel->"Out[20]="] }, Open ]], Cell[TextData[{ "And here I've just used the mouse to select the one I want from the \ output, and copied it to an input cell. Now it should be clear why we get a \ cusp: Functions of the form ", Cell[BoxData[ \(TraditionalForm\`\((x\^2)\)\^\(1/n\)\)]], " for ", Cell[BoxData[ \(TraditionalForm\`n > 2\)]], " have cusp-shaped graphs. The plot is a little weird:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Plot[rSolReal, {h, \(-2\), 2}]\)], "Input", CellLabel->"In[21]:="], Cell[BoxData[ RowBox[{\(Plot::"plnr"\), \(\(:\)\(\ \)\), "\<\"\\!\\(rSolReal\\) is not \ a machine-size real number at \\!\\(h\\) = \\!\\(-1.9999998333333333`\\). \\!\ \\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"Plot::plnr\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[21]:="], Cell[BoxData[ RowBox[{\(Plot::"plnr"\), \(\(:\)\(\ \)\), "\<\"\\!\\(rSolReal\\) is not \ a machine-size real number at \\!\\(h\\) = \\!\\(-1.8377320337083367`\\). \\!\ \\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"Plot::plnr\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[21]:="], Cell[BoxData[ RowBox[{\(Plot::"plnr"\), \(\(:\)\(\ \)\), "\<\"\\!\\(rSolReal\\) is not \ a machine-size real number at \\!\\(h\\) = \\!\\(-1.660764800562505`\\). \ \\!\\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", ButtonStyle->\\\"RefGuideLinkText\ \\\", ButtonFrame->None, ButtonData:>\\\"Plot::plnr\\\"]\\)\"\>"}]], "Message",\ CellLabel->"From In[21]:="], Cell[BoxData[ RowBox[{\(General::"stop"\), \(\(:\)\(\ \)\), "\<\"Further output of \ \\!\\(Plot :: \\\"plnr\\\"\\) will be suppressed during this calculation. \\!\ \\(\\*ButtonBox[\\\"More\[Ellipsis]\\\", \ ButtonStyle->\\\"RefGuideLinkText\\\", ButtonFrame->None, \ ButtonData:>\\\"General::stop\\\"]\\)\"\>"}]], "Message", CellLabel->"From In[21]:="], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .61803 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% Graphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 0.0238095 0.476191 0.0147151 0.196201 [ [.2619 .00222 -9 -9 ] [.2619 .00222 9 0 ] [.5 .00222 -3 -9 ] [.5 .00222 3 0 ] [.7381 .00222 -9 -9 ] [.7381 .00222 9 0 ] [.97619 .00222 -3 -9 ] [.97619 .00222 3 0 ] [.01131 .11282 -18 -4.5 ] [.01131 .11282 0 4.5 ] [.01131 .21092 -6 -4.5 ] [.01131 .21092 0 4.5 ] [.01131 .30902 -18 -4.5 ] [.01131 .30902 0 4.5 ] [.01131 .40712 -6 -4.5 ] [.01131 .40712 0 4.5 ] [.01131 .50522 -18 -4.5 ] [.01131 .50522 0 4.5 ] [.01131 .60332 -6 -4.5 ] [.01131 .60332 0 4.5 ] [ 0 0 0 0 ] [ 1 .61803 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .2619 .01472 m .2619 .02097 L s [(0.5)] .2619 .00222 0 1 Mshowa .5 .01472 m .5 .02097 L s [(1)] .5 .00222 0 1 Mshowa .7381 .01472 m .7381 .02097 L s [(1.5)] .7381 .00222 0 1 Mshowa .97619 .01472 m .97619 .02097 L s [(2)] .97619 .00222 0 1 Mshowa .125 Mabswid .07143 .01472 m .07143 .01847 L s .11905 .01472 m .11905 .01847 L s .16667 .01472 m .16667 .01847 L s .21429 .01472 m .21429 .01847 L s .30952 .01472 m .30952 .01847 L s .35714 .01472 m .35714 .01847 L s .40476 .01472 m .40476 .01847 L s .45238 .01472 m .45238 .01847 L s .54762 .01472 m .54762 .01847 L s .59524 .01472 m .59524 .01847 L s .64286 .01472 m .64286 .01847 L s .69048 .01472 m .69048 .01847 L s .78571 .01472 m .78571 .01847 L s .83333 .01472 m .83333 .01847 L s .88095 .01472 m .88095 .01847 L s .92857 .01472 m .92857 .01847 L s .25 Mabswid 0 .01472 m 1 .01472 L s .02381 .11282 m .03006 .11282 L s [(0.5)] .01131 .11282 1 0 Mshowa .02381 .21092 m .03006 .21092 L s [(1)] .01131 .21092 1 0 Mshowa .02381 .30902 m .03006 .30902 L s [(1.5)] .01131 .30902 1 0 Mshowa .02381 .40712 m .03006 .40712 L s [(2)] .01131 .40712 1 0 Mshowa .02381 .50522 m .03006 .50522 L s [(2.5)] .01131 .50522 1 0 Mshowa .02381 .60332 m .03006 .60332 L s [(3)] .01131 .60332 1 0 Mshowa .125 Mabswid .02381 .03434 m .02756 .03434 L s .02381 .05396 m .02756 .05396 L s .02381 .07358 m .02756 .07358 L s .02381 .0932 m .02756 .0932 L s .02381 .13244 m .02756 .13244 L s .02381 .15206 m .02756 .15206 L s .02381 .17168 m .02756 .17168 L s .02381 .1913 m .02756 .1913 L s .02381 .23054 m .02756 .23054 L s .02381 .25016 m .02756 .25016 L s .02381 .26978 m .02756 .26978 L s .02381 .2894 m .02756 .2894 L s .02381 .32864 m .02756 .32864 L s .02381 .34826 m .02756 .34826 L s .02381 .36788 m .02756 .36788 L s .02381 .3875 m .02756 .3875 L s .02381 .42674 m .02756 .42674 L s .02381 .44636 m .02756 .44636 L s .02381 .46598 m .02756 .46598 L s .02381 .4856 m .02756 .4856 L s .02381 .52484 m .02756 .52484 L s .02381 .54446 m .02756 .54446 L s .02381 .56408 m .02756 .56408 L s .02381 .5837 m .02756 .5837 L s .25 Mabswid .02381 0 m .02381 .61803 L s 0 0 m 1 0 L 1 .61803 L 0 .61803 L closepath clip newpath .5 Mabswid .02427 .01834 m .0255 .02335 L .02692 .02768 L .02826 .03117 L .03323 .04183 L .04448 .06052 L .06499 .08723 L .10349 .12731 L .18103 .19184 L .25813 .24583 L .34014 .29701 L .41911 .34223 L .49506 .38294 L .57591 .42394 L .65372 .46154 L .73645 .49985 L .81614 .53537 L .8928 .56844 L .97436 .60256 L .97619 .60332 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", CellLabel->"From In[21]:=", ImageSize->{288, 177.938}, ImageMargins->{{0, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg ool0023oo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon> ool001Koool009X0007oo`008?oo00<00?ooool04?oo00<00?ooool04Ooo00<00?ooool04?oo00<0 0?ooool04?oo00<00?ooool04Ooo00<00?ooool04?oo00<00?ooool04Ooo00<00?ooool04?oo00<0 0?ooool04Ooo00<00?ooool04?oo00<00?ooool04Ooo00<00?ooool04?oo00<00?ooool04Ooo00<0 0?ooool04?oo00<00?ooool04?oo00<00?ooool04Ooo00<00?ooool04?oo00<00?ooool04Ooo00<0 0?ooool04?oo00<00?ooool04Ooo00<00?ooool02?oo000Pool00`00ooooo`0@ool00`00ooooo`0A ool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0Aool00`00ooooo`0@ool00`00ooooo`0A ool00`00ooooo`0@ool00`00ooooo`0Aool00`00ooooo`0@ool00`00ooooo`0Aool00`00ooooo`0@ ool00`00ooooo`0Aool00`00ooooo`0@ool00`00ooooo`0@ool00`00ooooo`0Aool00`00ooooo`0@ ool00`00ooooo`0Aool00`00ooooo`0@ool00`00ooooo`0Aool00`00ooooo`08ool0023oo`03003o oooo05koo`03003ooooo05koo`03003ooooo05koo`03003ooooo05ooo`03003ooooo00Soo`008?oo 00<00?ooool0ooooS_oo000Pool00`00ooooo`3ooon>ool0023oo`800?ooohooo`008?oo0P00oooo Sooo000Pool2003ooon?ool0023oo`03003oo`000?ooohkoo`008?oo00<00?oo0000ooooS_oo000P ool01000ooooo`00ooooSOoo000Pool01@00oooooooo0000ooooS?oo000Pool01@00oooooooo0000 ooooS?oo000Pool00`00ooooo`02ool00`00ooooo`3ooon9ool0023oo`03003ooooo00;oo`03003o oooo0?ooohWoo`008?oo0P001?oo00<00?ooool0ooooR?oo000Pool00`00ooooo`04ool00`00oooo o`3ooon7ool0023oo`03003ooooo00Coo`03003ooooo0?ooohOoo`008?oo00<00?ooool01Ooo00<0 0?ooool0ooooQ_oo000Pool00`00ooooo`06ool00`00ooooo`3ooon5ool0023oo`03003ooooo00Ko o`03003ooooo0?ooohGoo`008?oo00<00?ooool01ooo00<00?ooool0ooooQ?oo000Pool00`00oooo o`08ool00`00ooooo`3ooon3ool0023oo`8000[oo`03003ooooo0?oooh;oo`008?oo00<00?ooool0 2Ooo00<00?ooool0ooooP_oo000Pool00`00ooooo`0:ool00`00ooooo`3ooon1ool0023oo`03003o oooo00_oo`03003ooooo0?oooh3oo`008?oo00<00?ooool03?oo00<00?ooool0ooooOooo000Pool0 0`00ooooo`0Ooo0P00ooooDooo000Pool00`00ooooo`0kool00`00ooooo`3ooom@ool0023oo`8003goo`03003o oooo0?ooodooo`008?oo00<00?ooool0?Ooo00<00?ooool0ooooC_oo000Pool00`00ooooo`0nool2 003ooom>ool0023oo`03003ooooo043oo`03003ooooo0?oood_oo`004ooo1`001_oo00<00?ooool0 @Ooo00<00?ooool0ooooB_oo000Fool00`00ooooo`07ool00`00ooooo`12ool2003ooom:ool001Ko o`03003ooooo00Ooo`03003ooooo04Coo`03003ooooo0?ooodOoo`005_oo00<00?ooool01ooo00<0 0?ooool0AOoo0P00ooooAooo000Fool00`00ooooo`07ool30017ool00`00ooooo`3ooom4ool001Ko o`03003ooooo00Ooo`03003ooooo04Soo`03003ooooo0?oood?oo`005_oo00<00?ooool01ooo00<0 0?ooool0BOoo0P00oooo@ooo000Fool00`00ooooo`07ool00`00ooooo`1;ool00`00ooooo`3ooom0 ool001?oo`800003ool00?oo00Soo`03003ooooo04coo`800?oood3oo`005Ooo0P002Ooo00<00?oo ool0C_oo00<00?ooool0oooo?Ooo000Pool00`00ooooo`1?ool2003ooolmool0023oo`03003ooooo 057oo`03003ooooo0?oooc[oo`008?oo0P00Dooo00<00?ooool0oooo>Ooo000Pool00`00ooooo`1C ool2003oooliool0023oo`03003ooooo05Goo`03003ooooo0?ooocKoo`008?oo00<00?ooool0E_oo 0P00oooo=_oo000Pool00`00ooooo`1Hool00`00ooooo`3ooolcool0023oo`03003ooooo05Woo`03 003ooooo0?oooc;oo`008?oo00<00?ooool0F_oo0P00oooo<_oo000Pool00`00ooooo`1Lool00`00 ooooo`3oool_ool0023oo`8005koo`800?ooobooo`008?oo00<00?ooool0Gooo0P00oooo;Ooo000P ool00`00ooooo`1Qool00`00ooooo`3ooolZool0023oo`03003ooooo06;oo`800?ooob[oo`008?oo 00<00?ooool0I?oo00<00?ooool0oooo9ooo000Pool00`00ooooo`1Uool2003ooolWool0023oo`03 003ooooo06Ooo`800?ooobGoo`008?oo00<00?ooool0JOoo00<00?ooool0oooo8_oo000Pool2001[ ool2003ooolRool0023oo`03003ooooo06coo`03003ooooo0?oooaooo`008?oo00<00?ooool0KOoo 0P00oooo7ooo000Pool00`00ooooo`1_ool2003ooolMool0023oo`03003ooooo077oo`03003ooooo 0?oooa[oo`008?oo00<00?ooool0L_oo0P00oooo6_oo000Pool00`00ooooo`1dool2003ooolHool0 023oo`03003ooooo07Koo`03003ooooo0?oooaGoo`008?oo0P00N?oo0P00oooo5Ooo000Pool00`00 ooooo`1iool00`00ooooo`3ooolBool0023oo`03003ooooo07[oo`800?oooa;oo`008?oo00<00?oo ool0O?oo0P00oooo4?oo00000ooo000000050005ool20005ool50007ool00`00ooooo`1nool00`00 ooooo`3oool=ool000Coo`03003ooooo00Koo`8000Woo`8000Koo`03003ooooo07ooo`800?ooo`go o`001?oo00<00?ooool04_oo00<00?ooool01?oo00<00?ooool0POoo0P00oooo2ooo0004ool00`00 ooooo`0Bool00`00ooooo`04ool00`00ooooo`23ool2003oool9ool000Coo`03003ooooo00goo`04 003oooooool20006ool30025ool00`00ooooo`3oool6ool000Coo`03003ooooo00goo`D000Ooo`03 003ooooo08Koo`800?ooo`Koo`001?oo00<00?ooool03Ooo00<00?ooool02Ooo00<00?ooool0R?oo 0P00oooo1?oo0004ool00`00ooooo`0=ool00`00ooooo`09ool00`00ooooo`2:ool2003oool2ool0 0005ool00000ool0000?ool00`00ooooo`09ool00`00ooooo`2co o`008?oo00<00?ooool0Wooo0P00k?oo000Pool00`00ooooo`2Qool2003Zool0023oo`800:Coo`80 0>Soo`008?oo00<00?ooool0YOoo0P00i_oo000Pool00`00ooooo`2Wool2003Tool0023oo`03003o oooo0:Woo`03003ooooo0>7oo`008?oo00<00?ooool0Z_oo0P00hOoo000Pool00`00ooooo`2/ool2 003Oool0023oo`03003ooooo0:koo`800=goo`008?oo00<00?ooool0/?oo0P00fooo000Pool2002c ool00`00ooooo`3Hool0023oo`03003ooooo0;?oo`800=Soo`008?oo00<00?ooool0]Ooo0P00e_oo 000Pool00`00ooooo`2gool2003Dool0023oo`03003ooooo0;Woo`800=;oo`008?oo00<00?ooool0 ^ooo0P00d?oo000Pool00`00ooooo`2mool2003>ool0023oo`03003ooooo0;ooo`800?oo`800:Soo`008?oo00<00?ooool0iOoo0P00Y_oo000Pool00`00ooooo`3Wool2002Tool0 023oo`03003ooooo0>Woo`800:;oo`008?oo00<00?ooool0jooo0P00X?oo000Pool00`00ooooo`3] ool2002Nool0023oo`03003ooooo0>ooo`8009coo`008?oo0P00l_oo0P00V_oo000Pool00`00oooo o`3cool2002Hool0023oo`03003ooooo0?Goo`8009Koo`008?oo00<00?ooool0mooo0P00U?oo000P ool00`00ooooo`3iool2002Bool0023oo`03003ooooo0?_oo`80093oo`008?oo00<00?ooool0oOoo 0`00SOoo000Pool00`00ooooo`3oool1ool2002;ool0023oo`800?ooo`Coo`8008Woo`008?oo00<0 0?ooool0oooo1Ooo0P00Qooo000Pool00`00ooooo`3oool7ool30024ool0023oo`03003ooooo0?oo o`[oo`8008;oo`008?oo00<00?ooool0oooo3?oo0P00P?oo000Pool00`00ooooo`3oool>ool2001n ool0023oo`03003ooooo0?oooa3oo`<007_oo`008?oo00<00?ooool0oooo4ooo0P00NOoo000Pool2 003ooolFool2001gool0023oo`03003ooooo0?oooaOoo`<007Coo`008?oo00<00?ooool0oooo6_oo 0P00L_oo000Pool00`00ooooo`3ooolLool2001`ool00003ool0000000D000Goo`8000Goo`D000Oo o`03003ooooo0?oooakoo`8006koo`000_oo00<00?ooool00_oo00<00?ooool00ooo0P002Ooo0P00 1_oo00<00?ooool0oooo8?oo0`00Jooo0003ool00`00ooooo`0Cool00`00ooooo`04ool00`00oooo o`3ooolSool2001Yool000Coo`8001?oo`03003ooooo00Coo`03003ooooo0?ooobGoo`8006Ooo`00 1Ooo0P003Ooo00@00?ooooooo`8000Koo`<00?ooobOoo`8006Goo`001_oo0P003?oo1@001ooo00<0 0?ooool0oooo:Ooo0P00Hooo0007ool00`00ooooo`0:ool00`00ooooo`09ool00`00ooooo`3oool[ ool2001Qool000Ooo`03003ooooo00[oo`03003ooooo00Woo`03003ooooo0?ooobgoo`8005ooo`00 00?oo`0000000ooo0P003?oo00<00?ooool02Ooo00<00?ooool0oooo;ooo0P00GOoo0002ool4000> ool60006ool00`00ooooo`3ooolaool3001Jool0023oo`03003ooooo0?ooocCoo`8005Soo`008?oo 00<00?ooool0oooo=_oo0P00E_oo000Pool2003oooliool2001Dool0023oo`03003ooooo0?oooc[o o`8005;oo`008?oo00<00?ooool0oooo??oo0P00D?oo000Pool00`00ooooo`3ooolnool2001>ool0 023oo`03003ooooo0?oood3oo`<004_oo`008?oo00<00?ooool0oooo@ooo0P00BOoo000Pool00`00 ooooo`3ooom5ool30016ool0023oo`03003ooooo0?ooodSoo`8004Coo`008?oo0P00ooooBooo0`00 @Ooo000Pool00`00ooooo`3ooom=ool2000oool0023oo`03003ooooo0?ooodooo`8003goo`008?oo 00<00?ooool0ooooDOoo0`00>_oo000Pool00`00ooooo`3ooomDool2000hool0023oo`03003ooooo 0?oooeKoo`<003Goo`008?oo00<00?ooool0ooooFOoo0P00ool001Soo`8000Koo`03003ooooo 0?ooohkoo`006Ooo00<00?ooool01?oo00<00?ooool0ooooS_oo000Iool00`00ooooo`04ool00`00 ooooo`3ooon>ool001Goo`@000Ooo`03003ooooo0?ooohkoo`008?oo00<00?ooool0ooooS_oo0000 \ \>"], ImageRangeCache->{{{109, 396}, {473.938, 297}} -> {-1.00784, 5.33502, \ 0.00772357, 0.0187455}}], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False]], "Output", CellLabel->"Out[21]="] }, Open ]], Cell[TextData[{ "The left hand side is missing and we get complaints about not getting real \ numbers for negative values of ", Cell[BoxData[ \(TraditionalForm\`h\)]], ". That's because ", StyleBox["Mathematica", FontSlant->"Italic"], " is extremely careful with complex numbers, and knows that ", Cell[BoxData[ \(TraditionalForm\`x\^\(p/q\)\)]], " is generally not well defined for negative ", Cell[BoxData[ \(TraditionalForm\`x\)]], ". The case of ", Cell[BoxData[ \(TraditionalForm\`p\/q \[Equal] 1\/2\)]], "is an obvious example. So we end up getting only half the plot we wanted. \ The parametric form is better because it doesn't have this problem." }], "Text"] }, Open ]], Cell[CellGroupData[{ Cell["Fourth method: Template polynomials", "Section"], Cell["\<\ Just so you'll know, \"template polynomial\" is a term I made up. \ As far as I know, there's no standard name for this technique.\ \>", "Text"], Cell[TextData[{ "We suppose that a bifurcation occurs at ", Cell[BoxData[ \(TraditionalForm\`\((r, h)\)\)]], " such that two fixed points coincide. That means there's a double root. \ So, to trace out such values of ", Cell[BoxData[ \(TraditionalForm\`r\)]], " and ", Cell[BoxData[ \(TraditionalForm\`h\)]], ", we set our ", Cell[BoxData[ \(TraditionalForm\`f\)]], " equal to a polynomial with the same degree, and same highest-power \ coefficient, but with overlapping roots. That's what I call the template:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(template = \(-\((x - p1)\)^2\) \((x - p2)\)\)], "Input", CellLabel->"In[22]:="], Cell[BoxData[ \(\(-\((\(-p1\) + x)\)\^2\)\ \((\(-p2\) + x)\)\)], "Output", CellLabel->"Out[22]="] }, Open ]], Cell[TextData[{ "Here, ", Cell[BoxData[ \(TraditionalForm\`p1\)]], " and ", Cell[BoxData[ \(TraditionalForm\`p2\)]], " are the two roots, and by putting in ", Cell[BoxData[ \(TraditionalForm\`\((x - p1)\)\^2\)]], ", I've specified that ", Cell[BoxData[ \(TraditionalForm\`p1\)]], " is a double root. I put in the ", Cell[BoxData[ \(TraditionalForm\`-\)]], " sign because the highest-order term of ", Cell[BoxData[ \(TraditionalForm\`f\)]], " is ", Cell[BoxData[ \(TraditionalForm\`\(-x\^3\)\)]], " and the template has to match that. To make use of this template, what \ we need to do is equate the coefficients of our template to the coefficients \ of ", Cell[BoxData[ \(TraditionalForm\`f\)]], ". That gives a bunch of equations for ", Cell[BoxData[ \(TraditionalForm\`r\)]], " and ", Cell[BoxData[ \(TraditionalForm\`h\)]], ". We can get the coefficients by using the ", ButtonBox["CoefficientList", ButtonStyle->"RefGuideLink"], " function:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(CoefficientList[a\ x^2 + b\ x + c, x]\)], "Input", CellLabel->"In[23]:="], Cell[BoxData[ \({c, b, a}\)], "Output", CellLabel->"Out[23]="] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(CoefficientList[f[x, r, h], x]\)], "Input", CellLabel->"In[24]:="], Cell[BoxData[ \({h, r, 0, \(-1\)}\)], "Output", CellLabel->"Out[24]="] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(CoefficientList[template, x]\)], "Input", CellLabel->"In[25]:="], Cell[BoxData[ \({p1\^2\ p2, \(-p1\^2\) - 2\ p1\ p2, 2\ p1 + p2, \(-1\)}\)], "Output", CellLabel->"Out[25]="] }, Open ]], Cell[TextData[{ "We now need to turn these into a list of equations. The ", ButtonBox["Thread", ButtonStyle->"RefGuideLink"], " function is used to turn a function of two lists into a list of functions \ of pairs:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Thread[f[{a, b, c}, {d, e, f}]]\)], "Input", CellLabel->"In[26]:="], Cell[BoxData[ \({f[a, d], f[b, e], f[c, f]}\)], "Output", CellLabel->"Out[26]="] }, Open ]], Cell["And it works with equations, too:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Thread[{a, b, c} \[Equal] {d, e, f}]\)], "Input", CellLabel->"In[27]:="], Cell[BoxData[ \({a \[Equal] d, b \[Equal] e, c \[Equal] f}\)], "Output", CellLabel->"Out[27]="] }, Open ]], Cell["So we can equate our coefficients with the incantation:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(coefficientEqs = Thread[CoefficientList[f[x, r, h], x] \[Equal] CoefficientList[template, x]]\)], "Input", CellLabel->"In[28]:="], Cell[BoxData[ \({h \[Equal] p1\^2\ p2, r \[Equal] \(-p1\^2\) - 2\ p1\ p2, 0 \[Equal] 2\ p1 + p2, True}\)], "Output", CellLabel->"Out[28]="] }, Open ]], Cell[TextData[{ "Notice that we get a couple of easy equations. First, the highest order \ coefficients are both ", Cell[BoxData[ \(TraditionalForm\`\(-1\)\)]], " because I defined them that way, so the last entry is ", Cell[BoxData[ \(TraditionalForm\`\(-1\) \[Equal] \(-1\)\)]], " which simplifies to ", ButtonBox["True", ButtonStyle->"RefGuideLink"], ". Second, we get ", Cell[BoxData[ \(TraditionalForm\`p2 = \(-2\) p1\)]], " out of the next highest, which is very nice. That let's us get rid of p2 \ entirely. This is easy enough to do by hand in this case, but ", StyleBox["Mathematica", FontSlant->"Italic"], " can also do it automatically. We use the ", ButtonBox["Eliminate", ButtonStyle->"RefGuideLink"], " function to get rid of ", Cell[BoxData[ \(TraditionalForm\`p2\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(coefficientEqs2 = Eliminate[coefficientEqs, p2]\)], "Input", CellLabel->"In[29]:="], Cell[BoxData[ \(h \[Equal] \(-2\)\ p1\^3 && r \[Equal] 3\ p1\^2\)], "Output", CellLabel->"Out[29]="] }, Open ]], Cell["I'd really rather have a list:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(coefficientEqs3 = coefficientEqs2 /. p_ && q_ \[Rule] {p, q}\)], "Input",\ CellLabel->"In[30]:="], Cell[BoxData[ \({h \[Equal] \(-2\)\ p1\^3, r \[Equal] 3\ p1\^2}\)], "Output", CellLabel->"Out[30]="] }, Open ]], Cell["\<\ This is the same set of parametric equations we got before, so I \ won't plot them again.\ \>", "Text"], Cell["\<\ Incidentally, suppose we wanted to find the parameter values where \ all three fixed points collide. That's the pitchfork bifurcation. Then we \ simply use a different template:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(template2 = \(-\((x - p)\)^3\)\)], "Input", CellLabel->"In[31]:="], Cell[BoxData[ \(\(-\((\(-p\) + x)\)\^3\)\)], "Output", CellLabel->"Out[31]="] }, Open ]], Cell[TextData[{ "Now ", Cell[BoxData[ \(TraditionalForm\`p\)]], " is a triple root. We proceed as before, equating coefficients:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(coefficientEqsTriple = Thread[CoefficientList[f[x, r, h], x] \[Equal] CoefficientList[template2, x]]\)], "Input", CellLabel->"In[32]:="], Cell[BoxData[ \({h \[Equal] p\^3, r \[Equal] \(-3\)\ p\^2, 0 \[Equal] 3\ p, True}\)], "Output", CellLabel->"Out[32]="] }, Open ]], Cell["Now things are much more restricted:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Eliminate[coefficientEqsTriple, p]\)], "Input", CellLabel->"In[33]:="], Cell[BoxData[ \(h \[Equal] 0 && r \[Equal] 0\)], "Output", CellLabel->"Out[33]="] }, Open ]], Cell["\<\ By the way, I hope this last solution is obvious from the system of \ equations.\ \>", "Text"] }, Open ]] }, Open ]] }, FrontEndVersion->"5.0 for X", ScreenRectangle->{{0, 1280}, {0, 1024}}, WindowSize->{706, 600}, WindowMargins->{{Automatic, 185}, {Automatic, 35}}, PrintingPageRange->{Automatic, Automatic}, PrintingOptions->{"PaperSize"->{612, 792}, "PaperOrientation"->"Portrait", "PostScriptOutputFile":>FrontEnd`FileName[{$RootDirectory, "home", "postdoc", \ "wgm", "Teaching", "Mathematica how-to"}, "CuspCatastropheHowTo.nb.ps", \ CharacterEncoding -> "iso8859-1"], "Magnification"->1}, CellLabelAutoDelete->False, Magnification->1.5, StyleDefinitions -> "ArticleClassic.nb" ] (******************************************************************* Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. *******************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1776, 53, 40, 0, 203, "Title"], Cell[1819, 55, 41, 0, 62, "Author"], Cell[1863, 57, 472, 10, 165, "Abstract"], Cell[CellGroupData[{ Cell[2360, 71, 24, 0, 86, "Section"], Cell[2387, 73, 62, 0, 38, "Text"], Cell[2452, 75, 77, 1, 43, "DisplayFormula"], Cell[2532, 78, 89, 3, 38, "Text"], Cell[CellGroupData[{ Cell[2646, 85, 87, 2, 40, "Input"], Cell[2736, 89, 73, 2, 44, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[2858, 97, 73, 0, 121, "Section"], Cell[2934, 99, 279, 7, 84, "Text"], Cell[CellGroupData[{ Cell[3238, 110, 94, 2, 40, "Input"], Cell[3335, 114, 788, 11, 421, "Output"] }, Open ]], Cell[4138, 128, 619, 17, 130, "Text"], Cell[CellGroupData[{ Cell[4782, 149, 130, 3, 40, "Input"], Cell[4915, 154, 155, 3, 72, "Output"] }, Open ]], Cell[5085, 160, 522, 10, 153, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[5644, 175, 108, 3, 121, "Section"], Cell[5755, 180, 428, 11, 84, "Text"], Cell[CellGroupData[{ Cell[6208, 195, 151, 4, 63, "Input"], Cell[6362, 201, 103, 2, 47, "Output"] }, Open ]], Cell[6480, 206, 746, 27, 107, "Text"], Cell[7229, 235, 281, 6, 84, "Text"], Cell[CellGroupData[{ Cell[7535, 245, 72, 2, 40, "Input"], Cell[7610, 249, 101, 2, 47, "Output"] }, Open ]], Cell[7726, 254, 145, 5, 38, "Text"], Cell[CellGroupData[{ Cell[7896, 263, 82, 2, 40, "Input"], Cell[7981, 267, 81, 2, 47, "Output"] }, Open ]], Cell[8077, 272, 49, 0, 38, "Text"], Cell[CellGroupData[{ Cell[8151, 276, 201, 4, 63, "Input"], Cell[8355, 282, 16559, 526, 279, 4743, 375, "GraphicsData", "PostScript", \ "Graphics"], Cell[24917, 810, 154, 4, 40, "Output"] }, Open ]], Cell[25086, 817, 262, 7, 61, "Text"], Cell[CellGroupData[{ Cell[25373, 828, 301, 5, 109, "Input"], Cell[25677, 835, 22300, 603, 444, 4250, 375, "GraphicsData", "PostScript", \ "Graphics"], Cell[47980, 1440, 154, 4, 40, "Output"] }, Open ]], Cell[48149, 1447, 388, 12, 84, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[48574, 1464, 46, 0, 86, "Section"], Cell[48623, 1466, 640, 16, 152, "Text"], Cell[49266, 1484, 124, 2, 78, "DisplayFormula"], Cell[49393, 1488, 285, 5, 107, "Text"], Cell[49681, 1495, 276, 6, 132, "Input"], Cell[49960, 1503, 171, 6, 39, "Text"], Cell[CellGroupData[{ Cell[50156, 1513, 102, 2, 40, "Input"], Cell[50261, 1517, 83, 2, 66, "Output"] }, Open ]], Cell[50359, 1522, 342, 11, 61, "Text"], Cell[CellGroupData[{ Cell[50726, 1537, 93, 2, 40, "Input"], Cell[50822, 1541, 82, 2, 44, "Output"] }, Open ]], Cell[50919, 1546, 611, 15, 108, "Text"], Cell[51533, 1563, 70, 2, 40, "Input"], Cell[CellGroupData[{ Cell[51628, 1569, 127, 3, 40, "Input"], Cell[51758, 1574, 19751, 471, 444, 3622, 267, "GraphicsData", "PostScript", \ "Graphics"], Cell[71512, 2047, 162, 4, 40, "Output"] }, Open ]], Cell[71689, 2054, 123, 3, 61, "Text"], Cell[CellGroupData[{ Cell[71837, 2061, 91, 2, 40, "Input"], Cell[71931, 2065, 156, 3, 72, "Output"] }, Open ]], Cell[72102, 2071, 167, 6, 38, "Text"], Cell[CellGroupData[{ Cell[72294, 2081, 67, 2, 40, "Input"], Cell[72364, 2085, 132, 3, 72, "Output"] }, Open ]], Cell[72511, 2091, 285, 7, 84, "Text"], Cell[CellGroupData[{ Cell[72821, 2102, 219, 5, 63, "Input"], Cell[73043, 2109, 77, 2, 40, "Output"] }, Open ]], Cell[73135, 2114, 321, 11, 61, "Text"], Cell[CellGroupData[{ Cell[73481, 2129, 89, 2, 40, "Input"], Cell[73573, 2133, 375, 6, 51, "Message"], Cell[73951, 2141, 375, 6, 51, "Message"], Cell[74329, 2149, 374, 6, 51, "Message"], Cell[74706, 2157, 358, 6, 51, "Message"], Cell[75067, 2165, 14441, 347, 279, 2862, 199, "GraphicsData", "PostScript", \ "Graphics"], Cell[89511, 2514, 155, 4, 40, "Output"] }, Open ]], Cell[89681, 2521, 1319, 39, 222, "Text"], Cell[CellGroupData[{ Cell[91025, 2564, 99, 2, 40, "Input"], Cell[91127, 2568, 441, 7, 81, "Message"], Cell[91571, 2577, 441, 7, 81, "Message"], Cell[92015, 2586, 440, 7, 81, "Message"], Cell[92458, 2595, 358, 6, 51, "Message"], Cell[92819, 2603, 14392, 384, 279, 3439, 244, "GraphicsData", "PostScript", \ "Graphics"], Cell[107214, 2989, 155, 4, 40, "Output"] }, Open ]], Cell[107384, 2996, 316, 7, 84, "Text"], Cell[107703, 3005, 222, 8, 38, "Text"], Cell[CellGroupData[{ Cell[107950, 3017, 91, 2, 40, "Input"], Cell[108044, 3021, 386, 6, 71, "Message"], Cell[108433, 3029, 249, 5, 117, "Output"] }, Open ]], Cell[108697, 3037, 173, 5, 61, "Text"], Cell[CellGroupData[{ Cell[108895, 3046, 98, 2, 75, "Input"], Cell[108996, 3050, 88, 2, 66, "Output"] }, Open ]], Cell[109099, 3055, 398, 10, 86, "Text"], Cell[CellGroupData[{ Cell[109522, 3069, 88, 2, 40, "Input"], Cell[109613, 3073, 359, 6, 51, "Message"], Cell[109975, 3081, 359, 6, 51, "Message"], Cell[110337, 3089, 358, 6, 51, "Message"], Cell[110698, 3097, 358, 6, 51, "Message"], Cell[111059, 3105, 15932, 410, 279, 3507, 251, "GraphicsData", "PostScript", \ "Graphics"], Cell[126994, 3517, 155, 4, 40, "Output"] }, Open ]], Cell[127164, 3524, 721, 19, 142, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[127922, 3548, 54, 0, 86, "Section"], Cell[127979, 3550, 155, 3, 61, "Text"], Cell[128137, 3555, 567, 16, 107, "Text"], Cell[CellGroupData[{ Cell[128729, 3575, 101, 2, 40, "Input"], Cell[128833, 3579, 103, 2, 44, "Output"] }, Open ]], Cell[128951, 3584, 1071, 37, 155, "Text"], Cell[CellGroupData[{ Cell[130047, 3625, 95, 2, 40, "Input"], Cell[130145, 3629, 68, 2, 40, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[130250, 3636, 88, 2, 40, "Input"], Cell[130341, 3640, 76, 2, 40, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[130454, 3647, 86, 2, 40, "Input"], Cell[130543, 3651, 114, 2, 47, "Output"] }, Open ]], Cell[130672, 3656, 237, 6, 61, "Text"], Cell[CellGroupData[{ Cell[130934, 3666, 89, 2, 40, "Input"], Cell[131026, 3670, 86, 2, 40, "Output"] }, Open ]], Cell[131127, 3675, 49, 0, 38, "Text"], Cell[CellGroupData[{ Cell[131201, 3679, 94, 2, 40, "Input"], Cell[131298, 3683, 101, 2, 40, "Output"] }, Open ]], Cell[131414, 3688, 71, 0, 38, "Text"], Cell[CellGroupData[{ Cell[131510, 3692, 169, 4, 86, "Input"], Cell[131682, 3698, 152, 3, 47, "Output"] }, Open ]], Cell[131849, 3704, 870, 25, 153, "Text"], Cell[CellGroupData[{ Cell[132744, 3733, 105, 2, 40, "Input"], Cell[132852, 3737, 106, 2, 44, "Output"] }, Open ]], Cell[132973, 3742, 46, 0, 38, "Text"], Cell[CellGroupData[{ Cell[133044, 3746, 120, 3, 40, "Input"], Cell[133167, 3751, 106, 2, 47, "Output"] }, Open ]], Cell[133288, 3756, 113, 3, 61, "Text"], Cell[133404, 3761, 203, 4, 84, "Text"], Cell[CellGroupData[{ Cell[133632, 3769, 88, 2, 40, "Input"], Cell[133723, 3773, 83, 2, 44, "Output"] }, Open ]], Cell[133821, 3778, 154, 5, 38, "Text"], Cell[CellGroupData[{ Cell[134000, 3787, 176, 4, 86, "Input"], Cell[134179, 3793, 131, 3, 47, "Output"] }, Open ]], Cell[134325, 3799, 52, 0, 38, "Text"], Cell[CellGroupData[{ Cell[134402, 3803, 92, 2, 40, "Input"], Cell[134497, 3807, 87, 2, 40, "Output"] }, Open ]], Cell[134599, 3812, 104, 3, 38, "Text"] }, Open ]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)