(************** Content-type: application/mathematica ************** 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[ 69513, 2398]*) (*NotebookOutlinePosition[ 113262, 3856]*) (* CellTagsIndexPosition[ 112662, 3838]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData[{ "Using Subscripts and \nthe SubscriptSymbols Package\n", StyleBox["By Ted Ersek ", FontSize->12], StyleBox[ButtonBox["ted.ersek@navy.mil", ButtonData:>{ URL[ "mailto:ted.ersek@navy.mil"], None}, ButtonStyle->"Hyperlink"], FontSize->12] }], "Title", Background->RGBColor[1, 0.975998, 0.949996]], Cell[CellGroupData[{ Cell[TextData[StyleBox["Preface", FontSize->10]], "Section"], Cell[TextData[{ "Ted Ersek (", ButtonBox["ted.ersek@navy.mil", ButtonData:>{ URL[ "mailto:ted.ersek@navy.mil"], None}, ButtonStyle->"Hyperlink"], ") wrote the SubscriptSymbols package after David Park (", ButtonBox["djmp@earthlink.net", ButtonData:>{ URL[ "mailto:djmp@earthlink.net"], None}, ButtonStyle->"Hyperlink"], ") suggested such a package was needed. David Park influenced the package \ design and content of this notebook." }], "Text", ShowCellBracket->False, ShowGroupOpenCloseIcon->True], Cell[CellGroupData[{ Cell["Version 1.0", "Subsubsection"], Cell[TextData[{ "Version 1.0 was completed and posted on ", StyleBox["MathSource", FontSlant->"Italic"], " on 10 April 2002." }], "Text", ShowCellBracket->False] }, Closed]], Cell[CellGroupData[{ Cell["Version 1.1", "Subsubsection"], Cell[TextData[{ "Version 1.1 was completed and posted on ", StyleBox["MathSource", FontSlant->"Italic"], " on about 25 April 2002.\nThe following changes were made for Version 1.1.\ \n\n\[Bullet] Version 1.0 would fail when one tried to do the following.\n\t\ ", StyleBox["Clear[x];\n\tSubscriptSymbols[Off]\n\tx=4.3;\n\t\ SubscriptSymbols[On]\n\t", "Input"], StyleBox[Cell[BoxData[ \(TraditionalForm\`Head[x\_2]\)], "Input"], "Input"], "\n This was a bug and has been fixed.\n\n\[Bullet] The section of this \ notebook for ", StyleBox["Installing and Loading the Package", FontWeight->"Bold"], " now discusses \n an error message that is often displayed and can \ generally be ignored.\n\n\[Bullet] The package has a new function ", StyleBox["NotationPalette[]", "Input"], " which is used to open the Notation palette." }], "Text", ShowCellBracket->False] }, Closed]], Cell[CellGroupData[{ Cell["Version 1.2", "Subsubsection"], Cell[TextData[{ "Version 1.2 was posted on ", StyleBox["MathSource", FontSlant->"Italic"], " on about 18 Nov 2002.\n\n\[Bullet] Version 1.2 has new installation \ instuctions in this notebook to ensure the file (SubscriptSymbols.m) is made \ with the user's computer. This is needed to ensure a successful installation \ on any platform..\n\n\[Bullet] With earlier versions I had the file \ (SubscriptSymbols.m) posted on ", StyleBox["MathSource", FontSlant->"Italic"], ". Instead I now have (SubscriptSymbols.nb) posted on ", StyleBox["MathSource", FontSlant->"Italic"], "." }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Installing and Loading the Package", "Section"], Cell["\<\ If you do not automatically turn off spelling similarity error messages in \ one of your init file, do so now for this notebook.\ \>", "Text"], Cell[BoxData[ \(\(Off[General::spell, General::spell1];\)\)], "Input"], Cell["\<\ I found that the following procedure is needed to ensure a successful \ installation on any platform. First you should save the notebook \ (SubscriptSymbols.nb) to the folder/directory returned when the the next cell \ is evaluated.\ \>", "Text"], Cell[BoxData[ \(ToFileName[{$TopDirectory, "\", "\", \ "\"}]\)], "Input"], Cell[TextData[{ "Next open the (SubscriptSymbols.nb) file that you saved in the \ folder/directory shown above. ", StyleBox["It's imperitive that you open the copy that was saved to the \ above folder/directory.", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], " Save the notebook immediately after opening it and a dialog box will \ pop-up. When the dialog box comes up click the button to \"Create Auto Save \ Package\". ", StyleBox["Mathematica", FontSlant->"Italic"], " will then make a file called (SubscriptSymbols.m) and put it in the same \ directory as (SubscriptSymbols.nb). You can then load the package by \ evaluating the Needs statement in the next cell. ", StyleBox["However, if this is your first time through the notebook, you \ shouldn't load the package now. ", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], StyleBox[" ", FontWeight->"Bold"], StyleBox["First you should read Section 1 (Introduction) where \ Mathematica's normal handling of Subscript expressions is demonstrated.", FontVariations->{"CompatibilityType"->0}] }], "Text", CellTags->"Instalation"], Cell[BoxData[ \(\(Needs["\"];\)\)], "Input"], Cell["\<\ When the SubscriptSymbols package, or for that matter the Notation package, \ is loaded in a notebook that didn't previously make use of either of these \ packages the following message is displayed. This is actually not a message, \ but a cell created in the message notebook via NotbookWrite.\ \>", "Text"], Cell[TextData[StyleBox["Adding the Notation styles to the current style \ sheet. You might want to execute the command UpdateNotationsInNotebook[] to \ update any legacy notations present in the current notebook.", "Message"]], \ "Output"], Cell[TextData[{ "Jason Harris of Wolfram Research is the author of the Utilities`Notation` \ package. Jason explains that when you are using a legacy notebook containing \ notation statements created with the a notation package that was shipped with \ Mathematica 3.0 evaluating UpdateNotationsInNotebook[] is required. For most \ users this is rarely or never the case and the message can normally be \ ignored. If you like I can show you how to modify the Notation package \ source code to prevent this \"message\". \n ", "\n", "The following statement gives access to all the usage messages for the \ routines in SubscriptSymbols ", StyleBox["once the package is loaded", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], ". The principal routine is SubscriptSymbols. If you have ", StyleBox["Mathematica", FontSlant->"Italic"], " Version 4.1 you can simply click on the names to obtain a usage message \ for the routine. If you have a previous version, you will only obtain a list \ of the package routines." }], "Text"], Cell[BoxData[ \(\(?Utilities`SubscriptSymbols`*\)\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["1. Introduction", "Section"], Cell[TextData[{ "Many ", StyleBox["Mathematica", FontSlant->"Italic"], " users like to use subscripted variables in their code and expressions \ because that is the way expressions are written in textbooks and technical \ papers, and it looks nice. In many cases Mathematica's default handling of \ subscripts does just what one would expect and there is no problem. But there \ are other cases where little effects happen to confuse the issue. A subscript \ such as ", Cell[BoxData[ \(x\_1\)]], " is useless as a symbol if x has a value. An integer subscript gets turned \ into a real number if N is used on such expressions. Also, you cannot simply \ Clear a subscripted variable as you do other variables, because Clear demands \ a symbol. And if you ask the ", StyleBox["Mathematica", FontSlant->"Italic"], " pattern matcher to do something with all Integers in an expression the \ integers in your subscripts will be affected." }], "Text"], Cell["\<\ If we want to use subscripted variables in the definition of a function or as \ a scoped variable in a Module, With, Function or Block construct, we will be \ foiled because these statements demand symbols. Similarly, if we want to \ treat a subscripted variable as a Symbol for purposes of pattern matching we \ are foiled.\ \>", "Text"], Cell[TextData[{ "The SubscriptSymbols package makes it much easier to use subscripted \ variables. First, it adds attributes to Subscript that fix some of the \ problems with normal use. Secondly, it provides a symbolization function for \ those cases where a subscripted symbol must be treated as a Symbol. It is \ very easy to use the package to turn the symbolization of specified symbols \ on and off as needed. The package automatically performs routines from the ", ButtonBox["Utilities`Notation`", ButtonData:>"Notation Documentation", ButtonStyle->"AddOnsLink"], " package and adds code behind the scene to smooth the way. Hence the \ notation package that comes with ", StyleBox["Mathematica", FontSlant->"Italic"], " works invisibly in the background." }], "Text"], Cell["\<\ Summary: 1) Just by loading the package you will obtain a more consistent use of \ subscript expressions. 2) To use subscripts in definitions and declarations of local variables, use \ SubscriptSymbols.\ \>", "Text", CellFrame->True, FontSize->16], Cell[TextData[{ "If you have already loaded the SubscriptSymbols package, quit the kernel \ and start over by evaluating the following cells. This allows us to see the \ default behavior of ", StyleBox["Mathematica", FontSlant->"Italic"], " with Subscript expressions." }], "Text"], Cell[BoxData[ \(\(Quit[];\)\)], "Input"], Cell[BoxData[ \(\(Off[General::spell, General::spell1];\)\)], "Input"], Cell[CellGroupData[{ Cell["\<\ 1.1 Cases When the Default Handling of Subscripts Works Well\ \>", "Subsection"], Cell[TextData[{ "In many cases ", StyleBox["Mathematica", FontSlant->"Italic"], " works with Subscript expressions, such as ", Cell[BoxData[ \(x\_1\)]], " as if they were symbols. So, for example, we can use subscripted \ variables in the examples below." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Clear[x];\)\), "\[IndentingNewLine]", \(Solve[2 x\_1 + a \[Equal] 1\/\(x\_1 - 3\), {x\_1}]\)}], "Input"], Cell[BoxData[ \({{x\_1 \[Rule] 1\/4\ \((6 - a - \@\(44 + 12\ a + a\^2\))\)}, {x\_1 \[Rule] 1\/4\ \((6 - a + \@\(44 + 12\ a + a\^2\))\)}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(2 x\_1 + a - 1\/\(x\_1 - 3\) /. x\_1 \[Rule] h + xx\)], "Input"], Cell[BoxData[ \(a - 1\/\(\(-3\) + h + xx\) + 2\ \((h + xx)\)\)], "Output"] }, Open ]], Cell[BoxData[ \(\(Plot[Sin[x\_1] + x\_1\/8, {x\_1, 0, 4 \[Pi]}];\)\)], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["\<\ 1.2 Cases When the Default Handling of Subscripts Doesn't Work Well\ \>", "Subsection"], Cell["\<\ However, the examples above don't work as well when x evaluates to a number. \ This point is demonstrated below where the subscript expression from the next \ input is probably not what you would want when x evaluates to 2.5.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(x = 2.5;\)\), "\n", \(x\_1\)}], "Input"], Cell[BoxData[ \(2.5`\_1\)], "Output"] }, Open ]], Cell["\<\ The next input solves the equation but gives a strange looking rule.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Solve[2 x\_1 + a \[Equal] 1\/\(x\_1 - 3\), {x\_1}]\)], "Input"], Cell[BoxData[ \({{2.5`\_1 \[Rule] 1\/4\ \((6 - a - \@\(44 + 12\ a + a\^2\))\)}, {2.5`\_1 \[Rule] 1\/4\ \((6 - a + \@\(44 + 12\ a + a\^2\))\)}}\)], "Output"] }, Open ]], Cell["\<\ The next few examples also fail to give us what we expect when x has an \ assigned value.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Table[x\_i, {i, 1, 4}]\)], "Input"], Cell[BoxData[ \({2.5`\_1, 2.5`\_2, 2.5`\_3, 2.5`\_4}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(\[Integral]\[DifferentialD]x\_1\/x\_1\)], "Input"], Cell[BoxData[ \(Log[2.5`\_1]\)], "Output"] }, Open ]], Cell["\<\ Next we can use subscripts to make a table of Bernoulli polynomials and it \ seems to work even though B has an assigned value.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Clear[x];\)\), "\n", \(\(B = 3;\)\), "\n", \(B\_n_[x_] := BernoulliB[n, x]\), "\n", \(Table[B\_i[x], {i, 0, 6}] // TableForm\)}], "Input"], Cell[BoxData[ InterpretationBox[GridBox[{ {"1"}, {\(\(-\(1\/2\)\) + x\)}, {\(1\/6 - x + x\^2\)}, {\(x\/2 - \(3\ x\^2\)\/2 + x\^3\)}, {\(\(-\(1\/30\)\) + x\^2 - 2\ x\^3 + x\^4\)}, {\(\(-\(x\/6\)\) + \(5\ x\^3\)\/3 - \(5\ x\^4\)\/2 + x\^5\)}, {\(1\/42 - x\^2\/2 + \(5\ x\^4\)\/2 - 3\ x\^5 + x\^6\)} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ {1, Plus[ Rational[ -1, 2], x], Plus[ Rational[ 1, 6], Times[ -1, x], Power[ x, 2]], Plus[ Times[ Rational[ 1, 2], x], Times[ Rational[ -3, 2], Power[ x, 2]], Power[ x, 3]], Plus[ Rational[ -1, 30], Power[ x, 2], Times[ -2, Power[ x, 3]], Power[ x, 4]], Plus[ Times[ Rational[ -1, 6], x], Times[ Rational[ 5, 3], Power[ x, 3]], Times[ Rational[ -5, 2], Power[ x, 4]], Power[ x, 5]], Plus[ Rational[ 1, 42], Times[ Rational[ -1, 2], Power[ x, 2]], Times[ Rational[ 5, 2], Power[ x, 4]], Times[ -3, Power[ x, 5]], Power[ x, 6]]}]]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(\(B\_2'\)[x]\)], "Input"], Cell[BoxData[ \(\(-1\) + 2\ x\)], "Output"] }, Open ]], Cell[TextData[{ "However ", Cell[BoxData[ \(B\_n[x]\)]], " is actually stored as a definition for ", Cell[BoxData[ \(3\_n[x_]\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(?? Subscript\)], "Input"], Cell["System`Subscript", "Print", CellTags->"Info3225624427-5091317"], Cell[BoxData[ InterpretationBox[GridBox[{ {GridBox[{ {\(\("Subscript"[3, n_]\)[x_] := BernoulliB[n, x]\)} }, GridBaseline->{Baseline, {1, 1}}, ColumnWidths->0.999, ColumnAlignments->{Left}]} }, GridBaseline->{Baseline, {1, 1}}, ColumnAlignments->{Left}], Definition[ "Subscript"], Editable->False]], "Print", CellTags->"Info3225624427-5091317"] }, Open ]], Cell[TextData[{ "Also if the value of B is changed or cleared the above definition of ", Cell[BoxData[ \(B\_n[x]\)]], " no longer works as demonstrated with the next input." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Clear[B];\)\), "\[IndentingNewLine]", \(\(B\_2'\)[x]\)}], "Input"], Cell[BoxData[ RowBox[{ SubsuperscriptBox["B", "2", "\[Prime]", MultilineFunction->None], "[", "x", "]"}]], "Output"] }, Open ]], Cell["\<\ The next input can be used to remove the subscripted convention for Bernoulli \ polynomials that was made above. This is hardly an intuitive way to remove \ the above definition.\ \>", "Text"], Cell[BoxData[ \(3\_n_[x_] =. \)], "Input"], Cell[TextData[{ "By default arguments of Subscript are affected by use of N as we see with \ the next input where the terms ", Cell[BoxData[ \(t\_1\)]], " don't add together because N changed the subscript of ", Cell[BoxData[ \(t\_1\)]], " to an approximate number." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Clear[t];\)\), "\[IndentingNewLine]", \(\(expr = t\_1 + \[Pi]/4;\)\), "\[IndentingNewLine]", \(N[expr] + t\_1\)}], "Input"], Cell[BoxData[ \(\(\(0.7853981633974483`\)\(\[InvisibleSpace]\)\) + t\_1 + t\_1.`\)], "Output"] }, Open ]], Cell["\<\ In the next subsection I show that the above examples work much better after \ making some simple changes.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["\<\ 1.3 Consider - SetAttributes[Subscript, {HoldFirst, NHoldRest}]\ \>", "Subsection"], Cell["\<\ Carl Woll once mentioned in the MathGroup that a lot of things involving \ subscripts work better if Subscript has the HoldFirst attribute. However, it \ also helps if Subscript has the NHoldRest attribute. Evaluating the next \ input will give Subscript these attributes. When the SubscriptSymbols package \ is loaded, these attributes are automatically added.\ \>", "Text"], Cell[BoxData[ \(\(SetAttributes[Subscript, {HoldFirst, NHoldRest}];\)\)], "Input"], Cell["Now the examples below give better results.", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(x = 2.5;\)\), "\n", \(x\_1\)}], "Input"], Cell[BoxData[ \(x\_1\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(Solve[2 x\_1 + a \[Equal] 1\/\(x\_1 - 3\), {x\_1}]\)], "Input"], Cell[BoxData[ \({{x\_1 \[Rule] 1\/4\ \((6 - a - \@\(44 + 12\ a + a\^2\))\)}, {x\_1 \[Rule] 1\/4\ \((6 - a + \@\(44 + 12\ a + a\^2\))\)}}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(Table[x\_i, {i, 1, 4}]\)], "Input"], Cell[BoxData[ \({x\_1, x\_2, x\_3, x\_4}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(\[Integral]\[DifferentialD]x\_1\/x\_1\)], "Input"], Cell[BoxData[ \(Log[x\_1]\)], "Output"] }, Open ]], Cell["\<\ Next we can use subscripts to make a table of Bernoulli polynomials and B in \ the definition doesn't evaluate.\ \>", "Text"], Cell[BoxData[{ \(\(Clear[x];\)\), "\n", \(\(B = 3;\)\), "\n", \(B\_n_[x_] := BernoulliB[n, x]\)}], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(?? Subscript\)], "Input"], Cell["System`Subscript", "Print", CellTags->"Info3225624534-8436604"], Cell[BoxData[ InterpretationBox[GridBox[{ {\(Attributes["Subscript"] = {HoldFirst, NHoldRest}\)}, {" "}, {GridBox[{ {\(\("Subscript"[B, n_]\)[x_] := BernoulliB[n, x]\)} }, GridBaseline->{Baseline, {1, 1}}, ColumnWidths->0.999, ColumnAlignments->{Left}]} }, GridBaseline->{Baseline, {1, 1}}, ColumnAlignments->{Left}], Definition[ "Subscript"], Editable->False]], "Print", CellTags->"Info3225624534-8436604"] }, Open ]], Cell["\<\ This time clearing the definition for Bernoulli polynomials is straight \ forward.\ \>", "Text"], Cell[BoxData[ \(B\_n_[x_] =. \)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(?? Subscript\)], "Input"], Cell["System`Subscript", "Print", CellTags->"Info3225624544-3731660"], Cell[BoxData[ InterpretationBox[GridBox[{ {\(Attributes["Subscript"] = {HoldFirst, NHoldRest}\)} }, GridBaseline->{Baseline, {1, 1}}, ColumnAlignments->{Left}], Definition[ "Subscript"], Editable->False]], "Print", CellTags->"Info3225624544-3731660"] }, Open ]], Cell["Now the subscript 1 isn't affected by N.", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Clear[t];\)\), "\[IndentingNewLine]", \(\(expr = t\_1 + \[Pi]/4;\)\), "\[IndentingNewLine]", \(N[expr] + t\_1\)}], "Input"], Cell[BoxData[ \(\(\(0.7853981633974483`\)\(\[InvisibleSpace]\)\) + 2\ t\_1\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "1.4 Improve the Format of ", Cell[BoxData[ \(Power[x\_1, n]\)]] }], "Subsection"], Cell[TextData[{ "By default ", StyleBox["Mathematica", FontSlant->"Italic"], " doesn't format the result of ", Cell[BoxData[ \(Power[x\_1, n]\)]], " the way I think it should." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Power[x\_1, n]\)], "Input"], Cell[BoxData[ \(x\_1\%n\)], "Output"] }, Open ]], Cell["\<\ Evaluating the following little statement changes the formatting of such \ expressions. \ \>", "Text"], Cell[BoxData[ \(MakeBoxes[HoldPattern[Power[x_Subscript, n_]], form_] := \[IndentingNewLine]SuperscriptBox[MakeBoxes[x, form], MakeBoxes[n, form]]\)], "Input"], Cell[TextData[{ "I think that after evaluating the above input a subscript to a power is \ formatted better. The above MakeBoxes expression is near the beginning of \ the (SubscriptSymbols.m) package. If you prefer the default format of ", Cell[BoxData[ \(Power[x\_1, n]\)]], " you can comment out that line in the package." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Power[x\_1, n]\)], "Input"], Cell[BoxData[ \(x\_1\^n\)], "Output"] }, Open ]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["2. Symbolizing Subscripted Variables", "Section"], Cell[TextData[{ "You can use the Utilities`Notation` package to symbolize subscripts such \ as ", Cell[BoxData[ \(\((x\_3, x\_4)\)\)]], ", but the SubscriptSymbols package allows you do this more easily. \ Instructions for ", ButtonBox["installing", ButtonData:>"Instalation", ButtonStyle->"Hyperlink"], " the SubscriptSymbols package were provided above. Once the package is \ copied to the right folder, evaluating the next input will load the package \ and display the usage message for the SubscriptSymbols function. This input \ also turns off some messages about similar variables." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Needs["\"];\)\), "\n", \(\(Off[General::spell, General::spell1];\)\), "\[IndentingNewLine]", \(\(?SubscriptSymbols\)\)}], "Input"], Cell[BoxData[ \("SubscriptSymbols[x,On] ensures x with a NonNegative integer subscript \ is considered a symbol. SubscriptSymbols[x,Off] restores the default behavior \ for x subscripts. SubscriptSymbols[{x,y,...},On] and \ SubscriptSymbols[{x,y,...},Off] apply to several symbols. \ SubscriptSymbols[On] and SubscriptSymbols[Off] apply to all subscripted \ variables.\n \n When the first argument of SubscriptSymbols is a subscript \ expression only that subscript is affected. When the first argument of \ SubscriptSymbols is a list of subscript expressions only the listed \ subscripts are affected.\n \n The second argument of SubscriptSymbols can be \ True or False and the result will be the same as if the argument was On or \ Off respectively"\)], "Print", CellTags->"Info3246593702-6271124"] }, Open ]], Cell[TextData[{ "Loading the package improves the way ", StyleBox["Mathematica", FontSlant->"Italic"], " handles Subscript expressions and allows you to Clear them. However, it \ does not automatically turn Subscript expressions into symbols as illustrated \ by the next cell. You have to explicitly issue commands to symbolize \ subscripts." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Head /@ {\[Theta]\_2, x\_1, y\_4, w\_0, x\_a, y\_b, z\_c}\)], "Input"], Cell[BoxData[ \({Subscript, Subscript, Subscript, Subscript, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["2.1 Universal Subscript Symbolization - Highest Level", "Subsection"], Cell[TextData[{ "The next input makes it so any variable ", StyleBox["with a non-negative integer subscript", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], " is considered a symbol." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[On]\), "\n", \(Head /@ {\[Theta]\_2, x\_1, y\_4, w\_0, x\_a, y\_b, z\_c}\)}], "Input"], Cell[BoxData[ \({Symbol, Symbol, Symbol, Symbol, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]], Cell["\<\ The next input restores the default behavior for all subscripts.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[Off]\), "\[IndentingNewLine]", \(Head /@ {\[Theta]\_2, x\_1, y\_4, w\_0, x\_a, y\_b, z\_c}\)}], "Input"], Cell[BoxData[ \({Subscript, Subscript, Subscript, Subscript, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["\<\ 2.2 Subscript Symbolization of Specific Variables - Middle Level\ \>", "Subsection"], Cell[TextData[{ "The next input makes it so \[Theta] ", StyleBox["with a non-negative integer subscript", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], " is a symbol. Notice it doesn't matter that \[Theta] has the value \ 2.5." }], "Text"], Cell[BoxData[{ \(\(\[Theta] = 2.5;\)\), "\[IndentingNewLine]", \(SubscriptSymbols[\[Theta], On]\)}], "Input"], Cell[TextData[{ "In the next input ", Cell[BoxData[ \(\[Theta]\_n\)]], " is considered a Subscript expression because the subscript isn't an \ integer. However, the list returned ", Cell[BoxData[ \(\((\[Theta]\_1, \[Theta]\_2, \[Theta]\_3, \[Theta]\_4)\)\)]], " is considered a list of symbols. Notice ", Cell[BoxData[ \(\((\[Theta]\_1, \[Theta]\_2, \[Theta]\_3, \[Theta]\_4)\)\)]], " doesn't evaluate to ", Cell[BoxData[ \(\((2.5\_1, 2.5\_2, 2.5\_3, 2.5\_4)\)\)]], " because the SubscriptSymbols package gives Subscript the HoldFirst \ attribute. " }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(lst = Table[\[Theta]\_n, {n, 4}]\), "\[IndentingNewLine]", \(Head /@ lst\)}], "Input"], Cell[BoxData[ \({\[Theta]\_1, \[Theta]\_2, \[Theta]\_3, \[Theta]\_4}\)], "Output"], Cell[BoxData[ \({Symbol, Symbol, Symbol, Symbol}\)], "Output"] }, Open ]], Cell["\<\ After evaluating the next input x or y with a non-negative integer \ subscript is considered a symbol, in addition to \[Theta] with a non-negative \ subscript due to the input above. Subscript symbols is designed to have the \ same effect whether the second argument is On or True, and the second \ argument is True in the next cell to demonstrate this point.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[{x, y}, True]\), "\[IndentingNewLine]", \(Head /@ {\[Theta]\_2, x\_1, y\_4, w\_0, x\_a, y\_b, z\_c}\)}], "Input"], Cell[BoxData[ \({Symbol, Symbol, Symbol, Subscript, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]], Cell["\<\ After evaluating the next input no \[Theta] or x subscripts are \ considered symbols, but y with a non-negative subscript is still a \ symbol.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[{\[Theta], x}, Off]\), "\[IndentingNewLine]", \(Head /@ {\[Theta]\_2, x\_1, y\_4, w\_0, x\_a, y\_b, z\_c}\)}], "Input"], Cell[BoxData[ \({Subscript, Subscript, Symbol, Subscript, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]], Cell["\<\ The next input ensures no y subscripts are considered symbols. \ SubscriptSymbols has the same effect whether the second argument is Off or \ False. In the next example the second argument is False to demonstrate this \ point.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[y, False]\), "\[IndentingNewLine]", \(Head /@ {\[Theta]\_2, x\_1, y\_4, w\_0, x\_a, y\_b, z\_c}\)}], "Input"], Cell[BoxData[ \({Subscript, Subscript, Subscript, Subscript, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ 2.3 Subscript Symbolization of Specific Subscript Expressions - Lowest Level\ \ \>", "Subsection"], Cell[TextData[{ "The next input ensures only ", Cell[BoxData[ \(x\_1\)]], " is considered a symbol." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[Off]\), "\[IndentingNewLine]", \(SubscriptSymbols[x\_1, On]\), "\[IndentingNewLine]", \(Head /@ {x\_1, x\_2, x\_3, y\_a, y\_b, y\_1}\)}], "Input"], Cell[BoxData[ \({Symbol, Subscript, Subscript, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]], Cell[TextData[{ "The next input ensures ", Cell[BoxData[ \(\((y\_a, y\_b)\)\)]], "are considered subscripts in addition to ", Cell[BoxData[ \(x\_1\)]], " due to the line above. Notice we can symbolize specific subscript \ expressions where the subscript is not an integer." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[{y\_a, y\_b}, On]\), "\[IndentingNewLine]", \(Head /@ {x\_1, x\_2, x\_3, y\_a, y\_b, y\_1}\)}], "Input"], Cell[BoxData[ \({Symbol, Subscript, Subscript, Symbol, Symbol, Subscript}\)], "Output"] }, Open ]], Cell[TextData[{ "The next input turns off symbolization of ", Cell[BoxData[ \(x\_1\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[x\_1, Off]\), "\[IndentingNewLine]", \(Head /@ {x\_1, x\_2, x\_3, y\_a, y\_b, y\_1}\)}], "Input"], Cell[BoxData[ \({Subscript, Subscript, Subscript, Symbol, Symbol, Subscript}\)], "Output"] }, Open ]], Cell[TextData[{ "The next input turns off symbolization of ", Cell[BoxData[ \(\((y\_a, y\_b)\)\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[{y\_a, y\_b}, Off]\), "\[IndentingNewLine]", \(Head /@ {x\_1, x\_2, x\_3, y\_a, y\_b, y\_1}\)}], "Input"], Cell[BoxData[ \({Subscript, Subscript, Subscript, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["2.4 Relation Between Turning Subscripts On and Off", "Subsection"], Cell["\<\ The relation between turning on symbolization and turning off symbolization \ is a little subtle. To demonstrate this point consider the next input which \ symbolizes x or y with a non-negative integer subscript.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[Off]\), "\n", \(SubscriptSymbols[x, On]\), "\n", \(Head /@ {x\_1, x\_2, x\_a, x\_b, y\_1, y\_2, y\_a, y\_b}\)}], "Input"], Cell[BoxData[ \({Symbol, Symbol, Subscript, Subscript, Subscript, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]], Cell[TextData[{ "If we also want ", Cell[BoxData[ \(x\_a\)]], " symbolized we need to explicitly symbolize it using the following." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[x\_a, On]\), "\[IndentingNewLine]", \(Head /@ {x\_1, x\_2, x\_a, x\_b, y\_1, y\_2, y\_a, y\_b}\)}], "Input"], Cell[BoxData[ \({Symbol, Symbol, Symbol, Subscript, Subscript, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]], Cell[TextData[{ "SubscriptSymbols[x,Off] isn't simply the opposite of \ SubscriptSymbols[x,On] because it turns off symbolizing of all x subscripts \ including ", Cell[BoxData[ \(x\_a\)]], ", which wasn't symbolized using SubscriptSymbols[x,On]. Likewise \ SubscriptSymbols[Off] turns off symbolizing of subscripts such as ", Cell[BoxData[ \(\((x\_a, y\_\(a, \ ... \))\)\)]], " which aren't symbolized using SubscriptSymbols[On]." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[x, Off]\), "\[IndentingNewLine]", \(Head /@ {x\_1, x\_2, x\_a, x\_b, y\_1, y\_2, y\_a, y\_b}\)}], "Input"], Cell[BoxData[ \({Subscript, Subscript, Subscript, Subscript, Subscript, Subscript, Subscript, Subscript}\)], "Output"] }, Open ]], Cell["\<\ To demonstrate another point the next input symbolizes all variables with a \ non-negative integer subscript.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[On]\), "\n", \(Head /@ {x\_1, x\_2, x\_a, x\_b, y\_1, y\_2, y\_a, y\_b}\)}], "Input"], Cell[BoxData[ \({Symbol, Symbol, Subscript, Subscript, Symbol, Symbol, Subscript, Subscript}\)], "Output"] }, Open ]], Cell["\<\ SubscriptSymbols allows you to turn off symbolization at an equal or higher \ level, but not at a lower level. In the next input we try to turn off \ symbolization at a lower level and get a error messages.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(SubscriptSymbols[x, Off]\)], "Input"], Cell[BoxData[ \(SubscriptSymbols::"AllOn" \(\(:\)\(\ \)\) "SubscriptSymbols can not turn off symbolization of \!\(x\) subscripts \ using this form because they were symbolized using SubscriptSymbols[On]. \ Symbolization of \!\(x\) subscripts must be turned off using \ SubscriptSymbols[Off]."\)], "Message"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(SubscriptSymbols[x\_1, Off]\)], "Input"], Cell[BoxData[ \(SubscriptSymbols::"Sub1" \(\(:\)\(\ \)\) "SubscriptSymbols can not turn off symbolization of \!\(x\_1\) using \ this form because it was symbolized using SubscriptSymbols[On]. Symbolization \ of \!\(x\_1\) must be turned off using SubscriptSymbols[Off]."\)], "Message"] }, Open ]], Cell[TextData[{ "Summary:\n1) ", Cell[BoxData[ \(SubscriptSymbols[On]\)]], " and ", Cell[BoxData[ \(SubscriptSymbols[x, On]\)]], " will not symbolize ", Cell[BoxData[ \(\((x\_a, x\_b, ... )\)\)]], "since the subscripts are not integers.\n\n2) ", Cell[BoxData[ \(SubscriptSymbols[Off]\)]], " and ", Cell[BoxData[ \(SubscriptSymbols[x, Off]\)]], " turns off symbolizing of ", Cell[BoxData[ \(\((x\_1, x\_2, ... )\)\)]], "and ", Cell[BoxData[ \(\((x\_a, x\_b, ... )\)\)]], ".\n\n3) You can turn off subscript symbols created at a given level by \ using ", Cell[BoxData[ \(SubscriptSymbols[equal\ or\ higher\ level, Off]\)]], " .\n\n4) You cannot use a ", Cell[BoxData[ \(SubscriptSymbols[lower\ level, Off]\)]], " on symbols created at a higher level." }], "Text", CellFrame->True, FontSize->16] }, Closed]], Cell[CellGroupData[{ Cell["2.5 Giving SubscriptSymbols A Specification List", "Subsection"], Cell[TextData[{ "SubscriptSymbols has the HoldFirst attribute. So in the next two examples \ we have to use Evaluate on the first argument to get the same result as \ evaluating ", Cell[BoxData[ \(SubscriptSymbols[{i, j, k}, On]\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[Off]\), "\[IndentingNewLine]", \(\(list = {i, j, k};\)\), "\[IndentingNewLine]", \(SubscriptSymbols[Evaluate[list], On]\), "\[IndentingNewLine]", \(Head /@ {i\_1, j\_2, k\_3}\)}], "Input"], Cell[BoxData[ \({Symbol, Symbol, Symbol}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[Evaluate[list], Off]\), "\[IndentingNewLine]", \(Head /@ {i\_1, j\_2, k\_3}\)}], "Input"], Cell[BoxData[ \({Subscript, Subscript, Subscript}\)], "Output"] }, Open ]], Cell["\<\ If the first argument of SubscriptSymbols is a list it can be a list of \ regular symbols or a list of subscripts, but it can't be a mix of the two. \ If you try to violate this rule a message is posted as in the next two \ examples.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(SubscriptSymbols[{x, y, a\_1, b\_1}, On]\)], "Input"], Cell[BoxData[ \(SubscriptSymbols::"list" \(\(:\)\(\ \)\) "The subscript specification list given to SubscriptSymbols must be a \ list of variables, or a list of subscripted variables. They can't be \ mixed."\)], "Message"], Cell[BoxData[ \(SubscriptSymbols[{x, y, a\_1, b\_1}, On]\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(SubscriptSymbols[{x, y, a\_1, b\_1}, Off]\)], "Input"], Cell[BoxData[ \(SubscriptSymbols::"list" \(\(:\)\(\ \)\) "The subscript specification list given to SubscriptSymbols must be a \ list of variables, or a list of subscripted variables. They can't be \ mixed."\)], "Message"], Cell[BoxData[ \(SubscriptSymbols[{x, y, a\_1, b\_1}, Off]\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["2.6 Internal Representation of Subscripted Symbols", "Subsection"], Cell[TextData[{ "How are subscript symbols actually stored? In StandardForm and \ TraditionalForm you will not see the internal representation because the \ package routines automatically display the subscripted form. However, if you \ use InputForm or FullForm on an expression containing subscript symbols, you \ will see the internal representation. The Notation package automatically \ parses a two dimensional subscript such as ", Cell[BoxData[ \(w\_2\)]], " into the symbol w\[UnderBracket]Subscript\[UnderBracket]2. The \ convention of using this long form is a feature of the Notation package which \ is inherited in the SubscriptSymbols package. This is illustrated below." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[w, On]\), "\n", \(\(lst = {w\_1, w\_2, w\_3};\)\), "\[IndentingNewLine]", \(StandardForm[lst]\)}], "Input"], Cell[BoxData[ \({w\_1, w\_2, w\_3}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm[lst]\)], "Input"], Cell[BoxData[ \(TraditionalForm\`{w\_1, w\_2, w\_3}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(InputForm[lst]\)], "Input"], Cell["\<\ {w\[UnderBracket]Subscript\[UnderBracket]1, w\[UnderBracket]Subscript\ \[UnderBracket]2, w\[UnderBracket]Subscript\[UnderBracket]3}\ \>", "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(FullForm[lst]\)], "Input"], Cell[BoxData[ TagBox[ StyleBox[\(List[w\[UnderBracket]Subscript\[UnderBracket]1, w\[UnderBracket]Subscript\[UnderBracket]2, w\[UnderBracket]Subscript\[UnderBracket]3]\), ShowStringCharacters->True, NumberMarks->True], FullForm]], "Output"] }, Open ]], Cell[TextData[{ " In fact, you could type the symbol \"w\[UnderBracket]Subscript\ \[UnderBracket]2\" as \"w\\[Under\[InvisibleSpace]Bracket]Subscript\\[Under\ \[InvisibleSpace]Bracket]2\" and get the same result as if you typed ", Cell[BoxData[ \(w\_2\)]], ". Once the w subscripts are symbolized the StandardForm for displaying w\ \[UnderBracket]Subscript\[UnderBracket]2 is the more readable form ", Cell[BoxData[ \(w\_2\)]], " and the TraditionalForm is very similar. This is demonstrated in the \ next input. You should never need to type an expression using the long form \ of a symbolized expression as below, but this shows how the Notation package \ is able to treat Subscripts as symbols." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Log[w\[UnderBracket]Subscript\[UnderBracket]2]\)], "Input"], Cell[BoxData[ \(Log[w\_2]\)], "Output"] }, Open ]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["3. Application Examples", "Section"], Cell[CellGroupData[{ Cell["3.1 Addition of Relativistic Velocities", "Subsection"], Cell["\<\ Suppose we want to write a definition for the addition of relativistic \ velocities (expressed as a percentage of the velocity of light). Our textbook \ uses subscripted symbols and we would like to make our definition look like \ the textbook definition.\ \>", "Text"], Cell[TextData[{ "To use subscripted variables in definitions, it is necessary to use the \ longer colon form for a pattern. The expression ", Cell[BoxData[ \(\((x : _)\)\)]], " is the same as ", Cell[BoxData[ \(\((x_)\)\)]], ", but with subscripted variables the colon is necessary, because the ", StyleBox["Mathematica", FontSlant->"Italic"], " parser gets to the expression before the symbolization code does. We will \ use the CirclePlus operator to represent relativistic addition of velocities. \ (CirclePlus can be entered by \[EscapeKey] c + \[EscapeKey].)" }], "Text", CellTags->"ParsingPatterns"], Cell[BoxData[{ \(\(Clear[CirclePlus];\)\), "\[IndentingNewLine]", \(SubscriptSymbols[Off]\), "\[IndentingNewLine]", \(SubscriptSymbols[v, On]\), "\[IndentingNewLine]", \(CirclePlus[\(v\_1\) : _, \(v\_2\) : __] := \((v\_1 + CirclePlus[v\_2])\)/\((1 + \(v\_1\) CirclePlus[v\_2])\)\), "\[IndentingNewLine]", \(CirclePlus[\(v\_1\) : _] := v\_1\)}], "Input"], Cell["The velocity never exceeds 1, the velocity of light.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(3/4\[CirclePlus]3/4\)], "Input"], Cell[BoxData[ \(24\/25\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(0.9\[CirclePlus]0.9\[CirclePlus]0.9\)], "Input"], Cell[BoxData[ \(0.9997084548104955`\)], "Output"] }, Open ]], Cell["The next input displays the definition of CirclePlus.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(?? CirclePlus\)], "Input"], Cell["Global`CirclePlus", "Print", CellTags->"Info3225625470-1747485"], Cell[BoxData[ InterpretationBox[GridBox[{ {GridBox[{ {\(\(\(v\_1\) : _\)\[CirclePlus]\(\(v\_2\) : __\) := \(v\_1 + \ CirclePlus[v\_2]\)\/\(1 + v\_1\ CirclePlus[v\_2]\)\)}, {" "}, {\(CirclePlus[\(v\_1\) : _] := v\_1\)} }, GridBaseline->{Baseline, {1, 1}}, ColumnWidths->0.999, ColumnAlignments->{Left}]} }, GridBaseline->{Baseline, {1, 1}}, ColumnAlignments->{Left}], Definition[ "CirclePlus"], Editable->False]], "Print", CellTags->"Info3225625470-1747485"] }, Open ]], Cell["The definition still works, even after v is turned off.", "Text"], Cell[BoxData[ \(SubscriptSymbols[v, Off]\)], "Input"], Cell[CellGroupData[{ Cell[BoxData[ \(0.99\[CirclePlus]0.99\)], "Input"], Cell[BoxData[ \(0.9999494975001264`\)], "Output"] }, Open ]], Cell["\<\ This is because the subscripted variables are still in the definition of \ CirclePlus. However, when symbolization of v subscripts was turned off the \ rules for displaying v\[UnderBracket]Subscript\[UnderBracket]1 and v\ \[UnderBracket]Subscript\[UnderBracket]2 as subscripts were removed and that \ is why the definition now looks different than it did above.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(?? CirclePlus\)], "Input"], Cell["Global`CirclePlus", "Print", CellTags->"Info3225625497-2255899"], Cell[BoxData[ InterpretationBox[GridBox[{ {GridBox[{ {\(v\[UnderBracket]Subscript\[UnderBracket]1_\[CirclePlus]v\ \[UnderBracket]Subscript\[UnderBracket]2__ := \(v\[UnderBracket]Subscript\ \[UnderBracket]1 + \ CirclePlus[v\[UnderBracket]Subscript\[UnderBracket]2]\)\/\(1 + v\ \[UnderBracket]Subscript\[UnderBracket]1\ \ CirclePlus[v\[UnderBracket]Subscript\[UnderBracket]2]\)\)}, {" "}, {\(CirclePlus[v\[UnderBracket]Subscript\[UnderBracket]1_] := v\[UnderBracket]Subscript\[UnderBracket]1\)} }, GridBaseline->{Baseline, {1, 1}}, ColumnWidths->0.999, ColumnAlignments->{Left}]} }, GridBaseline->{Baseline, {1, 1}}, ColumnAlignments->{Left}], Definition[ "CirclePlus"], Editable->False]], "Print", CellTags->"Info3225625497-2255899"] }, Open ]], Cell[BoxData[{ \(Clear[CirclePlus]\), "\[IndentingNewLine]", \(SubscriptSymbols[v, Off]\)}], "Input"] }, Closed]], Cell[CellGroupData[{ Cell["3.2 Resistance Ladder", "Subsection"], Cell["\<\ Suppose we want to write a routine for evaluating the resistance of a \ resistance ladder. The ladder can have n legs with each leg consisting of a \ parallel and series resistor. The parallel resistor is parallel with what \ came before and the series resistor is added. The first parallel resistor is \ parallel with an infinite resistance. We would like to write the equations in \ the same form as our textbook equations using subscripted R's.\ \>", "Text"], Cell["These are the subscripted variables we will use.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(RList = Table[R\_i, {i, 3}]\)], "Input"], Cell[BoxData[ \({R\_1, R\_2, R\_3}\)], "Output"] }, Open ]], Cell["The following statement turns them into subscript symbols.", "Text"], Cell[BoxData[ \(SubscriptSymbols[Evaluate[RList], On]\)], "Input"], Cell[TextData[{ "The following are our rules for combining parallel and series resistors. \ Notice that in the definition we must use the long, colon form for the \ pattern to ensure correct parsing as ", ButtonBox["explained above", ButtonData:>"ParsingPatterns", ButtonStyle->"Hyperlink"], ". We wouldn't be able to use subscripts to name the patterns if ", Cell[BoxData[ \(R\_1, R\_2\)]], " weren't treated as symbols." }], "Text"], Cell[BoxData[{ \(parallel[\(R\_1\) : _, \(R\_2\) : _] := 1/\((1\/R\_1 + 1\/R\_2)\)\), "\n", \(series[\(R\_1\) : _, \(R\_2\) : _] := R\_1 + R\_2\)}], "Input"], Cell["\<\ The ResistanceLadder routine will show the resistance after each leg is added \ to the ladder. \ \>", "Text"], Cell[BoxData[ \(ResistanceLadder[ legs : {{_, _} .. }] := \[IndentingNewLine]FoldList[\ \[IndentingNewLine]With[\[IndentingNewLine]{R\_1 = #1, \ \[IndentingNewLine]R\_2 = First[#2], \[IndentingNewLine]R\_3 = Last[#2]}, \[IndentingNewLine]series[parallel[R\_1, R\_2], R\_3]] &, \[Infinity], legs]\)], "Input"], Cell[TextData[{ "Again,", StyleBox[" we could not have used ", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], Cell[BoxData[ \(R\_1\)], FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], StyleBox[", ", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], Cell[BoxData[ \(R\_2\)], FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], StyleBox[" and ", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], Cell[BoxData[ \(R\_3\)], FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], StyleBox[" in the With statement if ", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], Cell[BoxData[ \(R\_1, R\_2\ and\ R\_3\)], FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], StyleBox[" weren't treated as symbols.", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], " You might have other applications where you would like to use subscripts \ as local variables in Module, Function or give subscripts local values using \ Block as in \n", Cell[BoxData[ \(Module[{v\_1, v\_2}, \ expr]\)]], ",\n", Cell[BoxData[ \(Function[{v\_1, v\_2}, \ expr]\)]], ",\n", Cell[BoxData[ \(Block[{v\_1 = value1, v\_2 = value2}, \ expr]\)]], ".\n", StyleBox["These are also cases where ", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], Cell[BoxData[ \(v\_1, v\_2\)], FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]], StyleBox[" would have to be symbolized.", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]] }], "Text"], Cell["\<\ This calculates the resistance at each stage of a 25 leg ladder with each leg \ having resistances 1 and 1.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(tabl = ResistanceLadder[Table[{1, 1}, {25}]]\), "\[IndentingNewLine]", \(N[tabl, 20] // TableForm\)}], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ InterpretationBox["\[Infinity]", DirectedInfinity[ 1]], ",", "2", ",", \(5\/3\), ",", \(13\/8\), ",", \(34\/21\), ",", \(89\/55\), ",", \(233\/144\), ",", \(610\/377\), ",", \(1597\/987\), ",", \(4181\/2584\), ",", \(10946\/6765\), ",", \(28657\/17711\), ",", \(75025\/46368\), ",", \(196418\/121393\), ",", \(514229\/317811\), ",", \(1346269\/832040\), ",", \(3524578\/2178309\), ",", \(9227465\/5702887\), ",", \(24157817\/14930352\), ",", \(63245986\/39088169\), ",", \(165580141\/102334155\), ",", \(433494437\/267914296\), ",", \(1134903170\/701408733\), ",", \(2971215073\/1836311903\), ",", \(7778742049\/4807526976\), ",", \(20365011074\/12586269025\)}], "}"}]], "Output"], Cell[BoxData[ InterpretationBox[GridBox[{ { InterpretationBox["\[Infinity]", DirectedInfinity[ 1]]}, {"2.`20"}, {"1.666666666666666666666666666670874`20"}, {"1.625`20"}, {"1.619047619047619047619047619052427`20"}, {"1.618181818181818181818181818181818`20"}, {"1.618055555555555555555555555555556`20"}, {"1.618037135278514588859416445623342`20"}, {"1.618034447821681864235055724417427`20"}, {"1.61803405572755417956656346749226`20"}, {"1.618033998521803399852180339985218`20"}, {"1.618033990175597086556377392580882`20"}, {"1.618033988957902001380262249832546`20"}, {"1.61803398878024268285650737686687`20"}, {"1.618033988754322537608830405492573`20"}, {"1.618033988750540839382721984519975`20"}, {"1.618033988749989097047296779290725`20"}, {"1.61803398874990859892542145758806`20"}, {"1.618033988749896854407719255379913`20"}, {"1.618033988749895140905679158315141`20"}, {"1.618033988749894890909100680999418`20"}, {"1.618033988749894854435091436852627`20"}, {"1.618033988749894849113605205140781`20"}, {"1.618033988749894848337210827304647`20"}, {"1.61803398874989484822393641416355455783`20"}, {"1.61803398874989484820740990001204380265`20"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ { DirectedInfinity[ 1], 2.`20, 1.6666666666666666667`20, 1.625`20, 1.6190476190476190476`20, 1.6181818181818181818`20, 1.6180555555555555556`20, 1.6180371352785145889`20, 1.6180344478216818642`20, 1.6180340557275541796`20, 1.6180339985218033999`20, 1.6180339901755970866`20, 1.6180339889579020014`20, 1.6180339887802426829`20, 1.6180339887543225376`20, 1.6180339887505408394`20, 1.618033988749989097`20, 1.6180339887499085989`20, 1.6180339887498968544`20, 1.6180339887498951409`20, 1.6180339887498948909`20, 1.6180339887498948544`20, 1.6180339887498948491`20, 1.6180339887498948483`20, 1.6180339887498948482`20, 1.6180339887498948482`20}]]], "Output"] }, Open ]], Cell["In the limit the resistance approaches the GoldenRatio.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(N[Last[tabl] - GoldenRatio, 22]\)], "Input"], Cell[BoxData[ \(2.82306564641092554253336061896`22*^-21\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["3.3 Make Subscripts Match (_Symbol)", "Subsection"], Cell["\<\ Consider the following case where we are working with lists of subscripted \ symbols.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[Off]\), "\n", \(\(lst1 = {x\_1, x\_4, x\_7, x\_10, x\_15};\)\), "\n", \(lst2 = lst1 /. n_Integer \[RuleDelayed] n - 1\)}], "Input"], Cell[BoxData[ \({x\_0, x\_3, x\_6, x\_9, x\_14}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(lst3 = a + \((lst2 - lst1)\)/20\)], "Input"], Cell[BoxData[ \({a + 1\/20\ \((x\_0 - x\_1)\), a + 1\/20\ \((x\_3 - x\_4)\), a + 1\/20\ \((x\_6 - x\_7)\), a + 1\/20\ \((x\_9 - x\_10)\), a + 1\/20\ \((x\_14 - x\_15)\)}\)], "Output"] }, Open ]], Cell[TextData[{ "Now suppose we want a concise way to make the replacements \n", Cell[BoxData[ \({a \[Rule] f[a], x\_n \[Rule] f[x\_n]}\)]], " where n is an Integer. The following is a concise attempt that doesn't \ work." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Replace[lst3, s_Symbol \[RuleDelayed] f[s], \(-1\)]\)], "Input"], Cell[BoxData[ \({f[a] + 1\/20\ \((\((f[x])\)\_0 - \((f[x])\)\_1)\), f[a] + 1\/20\ \((\((f[x])\)\_3 - \((f[x])\)\_4)\), f[a] + 1\/20\ \((\((f[x])\)\_6 - \((f[x])\)\_7)\), f[a] + 1\/20\ \((\((f[x])\)\_9 - \((f[x])\)\_10)\), f[a] + 1\/20\ \((\((f[x])\)\_14 - \((f[x])\)\_15)\)}\)], "Output"] }, Open ]], Cell["\<\ The following input is the most concise solution I can find without changing \ the way subscripts are handled.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Replace[ lst3, \[IndentingNewLine]{a \[Rule] f[a], Subscript[x, n_] \[RuleDelayed] f[Subscript[x, n]]}, \(-1\)]\)], "Input"], Cell[BoxData[ \({f[a] + 1\/20\ \((f[x\_0] - f[x\_1])\), f[a] + 1\/20\ \((f[x\_3] - f[x\_4])\), f[a] + 1\/20\ \((f[x\_6] - f[x\_7])\), f[a] + 1\/20\ \((f[x\_9] - f[x\_10])\), f[a] + 1\/20\ \((f[x\_14] - f[x\_15])\)}\)], "Output"] }, Open ]], Cell[TextData[{ "Next I show how the SubscriptSymbols package allows a simpler solution to \ the problem above. Here ", Cell[BoxData[ \(SubscriptSymbols[x, On]\)]], " is used to ensure the rule ", StyleBox["(s_Symbol\[RuleDelayed]f[s])", "Input"], " applies to ", Cell[BoxData[ \(TraditionalForm\`x\_0, \ x\_1, \[Ellipsis]\)]] }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(SubscriptSymbols[x, On];\)\), "\[IndentingNewLine]", \(Replace[lst3, s_Symbol \[RuleDelayed] f[s], \(-1\)]\)}], "Input"], Cell[BoxData[ \({f[a] + 1\/20\ \((f[x\_0] - f[x\_1])\), f[a] + 1\/20\ \((f[x\_3] - f[x\_4])\), f[a] + 1\/20\ \((f[x\_6] - f[x\_7])\), f[a] + 1\/20\ \((\(-f[x\_10]\) + f[x\_9])\), f[a] + 1\/20\ \((f[x\_14] - f[x\_15])\)}\)], "Output"] }, Open ]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["4. Values Assigned to Subscripts", "Section"], Cell["\<\ In the next input I assign values to some subscripts when the subscripts \ aren't symbolized.\ \>", "Text"], Cell[BoxData[{ \(\(SubscriptSymbols[Off];\)\), "\[IndentingNewLine]", \(\({x\_1, x\_2, y\_1, y\_2} = {11, 12, 13, 14};\)\)}], "Input"], Cell[TextData[{ "Next I demonstrate that I can use the value assigned to ", Cell[BoxData[ \(x\_1\)]], " above. This is part of Mathematica's default handling of subscripts." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(5*x\_1\)], "Input"], Cell[BoxData[ \(55\)], "Output"] }, Open ]], Cell[TextData[{ "In the next input I ensure that x with a non-negative integer subscript \ and ", Cell[BoxData[ \(y\_1\)]], " are symbols. Notice the values assigned to the affected subscripts are \ gone. However, the value assigned to ", Cell[BoxData[ \(y\_2\)]], " wasn't erased because it wasn't symbolized." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(SubscriptSymbols[x, On];\)\), "\n", \(\(SubscriptSymbols[y\_1, On];\)\), "\n", \({x\_1, x\_2, y\_1, y\_2}\)}], "Input"], Cell[BoxData[ \({x\_1, x\_2, y\_1, 14}\)], "Output"] }, Open ]], Cell[TextData[{ "In the next input I turn off symbolizing that was enabled above, and we \ see that the values that were assigned to ", Cell[BoxData[ \(TraditionalForm\`x\_1, \ x\_2, \ y\_1\)]], " are still gone. The lesson here is that ", StyleBox["you must not assign a value to a subscript if you will be \ switching between treating it as a subscript expression and a symbol.", FontWeight->"Bold", FontColor->RGBColor[0.73048, 0, 0]] }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(SubscriptSymbols[x, Off];\)\), "\n", \(\(SubscriptSymbols[y\_1, Off];\)\), "\n", \({x\_1, x\_2, y\_1, y\_2}\)}], "Input"], Cell[BoxData[ \({x\_1, x\_2, y\_1, 14}\)], "Output"] }, Open ]], Cell[TextData[{ "Next I symbolize the subscripts ", Cell[BoxData[ \(x\_1, x\_2\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[{x\_1, x\_2}, On]\), "\[IndentingNewLine]", \(Head /@ {x\_1, x\_2, y\_1, y\_2}\)}], "Input"], Cell[BoxData[ \({Symbol, Symbol, Subscript, Integer}\)], "Output"] }, Open ]], Cell[TextData[{ "Next I assign values to ", Cell[BoxData[ \(TraditionalForm\`\((x\_1, \ x\_2, \ y\_1, \ y\_2)\)\)]], " and show that we can use the value assigned to ", Cell[BoxData[ \(x\_1\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\({x\_1, x\_2, y\_1, y\_2} = {6, 7, 8, 9};\)\), "\n", \(5*x\_1\)}], "Input"], Cell[BoxData[ \(30\)], "Output"] }, Open ]], Cell["\<\ In the next input I disable symbolization of all x subscripts, and the \ definitions of affected subscripts are erased.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[x, Off]\), "\[IndentingNewLine]", \({x\_1, x\_2, y\_1, y\_2}\)}], "Input"], Cell[BoxData[ \({x\_1, x\_2, 8, 9}\)], "Output"] }, Open ]], Cell["\<\ Summary: 1) Values assigned to Subscript expressions are lost if you symbolize the \ expression. 2) Values assigned to subscript symbols are lost if you turn the \ symbolization off.\ \>", "Text", CellFrame->True, FontSize->16] }, Closed]], Cell[CellGroupData[{ Cell["5. Clearing Subscripts", "Section"], Cell["\<\ The SubscriptSymbols package automatically extends the Clear function so that \ subscript expressions and subscript symbols can be cleared of values just by \ listing them in the Clear statement. Without the package, subscript \ expressions can only be cleared by clearing Subscript (which may clear more \ than you want) or by using specific Unset statements.\ \>", "Text"], Cell[TextData[{ "The next input assigns a values to ", Cell[BoxData[ \(x\_1\)]], ", t and defines a function ", Cell[BoxData[ \(f\_1\)]], " when no subscripts are considered Symbols." }], "Text"], Cell[BoxData[{ \(SubscriptSymbols[Off]\), "\[IndentingNewLine]", \(\(x\_1 = 43;\)\), "\[IndentingNewLine]", \(\(t = 4.5;\)\), "\[IndentingNewLine]", \(f\_1[x_] := x + 5\)}], "Input"], Cell["\<\ The next input makes use of these definitions, and this is part of \ Mathematica's default handling of subscripts.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \({x\_1, f\_1[6], t}\)], "Input"], Cell[BoxData[ \({43, 11, 4.5`}\)], "Output"] }, Open ]], Cell[TextData[{ "By default the built-in function Clear will not clear the above \ definitions for ", Cell[BoxData[ \(x\_1\)]], " and ", Cell[BoxData[ \(f\_1\)]], ", but The SubscriptSymbols package enhances Clear so it can clear the \ definitions made above. This is done with the next input." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(Clear[x\_1, f\_1, t]\), "\[IndentingNewLine]", \({x\_1, f\_1[6], t}\)}], "Input"], Cell[BoxData[ \({x\_1, f\_1[6], t}\)], "Output"] }, Open ]], Cell[TextData[{ "Next I look at the previous example when ", Cell[BoxData[ \(x\_1\)]], " and ", Cell[BoxData[ \(f\_1\)]], " are considered Symbols." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[{x, f}, On]\), "\[IndentingNewLine]", \(Head /@ {x\_1, f\_1}\)}], "Input"], Cell[BoxData[ \({Symbol, Symbol}\)], "Output"] }, Open ]], Cell[TextData[{ "The next input assigns values to ", Cell[BoxData[ \(x\_1\)]], ", ", Cell[BoxData[ \(f\_1\)]], ", t and makes use of these values." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(x\_1 = 65;\)\), "\n", \(\(f\_1[x_] := x + 7;\)\), "\n", \(\(t = 9.3;\)\), "\n", \({x\_1, f\_1[6], t}\)}], "Input"], Cell[BoxData[ \({65, 13, 9.3`}\)], "Output"] }, Open ]], Cell["\<\ Next I Clear the above definitions and it simply does what we expect.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(Clear[x\_1, f\_1, t]\), "\[IndentingNewLine]", \({x\_1, f\_1[6], t}\)}], "Input"], Cell[BoxData[ \({x\_1, f\_1[6], t}\)], "Output"] }, Open ]], Cell[TextData[{ "In the next input ClearAll can take ", Cell[BoxData[ \(x\_1, f\_1\)]], " as arguments when the subscripts are symbolized." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(Head /@ {x\_1, f\_1}\), "\[IndentingNewLine]", \(ClearAll[x\_1, f\_1, t]\)}], "Input"], Cell[BoxData[ \({Symbol, Symbol}\)], "Output"] }, Open ]], Cell[TextData[{ "However, in the next input ", Cell[BoxData[ \(x\_1, f\_1\)]], " have the head Subscript, and can't be used as arguments for ClearAll, \ but there is no reason to do this because you can't assign attributes to a \ subscript expression." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[Off]\), "\[IndentingNewLine]", \(ClearAll[x\_1, f\_1, t]\)}], "Input"], Cell[BoxData[ \(ClearAll::"ssym" \(\(:\)\(\ \)\) "\!\(x\_1\) is not a symbol or a string."\)], "Message"], Cell[BoxData[ \(ClearAll::"ssym" \(\(:\)\(\ \)\) "\!\(f\_1\) is not a symbol or a string."\)], "Message"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["6. GetSubscript", "Section"], Cell[TextData[{ "It isn't easy to get the subscript from ", Cell[BoxData[ \(x\_1\)]], " when it's considered a symbol. The SubscriptSymbols package provides a \ function GetSubscript to perform such a task and its usage message is shown \ below." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\(?GetSubscript\)\)], "Input"], Cell[BoxData[ \("GetSubscript[sub] returns the subscript of sub when sub is a \ symbolized subscript or a subscript expression."\)], "Print", CellTags->"Info3227272334-8383947"] }, Open ]], Cell[TextData[{ "In the next cell I demonstrate GetSubscript with symbolized subscripts ", Cell[BoxData[ \(TraditionalForm\`x\_2, x\_6, x\_7\)]], "and subscript expressions ", Cell[BoxData[ \(TraditionalForm\`y\_10, y\_12\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[Off]\), "\[IndentingNewLine]", \(\(\(SubscriptSymbols[x, On]\)\(\[IndentingNewLine]\) \)\), "\[IndentingNewLine]", \(\(symbs = {x\_2, x\_6, x\_7, y\_10, y\_12};\)\), "\[IndentingNewLine]", \(GetSubscript /@ symbs\)}], "Input"], Cell[BoxData[ \({2, 6, 7, 10, 12}\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["7. MapSubscript", "Section"], Cell[TextData[{ "The SubscriptSymbols package defines MapSubscript so you can \ systematically change the subscript of ", Cell[BoxData[ \(x\_1\)]], " whether it's symbolized or not. The MapSubscript usage message is shown \ below." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\(?MapSubscript\)\)], "Input"], Cell[BoxData[ \("MapSubscript[f,sub] is only defined when sub is a symbolized subscript \ or subscript expression. When MapSubscript[f,sub] is defined it maps f to the \ subscript of sub. For example MapSubscript[f,Subscript[x,n]] returns \ Subscript[x,f[n]]."\)], "Print", CellTags->"Info3227272340-8244083"] }, Open ]], Cell["\<\ The next cell generates a list where the first two elements are symbolized \ subscripts and the last two elements are subscript expressions.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[Off]\), "\[IndentingNewLine]", \(\(\(SubscriptSymbols[x, On]\)\(\[IndentingNewLine]\) \)\), "\[IndentingNewLine]", \(\(list = {x\_2, x\_6, y\_10, y\_12};\)\), "\[IndentingNewLine]", \(Head /@ list\)}], "Input"], Cell[BoxData[ \({Symbol, Symbol, Subscript, Subscript}\)], "Output"] }, Open ]], Cell["\<\ MapSubscript is used in the next input to increase each subscript by 50. \ Notice that it works with Subscript expressions and symbolized subscripts.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(FiftyMore[n_] := n + 50\), "\[IndentingNewLine]", \(\(MapSubscript[FiftyMore, #] &\) /@ list\)}], "Input"], Cell[BoxData[ \({x\_52, x\_56, y\_60, y\_62}\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["8. ApplySubscript", "Section"], Cell[TextData[{ "When ", Cell[BoxData[ \(TraditionalForm\`x\_1\)]], "is a subscript expression it's easy to get the parts {x,1}, but this isn't \ simple when ", Cell[BoxData[ \(TraditionalForm\`x\_1\)]], " is symbolized. The SubscriptSymbols package defines ApplySubscript to \ solve this problem and its usage message is displayed below." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\(?ApplySubscript\)\)], "Input"], Cell[BoxData[ \("ApplySubscript[f,sub] is only defined when sub is a symbolized \ subscript or a subscript expression. When the operation is defined \ Subscript[x,n] is changed to f[x,n]."\)], "Print", CellTags->"Info3227272358-1317385"] }, Open ]], Cell[TextData[{ "The next input ensures that only x with a non-negative integer subscript \ is symbolized. Then ApplySubscript is used to change the symbolized \ subscript ", Cell[BoxData[ \(x\_12\)]], " to the list {x,12}, and the subscript expression ", Cell[BoxData[ \(y\_14\)]], " to the list {y,14}. Note that it works on both symbolized subscripts and \ on subscript expressions." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Clear[x, y];\)\), "\n", \(SubscriptSymbols[Off]\), "\[IndentingNewLine]", \(\(\(SubscriptSymbols[x, On]\)\(\n\) \)\), "\n", \(ApplySubscript[List, x\_12]\), "\n", \(ApplySubscript[List, y\_14]\)}], "Input"], Cell[BoxData[ \({x, 12}\)], "Output"], Cell[BoxData[ \({y, 14}\)], "Output"] }, Open ]], Cell[TextData[{ "Next ApplySubscript is used to change the symbolized subscript ", Cell[BoxData[ \(x\_16\)]], " to the Hold[x,16]. In this case Hold prevents x from evaluating to \ 3.24." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(x = 3.24;\)\), "\[IndentingNewLine]", \(ApplySubscript[Hold, x\_16]\)}], "Input"], Cell[BoxData[ \(Hold[x, 16]\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["9. SymbolizedSubscriptQ", "Section"], Cell["\<\ Normally it wouldn't be easy to tell the difference between a regular symbol \ and a symbolized subscript. The SubscriptSymbols package defines \ SymbolizedSubscriptQ to address this problem and its usage message is \ displayed below.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\(?SymbolizedSubscriptQ\)\)], "Input"], Cell[BoxData[ \("SymbolizedSubscriptQ[x] returns True if x is a symbolized subscript, \ and False in all other cases."\)], "Print", CellTags->"Info3227272384-3867811"] }, Open ]], Cell[TextData[{ "The next input ensures that only x with a non-negative integer subscript \ is symbolized. Here SymbolizedSubscriptQ tells us that ", Cell[BoxData[ \(x\_2, x\_6\)]], " are the only symbolized subscripts in list." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(SubscriptSymbols[Off]\), "\[IndentingNewLine]", \(\(\(SubscriptSymbols[x, On]\)\(\[IndentingNewLine]\) \)\), "\[IndentingNewLine]", \(\(list = {x\_2, x\_6, y\_10, y\_12, a, b, 4, \@3};\)\), "\[IndentingNewLine]", \(SymbolizedSubscriptQ /@ list\)}], "Input"], Cell[BoxData[ \({True, True, False, False, False, False, False, False}\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["10. NotationPalette", "Section"], Cell[TextData[{ "When the SubscriptSymbols package is loaded the Utilities`Notation` \ package is also loaded without the associated palette. If you need the \ Notation palette after loading SubscriptSymbols ", StyleBox["NotationPalette[]", "Input"], " should be evaluated. The NotationPalette usage message is displayed \ below." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\(?NotationPalette\)\)], "Input"], Cell[BoxData[ \("Evaluating NotationPalette[] opens the Notation palette which is not \ used by features in the SubscriptSymbols package."\)], "Print", CellTags->"Info3227944216-7062902"] }, Open ]], Cell["Evaluating the next input opens to Notation palette.", "Text"], Cell[BoxData[ \(NotationPalette[]\)], "Input"] }, Closed]] }, Open ]] }, FrontEndVersion->"4.1 for Microsoft Windows", ScreenRectangle->{{0, 1280}, {0, 906}}, WindowToolbars->"EditBar", WindowSize->{1174, 847}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, Visible->True, PrintingCopies->1, PrintingPageRange->{Automatic, Automatic}, ShowSelection->True, InputAliases->{"notation"->RowBox[ {"Notation", "[", RowBox[ { TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], " ", "\[DoubleLongLeftRightArrow]", " ", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "notation>"->RowBox[ {"Notation", "[", RowBox[ { TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], " ", "\[DoubleLongRightArrow]", " ", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "notation<"->RowBox[ {"Notation", "[", RowBox[ { TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], " ", "\[DoubleLongLeftArrow]", " ", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"]}], "]"}], "symb"->RowBox[ {"Symbolize", "[", TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], "]"}], "infixnotation"->RowBox[ {"InfixNotation", "[", RowBox[ { TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], ",", "\[Placeholder]"}], "]"}], "addia"->RowBox[ {"AddInputAlias", "[", RowBox[ { TagBox[ "\[Placeholder]", NotationBoxTag, TagStyle -> "NotationTemplateStyle"], ",", "\[Placeholder]"}], "]"}], "pattwraper"->TagBox[ "\[Placeholder]", NotationPatternTag, TagStyle -> "NotationPatternWrapperStyle"], "madeboxeswraper"->TagBox[ "\[Placeholder]", NotationMadeBoxesTag, TagStyle -> "NotationMadeBoxesWrapperStyle"]}, Magnification->1.25, StyleDefinitions -> Notebook[{ Cell[CellGroupData[{ Cell["Style Definitions", "Subtitle"], Cell["\<\ Modify the definitions below to change the default appearance of all cells in \ a given style. Make modifications to any definition using commands in the \ Format menu.\ \>", "Text"], Cell[CellGroupData[{ Cell["Style Environment Names", "Section"], Cell[StyleData[All, "Working"], PageWidth->WindowWidth, CellLabelMargins->{{12, Inherited}, {Inherited, Inherited}}, ScriptMinSize->9], Cell[StyleData[All, "Presentation"], PageWidth->WindowWidth, CellLabelMargins->{{24, Inherited}, {Inherited, Inherited}}, ScriptMinSize->12], Cell[StyleData[All, "Condensed"], PageWidth->WindowWidth, CellLabelMargins->{{8, Inherited}, {Inherited, Inherited}}, ScriptMinSize->8], Cell[StyleData[All, "Printout"], PageWidth->PaperWidth, CellLabelMargins->{{2, Inherited}, {Inherited, Inherited}}, ScriptMinSize->5, PrivateFontOptions->{"FontType"->"Outline"}] }, Closed]], Cell[CellGroupData[{ Cell["Notebook Options", "Section"], Cell["\<\ The options defined for the style below will be used at the Notebook level.\ \>", "Text"], Cell[StyleData["Notebook"], PageHeaders->{{Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"], None, Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"]}, {Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"], None, Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"]}}, CellFrameLabelMargins->6, StyleMenuListing->None] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headings", "Section"], Cell[CellGroupData[{ Cell[StyleData["Title"], ShowCellBracket->False, CellMargins->{{12, Inherited}, {20, 40}}, CellGroupingRules->{"TitleGrouping", 0}, PageBreakBelow->False, DefaultNewInlineCellStyle->"None", InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-.35999999999999999, \ -.10000000000000001}, {0, 0}}, BoxBaselineShift -> -.20000000000000001], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", Inherited}, LineSpacing->{1, 11}, LanguageCategory->"NaturalLanguage", CounterIncrements->"Title", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Subtitle", 0}, {"Subsubtitle", 0}}, FontFamily->"Helvetica", FontSize->36, FontWeight->"Bold"], Cell[StyleData["Title", "Presentation"], CellMargins->{{24, 10}, {20, 40}}, LineSpacing->{1, 0}, FontSize->44], Cell[StyleData["Title", "Condensed"], CellMargins->{{8, 10}, {4, 8}}, FontSize->20], Cell[StyleData["Title", "Printout"], CellMargins->{{2, 10}, {12, 30}}, FontSize->24] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subtitle"], CellMargins->{{12, Inherited}, {20, 15}}, CellGroupingRules->{"TitleGrouping", 10}, PageBreakBelow->False, DefaultNewInlineCellStyle->"None", InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-.35999999999999999, \ -.10000000000000001}, {0, 0}}, BoxBaselineShift -> -.20000000000000001], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", Inherited}, LanguageCategory->"NaturalLanguage", CounterIncrements->"Subtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Subsubtitle", 0}}, FontFamily->"Helvetica", FontSize->24], Cell[StyleData["Subtitle", "Presentation"], CellMargins->{{24, 10}, {20, 20}}, LineSpacing->{1, 0}, FontSize->36], Cell[StyleData["Subtitle", "Condensed"], CellMargins->{{8, 10}, {4, 4}}, FontSize->14], Cell[StyleData["Subtitle", "Printout"], CellMargins->{{2, 10}, {12, 8}}, FontSize->18] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsubtitle"], CellMargins->{{12, Inherited}, {20, 15}}, CellGroupingRules->{"TitleGrouping", 20}, PageBreakBelow->False, DefaultNewInlineCellStyle->"None", InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-.35999999999999999, \ -.10000000000000001}, {0, 0}}, BoxBaselineShift -> -.20000000000000001], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", Inherited}, LanguageCategory->"NaturalLanguage", CounterIncrements->"Subsubtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, FontFamily->"Helvetica", FontSize->14, FontSlant->"Italic"], Cell[StyleData["Subsubtitle", "Presentation"], CellMargins->{{24, 10}, {20, 20}}, LineSpacing->{1, 0}, FontSize->24], Cell[StyleData["Subsubtitle", "Condensed"], CellMargins->{{8, 10}, {8, 8}}, FontSize->12], Cell[StyleData["Subsubtitle", "Printout"], CellMargins->{{2, 10}, {12, 8}}, FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Section"], CellDingbat->None, ShowGroupOpenCloseIcon->True, CellMargins->{{25, Inherited}, {8, 24}}, CellGroupingRules->{"SectionGrouping", 30}, PageBreakBelow->False, DefaultNewInlineCellStyle->"None", InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-.35999999999999999, \ -.10000000000000001}, {0, 0}}, BoxBaselineShift -> -.20000000000000001], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", Inherited}, LineSpacing->{1, 7}, LanguageCategory->"NaturalLanguage", CounterIncrements->"Section", CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}}, FontFamily->"Helvetica", FontSize->16, FontWeight->"Bold"], Cell[StyleData["Section", "Presentation"], CellMargins->{{40, 10}, {11, 32}}, LineSpacing->{1, 0}, FontSize->24], Cell[StyleData["Section", "Condensed"], CellMargins->{{18, Inherited}, {6, 12}}, FontSize->12], Cell[StyleData["Section", "Printout"], CellMargins->{{13, 0}, {7, 22}}, FontSize->14] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Subsection"], CellDingbat->None, ShowGroupOpenCloseIcon->True, CellMargins->{{22, Inherited}, {8, 20}}, CellGroupingRules->{"SectionGrouping", 40}, PageBreakBelow->False, DefaultNewInlineCellStyle->"None", InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-.35999999999999999, \ -.10000000000000001}, {0, 0}}, BoxBaselineShift -> -.20000000000000001], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", Inherited}, LanguageCategory->"NaturalLanguage", CounterIncrements->"Subsection", CounterAssignments->{{"Subsubsection", 0}}, FontFamily->"Times", FontSize->14, FontWeight->"Bold"], Cell[StyleData["Subsection", "Presentation"], CellMargins->{{36, 10}, {11, 32}}, LineSpacing->{1, 0}, FontSize->22], Cell[StyleData["Subsection", "Condensed"], CellMargins->{{16, Inherited}, {6, 12}}, FontSize->12], Cell[StyleData["Subsection", "Printout"], CellMargins->{{9, 0}, {7, 22}}, FontSize->12] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Subsubsection"], CellDingbat->None, ShowCellBracket->False, ShowGroupOpenCloseIcon->True, CellMargins->{{22, Inherited}, {8, 18}}, CellGroupingRules->{"SectionGrouping", 50}, PageBreakBelow->False, DefaultNewInlineCellStyle->"None", InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-.35999999999999999, \ -.10000000000000001}, {0, 0}}, BoxBaselineShift -> -.20000000000000001], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", Inherited}, LanguageCategory->"NaturalLanguage", CounterIncrements->"Subsubsection", FontFamily->"Times", FontWeight->"Bold"], Cell[StyleData["Subsubsection", "Presentation"], CellMargins->{{34, 10}, {11, 26}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Subsubsection", "Condensed"], CellMargins->{{17, Inherited}, {6, 12}}, FontSize->10], Cell[StyleData["Subsubsection", "Printout"], CellMargins->{{9, 0}, {7, 14}}, FontSize->11] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[CellGroupData[{ Cell[StyleData["Text"], CellMargins->{{12, 10}, {7, 7}}, InputAutoReplacements->{"TeX"->StyleBox[ RowBox[ {"T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "LaTeX"->StyleBox[ RowBox[ {"L", StyleBox[ AdjustmentBox[ "A", BoxMargins -> {{-.35999999999999999, \ -.10000000000000001}, {0, 0}}, BoxBaselineShift -> -.20000000000000001], FontSize -> Smaller], "T", AdjustmentBox[ "E", BoxMargins -> {{-.074999999999999997, \ -.085000000000000006}, {0, 0}}, BoxBaselineShift -> .5], "X"}]], "mma"->"Mathematica", "Mma"->"Mathematica", "MMA"->"Mathematica", Inherited}, LineSpacing->{1, 3}, CounterIncrements->"Text"], Cell[StyleData["Text", "Presentation"], CellMargins->{{24, 10}, {10, 10}}, LineSpacing->{1, 5}, FontSize->16], Cell[StyleData["Text", "Condensed"], CellMargins->{{8, 10}, {6, 6}}, LineSpacing->{1, 1}, FontSize->11], Cell[StyleData["Text", "Printout"], CellMargins->{{2, 2}, {6, 6}}, TextJustification->0.5, FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SmallText"], CellMargins->{{12, 10}, {6, 6}}, DefaultNewInlineCellStyle->"None", Hyphenation->True, LineSpacing->{1, 3}, LanguageCategory->"NaturalLanguage", CounterIncrements->"SmallText", FontFamily->"Helvetica", FontSize->9], Cell[StyleData["SmallText", "Presentation"], CellMargins->{{24, 10}, {8, 8}}, LineSpacing->{1, 5}, FontSize->12], Cell[StyleData["SmallText", "Condensed"], CellMargins->{{8, 10}, {5, 5}}, LineSpacing->{1, 2}, FontSize->9], Cell[StyleData["SmallText", "Printout"], CellMargins->{{2, 2}, {5, 5}}, TextJustification->0.5, FontSize->7] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Styles for Input/Output", "Section"], Cell["\<\ The cells in this section define styles used for input and output to the \ kernel. Be careful when modifying, renaming, or removing these styles, \ because the front end associates special meanings with these style names. \ Some attributes for these styles are actually set in FormatType Styles (in \ the last section of this stylesheet). \ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Input"], CellMargins->{{45, 10}, {5, 7}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, DefaultFormatType->DefaultInputFormatType, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->"Mathematica", FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, LinebreakAdjustments->{0.85, 2, 10, 0, 1}, CounterIncrements->"Input", FontWeight->"Bold"], Cell[StyleData["Input", "Presentation"], CellMargins->{{72, Inherited}, {8, 10}}, LineSpacing->{1, 0}, FontSize->16], Cell[StyleData["Input", "Condensed"], CellMargins->{{40, 10}, {2, 3}}, FontSize->11], Cell[StyleData["Input", "Printout"], CellMargins->{{39, 0}, {4, 6}}, LinebreakAdjustments->{0.85, 2, 10, 1, 1}, FontSize->9] }, Closed]], Cell[StyleData["InputOnly"], Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, DefaultFormatType->DefaultInputFormatType, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->"Mathematica", FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, LinebreakAdjustments->{0.85, 2, 10, 0, 1}, CounterIncrements->"Input", StyleMenuListing->None, FontWeight->"Bold"], Cell[CellGroupData[{ Cell[StyleData["Output"], CellMargins->{{47, 10}, {7, 5}}, CellEditDuplicate->True, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, DefaultFormatType->DefaultOutputFormatType, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->None, FormatType->InputForm, CounterIncrements->"Output"], Cell[StyleData["Output", "Presentation"], CellMargins->{{72, Inherited}, {10, 8}}, LineSpacing->{1, 0}, FontSize->16], Cell[StyleData["Output", "Condensed"], CellMargins->{{41, Inherited}, {3, 2}}, FontSize->11], Cell[StyleData["Output", "Printout"], CellMargins->{{39, 0}, {6, 4}}, FontSize->9] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Message"], CellMargins->{{45, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"OutputGrouping", PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->None, FormatType->InputForm, CounterIncrements->"Message", StyleMenuListing->None, FontSize->11, FontColor->RGBColor[0, 0, 1]], Cell[StyleData["Message", "Presentation"], CellMargins->{{72, Inherited}, {Inherited, Inherited}}, LineSpacing->{1, 0}, FontSize->16], Cell[StyleData["Message", "Condensed"], CellMargins->{{41, Inherited}, {Inherited, Inherited}}, FontSize->11], Cell[StyleData["Message", "Printout"], CellMargins->{{39, Inherited}, {Inherited, Inherited}}, FontSize->7, FontColor->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Print"], CellMargins->{{45, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, AutoItalicWords->{}, LanguageCategory->None, FormatType->InputForm, CounterIncrements->"Print", StyleMenuListing->None], Cell[StyleData["Print", "Presentation"], CellMargins->{{72, Inherited}, {Inherited, Inherited}}, LineSpacing->{1, 0}, FontSize->16], Cell[StyleData["Print", "Condensed"], CellMargins->{{41, Inherited}, {Inherited, Inherited}}, FontSize->11], Cell[StyleData["Print", "Printout"], CellMargins->{{39, Inherited}, {Inherited, Inherited}}, FontSize->8] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Graphics"], CellMargins->{{4, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"GraphicsGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, LanguageCategory->None, FormatType->InputForm, CounterIncrements->"Graphics", ImageMargins->{{43, Inherited}, {Inherited, 0}}, StyleMenuListing->None, FontFamily->"Courier", FontSize->10], Cell[StyleData["Graphics", "Presentation"], ImageMargins->{{62, Inherited}, {Inherited, 0}}], Cell[StyleData["Graphics", "Condensed"], ImageMargins->{{38, Inherited}, {Inherited, 0}}, Magnification->0.6], Cell[StyleData["Graphics", "Printout"], ImageMargins->{{30, Inherited}, {Inherited, 0}}, Magnification->0.8] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["CellLabel"], LanguageCategory->None, StyleMenuListing->None, FontFamily->"Helvetica", FontSize->9, FontColor->RGBColor[0, 0, 1]], Cell[StyleData["CellLabel", "Presentation"], FontSize->12], Cell[StyleData["CellLabel", "Condensed"], FontSize->9], Cell[StyleData["CellLabel", "Printout"], FontFamily->"Courier", FontSize->8, FontSlant->"Italic", FontColor->GrayLevel[0]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Inline Formatting", "Section"], Cell["\<\ These styles are for modifying individual words or letters in a cell \ exclusive of the cell tag.\ \>", "Text"], Cell[StyleData["RM"], StyleMenuListing->None, FontWeight->"Plain", FontSlant->"Plain"], Cell[StyleData["BF"], StyleMenuListing->None, FontWeight->"Bold"], Cell[StyleData["IT"], StyleMenuListing->None, FontSlant->"Italic"], Cell[StyleData["TR"], StyleMenuListing->None, FontFamily->"Times", FontWeight->"Plain", FontSlant->"Plain"], Cell[StyleData["TI"], StyleMenuListing->None, FontFamily->"Times", FontWeight->"Plain", FontSlant->"Italic"], Cell[StyleData["TB"], StyleMenuListing->None, FontFamily->"Times", FontWeight->"Bold", FontSlant->"Plain"], Cell[StyleData["TBI"], StyleMenuListing->None, FontFamily->"Times", FontWeight->"Bold", FontSlant->"Italic"], Cell[StyleData["MR"], HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, StyleMenuListing->None, FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Plain"], Cell[StyleData["MO"], HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, StyleMenuListing->None, FontFamily->"Courier", FontWeight->"Plain", FontSlant->"Italic"], Cell[StyleData["MB"], HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, StyleMenuListing->None, FontFamily->"Courier", FontWeight->"Bold", FontSlant->"Plain"], Cell[StyleData["MBO"], HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, StyleMenuListing->None, FontFamily->"Courier", FontWeight->"Bold", FontSlant->"Italic"], Cell[StyleData["SR"], StyleMenuListing->None, FontFamily->"Helvetica", FontWeight->"Plain", FontSlant->"Plain"], Cell[StyleData["SO"], StyleMenuListing->None, FontFamily->"Helvetica", FontWeight->"Plain", FontSlant->"Italic"], Cell[StyleData["SB"], StyleMenuListing->None, FontFamily->"Helvetica", FontWeight->"Bold", FontSlant->"Plain"], Cell[StyleData["SBO"], StyleMenuListing->None, FontFamily->"Helvetica", FontWeight->"Bold", FontSlant->"Italic"], Cell[CellGroupData[{ Cell[StyleData["SO10"], StyleMenuListing->None, FontFamily->"Helvetica", FontSize->10, FontWeight->"Plain", FontSlant->"Italic"], Cell[StyleData["SO10", "Printout"], StyleMenuListing->None, FontFamily->"Helvetica", FontSize->7, FontWeight->"Plain", FontSlant->"Italic"], Cell[StyleData["SO10", "EnhancedPrintout"], StyleMenuListing->None, FontFamily->"Futura", FontSize->7, FontWeight->"Plain", FontSlant->"Italic"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Formulas and Programming", "Section"], Cell[CellGroupData[{ Cell[StyleData["InlineFormula"], CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, LanguageCategory->"Formula", ScriptLevel->1, SingleLetterItalics->True], Cell[StyleData["InlineFormula", "Presentation"], CellMargins->{{24, 10}, {10, 10}}, LineSpacing->{1, 5}, FontSize->16], Cell[StyleData["InlineFormula", "Condensed"], CellMargins->{{8, 10}, {6, 6}}, LineSpacing->{1, 1}, FontSize->11], Cell[StyleData["InlineFormula", "Printout"], CellMargins->{{2, 0}, {6, 6}}, FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["DisplayFormula"], CellMargins->{{42, Inherited}, {Inherited, Inherited}}, CellHorizontalScrolling->True, DefaultFormatType->DefaultInputFormatType, HyphenationOptions->{"HyphenationCharacter"->"\[Continuation]"}, LanguageCategory->"Formula", ScriptLevel->0, SingleLetterItalics->True, UnderoverscriptBoxOptions->{LimitsPositioning->True}], Cell[StyleData["DisplayFormula", "Presentation"], LineSpacing->{1, 5}, FontSize->16], Cell[StyleData["DisplayFormula", "Condensed"], LineSpacing->{1, 1}, FontSize->11], Cell[StyleData["DisplayFormula", "Printout"], FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Program"], CellFrame->{{0, 0}, {0.5, 0.5}}, CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, Hyphenation->False, LanguageCategory->"Formula", ScriptLevel->1, FontFamily->"Courier"], Cell[StyleData["Program", "Presentation"], CellMargins->{{24, 10}, {10, 10}}, LineSpacing->{1, 5}, FontSize->16], Cell[StyleData["Program", "Condensed"], CellMargins->{{8, 10}, {6, 6}}, LineSpacing->{1, 1}, FontSize->11], Cell[StyleData["Program", "Printout"], CellMargins->{{2, 0}, {6, 6}}, FontSize->9] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Outline Styles", "Section"], Cell[CellGroupData[{ Cell[StyleData["Outline1"], CellMargins->{{12, 10}, {7, 7}}, CellGroupingRules->{"SectionGrouping", 50}, ParagraphIndent->-38, CounterIncrements->"Outline1", FontSize->18, FontWeight->"Bold", CounterBoxOptions->{CounterFunction:>CapitalRomanNumeral}], Cell[StyleData["Outline1", "Printout"], CounterBoxOptions->{CounterFunction:>CapitalRomanNumeral}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Outline2"], CellMargins->{{59, 10}, {7, 7}}, CellGroupingRules->{"SectionGrouping", 60}, ParagraphIndent->-27, CounterIncrements->"Outline2", FontSize->15, FontWeight->"Bold", CounterBoxOptions->{CounterFunction:>(Part[ CharacterRange[ "A", "Z"], #]&)}], Cell[StyleData["Outline2", "Printout"], CounterBoxOptions->{CounterFunction:>(Part[ CharacterRange[ "A", "Z"], #]&)}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Outline3"], CellMargins->{{108, 10}, {7, 7}}, CellGroupingRules->{"SectionGrouping", 70}, ParagraphIndent->-21, CounterIncrements->"Outline3", FontSize->12, CounterBoxOptions->{CounterFunction:>Identity}], Cell[StyleData["Outline3", "Printout"], CounterBoxOptions->{CounterFunction:>Identity}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Outline4"], CellMargins->{{158, 10}, {7, 7}}, CellGroupingRules->{"SectionGrouping", 80}, ParagraphIndent->-18, CounterIncrements->"Outline4", FontSize->10, CounterBoxOptions->{CounterFunction:>(Part[ CharacterRange[ "a", "z"], #]&)}], Cell[StyleData["Outline4", "Printout"]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Hyperlink Styles", "Section"], Cell["\<\ The cells below define styles useful for making hypertext ButtonBoxes. The \ \"Hyperlink\" style is for links within the same Notebook, or between \ Notebooks.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Hyperlink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), Active->True, ButtonNote->ButtonData}], Cell[StyleData["Hyperlink", "Presentation"], FontSize->16], Cell[StyleData["Hyperlink", "Condensed"], FontSize->11], Cell[StyleData["Hyperlink", "Printout"], FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell["\<\ The following styles are for linking automatically to the on-line help \ system.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["MainBookLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "MainBook", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["MainBookLink", "Presentation"], FontSize->16], Cell[StyleData["MainBookLink", "Condensed"], FontSize->11], Cell[StyleData["MainBookLink", "Printout"], FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["AddOnsLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Courier", FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "AddOns", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["AddOnsLink", "Presentation"], FontSize->16], Cell[StyleData["AddOnsLink", "Condensed"], FontSize->11], Cell[StyleData["AddOnsLink", "Printout"], FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["RefGuideLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Courier", FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "RefGuide", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["RefGuideLink", "Presentation"], FontSize->16], Cell[StyleData["RefGuideLink", "Condensed"], FontSize->11], Cell[StyleData["RefGuideLink", "Printout"], FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["GettingStartedLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "GettingStarted", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["GettingStartedLink", "Presentation"], FontSize->16], Cell[StyleData["GettingStartedLink", "Condensed"], FontSize->11], Cell[StyleData["GettingStartedLink", "Printout"], FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["OtherInformationLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "OtherInformation", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["OtherInformationLink", "Presentation"], FontSize->16], Cell[StyleData["OtherInformationLink", "Condensed"], FontSize->11], Cell[StyleData["OtherInformationLink", "Printout"], FontSize->10, FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headers and Footers", "Section"], Cell[StyleData["Header"], CellMargins->{{0, 0}, {4, 1}}, DefaultNewInlineCellStyle->"None", LanguageCategory->"NaturalLanguage", StyleMenuListing->None, FontSize->10, FontSlant->"Italic"], Cell[StyleData["Footer"], CellMargins->{{0, 0}, {0, 4}}, DefaultNewInlineCellStyle->"None", LanguageCategory->"NaturalLanguage", StyleMenuListing->None, FontSize->9, FontSlant->"Italic"], Cell[StyleData["PageNumber"], CellMargins->{{0, 0}, {4, 1}}, StyleMenuListing->None, FontFamily->"Times", FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell["Palette Styles", "Section"], Cell["\<\ The cells below define styles that define standard ButtonFunctions, for use \ in palette buttons.\ \>", "Text"], Cell[StyleData["Paste"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, After]}]&)}], Cell[StyleData["Evaluate"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["EvaluateCell"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionMove[ FrontEnd`InputNotebook[ ], All, Cell, 1], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluate"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluateCell"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}] }, Closed]], Cell[CellGroupData[{ Cell["Placeholder Styles", "Section"], Cell["\<\ The cells below define styles useful for making placeholder objects in \ palette templates.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Placeholder"], Placeholder->True, StyleMenuListing->None, FontSlant->"Italic", FontColor->RGBColor[0.890623, 0.864698, 0.384756], TagBoxOptions->{Editable->False, Selectable->False, StripWrapperBoxes->False}], Cell[StyleData["Placeholder", "Presentation"]], Cell[StyleData["Placeholder", "Condensed"]], Cell[StyleData["Placeholder", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["PrimaryPlaceholder"], StyleMenuListing->None, DrawHighlighted->True, FontSlant->"Italic", Background->RGBColor[0.912505, 0.891798, 0.507774], TagBoxOptions->{Editable->False, Selectable->False, StripWrapperBoxes->False}], Cell[StyleData["PrimaryPlaceholder", "Presentation"]], Cell[StyleData["PrimaryPlaceholder", "Condensed"]], Cell[StyleData["PrimaryPlaceholder", "Printout"]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["FormatType Styles", "Section"], Cell["\<\ The cells below define styles that are mixed in with the styles of most \ cells. If a cell's FormatType matches the name of one of the styles defined \ below, then that style is applied between the cell's style and its own \ options. This is particularly true of Input and Output.\ \>", "Text"], Cell[StyleData["CellExpression"], PageWidth->Infinity, CellMargins->{{6, Inherited}, {Inherited, Inherited}}, ShowCellLabel->False, ShowSpecialCharacters->False, AllowInlineCells->False, Hyphenation->False, AutoItalicWords->{}, StyleMenuListing->None, FontFamily->"Courier", FontSize->12, Background->GrayLevel[1]], Cell[StyleData["InputForm"], InputAutoReplacements->{}, AllowInlineCells->False, Hyphenation->False, StyleMenuListing->None, FontFamily->"Courier"], Cell[StyleData["OutputForm"], PageWidth->Infinity, TextAlignment->Left, LineSpacing->{0.6, 1}, StyleMenuListing->None, FontFamily->"Courier"], Cell[StyleData["StandardForm"], InputAutoReplacements->{ "->"->"\[Rule]", ":>"->"\[RuleDelayed]", "<="->"\[LessEqual]", ">="->"\[GreaterEqual]", "!="->"\[NotEqual]", "=="->"\[Equal]", Inherited}, LineSpacing->{1.25, 0}, StyleMenuListing->None, FontFamily->"Courier"], Cell[StyleData["TraditionalForm"], InputAutoReplacements->{ "->"->"\[Rule]", ":>"->"\[RuleDelayed]", "<="->"\[LessEqual]", ">="->"\[GreaterEqual]", "!="->"\[NotEqual]", "=="->"\[Equal]", Inherited}, LineSpacing->{1.25, 0}, SingleLetterItalics->False, TraditionalFunctionNotation->True, DelimiterMatching->None, StyleMenuListing->None], Cell["\<\ The style defined below is mixed in to any cell that is in an inline cell \ within another.\ \>", "Text"], Cell[StyleData["InlineCell"], LanguageCategory->"Formula", ScriptLevel->1, StyleMenuListing->None], Cell[StyleData["InlineCellEditing"], StyleMenuListing->None, Background->RGBColor[1, 0.749996, 0.8]] }, Closed]], Cell[CellGroupData[{ Cell["Automatic Styles", "Section"], Cell["\<\ The cells below define styles that are used to affect the display of certain \ types of objects in typeset expressions. For example, \"UnmatchedBracket\" \ style defines how unmatched bracket, curly bracket, and parenthesis \ characters are displayed (typically by coloring them to make them stand out).\ \ \>", "Text"], Cell[StyleData["UnmatchedBracket"], StyleMenuListing->None, FontColor->RGBColor[0.760006, 0.330007, 0.8]] }, Closed]], Cell[CellGroupData[{ Cell["Notation Package Styles", "Section", GeneratedCell->True, CellTags->"NotationPackage"], Cell["\<\ The cells below define certain styles needed by the Notation package. These \ styles serve to make visible otherwise invisible tagboxes.\ \>", "Text", GeneratedCell->True, CellTags->"NotationPackage"], Cell[StyleData["NotationTemplateStyle"], GeneratedCell->True, StyleMenuListing->None, Background->RGBColor[1, 1, 0.850004], TagBoxOptions->{SyntaxForm->"symbol"}, CellTags->"NotationPackage"], Cell[StyleData["NotationPatternWrapperStyle"], GeneratedCell->True, StyleMenuListing->None, Background->RGBColor[1, 0.900008, 0.979995], TagBoxOptions->{SyntaxForm->"symbol"}, CellTags->"NotationPackage"], Cell[StyleData["NotationMadeBoxesWrapperStyle"], GeneratedCell->True, StyleMenuListing->None, Background->RGBColor[0.900008, 0.889998, 1], TagBoxOptions->{SyntaxForm->"symbol"}, CellTags->"NotationPackage"] }, Closed]] }, Open ]] }] ] (******************************************************************* 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->{ "Instalation"->{ Cell[5320, 172, 1151, 25, 124, "Text", CellTags->"Instalation"]}, "Info3225624427-5091317"->{ Cell[15811, 512, 71, 1, 29, "Print", CellTags->"Info3225624427-5091317"], Cell[15885, 515, 472, 13, 30, "Print", CellTags->"Info3225624427-5091317"]}, "Info3225624534-8436604"->{ Cell[19591, 661, 71, 1, 29, "Print", CellTags->"Info3225624534-8436604"], Cell[19665, 664, 555, 15, 67, "Print", CellTags->"Info3225624534-8436604"]}, "Info3225624544-3731660"->{ Cell[20463, 695, 71, 1, 29, "Print", CellTags->"Info3225624544-3731660"], Cell[20537, 698, 304, 8, 30, "Print", CellTags->"Info3225624544-3731660"]}, "Info3246593702-6271124"->{ Cell[23423, 807, 807, 12, 198, "Print", CellTags->"Info3246593702-6271124"]}, "ParsingPatterns"->{ Cell[40661, 1395, 637, 15, 80, "Text", CellTags->"ParsingPatterns"]}, "Info3225625470-1747485"->{ Cell[42216, 1448, 72, 1, 29, "Print", CellTags->"Info3225625470-1747485"], Cell[42291, 1451, 617, 16, 77, "Print", CellTags->"Info3225625470-1747485"]}, "Info3225625497-2255899"->{ Cell[43669, 1497, 72, 1, 29, "Print", CellTags->"Info3225625497-2255899"], Cell[43744, 1500, 913, 21, 75, "Print", CellTags->"Info3225625497-2255899"]}, "Info3227272334-8383947"->{ Cell[62798, 2154, 183, 3, 30, "Print", CellTags->"Info3227272334-8383947"]}, "Info3227272340-8244083"->{ Cell[64053, 2203, 315, 5, 72, "Print", CellTags->"Info3227272340-8244083"]}, "Info3227272358-1317385"->{ Cell[65867, 2266, 244, 4, 51, "Print", CellTags->"Info3227272358-1317385"]}, "Info3227272384-3867811"->{ Cell[67766, 2338, 173, 3, 30, "Print", CellTags->"Info3227272384-3867811"]}, "Info3227944216-7062902"->{ Cell[69156, 2385, 193, 3, 51, "Print", CellTags->"Info3227944216-7062902"]} } *) (*CellTagsIndex CellTagsIndex->{ {"Instalation", 110747, 3785}, {"Info3225624427-5091317", 110853, 3788}, {"Info3225624534-8436604", 111054, 3793}, {"Info3225624544-3731660", 111255, 3798}, {"Info3246593702-6271124", 111455, 3803}, {"ParsingPatterns", 111566, 3806}, {"Info3225625470-1747485", 111676, 3809}, {"Info3225625497-2255899", 111879, 3814}, {"Info3227272334-8383947", 112082, 3819}, {"Info3227272340-8244083", 112199, 3822}, {"Info3227272358-1317385", 112316, 3825}, {"Info3227272384-3867811", 112433, 3828}, {"Info3227944216-7062902", 112550, 3831} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1727, 52, 341, 10, 261, "Title"], Cell[CellGroupData[{ Cell[2093, 66, 62, 1, 66, "Section"], Cell[2158, 69, 542, 15, 59, "Text"], Cell[CellGroupData[{ Cell[2725, 88, 36, 0, 51, "Subsubsection"], Cell[2764, 90, 173, 6, 38, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[2974, 101, 36, 0, 33, "Subsubsection"], Cell[3013, 103, 901, 20, 335, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[3951, 128, 36, 0, 33, "Subsubsection"], Cell[3990, 130, 617, 15, 143, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[4656, 151, 53, 0, 48, "Section"], Cell[4712, 153, 152, 3, 38, "Text"], Cell[4867, 158, 74, 1, 35, "Input"], Cell[4944, 161, 256, 5, 59, "Text"], Cell[5203, 168, 114, 2, 35, "Input"], Cell[5320, 172, 1151, 25, 124, "Text", CellTags->"Instalation"], Cell[6474, 199, 78, 1, 35, "Input"], Cell[6555, 202, 319, 5, 59, "Text"], Cell[6877, 209, 239, 3, 53, "Output"], Cell[7119, 214, 1060, 20, 144, "Text"], Cell[8182, 236, 66, 1, 35, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[8285, 242, 34, 0, 48, "Section"], Cell[8322, 244, 972, 20, 122, "Text"], Cell[9297, 266, 348, 6, 59, "Text"], Cell[9648, 274, 797, 15, 101, "Text"], Cell[10448, 291, 261, 8, 116, "Text"], Cell[10712, 301, 291, 7, 59, "Text"], Cell[11006, 310, 44, 1, 35, "Input"], Cell[11053, 313, 74, 1, 35, "Input"], Cell[CellGroupData[{ Cell[11152, 318, 91, 2, 57, "Subsection"], Cell[11246, 322, 288, 9, 59, "Text"], Cell[CellGroupData[{ Cell[11559, 335, 133, 2, 75, "Input"], Cell[11695, 339, 176, 3, 49, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[11908, 347, 85, 1, 52, "Input"], Cell[11996, 350, 78, 1, 49, "Output"] }, Open ]], Cell[12089, 354, 84, 1, 46, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[12210, 360, 98, 2, 36, "Subsection"], Cell[12311, 364, 250, 4, 59, "Text"], Cell[CellGroupData[{ Cell[12586, 372, 68, 2, 56, "Input"], Cell[12657, 376, 41, 1, 35, "Output"] }, Open ]], Cell[12713, 380, 92, 2, 38, "Text"], Cell[CellGroupData[{ Cell[12830, 386, 84, 1, 52, "Input"], Cell[12917, 389, 182, 3, 49, "Output"] }, Open ]], Cell[13114, 395, 113, 3, 38, "Text"], Cell[CellGroupData[{ Cell[13252, 402, 55, 1, 35, "Input"], Cell[13310, 405, 70, 1, 35, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[13417, 411, 70, 1, 52, "Input"], Cell[13490, 414, 46, 1, 35, "Output"] }, Open ]], Cell[13551, 418, 151, 3, 38, "Text"], Cell[CellGroupData[{ Cell[13727, 425, 176, 4, 99, "Input"], Cell[13906, 431, 1516, 54, 211, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[15459, 490, 45, 1, 35, "Input"], Cell[15507, 493, 47, 1, 35, "Output"] }, Open ]], Cell[15569, 497, 169, 8, 38, "Text"], Cell[CellGroupData[{ Cell[15763, 509, 45, 1, 35, "Input"], Cell[15811, 512, 71, 1, 29, "Print", CellTags->"Info3225624427-5091317"], Cell[15885, 515, 472, 13, 30, "Print", CellTags->"Info3225624427-5091317"] }, Open ]], Cell[16372, 531, 197, 5, 38, "Text"], Cell[CellGroupData[{ Cell[16594, 540, 94, 2, 56, "Input"], Cell[16691, 544, 134, 3, 35, "Output"] }, Open ]], Cell[16840, 550, 203, 4, 59, "Text"], Cell[17046, 556, 46, 1, 36, "Input"], Cell[17095, 559, 301, 9, 59, "Text"], Cell[CellGroupData[{ Cell[17421, 572, 156, 3, 77, "Input"], Cell[17580, 577, 105, 2, 35, "Output"] }, Open ]], Cell[17700, 582, 130, 3, 38, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[17867, 590, 95, 2, 36, "Subsection"], Cell[17965, 594, 387, 6, 80, "Text"], Cell[18355, 602, 86, 1, 35, "Input"], Cell[18444, 605, 59, 0, 38, "Text"], Cell[CellGroupData[{ Cell[18528, 609, 68, 2, 56, "Input"], Cell[18599, 613, 38, 1, 35, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[18674, 619, 84, 1, 52, "Input"], Cell[18761, 622, 176, 3, 49, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[18974, 630, 55, 1, 35, "Input"], Cell[19032, 633, 58, 1, 35, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[19127, 639, 70, 1, 52, "Input"], Cell[19200, 642, 43, 1, 35, "Output"] }, Open ]], Cell[19258, 646, 136, 3, 38, "Text"], Cell[19397, 651, 121, 3, 78, "Input"], Cell[CellGroupData[{ Cell[19543, 658, 45, 1, 35, "Input"], Cell[19591, 661, 71, 1, 29, "Print", CellTags->"Info3225624534-8436604"], Cell[19665, 664, 555, 15, 67, "Print", CellTags->"Info3225624534-8436604"] }, Open ]], Cell[20235, 682, 106, 3, 38, "Text"], Cell[20344, 687, 46, 1, 36, "Input"], Cell[CellGroupData[{ Cell[20415, 692, 45, 1, 35, "Input"], Cell[20463, 695, 71, 1, 29, "Print", CellTags->"Info3225624544-3731660"], Cell[20537, 698, 304, 8, 30, "Print", CellTags->"Info3225624544-3731660"] }, Open ]], Cell[20856, 709, 56, 0, 38, "Text"], Cell[CellGroupData[{ Cell[20937, 713, 156, 3, 77, "Input"], Cell[21096, 718, 92, 1, 35, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[21237, 725, 110, 4, 36, "Subsection"], Cell[21350, 731, 209, 8, 38, "Text"], Cell[CellGroupData[{ Cell[21584, 743, 47, 1, 35, "Input"], Cell[21634, 746, 41, 1, 35, "Output"] }, Open ]], Cell[21690, 750, 112, 3, 38, "Text"], Cell[21805, 755, 181, 3, 56, "Input"], Cell[21989, 760, 351, 7, 59, "Text"], Cell[CellGroupData[{ Cell[22365, 771, 47, 1, 35, "Input"], Cell[22415, 774, 41, 1, 35, "Output"] }, Open ]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[22517, 782, 55, 0, 48, "Section"], Cell[22575, 784, 627, 14, 80, "Text"], Cell[CellGroupData[{ Cell[23227, 802, 193, 3, 77, "Input"], Cell[23423, 807, 807, 12, 198, "Print", CellTags->"Info3246593702-6271124"] }, Open ]], Cell[24245, 822, 364, 8, 59, "Text"], Cell[CellGroupData[{ Cell[24634, 834, 90, 1, 35, "Input"], Cell[24727, 837, 118, 2, 35, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[24882, 844, 76, 0, 57, "Subsection"], Cell[24961, 846, 219, 6, 39, "Text"], Cell[CellGroupData[{ Cell[25205, 856, 129, 2, 56, "Input"], Cell[25337, 860, 106, 2, 35, "Output"] }, Open ]], Cell[25458, 865, 88, 2, 38, "Text"], Cell[CellGroupData[{ Cell[25571, 871, 147, 2, 56, "Input"], Cell[25721, 875, 118, 2, 35, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[25888, 883, 95, 2, 57, "Subsection"], Cell[25986, 887, 267, 7, 39, "Text"], Cell[26256, 896, 118, 2, 56, "Input"], Cell[26377, 900, 604, 16, 80, "Text"], Cell[CellGroupData[{ Cell[27006, 920, 112, 2, 56, "Input"], Cell[27121, 924, 86, 1, 35, "Output"], Cell[27210, 927, 66, 1, 35, "Output"] }, Open ]], Cell[27291, 931, 388, 6, 80, "Text"], Cell[CellGroupData[{ Cell[27704, 941, 156, 2, 56, "Input"], Cell[27863, 945, 109, 2, 35, "Output"] }, Open ]], Cell[27987, 950, 172, 4, 38, "Text"], Cell[CellGroupData[{ Cell[28184, 958, 162, 2, 56, "Input"], Cell[28349, 962, 115, 2, 35, "Output"] }, Open ]], Cell[28479, 967, 254, 5, 59, "Text"], Cell[CellGroupData[{ Cell[28758, 976, 152, 2, 56, "Input"], Cell[28913, 980, 118, 2, 35, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[29080, 988, 109, 3, 36, "Subsection"], Cell[29192, 993, 124, 5, 38, "Text"], Cell[CellGroupData[{ Cell[29341, 1002, 194, 3, 77, "Input"], Cell[29538, 1007, 104, 2, 35, "Output"] }, Open ]], Cell[29657, 1012, 308, 9, 59, "Text"], Cell[CellGroupData[{ Cell[29990, 1025, 147, 2, 56, "Input"], Cell[30140, 1029, 91, 1, 35, "Output"] }, Open ]], Cell[30246, 1033, 115, 5, 38, "Text"], Cell[CellGroupData[{ Cell[30386, 1042, 140, 2, 56, "Input"], Cell[30529, 1046, 101, 2, 35, "Output"] }, Open ]], Cell[30645, 1051, 127, 5, 38, "Text"], Cell[CellGroupData[{ Cell[30797, 1060, 148, 2, 56, "Input"], Cell[30948, 1064, 107, 2, 35, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[31104, 1072, 73, 0, 36, "Subsection"], Cell[31180, 1074, 241, 4, 59, "Text"], Cell[CellGroupData[{ Cell[31446, 1082, 169, 3, 77, "Input"], Cell[31618, 1087, 123, 2, 35, "Output"] }, Open ]], Cell[31756, 1092, 155, 5, 38, "Text"], Cell[CellGroupData[{ Cell[31936, 1101, 151, 2, 56, "Input"], Cell[32090, 1105, 120, 2, 35, "Output"] }, Open ]], Cell[32225, 1110, 471, 11, 80, "Text"], Cell[CellGroupData[{ Cell[32721, 1125, 149, 2, 56, "Input"], Cell[32873, 1129, 129, 2, 35, "Output"] }, Open ]], Cell[33017, 1134, 133, 3, 38, "Text"], Cell[CellGroupData[{ Cell[33175, 1141, 128, 2, 56, "Input"], Cell[33306, 1145, 117, 2, 35, "Output"] }, Open ]], Cell[33438, 1150, 231, 4, 59, "Text"], Cell[CellGroupData[{ Cell[33694, 1158, 57, 1, 35, "Input"], Cell[33754, 1161, 318, 5, 93, "Message"] }, Open ]], Cell[CellGroupData[{ Cell[34109, 1171, 60, 1, 35, "Input"], Cell[34172, 1174, 296, 4, 72, "Message"] }, Open ]], Cell[34483, 1181, 896, 32, 324, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[35416, 1218, 71, 0, 36, "Subsection"], Cell[35490, 1220, 263, 7, 59, "Text"], Cell[CellGroupData[{ Cell[35778, 1231, 241, 4, 98, "Input"], Cell[36022, 1237, 58, 1, 35, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[36117, 1243, 132, 2, 56, "Input"], Cell[36252, 1247, 67, 1, 35, "Output"] }, Open ]], Cell[36334, 1251, 258, 5, 59, "Text"], Cell[CellGroupData[{ Cell[36617, 1260, 73, 1, 35, "Input"], Cell[36693, 1263, 233, 4, 51, "Message"], Cell[36929, 1269, 74, 1, 35, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[37040, 1275, 74, 1, 35, "Input"], Cell[37117, 1278, 233, 4, 51, "Message"], Cell[37353, 1284, 75, 1, 35, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[37477, 1291, 73, 0, 36, "Subsection"], Cell[37553, 1293, 709, 12, 101, "Text"], Cell[CellGroupData[{ Cell[38287, 1309, 155, 3, 77, "Input"], Cell[38445, 1314, 52, 1, 52, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[38534, 1320, 53, 1, 35, "Input"], Cell[38590, 1323, 69, 1, 52, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[38696, 1329, 47, 1, 35, "Input"], Cell[38746, 1332, 157, 3, 51, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[38940, 1340, 46, 1, 35, "Input"], Cell[38989, 1343, 293, 7, 52, "Output"] }, Open ]], Cell[39297, 1353, 739, 14, 101, "Text"], Cell[CellGroupData[{ Cell[40061, 1371, 79, 1, 35, "Input"], Cell[40143, 1374, 43, 1, 35, "Output"] }, Open ]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[40247, 1382, 42, 0, 48, "Section"], Cell[CellGroupData[{ Cell[40314, 1386, 62, 0, 57, "Subsection"], Cell[40379, 1388, 279, 5, 59, "Text"], Cell[40661, 1395, 637, 15, 80, "Text", CellTags->"ParsingPatterns"], Cell[41301, 1412, 405, 7, 119, "Input"], Cell[41709, 1421, 68, 0, 38, "Text"], Cell[CellGroupData[{ Cell[41802, 1425, 52, 1, 35, "Input"], Cell[41857, 1428, 40, 1, 49, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[41934, 1434, 68, 1, 35, "Input"], Cell[42005, 1437, 53, 1, 35, "Output"] }, Open ]], Cell[42073, 1441, 69, 0, 38, "Text"], Cell[CellGroupData[{ Cell[42167, 1445, 46, 1, 35, "Input"], Cell[42216, 1448, 72, 1, 29, "Print", CellTags->"Info3225625470-1747485"], Cell[42291, 1451, 617, 16, 77, "Print", CellTags->"Info3225625470-1747485"] }, Open ]], Cell[42923, 1470, 71, 0, 38, "Text"], Cell[42997, 1472, 57, 1, 35, "Input"], Cell[CellGroupData[{ Cell[43079, 1477, 54, 1, 35, "Input"], Cell[43136, 1480, 53, 1, 35, "Output"] }, Open ]], Cell[43204, 1484, 391, 6, 59, "Text"], Cell[CellGroupData[{ Cell[43620, 1494, 46, 1, 35, "Input"], Cell[43669, 1497, 72, 1, 29, "Print", CellTags->"Info3225625497-2255899"], Cell[43744, 1500, 913, 21, 75, "Print", CellTags->"Info3225625497-2255899"] }, Open ]], Cell[44672, 1524, 110, 2, 56, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[44819, 1531, 44, 0, 36, "Subsection"], Cell[44866, 1533, 471, 7, 80, "Text"], Cell[45340, 1542, 64, 0, 38, "Text"], Cell[CellGroupData[{ Cell[45429, 1546, 60, 1, 35, "Input"], Cell[45492, 1549, 52, 1, 35, "Output"] }, Open ]], Cell[45559, 1553, 74, 0, 38, "Text"], Cell[45636, 1555, 70, 1, 35, "Input"], Cell[45709, 1558, 459, 11, 59, "Text"], Cell[46171, 1571, 173, 3, 74, "Input"], Cell[46347, 1576, 119, 3, 38, "Text"], Cell[46469, 1581, 352, 6, 161, "Input"], Cell[46824, 1589, 1651, 55, 144, "Text"], Cell[48478, 1646, 131, 3, 38, "Text"], Cell[CellGroupData[{ Cell[48634, 1653, 137, 2, 56, "Input"], Cell[48774, 1657, 835, 14, 125, "Output"], Cell[49612, 1673, 2341, 47, 481, "Output"] }, Open ]], Cell[51968, 1723, 71, 0, 38, "Text"], Cell[CellGroupData[{ Cell[52064, 1727, 64, 1, 35, "Input"], Cell[52131, 1730, 73, 1, 35, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[52253, 1737, 58, 0, 36, "Subsection"], Cell[52314, 1739, 109, 3, 38, "Text"], Cell[CellGroupData[{ Cell[52448, 1746, 179, 3, 77, "Input"], Cell[52630, 1751, 65, 1, 35, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[52732, 1757, 64, 1, 35, "Input"], Cell[52799, 1760, 201, 3, 49, "Output"] }, Open ]], Cell[53015, 1766, 249, 6, 59, "Text"], Cell[CellGroupData[{ Cell[53289, 1776, 84, 1, 35, "Input"], Cell[53376, 1779, 320, 5, 87, "Output"] }, Open ]], Cell[53711, 1787, 134, 3, 38, "Text"], Cell[CellGroupData[{ Cell[53870, 1794, 170, 4, 56, "Input"], Cell[54043, 1800, 260, 5, 87, "Output"] }, Open ]], Cell[54318, 1808, 364, 10, 60, "Text"], Cell[CellGroupData[{ Cell[54707, 1822, 148, 2, 56, "Input"], Cell[54858, 1826, 265, 5, 87, "Output"] }, Open ]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[55184, 1838, 52, 0, 48, "Section"], Cell[55239, 1840, 117, 3, 38, "Text"], Cell[55359, 1845, 143, 2, 56, "Input"], Cell[55505, 1849, 198, 5, 38, "Text"], Cell[CellGroupData[{ Cell[55728, 1858, 39, 1, 35, "Input"], Cell[55770, 1861, 36, 1, 35, "Output"] }, Open ]], Cell[55821, 1865, 349, 10, 59, "Text"], Cell[CellGroupData[{ Cell[56195, 1879, 152, 3, 77, "Input"], Cell[56350, 1884, 56, 1, 35, "Output"] }, Open ]], Cell[56421, 1888, 472, 10, 60, "Text"], Cell[CellGroupData[{ Cell[56918, 1902, 154, 3, 77, "Input"], Cell[57075, 1907, 56, 1, 35, "Output"] }, Open ]], Cell[57146, 1911, 111, 5, 38, "Text"], Cell[CellGroupData[{ Cell[57282, 1920, 135, 2, 56, "Input"], Cell[57420, 1924, 70, 1, 35, "Output"] }, Open ]], Cell[57505, 1928, 232, 8, 38, "Text"], Cell[CellGroupData[{ Cell[57762, 1940, 102, 2, 56, "Input"], Cell[57867, 1944, 36, 1, 35, "Output"] }, Open ]], Cell[57918, 1948, 145, 3, 38, "Text"], Cell[CellGroupData[{ Cell[58088, 1955, 117, 2, 56, "Input"], Cell[58208, 1959, 52, 1, 35, "Output"] }, Open ]], Cell[58275, 1963, 243, 8, 116, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[58555, 1976, 42, 0, 48, "Section"], Cell[58600, 1978, 384, 6, 59, "Text"], Cell[58987, 1986, 219, 8, 38, "Text"], Cell[59209, 1996, 201, 4, 98, "Input"], Cell[59413, 2002, 138, 3, 38, "Text"], Cell[CellGroupData[{ Cell[59576, 2009, 51, 1, 35, "Input"], Cell[59630, 2012, 48, 1, 35, "Output"] }, Open ]], Cell[59693, 2016, 329, 10, 59, "Text"], Cell[CellGroupData[{ Cell[60047, 2030, 107, 2, 56, "Input"], Cell[60157, 2034, 52, 1, 35, "Output"] }, Open ]], Cell[60224, 2038, 183, 8, 38, "Text"], Cell[CellGroupData[{ Cell[60432, 2050, 117, 2, 56, "Input"], Cell[60552, 2054, 50, 1, 35, "Output"] }, Open ]], Cell[60617, 2058, 182, 8, 38, "Text"], Cell[CellGroupData[{ Cell[60824, 2070, 152, 4, 98, "Input"], Cell[60979, 2076, 48, 1, 35, "Output"] }, Open ]], Cell[61042, 2080, 93, 2, 38, "Text"], Cell[CellGroupData[{ Cell[61160, 2086, 107, 2, 56, "Input"], Cell[61270, 2090, 52, 1, 35, "Output"] }, Open ]], Cell[61337, 2094, 165, 5, 38, "Text"], Cell[CellGroupData[{ Cell[61527, 2103, 112, 2, 56, "Input"], Cell[61642, 2107, 50, 1, 35, "Output"] }, Open ]], Cell[61707, 2111, 278, 7, 59, "Text"], Cell[CellGroupData[{ Cell[62010, 2122, 113, 2, 56, "Input"], Cell[62126, 2126, 116, 2, 30, "Message"], Cell[62245, 2130, 116, 2, 30, "Message"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[62410, 2138, 35, 0, 48, "Section"], Cell[62448, 2140, 272, 7, 59, "Text"], Cell[CellGroupData[{ Cell[62745, 2151, 50, 1, 35, "Input"], Cell[62798, 2154, 183, 3, 30, "Print", CellTags->"Info3227272334-8383947"] }, Open ]], Cell[62996, 2160, 264, 8, 38, "Text"], Cell[CellGroupData[{ Cell[63285, 2172, 294, 6, 119, "Input"], Cell[63582, 2180, 51, 1, 35, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[63682, 2187, 35, 0, 48, "Section"], Cell[63720, 2189, 255, 7, 59, "Text"], Cell[CellGroupData[{ Cell[64000, 2200, 50, 1, 35, "Input"], Cell[64053, 2203, 315, 5, 72, "Print", CellTags->"Info3227272340-8244083"] }, Open ]], Cell[64383, 2211, 164, 3, 38, "Text"], Cell[CellGroupData[{ Cell[64572, 2218, 267, 5, 119, "Input"], Cell[64842, 2225, 72, 1, 35, "Output"] }, Open ]], Cell[64929, 2229, 173, 3, 38, "Text"], Cell[CellGroupData[{ Cell[65127, 2236, 132, 2, 56, "Input"], Cell[65262, 2240, 62, 1, 35, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[65373, 2247, 37, 0, 48, "Section"], Cell[65413, 2249, 374, 10, 59, "Text"], Cell[CellGroupData[{ Cell[65812, 2263, 52, 1, 35, "Input"], Cell[65867, 2266, 244, 4, 51, "Print", CellTags->"Info3227272358-1317385"] }, Open ]], Cell[66126, 2273, 424, 11, 59, "Text"], Cell[CellGroupData[{ Cell[66575, 2288, 253, 6, 140, "Input"], Cell[66831, 2296, 41, 1, 35, "Output"], Cell[66875, 2299, 41, 1, 35, "Output"] }, Open ]], Cell[66931, 2303, 214, 6, 38, "Text"], Cell[CellGroupData[{ Cell[67170, 2313, 109, 2, 56, "Input"], Cell[67282, 2317, 45, 1, 35, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[67376, 2324, 43, 0, 48, "Section"], Cell[67422, 2326, 258, 5, 59, "Text"], Cell[CellGroupData[{ Cell[67705, 2335, 58, 1, 35, "Input"], Cell[67766, 2338, 173, 3, 30, "Print", CellTags->"Info3227272384-3867811"] }, Open ]], Cell[67954, 2344, 256, 6, 38, "Text"], Cell[CellGroupData[{ Cell[68235, 2354, 308, 6, 125, "Input"], Cell[68546, 2362, 88, 1, 35, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[68683, 2369, 39, 0, 48, "Section"], Cell[68725, 2371, 350, 7, 60, "Text"], Cell[CellGroupData[{ Cell[69100, 2382, 53, 1, 35, "Input"], Cell[69156, 2385, 193, 3, 51, "Print", CellTags->"Info3227944216-7062902"] }, Open ]], Cell[69364, 2391, 68, 0, 38, "Text"], Cell[69435, 2393, 50, 1, 35, "Input"] }, Closed]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)