(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 4.0, MathReader 4.0, or any compatible application. 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[ 51006, 1680]*) (*NotebookOutlinePosition[ 65655, 2218]*) (* CellTagsIndexPosition[ 65611, 2214]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData[{ StyleBox["5. peat\[UDoubleDot]kk.", FontFamily->"Times New Roman", FontSlant->"Italic"], StyleBox[" N\[CapitalADoubleDot]ITED", FontWeight->"Bold", FontSlant->"Italic"] }], "Title"], Cell["5.1 Kuidas alustada", "Subtitle"], Cell[TextData[{ "Programmipaketi ", StyleBox["\[Thorn]\[YDoubleDot]", FontFamily->"Math5"], " kohta on olemas palju kirjandust. K\[OTilde]ige k\[ADoubleDot]ttesaadavam \ on t\[OTilde]en\[ADoubleDot]oliselt programmi profesionaalse versiooniga \ kaasas olev inglisekeelne k\[ADoubleDot]siraamat [26]. \ K\[ADoubleDot]siraamatu sisu on elektroonilisel kujul dubleeritud ", StyleBox["\[Thorn]\[YDoubleDot]", FontFamily->"Math5"], " abiinfo failides. M\[OTilde]ningaid materjale on olemas ka eesti keeles \ [22, 25]. Viimane on k\[ADoubleDot]ttesaadav ka interneti aadressil\n ", StyleBox["http://www.tpu.ee/~maris/sisukord", FontFamily->"Courier New", FontSize->10], "." }], "Text"], Cell[TextData[{ "Neile, kes ei ole varem ", StyleBox["\[Thorn]\[YDoubleDot]", FontFamily->"Math5"], StyleBox["-", FontSlant->"Italic"], "ga tuttavad, anname siinkohal m\[OTilde]ned h\[ADoubleDot]davajalikud \ \[OTilde]petused." }], "Text", CellDingbat->None], Cell["\<\ Rea (avalidise) arvutamiseks tuleb vajutada klahvikombinatsiooni \ [shift]+[enter]. Lihtsalt [enter]-klahvi vajutus viib kursori \ j\[ADoubleDot]rgmisele reale, kuid ei arvuta midagi.\ \>", "Text", CellDingbat->"\[FilledSmallCircle]", CellMargins->{{30, 30}, {Inherited, 4}}], Cell["\<\ Suurtel ja v\[ADoubleDot]ikestel t\[ADoubleDot]htedel tehakse vahet: x ja X \ on erinevad s\[UDoubleDot]mbolid.\ \>", "Text", CellDingbat->"\[FilledSmallCircle]", CellMargins->{{30, 30}, {Inherited, 4}}], Cell["\<\ Erinevad avaldised eraldakse semikooloniga. Semikoolon avalise \ j\[ADoubleDot]rel t\[ADoubleDot]hendab ka seda, et tulemust ei kuvata \ ekraanile.\ \>", "Text", CellDingbat->"\[FilledSmallCircle]", CellMargins->{{30, 30}, {Inherited, 4}}], Cell[TextData[{ "Kui mingi arvutus kestab kahtlaselt pikka aega, siis \ klahvikombinatsiooniga [alt] + . (punkt) saab arvutuse katkestada. Kui see ei \ aita, tuleb valida men\[UDoubleDot]\[UDoubleDot]st ", StyleBox["Kernel->Quit Kernel->Local", FontFamily->"Courier New", FontSize->10], ". See l\[OTilde]petab Kerneli t\[ODoubleDot]\[ODoubleDot], mille \ tulemusena l\[ADoubleDot]hevad kaotsi k\[OTilde]ik defineeritud muutujad." }], "Text", CellDingbat->"\[FilledSmallCircle]", CellMargins->{{30, 30}, {Inherited, 4}}], Cell["\<\ M\[OTilde]ned kasulikud klahvikombinatsioonid: [ctrl]+ [shift] + 7 \[Dash] murrujoon, [ctrl] + 6\t \[Dash] astendaja, \[UDoubleDot]laindeks, [ctrl] + - \t \[Dash] alaindeks, [esc] a [esc]\t \[Dash] \[Alpha], [esc] D [esc]\t \[Dash] \[CapitalDelta].\ \>", "Text", CellDingbat->"\[FilledSmallCircle]", CellMargins->{{30, 30}, {Inherited, 4}}], Cell[TextData[{ "\[CapitalUDoubleDot]hekordne v\[OTilde]rdusm\[ADoubleDot]rk \ t\[ADoubleDot]hendab omistamist (n\[ADoubleDot]iteks ", StyleBox["a = 3", FontFamily->"Courier New", FontSize->10], "), kahekordne v\[OTilde]rdusm\[ADoubleDot]rk t\[ADoubleDot]hendab v\ \[OTilde]rrandit (n\[ADoubleDot]iteks ", StyleBox["3 x + 5 == 4", FontFamily->"Courier New", FontSize->10], ")." }], "Text", CellDingbat->"\[FilledSmallCircle]", CellMargins->{{30, 30}, {Inherited, 4}}], Cell[TextData[{ "T\[ODoubleDot]\[ODoubleDot] alustamiseks programmiga Realization tuleb \ fail ", StyleBox["Realization.m", FontFamily->"Courier New", FontSize->10], StyleBox[" kopeerida ", FontFamily->"Times New Roman"], StyleBox["\[Thorn]\[YDoubleDot]", FontFamily->"Math5"], " alamkataloogi ", StyleBox["...\\AddOns\\Applications", FontFamily->"Courier New", FontSize->10], " ja seej\[ADoubleDot]rel arvutada allj\[ADoubleDot]rgnev rida:" }], "Text"], Cell[BoxData[ \(Needs["\"]\)], "Input", CellLabel->"In[1]:="], Cell["\<\ Sellega on programm Realization m\[ADoubleDot]lusse loetud. Programmi k\ \[OTilde]igi funktsioonide nimekirja saab k\[UDoubleDot]sida nii:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\(?Realization`*\)\)], "Input", CellLabel->"In[2]:="], Cell["\<\ BackwardShift LoweringOrder BackwardShiftOperator NewVariables Basis Realizability ClassicTransform Realization ClassicTransformability ReducedDifferentialForm Coordinates Reduction De SequenceH DifferentialForm SequenceI Equivalence ShowInfo ForwardShift SimplifyBasis GeneralizedStateToExtendedState Span Integrability SubmersionQ IntegratePfaff SubSpaceH IntersectionSpace SubSpaceI IOToExtendedState ToDifferential IOToGeneralizedState VerifySpaces Irreducibility Wedge Lower \[EmptySet]\ \>", "Print", CellLabel->"From In[2]:="] }, Open ]], Cell["\<\ K\[UDoubleDot]sim\[ADoubleDot]rk koos funktsiooniga tr\[UDoubleDot]kib \ \[UDoubleDot]ksikasjalisema info. N\[ADoubleDot]iteks:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\(?ForwardShift\)\)], "Input", CellLabel->"In[2]:="], Cell[BoxData[ \("ForwardShift[ sp, extEq, {{x1, x2,...}, u}, t ] computes the \ forwardshifted set of one-forms from the input set of one-forms.\n sp - \ difference vector subspace which represents the input set of one- forms and \ must have the form Span[vecs, {x1, x2,..}].\n extEq - extended state-space \ system\n {x1, x2, .. } - state variables\n u - input variable\n t - time\n In \ case of multi-input system use list of input variables {u1, u2, ...} \n \ instead of a single variable u."\)], "Print", CellLabel->"From In[2]:="] }, Open ]], Cell["\<\ Allpool toodud n\[ADoubleDot]ited on tehtud arvutil protsessoriga AMD K6 II \ taktsagedusega 300 MHz. M\[ADoubleDot]lu oli 64 MB.\ \>", "Text"], Cell[CellGroupData[{ Cell["5.2 Taandamine ja ekvivalents", "Subtitle"], Cell["\<\ Vaatleme teist j\[ADoubleDot]rku sisend-v\[ADoubleDot]ljund \ v\[OTilde]rrandit, mis on v\[OTilde]etud artiklist [18].\ \>", "Text"], Cell[BoxData[ \(\(ioEq\ = \ y[t + 2] == y[t + 1] u[t + 1] - y[t + 1]\^2 + 2 y[t + 1] u[t] y[t] - \(y[t]\^2\) u[t]\^2;\)\)], "Input", CellLabel->"In[4]:="], Cell[CellGroupData[{ Cell["Arvutused", "Subsubsection"], Cell["Kontrollime, kas v\[OTilde]rrand on taandumatu:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Irreducibility[ioEq, {y, u}, t]\)], "Input", CellLabel->"In[5]:="], Cell[BoxData[ \(False\)], "Output", CellLabel->"Out[5]="] }, Open ]], Cell[TextData[{ "Kuna ", StyleBox["Irreducibility", FontFamily->"Courier New", FontSize->10], " annab v\[ADoubleDot]\[ADoubleDot]rtuseks ", StyleBox["False", FontFamily->"Courier New", FontSize->10], StyleBox[",", FontFamily->"Courier New"], " siis on v\[OTilde]rrand taanduv. Funktsiooniga ", StyleBox["Reduction", FontFamily->"Courier New", FontSize->10], " saame leida sisend-v\[ADoubleDot]ljund v\[OTilde]rrandi taandatud kuju:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(ioEqRed = Reduction[ioEq, {y, u}, t]\)], "Input", CellLabel->"In[6]:="], Cell[BoxData[ \(u[t]\ y[t] - y[1 + t] == 0\)], "Output", CellLabel->"Out[6]="] }, Open ]], Cell[TextData[{ "Funktsiooniga ", StyleBox["Equivalence", FontFamily->"Courier New", FontSize->10], " saab samuti kontrollida, kas kaks v\[OTilde]rrandit on ekvivalentsed:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Equivalence[ioEq, ioEqRed, {y, u}, t]\)], "Input", CellLabel->"In[7]:="], Cell[BoxData[ \(True\)], "Output", CellLabel->"Out[7]="] }, Open ]], Cell["\<\ Vastus on jaatav. Kontrollime, kas taandatud v\[OTilde]rrand on teisendatav \ klassikalsele olekukujule.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Realizability[ioEqRed, {y, u}, t]\)], "Input", CellLabel->"In[8]:="], Cell[BoxData[ \(True\)], "Output", CellLabel->"Out[8]="] }, Open ]], Cell["Osutub, et on k\[UDoubleDot]ll. Leiame klassikalised \ olekuv\[OTilde]rrandid.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Realization[ioEqRed, {y, u}, t]\)], "Input", CellLabel->"In[35]:="], Cell[BoxData[ \({x1[1 + t] == u[t]\ x1[t], x1[t] == y[t]}\)], "Output", CellLabel->"Out[35]="] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["5.3 Sisend-v\[ADoubleDot]ljund v\[OTilde]rrandi realiseerimine", \ "Subtitle"], Cell["\<\ Vaatleme sisend-v\[ADoubleDot]ljund v\[OTilde]rrandit, mis kirjleldab \ \[UDoubleDot]hendatud anumate s\[UDoubleDot]steemi. N\[ADoubleDot]ide on v\ \[OTilde]etud artiklist [7].\ \>", "Text"], Cell[BoxData[ \(\(ioEq = y[t + 3] == 0.43 y[t + 2] + 0.681 y[t + 1] - 0.149 y[t] + 0.396 u[t + 2] + 0.014 u[t + 1] - 0.071 u[t] - 0.351 y[t + 2] u[t + 2] - 0.03 y[t + 1]\^2 - 0.135 y[t + 1] u[t + 1] - 0.027 y[t + 1]\^3 - 0.108 \( y[t + 1]\^2\) u[t + 1] - 0.099 u[t + 1]\^3;\)\)], "Input", CellLabel->"In[10]:="], Cell[CellGroupData[{ Cell["Arvutused", "Subsubsection"], Cell["Kontrollime, kas v\[OTilde]rrand on taandumatu:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Irreducibility[ioEq, {y, u}, t]\)], "Input", CellLabel->"In[11]:="], Cell[BoxData[ \(True\)], "Output", CellLabel->"Out[11]="] }, Open ]], Cell["\<\ Kuna s\[UDoubleDot]steem on taandumatu, siis taandatud diferentsiaalvormi \ pole m\[OTilde]tet arvutama hakata. Kontrollime, kas s\[UDoubleDot]steem on \ esitatav klassikaliste olekuv\[OTilde]rranditega.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Realizability[ioEq, {y, u}, t]\)], "Input", CellLabel->"In[12]:="], Cell[BoxData[ \(True\)], "Output", CellLabel->"Out[12]="] }, Open ]], Cell[TextData[{ "Vastus on jaatav. Leiame s\[UDoubleDot]steemi esituse klassikalsel \ olekukujul. Parameeter ", StyleBox["ShowInfo->True", FontFamily->"Courier New", FontSize->10], StyleBox[" ", FontSize->10], "tr\[UDoubleDot]kib teate selle kohta, millist meetodit realiseerimisel \ kasutati. Parameetriga ", StyleBox["NewVariables", FontFamily->"Courier New", FontSize->10], StyleBox[" ", FontSize->10], "m\[ADoubleDot]\[ADoubleDot]rame olekuv\[OTilde]rrandi olekumuutujateks ", Cell[BoxData[ \(TraditionalForm\`x\_1\)]], ", ", Cell[BoxData[ \(TraditionalForm\`x\_2\)]], " ja ", Cell[BoxData[ \(TraditionalForm\`x\_3\)]], ", et saada tulemust v\[OTilde]imalikult harjumusp\[ADoubleDot]rasel kujul. \ Kui parameetrile ", StyleBox["NewVariables", FontFamily->"Courier New", FontSize->10], " ei ole v\[ADoubleDot]\[ADoubleDot]rtust omistatud, siis vaikimisi v\ \[OTilde]etakse olekmuutujateks x1, x2, ... . Sellistel muutujanimedel on \ kaks head omadust: nad vajavad k\[OTilde]ige v\[ADoubleDot]hem \ m\[ADoubleDot]lu ja tulemust on mugav lihttekstiks konvertida." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(X = {x\_1, x\_2, x\_3};\)\), "\n", \(Realization[ioEq, {y, u}, t, ShowInfo -> True, NewVariables -> {X}]\)}], "Input", CellLabel->"In[13]:="], Cell[BoxData[ \(Realization::"method" \(\(:\)\(\ \)\) "Realization uses \!\(\"simple models method\"\)."\)], "Message", CellLabel->"From In[13]:="], Cell[BoxData[ \({x\_1[1 + t] == 0.396`\ u[t] + 0.43`\ x\_1[t] - 0.351`\ u[t]\ x\_1[t] + x\_2[t], x\_2[1 + t] == 0.014`\ u[t] - 0.099`\ u[t]\^3 + 0.681`\ x\_1[t] - 0.135`\ u[t]\ x\_1[t] - 0.03`\ x\_1[t]\^2 - 0.108`\ u[t]\ x\_1[t]\^2 - 0.027`\ x\_1[t]\^3 + x\_3[t], x\_3[1 + t] == \(-0.071`\)\ u[t] - 0.14900000000000002`\ x\_1[t], x\_1[t] == y[t]}\)], "Output", CellLabel->"Out[14]="] }, Open ]], Cell[TextData[{ "Teade ", StyleBox["Realization uses simple model method", FontFamily->"Courier New", FontSize->10, FontSlant->"Italic"], StyleBox[" ", FontFamily->"Courier New", FontSlant->"Italic"], StyleBox["t\[ADoubleDot]hendab", FontFamily->"Times New Roman"], ", et antud mudel kuulub lihtsate mudelite klassi. Selle n\[ADoubleDot]ite \ korral saab olekuv\[OTilde]rrandid leida ka lineaaralgebralise meetodi abil, \ kuid siis on olekuv\[OTilde]rrandid keerukamad." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Realization[ioEq, {y, u}, t, ShowInfo -> True, Method -> LinearAlgebraic, NewVariables -> {X}]\)], "Input", CellLabel->"In[15]:="], Cell[BoxData[ \(Realization::"method" \(\(:\)\(\ \)\) "Realization uses \!\(\"sequence of subspaces Hk\"\)."\)], "Message", CellLabel->"From In[15]:="], Cell[BoxData[ \({x\_1[1 + t] == u[t]\ \((\(\(0.396`\)\(\[InvisibleSpace]\)\) - 0.35100000000000003`\ x\_1[t])\) + x\_2[t], x\_2[1 + t] == \(-0.099`\)\ u[t]\^3 - 0.108`\ u[ t]\ \((\(-0.5359839483905477`\) + x\_1[t])\)\ \ \((\(\(3.183483948390548`\)\(\[InvisibleSpace]\)\) + x\_1[t])\) + x\_3[t], x\_3[1 + t] == \(-0.149`\)\ x\_1[t] + 0.001167575877`\ u[t]\^3\ \((\(-4.444141426871285`\) + x\_1[t])\)\ \ \((\(\(8.527224011163474`\)\(\[InvisibleSpace]\)\) + 1.0595260422559007`\ x\_1[t] + x\_1[t]\^2)\) + u[t]\^2\ \((\(-0.00470448`\) + x\_1[t]\^2\ \((\(-0.0036960299999999995`\) - 0.009979281`\ x\_2[t])\) + x\_1[t]\ \((\(\(0.00833976`\)\(\[InvisibleSpace]\)\) + 0.022517352`\ x\_2[t])\) - 0.012702096`\ x\_2[t])\) + 0.681`\ x\_2[t] - 0.03`\ x\_2[t]\^2 - 0.027`\ x\_2[t]\^3 + u[t]\ \((\(-0.046439999999999995`\)\ x\_1[t]\^2 - 0.032076`\ \((\(-2.59635913795324`\) + x\_2[t])\)\ \((\(\(3.337099878693981`\)\(\ \[InvisibleSpace]\)\) + x\_2[t])\) + 0.028431`\ x\_1[ t]\ \((\(-3.216980050644716`\) + x\_2[t])\)\ \((\(\(3.9577207913854564`\)\(\ \[InvisibleSpace]\)\) + x\_2[t])\))\) + 0.42999999999999994`\ x\_3[t], x\_1[t] == y[t]}\)], "Output", CellLabel->"Out[15]="] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["5.4 Mitterealiseeritav sisend-v\[ADoubleDot]ljund v\[OTilde]rrand", \ "Subtitle"], Cell["\<\ Vaatleme sisend-v\[ADoubleDot]ljund v\[OTilde]rrandit, mis modelleerib p\ \[ADoubleDot]rmi k\[ADoubleDot]\[ADoubleDot]rimisprotsessi, [10].\ \>", "Text"], Cell[BoxData[ \(\(ioEq = y[t + 1] == 0.9106\ y[t] + 2.072\ u[t + 1] - 1.903 u[t] + 120.7\ y[t]\ u[t + 1] - 107.3 y[t] u[t] + 299.6 u[t + 1]\^2 - 232.8 u[t + 1] u[t] - 84.17 u[t]\^2;\)\)], "Input", CellLabel->"In[16]:="], Cell[CellGroupData[{ Cell["Arvutused", "Subsubsection"], Cell["Kontrollime, kas s\[UDoubleDot]steem on taandumatu:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Irreducibility[ioEq, {y, u}, t]\)], "Input", CellLabel->"In[17]:="], Cell[BoxData[ \(True\)], "Output", CellLabel->"Out[17]="] }, Open ]], Cell["\<\ Kontrollime, kas s\[UDoubleDot]steem on teisendatav klassikalsele \ olekukujule:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Realizability[ioEq, {y, u}, t]\)], "Input", CellLabel->"In[18]:="], Cell[BoxData[ \(False\)], "Output", CellLabel->"Out[18]="] }, Open ]], Cell["\<\ Vastus on eitav. Kui me sellest hoolimata \[UDoubleDot]ritame kasutada \ funktsiooni Realization, siis tr\[UDoubleDot]kitakse veateade selle kohta, et \ mingi alamruum ei ole t\[ADoubleDot]ielikult integreeruv.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Realization[ioEq, {y, u}, t]\)], "Input", CellLabel->"In[19]:="], Cell[BoxData[ \(IntegratePfaff::"nonint" \(\(:\)\(\ \)\) "The subspace is not completely integrable. "\)], "Message", CellLabel->"From In[19]:="], Cell[BoxData[ \({}\)], "Output", CellLabel->"Out[19]="] }, Open ]], Cell[TextData[{ "Vaatame, mis juhtub funktsiooni ", StyleBox["Realization", FontFamily->"Courier New", FontSize->10], " t\[ADoubleDot]itmise k\[ADoubleDot]igus. K\[OTilde]igepealt leiame s\ \[UDoubleDot]steemi laiendatud olekuv\[OTilde]rrandid:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Z = {z\_1, z\_2, z\_3};\)\), "\n", \(\({extEq, repl} = IOToExtendedState[ioEq, {y, u}, t, NewVariables -> {Z, {v}}];\)\), "\[IndentingNewLine]", \(extEq\)}], "Input", CellLabel->"In[20]:="], Cell[BoxData[ \({z\_1[1 + t] == 0.9106`\ z\_1[t] - 1.903`\ z\_2[t] - 107.3`\ z\_1[t]\ z\_2[t] - 84.17`\ z\_2[t]\^2 + 2.072`\ z\_3[t] + 120.7`\ z\_1[t]\ z\_3[t] - 232.8`\ z\_2[t]\ z\_3[t] + 299.6`\ z\_3[t]\^2, z\_2[1 + t] == z\_3[t], z\_3[1 + t] == v[t]}\)], "Output", CellLabel->"Out[22]="] }, Open ]], Cell[TextData[{ "Siin on n\[ADoubleDot]ha, kuidas on defineeritud uued olekumuutujad ", Cell[BoxData[ \(TraditionalForm\`z\_1\)]], ", ", Cell[BoxData[ \(TraditionalForm\`z\_2\)]], " ja ", Cell[BoxData[ \(TraditionalForm\`z\_3\)]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TableForm[repl]\)], "Input", CellLabel->"In[23]:="], Cell[BoxData[ InterpretationBox[GridBox[{ {\(y[t] \[Rule] z\_1[t]\)}, {\(u[t] \[Rule] z\_2[t]\)}, {\(u[1 + t] \[Rule] z\_3[t]\)} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ {y[ t] -> Subscript[ z, 1][ t], u[ t] -> Subscript[ z, 2][ t], u[ Plus[ 1, t]] -> Subscript[ z, 3][ t]}]]], "Output", CellLabel->"Out[23]//TableForm="] }, Open ]], Cell[TextData[{ "Arvutame alamruumide jada ", Cell[BoxData[ \(TraditionalForm\`{\[ScriptCapitalH]\_k\)]], "}:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Hk", "=", RowBox[{"SequenceH", AdjustmentBox["[", BoxMargins->{{0, 0}, {-0.166667, 0.166667}}, BoxBaselineShift->0.166667], AdjustmentBox[\(extEq, {Z, v}, t\), BoxMargins->{{0, 0}, {-0.166667, 0.166667}}, BoxBaselineShift->0.166667], AdjustmentBox["]", BoxMargins->{{0, 0}, {-0.166667, 0.166667}}, BoxBaselineShift->0.166667]}]}]], "Input", CellLabel->"In[24]:="], Cell[BoxData[ \({Span[{{1, 0, 0, 0}, {0, 1, 0, 0}, {0, 0, 1, 0}}, {z\_1[0], z\_2[0], z\_3[0], v[0]}], Span[{{1, 0, 0, 0}, {0, 1, 0, 0}}, {z\_1[0], z\_2[0], z\_3[0], v[0]}], Span[{{1, \(-4.703688249970297`\) - 269.0868361649043`\ z\_1[\(-1\)] - 921.1427349411903`\ z\_2[0] - 148.3868361649043`\ \[Sqrt]\((\(\(0.00031454162971661446`\)\(\ \[InvisibleSpace]\)\) + 0.06209907055237904`\ z\_1[\(-1\)] + z\_1[\(-1\)]\^2 - 0.02924272731773455`\ z\_1[0] + 0.13754867288151346`\ z\_2[0] + 7.86883297476221`\ z\_1[\(-1\)]\ z\_2[0] + 13.468362909298733`\ z\_2[0]\^2)\), 0, 0}}, {z\_1[0], z\_2[0], z\_3[0], v[0]}], Span[{}, {z\_1[0], z\_2[0], z\_3[0], v[0]}]}\)], "Output", CellLabel->"Out[24]="] }, Open ]], Cell["Alamruume v\[OTilde]ib kuvada ka diferentsiaalvormidena:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(DifferentialForm[Hk]\)], "Input", CellLabel->"In[25]:="], Cell[BoxData[ RowBox[{"{", RowBox[{ TagBox[ FormBox[ TagBox[\(Span[\[DifferentialD]z\_1[0], \[DifferentialD]z\_2[ 0], \[DifferentialD]z\_3[0]]\), DisplayForm], "StandardForm"], Format], ",", TagBox[ FormBox[ TagBox[\(Span[\[DifferentialD]z\_1[0], \[DifferentialD]z\_2[0]]\), DisplayForm], "StandardForm"], Format], ",", TagBox[ FormBox[ TagBox[\(Span[\[DifferentialD]z\_1[ 0] + \((\(-4.703688249970297`\) - 269.0868361649043`\ z\_1[\(-1\)] - 921.1427349411903`\ z\_2[0] - 148.3868361649043`\ \ \[Sqrt]\((\(\(0.00031454162971661446`\)\(\[InvisibleSpace]\)\) + 0.06209907055237904`\ z\_1[\(-1\)] + z\_1[\(-1\)]\^2 - 0.02924272731773455`\ z\_1[0] + 0.13754867288151346`\ z\_2[0] + 7.86883297476221`\ z\_1[\(-1\)]\ z\_2[0] + 13.468362909298733`\ z\_2[0]\^2)\))\)\ \ \[DifferentialD]z\_2[0]]\), DisplayForm], "StandardForm"], Format], ",", TagBox[ FormBox["\[EmptySet]", "StandardForm"], Format]}], "}"}]], "Output", CellLabel->"Out[25]="] }, Open ]], Cell[TextData[{ "Kontrollime alamruumide integreervust. M\[ADoubleDot]rk /@ \ t\[ADoubleDot]hendab, et funktsiooni ", StyleBox["Integrability", FontFamily->"Courier New", FontSize->10], StyleBox[" ", FontSize->10], "rakendatakse loendi Hk igale elemendile." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Integrability\ /@ \ Hk\)], "Input", CellLabel->"In[26]:="], Cell[BoxData[ \({True, True, False, {}}\)], "Output", CellLabel->"Out[26]="] }, Open ]], Cell[TextData[{ "Ootusp\[ADoubleDot]rselt on ", Cell[BoxData[ \(TraditionalForm\`\[ScriptCapitalH]\_1\)]], " ja ", Cell[BoxData[ \(TraditionalForm\`\(\(\ \)\(\[ScriptCapitalH]\_2\)\)\)]], " integreeruvad, kui ", Cell[BoxData[ \(TraditionalForm\`\[ScriptCapitalH]\_3\)]], " ei ole. Arvutame ka jada ", Cell[BoxData[ \(TraditionalForm\`{\[ScriptCapitalI]\_k}\)]], " ja kuvame tulemuse diferentsiaalvormidena:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Ik = SequenceI[extEq, {Z, v}, t];\)\), "\n", \(DifferentialForm[Ik]\)}], "Input", CellLabel->"In[27]:="], Cell[BoxData[ RowBox[{"{", RowBox[{ TagBox[ FormBox[ TagBox[\(Span[\[DifferentialD]z\_1[0], \[DifferentialD]z\_2[ 0], \[DifferentialD]z\_3[0]]\), DisplayForm], "StandardForm"], Format], ",", TagBox[ FormBox[ TagBox[\(Span[\((\(-0.9106`\) + 107.3`\ z\_2[0] - 120.7`\ z\_3[0])\)\ \[DifferentialD]z\_1[ 0] + \((\(\(1.903`\)\(\[InvisibleSpace]\)\) + 107.3`\ z\_1[0] + 168.34`\ z\_2[0] + 232.8`\ z\_3[0])\)\ \[DifferentialD]z\_2[ 0], \[DifferentialD]z\_3[0]]\), DisplayForm], "StandardForm"], Format], ",", TagBox[ FormBox[ TagBox[\(Span[\((\(-0.014785230079999946`\) + 15.744638240000002`\ v[0] + 11.111177623999996`\ z\_1[0] + 13266.066993999999`\ v[0]\ z\_1[0] - 5.3566286280000135`\ z\_2[0] - 27442.172896000004`\ v[0]\ z\_2[0] + 9174.722982`\ z\_1[0]\ z\_2[0] - 1.563198977`*^6\ v[0]\ z\_1[0]\ z\_2[0] + 9060.517368600002`\ z\_2[0]\^2 + 3.0150184080000003`*^6\ v[0]\ z\_2[0]\^2 - 1.2353760169999998`*^6\ z\_1[0]\ z\_2[0]\^2 - 969073.6193`\ z\_2[0]\^3 - 63.297506367999986`\ z\_3[0] + 67944.675744`\ v[0]\ z\_3[0] - 22113.775304`\ z\_1[0]\ z\_3[0] + 1.758416743`*^6\ v[0]\ z\_1[0]\ z\_3[0] + 51779.299146000005`\ z\_2[0]\ z\_3[0] - 1.1151849584`*^7\ v[0]\ z\_2[0]\ z\_3[0] + 4.1689623090000004`*^6\ z\_1[0]\ z\_2[0]\ z\_3[0] - 4.2704928953`*^6\ z\_2[0]\^2\ z\_3[0] - 95949.70652`\ z\_3[0]\^2 + 8.729439208`*^6\ v[0]\ z\_3[0]\^2 - 3.1263979540000004`*^6\ z\_1[0]\ z\_3[0]\^2 + 1.6378181868`*^7\ z\_2[0]\ z\_3[0]\^2 - 1.1640457668000001`*^7\ z\_3[0]\^3)\)\ \ \[DifferentialD]z\_3[0] + \((\(\(0.755062563016`\)\(\[InvisibleSpace]\)\) + 100.083517852`\ v[0] - 177.944680456`\ z\_2[0] - 23586.561532`\ v[0]\ z\_2[0] + 10484.001874`\ z\_2[0]\^2 + 1.3896541030000001`*^6\ v[0]\ z\_2[0]\^2 + 111.19469547599999`\ z\_3[0] + 26532.133988`\ v[0]\ z\_3[0] - 2618.5577840000005`\ z\_2[0]\ z\_3[0] - 3.126397954`*^6\ v[0]\ z\_2[0]\ z\_3[0] - 1.2353760169999998`*^6\ z\_2[0]\^2\ z\_3[0] - 10320.494538000003`\ z\_3[0]\^2 + 1.758416743`*^6\ v[0]\ z\_3[0]\^2 + 2.7793082060000002`*^6\ z\_2[0]\ z\_3[0]\^2 - 1.5631989770000002`*^6\ z\_3[0]\^3)\)\ \ \[DifferentialD]z\_1[0] + \((\(-1.5779530610799999`\) - 209.15762626`\ v[0] - 88.972340228`\ z\_1[0] - 11793.280766`\ v[0]\ z\_1[0] + 46.35090225760001`\ z\_2[0] + 6143.810567200002`\ v[0]\ z\_2[0] + 10484.001874`\ z\_1[0]\ z\_2[0] + 1.3896541030000001`*^6\ v[0]\ z\_1[0]\ z\_2[0] + 16448.0603492`\ z\_2[0]\^2 + 2.1801898574`*^6\ v[0]\ z\_2[0]\^2 - 216.25646352799998`\ z\_3[0] - 53310.749446`\ v[0]\ z\_3[0] - 1309.2788919999985`\ z\_1[0]\ z\_3[0] - 1.563198977`*^6\ v[0]\ z\_1[0]\ z\_3[0] - 1217.6042195999944`\ z\_2[0]\ z\_3[0] + 562558.8014000002`\ v[0]\ z\_2[0]\ z\_3[0] - 1.2353760169999998`*^6\ z\_1[0]\ z\_2[0]\ z\_3[0] - 1.9381472385999998`*^6\ z\_2[0]\^2\ z\_3[0] + 21805.327418`\ z\_3[0]\^2 - 3.391544472`*^6\ v[0]\ z\_3[0]\^2 + 1.3896541030000001`*^6\ z\_1[0]\ z\_3[0]\^2 - 500104.0545999999`\ z\_2[0]\ z\_3[0]\^2 + 3.0150184080000003`*^6\ z\_3[0]\^3)\)\ \ \[DifferentialD]z\_2[0]]\), DisplayForm], "StandardForm"], Format], ",", TagBox[ FormBox["\[EmptySet]", "StandardForm"], Format]}], "}"}]], "Output", CellLabel->"Out[28]="] }, Open ]], Cell[TextData[{ "Nagu n\[ADoubleDot]ha, on ", Cell[BoxData[ \(TraditionalForm\`\[ScriptCapitalI]\_3\)]], " baasi ainsa vektori koordinaadid palju keerulisemad avaldised kui ", Cell[BoxData[ \(TraditionalForm\`\[ScriptCapitalH]\_3\)]], " omad. Integreeruvuse konrtoll annab ootusp\[ADoubleDot]raselt \ samasuguse tulemuse kui jada ", Cell[BoxData[ \(TraditionalForm\`{\[ScriptCapitalH]\_k}\)]], " korral." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Integrability\ /@ \ Ik\)], "Input", CellLabel->"In[29]:="], Cell[BoxData[ \({True, True, False, {}}\)], "Output", CellLabel->"Out[29]="] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["5.5 \[CapitalUDoubleDot]ldistatud olekuv\[OTilde]rrandi \ j\[ADoubleDot]rgu alandamine", "Subtitle"], Cell["Vaatleme sisend-v\[ADoubleDot]ljund v\[OTilde]rrandit", "Text"], Cell[BoxData[ \(\(\(ioEq\ = \ y[t\ + \ 3]\ == \ 2\ y[t\ + \ 2]\ y[t\ + \ 1]\ + \ 3\ u[t]\^2\ u[t\ + \ 2]\ u[t\ + \ 1];\)\(\ \)\)\)], "Input", CellLabel->"In[30]:="], Cell[CellGroupData[{ Cell["Arvutused", "Subsubsection"], Cell["Kontrollime, kas v\[OTilde]rrand on taandumatu:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Irreducibility[ioEq, {y, u}, t]\)], "Input", CellLabel->"In[31]:="], Cell[BoxData[ \(True\)], "Output", CellLabel->"Out[31]="] }, Open ]], Cell["\<\ Kontrollime, kas antud v\[OTilde]rrand on realiseeritav klassikalisele \ olekukujule.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Realizability[ioEq, {y, u}, t]\)], "Input", CellLabel->"In[32]:="], Cell[BoxData[ \(False\)], "Output", CellLabel->"Out[32]="] }, Open ]], Cell["\<\ Vastus on eitav. L\[ADoubleDot]heme \[UDoubleDot]le \[UDoubleDot]ldistatud \ olekuv\[OTilde]rranditele ja vaatame, kas saab alandada sisendi nihke j\ \[ADoubleDot]rku:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\({genstEq, repl} = IOToGeneralizedState[ioEq, {y, u}, t];\)\), "\n", \(TableForm[genstEq]\), "\n", \(TableForm[repl]\)}], "Input", CellLabel->"In[33]:="], Cell[BoxData[ InterpretationBox[GridBox[{ {\(x1[1 + t] == x2[t]\)}, {\(x2[1 + t] == x3[t]\)}, {\(x3[1 + t] == 3\ u[t]\^2\ u[1 + t]\ u[2 + t] + 2\ x2[t]\ x3[t]\)} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ { Equal[ x1[ Plus[ 1, t]], x2[ t]], Equal[ x2[ Plus[ 1, t]], x3[ t]], Equal[ x3[ Plus[ 1, t]], Plus[ Times[ 3, Power[ u[ t], 2], u[ Plus[ 1, t]], u[ Plus[ 2, t]]], Times[ 2, x2[ t], x3[ t]]]]}]]], "Output", CellLabel->"Out[34]//TableForm="], Cell[BoxData[ InterpretationBox[GridBox[{ {\(y[t] \[Rule] x1[t]\)}, {\(y[1 + t] \[Rule] x2[t]\)}, {\(y[2 + t] \[Rule] x3[t]\)} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ {y[ t] -> x1[ t], y[ Plus[ 1, t]] -> x2[ t], y[ Plus[ 2, t]] -> x3[ t]}]]], "Output", CellLabel->"Out[35]//TableForm="] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[{ \(\(X = {x1, x2, x3};\)\), "\n", \(TableForm[\n\tclsEq = Lower[genstEq, {X, u}, t]\n]\)}], "Input", CellLabel->"In[36]:="], Cell[BoxData[ InterpretationBox[GridBox[{ {\(x3[1 + t] == 3\ u[t]\^2\ u[1 + t]\)}, {\(x1[1 + t] == x2[t]\)}, {\(x2[1 + t] == 2\ x1[t]\ x2[t] + u[1 + t]\ x3[t]\)} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ { Equal[ x3[ Plus[ 1, t]], Times[ 3, Power[ u[ t], 2], u[ Plus[ 1, t]]]], Equal[ x1[ Plus[ 1, t]], x2[ t]], Equal[ x2[ Plus[ 1, t]], Plus[ Times[ 2, x1[ t], x2[ t]], Times[ u[ Plus[ 1, t]], x3[ t]]]]}]]], "Output", CellLabel->"Out[37]//TableForm="] }, Open ]], Cell["Sisendi nihke j\[ADoubleDot]rku \[OTilde]nnestus alandada kahelt \ \[UDoubleDot]hele.", "Text"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["5.6 \[CapitalUDoubleDot]ldistatud olekuteisendus", "Subtitle"], Cell["\<\ Vaatleme \[UDoubleDot]ldistatud olekuv\[OTilde]rrandit, mis modelleerib \ binaarse destillatsiooni kolonni, [5]. \ \>", "Text"], Cell[BoxData[{ \(\(stEq\ = \ {\t\t\t\n\t\tx\_1[t + 1] == x\_2[t], \ \n\t\tx\_2[t + 1] == x\_3[t], \ \n\t\ \ x\_3[ t + 1] == \((0.898\ x\_3[t]\ + \ 0.248\ u[t + 2] - 0.106*10\^\(-2\)\ u[t + 1]\ x\_1[t]\n\t\ \ - 0.159*10\^\(-10\)\ u[t]^3\ u[t + 1]\^2\ u[t + 2]\ x\_1[ t])\)*\n\t\ \ 1\/\(1 - 0.173*10\^\(-5\)\ u[t]\^2\ u[t + \ 1]\)};\)\), "\n", \(\(X\ = \ {x\_1, x\_2, x\_3};\)\)}], "Input", CellLabel->"In[38]:="], Cell[CellGroupData[{ Cell["Arvutused", "Subsubsection"], Cell["\<\ Kontrollime, kas v\[OTilde]rrand on teisendatav klassikalisele olekukujule:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(ClassicTransformability[stEq, {X, u}, t]\)], "Input", CellLabel->"In[40]:="], Cell[BoxData[ \(False\)], "Output", CellLabel->"Out[40]="] }, Open ]], Cell["Vaatame, kas saab alandada sisendi nihke j\[ADoubleDot]rku:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Lower[stEq, {X, u}, t]\)], "Input", CellLabel->"In[41]:="], Cell[BoxData[ \({x\_1[1 + t] == x\_2[t], x\_2[1 + t] == x\_3[t], x\_3[1 + t] == \((\(-0.00106`\)\ u[1 + t]\ x\_1[t] + u[2 + t]\ \((\(\(0.248`\)\(\[InvisibleSpace]\)\) - 1.59`*^-11\ u[t]\^3\ u[1 + t]\^2\ x\_1[t])\) + 0.898`\ x\_3[t])\)/\((1 - 1.73`*^-6\ u[t]\^2\ u[1 + t])\)}\)], "Output", CellLabel->"Out[41]="] }, Open ]], Cell[TextData[{ "S\[UDoubleDot]steemi paremal poolel esineb ikka liige ", StyleBox["u", FontSlant->"Italic"], "(", StyleBox["t", FontSlant->"Italic"], " + 2), mis t\[ADoubleDot]hendab, et j\[ADoubleDot]rgu alandamine eba\ \[OTilde]nnestus." }], "Text"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["5.7 Integreeruva baasi leidmine", "Subtitle"], Cell["\<\ Vaatleme \[UDoubleDot]ldisatud olekuv\[OTilde]rrandeid, mis \ v\[ADoubleDot]ikese modifikatsiooniga on v\[OTilde]etud artiklist [17].\ \>", "Text"], Cell[BoxData[{ \(\(genstEq = {\n\t\tx1[1 + t] == x2[t], \n\t\tx2[1 + t] == x3[t], \n\t\tx3[1 + t] == u[2 + t]\^3\ \((\(-\(\(u[1 + t]\ x1[t]\ x2[ t]\)\/u[t]\^3\)\) + \(\((u[1 + t] + x2[t])\)\ \ x3[t]\)\/u[1 + t]\^3)\)};\)\), "\n", \(\(X = \ {x1, x2, x3};\)\)}], "Input", CellLabel->"In[42]:="], Cell[CellGroupData[{ Cell["Arvutused", "Subsubsection"], Cell["\<\ Kontrollime, kas s\[UDoubleDot]steem on teisendatav klassikalsele \ olekukujule:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(ClassicTransformability[genstEq, {X, u}, t]\)], "Input", CellLabel->"In[44]:="], Cell[BoxData[ \(True\)], "Output", CellLabel->"Out[44]="] }, Open ]], Cell["Vastus on jaatav.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(ClassicTransform[genstEq, {X, u}, t]\)], "Input", CellLabel->"In[45]:="], Cell[BoxData[ \(IntegratePfaff::"unable" \(\(:\)\(\ \)\) "IntegratePfaff is unable to transform the set of one-forms to an \ exact one-forms."\)], "Message", CellLabel->"From In[45]:="], Cell[BoxData[ \(IntegratePfaff::"usage" \(\(:\)\(\ \)\) "IntegratePfaff[ {df1,df2,..}, {x1,x2,...} ] tries to integrate \ Pfaffian system of one-forms df1,df2,... treating x1,x2,... as variables.\n \ IntegratePfaff[Span[{vec1,vec2,...},{x1,x2,...}]] computes one-forms from \ vector difference subspace.\n The integration is very complicated problem, \ which has no general solutions or algorithms. The program implemented here \ works only in the most common cases. If problems appear, try to transform \ the one-forms to total differentials before intgrating."\)], "Message", CellLabel->"From In[45]:="], Cell[BoxData[ \(Lower::"usage" \(\(:\)\(\ \)\) "Lower[ stEq, {{x1,x2,...}, u}, t] tries to lower the input time-shift \ as much as possible.\n Options[Lower] = {LoweringOrder, Method}\n \ LoweringOrder->n tries to lower the input time-shfit exactly by n.\n Method \ -> {expr1,expr2,...} immediately uses given expressions for generalized \ state transformation."\)], "Message", CellLabel->"From In[45]:="], Cell[BoxData[ \(Lower[{x1[1 + t] == x2[t], x2[1 + t] == x3[t], x3[1 + t] == u[2 + t]\^3\ \((\(-\(\(u[1 + t]\ x1[t]\ x2[ t]\)\/u[t]\^3\)\) + \(\((u[1 + t] + x2[t])\)\ x3[t]\ \)\/u[1 + t]\^3)\)}, {{x1, x2, x3}, {u}}, t, LoweringOrder \[Rule] 2]\)], "Output", CellLabel->"Out[45]="] }, Open ]], Cell[TextData[{ "Funktsioon ", StyleBox["ClassicTransform", FontFamily->"Courier New", FontSize->10], " aga ei andnud meile tulemust, kuna funktsioon ", StyleBox["IntegratePfaff", FontFamily->"Courier New", FontSize->10], " ei suuda leida antud alamruumile integreeruvat baasi. Uurime probleemi l\ \[ADoubleDot]hemalt. Leiame sisend-v\[ADoubleDot]ljund v\[OTilde]rrandile \ laiendatud s\[UDoubleDot]steemi:" }], "Text"], Cell[BoxData[ \(\({extEq, repl} = GeneralizedStateToExtendedState[genstEq, {X, u}, t];\)\)], "Input", CellLabel->"In[46]:="], Cell[CellGroupData[{ Cell[BoxData[ \(TableForm[extEq]\)], "Input", CellLabel->"In[47]:="], Cell[BoxData[ InterpretationBox[GridBox[{ {\(z1[1 + t] == z2[t]\)}, {\(z2[1 + t] == z3[t]\)}, {\(z3[ 1 + t] == \((\(-\(\(z1[t]\ z2[t]\ z5[ t]\)\/z4[t]\^3\)\) + \(z3[t]\ \((z2[t] + z5[t])\ \)\)\/z5[t]\^3)\)\ z6[t]\^3\)}, {\(z4[1 + t] == z5[t]\)}, {\(z5[1 + t] == z6[t]\)}, {\(z6[1 + t] == v1[t]\)} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ { Equal[ z1[ Plus[ 1, t]], z2[ t]], Equal[ z2[ Plus[ 1, t]], z3[ t]], Equal[ z3[ Plus[ 1, t]], Times[ Plus[ Times[ -1, z1[ t], z2[ t], Power[ z4[ t], -3], z5[ t]], Times[ z3[ t], Power[ z5[ t], -3], Plus[ z2[ t], z5[ t]]]], Power[ z6[ t], 3]]], Equal[ z4[ Plus[ 1, t]], z5[ t]], Equal[ z5[ Plus[ 1, t]], z6[ t]], Equal[ z6[ Plus[ 1, t]], v1[ t]]}]]], "Output", CellLabel->"Out[47]//TableForm="] }, Open ]], Cell["\<\ Siin on n\[ADoubleDot]ha, kuidas on defineeritud uued muutujad z1, z2, ... , \ z6:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TableForm[repl]\)], "Input", CellLabel->"In[48]:="], Cell[BoxData[ InterpretationBox[GridBox[{ {\(x1[t] \[Rule] z1[t]\)}, {\(x2[t] \[Rule] z2[t]\)}, {\(x3[t] \[Rule] z3[t]\)}, {\(u[t] \[Rule] z4[t]\)}, {\(u[1 + t] \[Rule] z5[t]\)}, {\(u[2 + t] \[Rule] z6[t]\)} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ {x1[ t] -> z1[ t], x2[ t] -> z2[ t], x3[ t] -> z3[ t], u[ t] -> z4[ t], u[ Plus[ 1, t]] -> z5[ t], u[ Plus[ 2, t]] -> z6[ t]}]]], "Output", CellLabel->"Out[48]//TableForm="] }, Open ]], Cell[TextData[{ "Arvutame alamruumide jada ", Cell[BoxData[ \(TraditionalForm\`{\[ScriptCapitalH]\_k}\)]], " esimesed neli elementi:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Z = {z1, z2, z3, z4, z5, z6};\)\), "\n", \(\(Hk = SequenceH[extEq, {Z, v1}, t, 4];\)\), "\n", \(DifferentialForm[Hk]\)}], "Input", CellLabel->"In[49]:="], Cell[BoxData[ RowBox[{"{", RowBox[{ TagBox[ FormBox[ TagBox[\(Span[\[DifferentialD]z1[0], \[DifferentialD]z2[ 0], \[DifferentialD]z3[0], \[DifferentialD]z4[ 0], \[DifferentialD]z5[0], \[DifferentialD]z6[0]]\), DisplayForm], "StandardForm"], Format], ",", TagBox[ FormBox[ TagBox[\(Span[\[DifferentialD]z1[0], \[DifferentialD]z2[ 0], \[DifferentialD]z3[0], \[DifferentialD]z4[ 0], \[DifferentialD]z5[0]]\), DisplayForm], "StandardForm"], Format], ",", TagBox[ FormBox[ TagBox[\(Span[\[DifferentialD]z1[0], \[DifferentialD]z2[ 0], \(-3\)\ z3[0]\ \[DifferentialD]z5[0] + z5[0]\ \[DifferentialD]z3[0], \[DifferentialD]z4[0]]\), DisplayForm], "StandardForm"], Format], ",", TagBox[ FormBox[ TagBox[\(Span[\[DifferentialD]z1[ 0], \(-3\)\ z2[0]\ \[DifferentialD]z4[0] + z4[0]\ \[DifferentialD]z2[0], \(-3\)\ z3[ 0]\ z4[0]\^4\ \[DifferentialD]z5[0] + z4[0]\^4\ z5[ 0]\ \[DifferentialD]z3[ 0] + \((\(-z3[0]\)\ z4[0]\^3\ z5[0] + z1[0]\ z2[0]\ z5[0]\^4)\)\ \[DifferentialD]z4[0]]\), DisplayForm], "StandardForm"], Format]}], "}"}]], "Output", CellLabel->"Out[51]="] }, Open ]], Cell[TextData[{ "Kontrollime, kas alamruum ", Cell[BoxData[ \(TraditionalForm\`\[ScriptCapitalH]\_4\)]], "= ", StyleBox["Hk[[4]]", FontFamily->"Courier New"], " on t\[ADoubleDot]ielikult integreeruv:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Integrability\ [Hk[\([4]\)]\ ]\)], "Input", CellLabel->"In[52]:="], Cell[BoxData[ \(True\)], "Output", CellLabel->"Out[52]="] }, Open ]], Cell[TextData[{ Cell[BoxData[ \(TraditionalForm\`\[ScriptCapitalH]\_4\)]], " on t\[ADoubleDot]ielikult integreeruv, kuid programm ei suuda leida \ ingreeruvat baasi. Kuna baasidiferentsiaalvormid ei ole v\[ADoubleDot]ga \ keerulised, saame neid k\[ADoubleDot]sitsi teisendada nii, et saaksime \ eksaktsed diferentsiaalvormid. Teisendame Hk neljanda elemendi \ diferentsiaalkujule ja t\[ADoubleDot]histame ta s\[UDoubleDot]mboliga H4. \ Baasi elemendid t\[ADoubleDot]histame vastavalt \[Omega]1, \[Omega]2 ja \ \[Omega]3.\nsiis saab " }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(H4 = \({\[Omega]1, \[Omega]2, \[Omega]3} = ToDifferential[Hk[\([4]\)]]\)\)], "Input", CellLabel->"In[53]:="], Cell[BoxData[ \({De[z1[0]], \(-3\)\ De[z4[0]]\ z2[0] + De[z2[0]]\ z4[0], \(-3\)\ De[z5[0]]\ z3[0]\ z4[0]\^4 + De[z3[0]]\ z4[0]\^4\ z5[0] + De[z4[0]]\ \((\(-z3[0]\)\ z4[0]\^3\ z5[0] + z1[0]\ z2[0]\ z5[0]\^4)\)}\)], "Output", CellLabel->"Out[53]="] }, Open ]], Cell["\<\ Diferentsiaalvorme v\[OTilde]ib ekraanile kuvada ka traditsioonilisemal moel:\ \ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(TraditionalForm[H4]\)], "Input", CellLabel->"In[54]:="], Cell[BoxData[ \(TraditionalForm\`{\[DifferentialD]\(z1( 0)\) , \[DifferentialD]\(z2(0)\) \ \(z4(0)\) - 3\ \[DifferentialD]\(z4(0)\) \ \(z2( 0)\), \(-3\)\ \[DifferentialD]\(z5(0)\) \ \(z3( 0)\)\ \(z4(0)\)\^4 + \[DifferentialD]\(z3(0)\) \ \(z5( 0)\)\ \(z4(0)\)\^4 + \[DifferentialD]\(z4( 0)\) \ \((\(z1(0)\)\ \(z2(0)\)\ \(z5(0)\)\^4 - \(z3( 0)\)\ \(z4(0)\)\^3\ \(z5(0)\))\)}\)], "Output", CellLabel->"Out[54]//TraditionalForm="] }, Open ]], Cell["\<\ Kahjuks ei ole v\[OTilde]imalik vabaneda sellest, et diferentsiaal tr\ \[UDoubleDot]kitakse kordaja ette. P\[OTilde]hjus on selles, et muutujad on \ kujul zi[0]. Kui muutujad on lihtsalt s\[UDoubleDot]mbolid nt. z1, z2, ... , \ siis tr\[UDoubleDot]kitakse diferentsiaalid \[OTilde]igesti. Uurime l\ \[ADoubleDot]hemalt, milles seisnevad integreeruva baasi leidmise raskused. \ Moodustame k\[OTilde]igi muutujate loendi:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(coords = \(#[0] &\)\ /@ \ Join[Z, {v1}]\)], "Input", CellLabel->"In[55]:="], Cell[BoxData[ \({z1[0], z2[0], z3[0], z4[0], z5[0], z6[0], v1[0]}\)], "Output", CellLabel->"Out[55]="] }, Open ]], Cell["\<\ Arvutame avaldise \[DifferentialD] \[Omega]2 \[Wedge] \[Omega]2 = 0.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Wedge[De[\[Omega]2, Coordinates -> coords], \[Omega]2]\)], "Input", CellLabel->"In[56]:="], Cell[BoxData[ \(0\)], "Output", CellLabel->"Out[56]="] }, Open ]], Cell["\<\ Kuna avaldise v\[OTilde]rdub nulliga, siis \[Omega]2 saab \ t\[ADoubleDot]isdiferentsiaaliks teisendada, korrutades teda mingi \ integreeruvuskonstandiga. Kahe muutuja korral suudab programm \ integreeruvuskonstandi leida ja seega \[Omega]2 integreerimine probleemiks ei \ kujune. Kontrollime analoogilist tingimust ka \[Omega]3 jaoks:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Wedge[De[\[Omega]3, Coordinates -> coords], \[Omega]3]\)], "Input", CellLabel->"In[57]:="], Cell[BoxData[ \(\(-3\)\ De[z2[0], z4[0], z5[0]]\ z1[0]\ z3[0]\ z4[0]\^4\ z5[0]\^4 - 3\ De[z1[0], z4[0], z5[0]]\ z2[0]\ z3[0]\ z4[0]\^4\ z5[0]\^4 - De[z2[0], z3[0], z4[0]]\ z1[0]\ z4[0]\^4\ z5[0]\^5 - De[z1[0], z3[0], z4[0]]\ z2[0]\ z4[0]\^4\ z5[0]\^5\)], "Output", CellLabel->"Out[57]="] }, Open ]], Cell["\<\ Tulemus on nullist erinev. Kasutades artikilis [17] saadud tulemusi, \ defineerime uue 1-vormi j\[ADoubleDot]rgmiselt:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(\[Omega]3new\ = \ Expand[\[Omega]3/\((\(z4[0]\^5\) z5[0]\^4)\) - \[Omega]2\ z1[0]/ z4[0]\^5 - \[Omega]1\ z2[0]/z4[0]\^4]\)], "Input", CellLabel->"In[58]:="], Cell[BoxData[ \(\(4\ De[z4[0]]\ z1[0]\ z2[0]\)\/z4[0]\^5 - \(De[z2[0]]\ \ z1[0]\)\/z4[0]\^4 - \(De[z1[0]]\ z2[0]\)\/z4[0]\^4 - \(3\ De[z5[0]]\ \ z3[0]\)\/\(z4[0]\ z5[0]\^4\) - \(De[z4[0]]\ z3[0]\)\/\(z4[0]\^2\ z5[0]\^3\) + De[z3[0]]\/\(z4[0]\ z5[0]\^3\)\)], "Output", CellLabel->"Out[58]="] }, Open ]], Cell["Kontrollime, kas tulemus on eksaktne diferentsiaalvorm:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(De[\[Omega]3new, Coordinates -> coords]\)], "Input", CellLabel->"In[59]:="], Cell[BoxData[ \(0\)], "Output", CellLabel->"Out[59]="] }, Open ]], Cell["On k\[UDoubleDot]ll. Integreerime leitud baasi.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(transf = IntegratePfaff[{\[Omega]1, \[Omega]2, \[Omega]3new}, coords]\)], "Input",\ CellLabel->"In[60]:="], Cell[BoxData[ \({z1[0], z2[0]\/z4[0]\^3, \(-\(\(z1[0]\ z2[0]\)\/z4[0]\^4\)\) + z3[0]\/\(z4[0]\ z5[0]\^3\)}\)], "Output", CellLabel->"Out[60]="] }, Open ]], Cell["L\[ADoubleDot]heme tagasi vanadele muutujatele.", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(transf = \(transf /. \((\(#[0]\ -> \ #[t] &\)\ /@ \ Z)\)\)\ /. \ Reverse\ /@ \ repl\)], "Input", CellLabel->"In[61]:="], Cell[BoxData[ \({x1[t], x2[t]\/u[t]\^3, \(-\(\(x1[t]\ x2[t]\)\/u[t]\^4\)\) + x3[t]\/\(u[t]\ u[1 + t]\^3\)}\)], "Output", CellLabel->"Out[61]="] }, Open ]], Cell[TextData[{ "Leiame klassikalised olekuv\[OTilde]rrandid. Parameetriga ", StyleBox["Method", FontFamily->"Courier New", FontSize->10], " saab programmile ette anda eespool leitud \[UDoubleDot]ldistatud \ olekuteisenduse." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(clsEq = ClassicTransform[genstEq, {X, u}, t, Method -> transf]\)], "Input", CellLabel->"In[62]:="], Cell[BoxData[ \({x3[1 + t] == u[t]\ x3[t], x1[1 + t] == u[t]\^3\ x2[t], x2[1 + t] == x1[t]\ x2[t] + u[t]\ x3[t]}\)], "Output", CellLabel->"Out[62]="] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(TableForm[clsEq]\)], "Input", CellLabel->"In[63]:="], Cell[BoxData[ InterpretationBox[GridBox[{ {\(x3[1 + t] == u[t]\ x3[t]\)}, {\(x1[1 + t] == u[t]\^3\ x2[t]\)}, {\(x2[1 + t] == x1[t]\ x2[t] + u[t]\ x3[t]\)} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], TableForm[ { Equal[ x3[ Plus[ 1, t]], Times[ u[ t], x3[ t]]], Equal[ x1[ Plus[ 1, t]], Times[ Power[ u[ t], 3], x2[ t]]], Equal[ x2[ Plus[ 1, t]], Plus[ Times[ x1[ t], x2[ t]], Times[ u[ t], x3[ t]]]]}]]], "Output", CellLabel->"Out[63]//TableForm="] }, Open ]] }, Open ]] }, Open ]] }, Open ]] }, FrontEndVersion->"4.0 for Microsoft Windows", ScreenRectangle->{{0, 1024}, {0, 686}}, ScreenStyleEnvironment->"Printout", ShowPageBreaks->True, WindowSize->{1016, 656}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, PrintingCopies->1, PrintingStartingPageNumber->39, PrintingPageRange->{40, 45}, PageHeaders->{{None, Inherited, Cell[ TextData[ { StyleBox[ "N\[ADoubleDot]ited ", FontSize -> 10], CounterBox[ "Page"]}], "PageNumber"]}, {None, Inherited, Cell[ TextData[ { StyleBox[ "N\[ADoubleDot]ited ", FontSize -> 10], CounterBox[ "Page"]}], "PageNumber"]}}, PrintingOptions->{"PrintingMargins"->{{Inherited, 46}, {Inherited, \ Inherited}}, "PageHeaderMargins"->{54, 22}, "FirstPageHeader"->True}, Magnification->1.5, 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"], ScriptMinSize->9], Cell[StyleData[All, "Printout"], PageWidth->PaperWidth, ShowCellLabel->False, ImageSize->{200, 200}, 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"]}}, PageHeaderLines->{True, True}, PrintingOptions->{"FirstPageHeader"->False, "FacingPages"->True}, CellLabelAutoDelete->False, CellFrameLabelMargins->6, StyleMenuListing->None] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headings", "Section"], Cell[CellGroupData[{ Cell[StyleData["Title"], CellMargins->{{18, 30}, {4, 20}}, CellGroupingRules->{"TitleGrouping", 0}, PageBreakBelow->False, CellFrameMargins->9, LineSpacing->{0.95, 0}, CounterIncrements->"Title", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, FontFamily->"Century Gothic", FontSize->24], Cell[StyleData["Title", "Printout"], CellMargins->{{18, 30}, {4, 0}}, CellFrameMargins->4, FontFamily->"Century Gothic", FontSize->14] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Subtitle"], CellFrame->{{0, 0}, {0.75, 0}}, CellMargins->{{18, 30}, {0, 20}}, CellGroupingRules->{"TitleGrouping", 10}, PageBreakBelow->False, LineSpacing->{1, 0}, CounterIncrements->"Subtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, FontFamily->"Century Gothic", FontSize->16, FontWeight->"Bold"], Cell[StyleData["Subtitle", "Printout"], CellFrame->{{0, 0}, {0.75, 0}}, CellMargins->{{18, 30}, {0, 20}}, CellFrameMargins->2, FontFamily->"Century Gothic", FontSize->13, FontWeight->"Bold"] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["SectionFirst"], CellFrame->{{0, 0}, {0, 3}}, CellMargins->{{18, 30}, {4, 30}}, CellGroupingRules->{"SectionGrouping", 40}, PageBreakBelow->False, CellFrameMargins->3, CounterIncrements->"Section", CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}}, FontSize->18, FontWeight->"Bold"], Cell[StyleData["SectionFirst", "Printout"], FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Section"], CellMargins->{{18, 30}, {4, 30}}, CellGroupingRules->{"SectionGrouping", 40}, PageBreakBelow->False, CounterIncrements->"Section", CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}}, FontSize->18, FontWeight->"Bold"], Cell[StyleData["Section", "Printout"], FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsection"], CellDingbat->"\[FilledSquare]", CellMargins->{{18, 30}, {4, 20}}, CellGroupingRules->{"SectionGrouping", 50}, PageBreakBelow->False, CounterIncrements->"Subsection", CounterAssignments->{{"Subsubsection", 0}}, FontSize->14, FontWeight->"Bold"], Cell[StyleData["Subsection", "Printout"], FontSize->12] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsubsection"], CellDingbat->"\[FilledSmallSquare]", CellMargins->{{18, 30}, {4, 12}}, CellGroupingRules->{"SectionGrouping", 60}, PageBreakBelow->False, CounterIncrements->"Subsubsection", FontSize->12, FontWeight->"Bold"], Cell[StyleData["Subsubsection", "Printout"], FontSize->10] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[CellGroupData[{ Cell[StyleData["Text"], CellMargins->{{18, 10}, {Inherited, 6}}, TextJustification->1, LineSpacing->{1, 2}, CounterIncrements->"Text"], Cell[StyleData["Text", "Printout"], CellMargins->{{18, 30}, {Inherited, 4}}, LineSpacing->{1, 3}, FontSize->11] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Caption"], CellMargins->{{55, 50}, {5, 5}}, FontSize->10], Cell[StyleData["Caption", "Printout"], CellMargins->{{55, 55}, {5, 2}}, FontSize->8] }, 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.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Input"], CellMargins->{{55, 10}, {5, 8}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, CellLabelMargins->{{26, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, AutoItalicWords->{}, FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, CounterIncrements->"Input", FontSize->12, FontWeight->"Bold"], Cell[StyleData["Input", "Printout"], CellMargins->{{55, 55}, {0, 10}}, ShowCellLabel->False, FontSize->9.5] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Output"], CellMargins->{{55, 10}, {8, 5}}, CellEditDuplicate->True, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, CellLabelPositioning->Left, CellLabelMargins->{{26, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Output"], Cell[StyleData["Output", "Printout"], CellMargins->{{55, 55}, {10, 10}}, ShowCellLabel->False, FontSize->9.5] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Message"], CellDingbat->"\[LongDash]", CellMargins->{{55, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"OutputGrouping", PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, CellLabelMargins->{{26, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Message", StyleMenuListing->None, FontSize->10, FontSlant->"Italic"], Cell[StyleData["Message", "Printout"], CellMargins->{{55, 55}, {0, 3}}, FontSize->8] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Print"], CellMargins->{{55, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, CellLabelMargins->{{26, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, TextAlignment->Left, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Print", StyleMenuListing->None], Cell[StyleData["Print", "Printout"], CellMargins->{{54, 72}, {2, 10}}, FontSize->8] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Graphics"], CellMargins->{{55, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"GraphicsGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, FormatType->InputForm, CounterIncrements->"Graphics", StyleMenuListing->None], Cell[StyleData["Graphics", "Printout"], CellMargins->{{55, 55}, {0, 15}}, ImageSize->{0.0625, 0.0625}, ImageMargins->{{35, Inherited}, {Inherited, 0}}, FontSize->8] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["CellLabel"], CellMargins->{{9, Inherited}, {Inherited, Inherited}}, StyleMenuListing->None, FontFamily->"Helvetica", FontSize->9, FontSlant->"Oblique"], Cell[StyleData["CellLabel", "Printout"], CellMargins->{{0, Inherited}, {Inherited, Inherited}}, FontSize->8] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Unique Styles", "Section"], Cell[CellGroupData[{ Cell[StyleData["Author"], CellMargins->{{45, Inherited}, {2, 20}}, CellGroupingRules->{"TitleGrouping", 20}, PageBreakBelow->False, CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, FontSize->14, FontWeight->"Bold"], Cell[StyleData["Author", "Printout"], CellMargins->{{36, Inherited}, {2, 30}}, FontSize->12] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Address"], CellMargins->{{45, Inherited}, {2, 2}}, CellGroupingRules->{"TitleGrouping", 30}, PageBreakBelow->False, LineSpacing->{1, 1}, CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, FontSize->12, FontSlant->"Italic"], Cell[StyleData["Address", "Printout"], CellMargins->{{36, Inherited}, {2, 2}}, FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Abstract"], CellMargins->{{45, 75}, {Inherited, 30}}, LineSpacing->{1, 0}], Cell[StyleData["Abstract", "Printout"], CellMargins->{{36, 67}, {Inherited, 50}}, FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Reference"], CellMargins->{{18, 40}, {2, 2}}, TextJustification->1, LineSpacing->{1, 0}], Cell[StyleData["Reference", "Printout"], CellMargins->{{18, 40}, {Inherited, 0}}, FontSize->8] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Automatic Numbering", "Section"], Cell["\<\ The following styles are useful for numbered equations, figures, etc. They \ automatically give the cell a FrameLabel containing a reference to a \ particular counter, and also increment that counter.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["NumberedEquation"], CellMargins->{{55, 10}, {0, 10}}, CellFrameLabels->{{None, Cell[ TextData[ {"(", CounterBox[ "NumberedEquation"], ")"}]]}, {None, None}}, DefaultFormatType->DefaultInputFormatType, CounterIncrements->"NumberedEquation", FormatTypeAutoConvert->False], Cell[StyleData["NumberedEquation", "Printout"], CellMargins->{{55, 55}, {0, 10}}, FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["NumberedFigure"], CellMargins->{{55, 145}, {2, 10}}, CellHorizontalScrolling->True, CellFrameLabels->{{None, None}, {Cell[ TextData[ {"Figure ", CounterBox[ "NumberedFigure"]}], FontWeight -> "Bold"], None}}, CounterIncrements->"NumberedFigure", FormatTypeAutoConvert->False], Cell[StyleData["NumberedFigure", "Printout"], FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["NumberedTable"], CellMargins->{{55, 145}, {2, 10}}, CellFrameLabels->{{None, None}, {Cell[ TextData[ {"Table ", CounterBox[ "NumberedTable"]}], FontWeight -> "Bold"], None}}, TextAlignment->Center, CounterIncrements->"NumberedTable", FormatTypeAutoConvert->False], Cell[StyleData["NumberedTable", "Printout"], CellMargins->{{18, Inherited}, {Inherited, Inherited}}, FontSize->10] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Formulas and Programming", "Section"], Cell[CellGroupData[{ Cell[StyleData["DisplayFormula"], CellMargins->{{55, 10}, {2, 10}}, CellHorizontalScrolling->True, ScriptLevel->0, SingleLetterItalics->True, UnderoverscriptBoxOptions->{LimitsPositioning->True}], Cell[StyleData["DisplayFormula", "Printout"], FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["ChemicalFormula"], CellMargins->{{55, 10}, {2, 10}}, AutoSpacing->False, ScriptLevel->1, ScriptBaselineShifts->{0.6, Automatic}, SingleLetterItalics->False, ZeroWidthTimes->True], Cell[StyleData["ChemicalFormula", "Printout"], FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Program"], CellMargins->{{18, 10}, {Inherited, 6}}, FontFamily->"Courier"], Cell[StyleData["Program", "Printout"], CellMargins->{{18, 30}, {Inherited, 4}}, FontSize->9.5] }, Closed]] }, 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->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1739, 51, 217, 7, 30, "Title"], Cell[1959, 60, 39, 0, 57, "Subtitle"], Cell[2001, 62, 710, 16, 128, "Text"], Cell[2714, 80, 276, 9, 35, "Text"], Cell[2993, 91, 290, 6, 58, "Text"], Cell[3286, 99, 217, 5, 35, "Text"], Cell[3506, 106, 253, 6, 58, "Text"], Cell[3762, 114, 538, 11, 81, "Text"], Cell[4303, 127, 366, 9, 151, "Text"], Cell[4672, 138, 498, 14, 58, "Text"], Cell[5173, 154, 494, 15, 58, "Text"], Cell[5670, 171, 82, 2, 34, "Input"], Cell[5755, 175, 162, 3, 58, "Text"], Cell[CellGroupData[{ Cell[5942, 182, 75, 2, 34, "Input"], Cell[6020, 186, 842, 20, 276, "Print"] }, Open ]], Cell[6877, 209, 151, 3, 35, "Text"], Cell[CellGroupData[{ Cell[7053, 216, 74, 2, 34, "Input"], Cell[7130, 220, 542, 8, 178, "Print"] }, Open ]], Cell[7687, 231, 153, 3, 58, "Text"], Cell[CellGroupData[{ Cell[7865, 238, 49, 0, 57, "Subtitle"], Cell[7917, 240, 142, 3, 35, "Text"], Cell[8062, 245, 195, 5, 55, "Input"], Cell[CellGroupData[{ Cell[8282, 254, 34, 0, 42, "Subsubsection"], Cell[8319, 256, 64, 0, 35, "Text"], Cell[CellGroupData[{ Cell[8408, 260, 88, 2, 34, "Input"], Cell[8499, 264, 63, 2, 48, "Output"] }, Open ]], Cell[8577, 269, 488, 16, 59, "Text"], Cell[CellGroupData[{ Cell[9090, 289, 93, 2, 34, "Input"], Cell[9186, 293, 84, 2, 48, "Output"] }, Open ]], Cell[9285, 298, 198, 6, 35, "Text"], Cell[CellGroupData[{ Cell[9508, 308, 94, 2, 34, "Input"], Cell[9605, 312, 62, 2, 48, "Output"] }, Open ]], Cell[9682, 317, 129, 3, 35, "Text"], Cell[CellGroupData[{ Cell[9836, 324, 90, 2, 34, "Input"], Cell[9929, 328, 62, 2, 48, "Output"] }, Open ]], Cell[10006, 333, 94, 1, 35, "Text"], Cell[CellGroupData[{ Cell[10125, 338, 89, 2, 34, "Input"], Cell[10217, 342, 100, 2, 48, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[10378, 351, 84, 1, 57, "Subtitle"], Cell[10465, 354, 200, 4, 58, "Text"], Cell[10668, 360, 400, 8, 96, "Input"], Cell[CellGroupData[{ Cell[11093, 372, 34, 0, 42, "Subsubsection"], Cell[11130, 374, 63, 0, 35, "Text"], Cell[CellGroupData[{ Cell[11218, 378, 89, 2, 34, "Input"], Cell[11310, 382, 63, 2, 48, "Output"] }, Open ]], Cell[11388, 387, 227, 4, 58, "Text"], Cell[CellGroupData[{ Cell[11640, 395, 88, 2, 34, "Input"], Cell[11731, 399, 63, 2, 48, "Output"] }, Open ]], Cell[11809, 404, 1157, 33, 151, "Text"], Cell[CellGroupData[{ Cell[12991, 441, 178, 4, 54, "Input"], Cell[13172, 447, 160, 3, 20, "Message"], Cell[13335, 452, 450, 9, 107, "Output"] }, Open ]], Cell[13800, 464, 516, 14, 82, "Text"], Cell[CellGroupData[{ Cell[14341, 482, 159, 3, 54, "Input"], Cell[14503, 487, 164, 3, 20, "Message"], Cell[14670, 492, 1513, 29, 225, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[16244, 528, 87, 1, 57, "Subtitle"], Cell[16334, 531, 164, 3, 35, "Text"], Cell[16501, 536, 276, 6, 75, "Input"], Cell[CellGroupData[{ Cell[16802, 546, 34, 0, 42, "Subsubsection"], Cell[16839, 548, 67, 0, 35, "Text"], Cell[CellGroupData[{ Cell[16931, 552, 89, 2, 34, "Input"], Cell[17023, 556, 63, 2, 48, "Output"] }, Open ]], Cell[17101, 561, 104, 3, 35, "Text"], Cell[CellGroupData[{ Cell[17230, 568, 88, 2, 34, "Input"], Cell[17321, 572, 64, 2, 48, "Output"] }, Open ]], Cell[17400, 577, 234, 4, 58, "Text"], Cell[CellGroupData[{ Cell[17659, 585, 86, 2, 34, "Input"], Cell[17748, 589, 158, 3, 20, "Message"], Cell[17909, 594, 61, 2, 48, "Output"] }, Open ]], Cell[17985, 599, 271, 7, 58, "Text"], Cell[CellGroupData[{ Cell[18281, 610, 244, 6, 95, "Input"], Cell[18528, 618, 334, 6, 88, "Output"] }, Open ]], Cell[18877, 627, 278, 11, 35, "Text"], Cell[CellGroupData[{ Cell[19180, 642, 73, 2, 34, "Input"], Cell[19256, 646, 485, 13, 81, "Output"] }, Open ]], Cell[19756, 662, 134, 5, 35, "Text"], Cell[CellGroupData[{ Cell[19915, 671, 486, 12, 34, "Input"], Cell[20404, 685, 855, 14, 180, "Output"] }, Open ]], Cell[21274, 702, 72, 0, 35, "Text"], Cell[CellGroupData[{ Cell[21371, 706, 78, 2, 34, "Input"], Cell[21452, 710, 1557, 42, 139, "Output"] }, Open ]], Cell[23024, 755, 289, 9, 58, "Text"], Cell[CellGroupData[{ Cell[23338, 768, 81, 2, 34, "Input"], Cell[23422, 772, 82, 2, 48, "Output"] }, Open ]], Cell[23519, 777, 461, 14, 58, "Text"], Cell[CellGroupData[{ Cell[24005, 795, 134, 3, 54, "Input"], Cell[24142, 800, 4957, 95, 587, "Output"] }, Open ]], Cell[29114, 898, 453, 12, 58, "Text"], Cell[CellGroupData[{ Cell[29592, 914, 81, 2, 34, "Input"], Cell[29676, 918, 82, 2, 48, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[29819, 927, 106, 1, 57, "Subtitle"], Cell[29928, 930, 69, 0, 35, "Text"], Cell[30000, 932, 211, 5, 34, "Input"], Cell[CellGroupData[{ Cell[30236, 941, 34, 0, 42, "Subsubsection"], Cell[30273, 943, 64, 0, 35, "Text"], Cell[CellGroupData[{ Cell[30362, 947, 89, 2, 34, "Input"], Cell[30454, 951, 63, 2, 48, "Output"] }, Open ]], Cell[30532, 956, 110, 3, 35, "Text"], Cell[CellGroupData[{ Cell[30667, 963, 88, 2, 34, "Input"], Cell[30758, 967, 64, 2, 48, "Output"] }, Open ]], Cell[30837, 972, 191, 4, 58, "Text"], Cell[CellGroupData[{ Cell[31053, 980, 187, 4, 75, "Input"], Cell[31243, 986, 870, 33, 84, "Output"], Cell[32116, 1021, 453, 13, 81, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[32606, 1039, 148, 3, 95, "Input"], Cell[32757, 1044, 885, 34, 84, "Output"] }, Open ]], Cell[33657, 1081, 101, 1, 35, "Text"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[33807, 1088, 68, 0, 57, "Subtitle"], Cell[33878, 1090, 137, 3, 35, "Text"], Cell[34018, 1095, 513, 9, 204, "Input"], Cell[CellGroupData[{ Cell[34556, 1108, 34, 0, 42, "Subsubsection"], Cell[34593, 1110, 99, 2, 35, "Text"], Cell[CellGroupData[{ Cell[34717, 1116, 98, 2, 34, "Input"], Cell[34818, 1120, 64, 2, 48, "Output"] }, Open ]], Cell[34897, 1125, 75, 0, 35, "Text"], Cell[CellGroupData[{ Cell[34997, 1129, 80, 2, 34, "Input"], Cell[35080, 1133, 390, 7, 107, "Output"] }, Open ]], Cell[35485, 1143, 270, 9, 35, "Text"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[35804, 1158, 51, 0, 57, "Subtitle"], Cell[35858, 1160, 157, 3, 35, "Text"], Cell[36018, 1165, 357, 7, 164, "Input"], Cell[CellGroupData[{ Cell[36400, 1176, 34, 0, 42, "Subsubsection"], Cell[36437, 1178, 105, 3, 35, "Text"], Cell[CellGroupData[{ Cell[36567, 1185, 101, 2, 34, "Input"], Cell[36671, 1189, 63, 2, 48, "Output"] }, Open ]], Cell[36749, 1194, 33, 0, 35, "Text"], Cell[CellGroupData[{ Cell[36807, 1198, 94, 2, 34, "Input"], Cell[36904, 1202, 199, 4, 37, "Message"], Cell[37106, 1208, 623, 9, 152, "Message"], Cell[37732, 1219, 419, 7, 102, "Message"], Cell[38154, 1228, 338, 7, 115, "Output"] }, Open ]], Cell[38507, 1238, 445, 12, 81, "Text"], Cell[38955, 1252, 139, 3, 34, "Input"], Cell[CellGroupData[{ Cell[39119, 1259, 74, 2, 34, "Input"], Cell[39196, 1263, 1481, 57, 144, "Output"] }, Open ]], Cell[40692, 1323, 106, 3, 35, "Text"], Cell[CellGroupData[{ Cell[40823, 1330, 73, 2, 34, "Input"], Cell[40899, 1334, 627, 17, 135, "Output"] }, Open ]], Cell[41541, 1354, 157, 5, 35, "Text"], Cell[CellGroupData[{ Cell[41723, 1363, 188, 4, 75, "Input"], Cell[41914, 1369, 1656, 44, 145, "Output"] }, Open ]], Cell[43585, 1416, 232, 8, 35, "Text"], Cell[CellGroupData[{ Cell[43842, 1428, 88, 2, 34, "Input"], Cell[43933, 1432, 63, 2, 48, "Output"] }, Open ]], Cell[44011, 1437, 556, 10, 127, "Text"], Cell[CellGroupData[{ Cell[44592, 1451, 139, 3, 34, "Input"], Cell[44734, 1456, 294, 6, 88, "Output"] }, Open ]], Cell[45043, 1465, 103, 3, 35, "Text"], Cell[CellGroupData[{ Cell[45171, 1472, 77, 2, 34, "Input"], Cell[45251, 1476, 525, 9, 69, "Output"] }, Open ]], Cell[45791, 1488, 444, 7, 104, "Text"], Cell[CellGroupData[{ Cell[46260, 1499, 98, 2, 34, "Input"], Cell[46361, 1503, 108, 2, 48, "Output"] }, Open ]], Cell[46484, 1508, 92, 2, 35, "Text"], Cell[CellGroupData[{ Cell[46601, 1514, 112, 2, 34, "Input"], Cell[46716, 1518, 60, 2, 48, "Output"] }, Open ]], Cell[46791, 1523, 359, 6, 81, "Text"], Cell[CellGroupData[{ Cell[47175, 1533, 112, 2, 34, "Input"], Cell[47290, 1537, 314, 5, 110, "Output"] }, Open ]], Cell[47619, 1545, 142, 3, 58, "Text"], Cell[CellGroupData[{ Cell[47786, 1552, 200, 4, 34, "Input"], Cell[47989, 1558, 303, 5, 103, "Output"] }, Open ]], Cell[48307, 1566, 71, 0, 35, "Text"], Cell[CellGroupData[{ Cell[48403, 1570, 97, 2, 34, "Input"], Cell[48503, 1574, 60, 2, 48, "Output"] }, Open ]], Cell[48578, 1579, 63, 0, 35, "Text"], Cell[CellGroupData[{ Cell[48666, 1583, 136, 4, 34, "Input"], Cell[48805, 1589, 165, 4, 64, "Output"] }, Open ]], Cell[48985, 1596, 63, 0, 35, "Text"], Cell[CellGroupData[{ Cell[49073, 1600, 154, 3, 34, "Input"], Cell[49230, 1605, 165, 4, 64, "Output"] }, Open ]], Cell[49410, 1612, 251, 7, 58, "Text"], Cell[CellGroupData[{ Cell[49686, 1623, 127, 3, 34, "Input"], Cell[49816, 1628, 162, 3, 68, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[50015, 1636, 74, 2, 34, "Input"], Cell[50092, 1640, 862, 34, 84, "Output"] }, Open ]] }, Open ]] }, Open ]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)