(*********************************************************************** 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[ 125657, 4721]*) (*NotebookOutlinePosition[ 126942, 4758]*) (* CellTagsIndexPosition[ 126898, 4754]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData[{ " Pairs of Subspheres in ", Cell[BoxData[ \(TraditionalForm\`S\^3\)]] }], "Title", Evaluatable->False, CellHorizontalScrolling->False, TextAlignment->Center], Cell["by", "Subsubtitle", Evaluatable->False, CellHorizontalScrolling->False, TextAlignment->Center, FontFamily->"Times New Roman", FontSize->14, FontWeight->"Bold", FontColor->GrayLevel[0], Background->GrayLevel[1]], Cell["Rolf Sulanke", "Text", Evaluatable->False, CellHorizontalScrolling->False, TextAlignment->Center, FontSize->24], Cell["April 14, 1999, revised May 31, 1999, December 7, 2000", "Text", Evaluatable->False, CellHorizontalScrolling->False, TextAlignment->Center], Cell[CellGroupData[{ Cell["Summary", "Subsubsection", TextAlignment->Left], Cell[TextData[{ "This notebook describes the Moebius invariants for pairs of subspheres in \ ", Cell[BoxData[ \(TraditionalForm\`S\^3\)]], ", or, by stereographic projection, in the euclidean 3-space . The most \ important cases, pairs of spheres and pairs of circles, are treated in the \ notebooks mspheres.nb and mcircles.nb, some procedures of which are needed in \ the present notebook. In section 2 pairs consisting of a sphere and a circle \ are considered; they are characterized up to M\[ODoubleDot]bius equivalence \ by a single invariant invsc. Certain expressions of invsc in terms of \ euclidean invariants of the pairs are deduced. Section 3 treats pairs \ consisting of a sphere and a point pair; remember that point pairs are \ 0-spheres. Their mutual position is described again by a single invariant \ named invspp. In section 4 pairs of 1-spheres and 0-spheres, i.e. circles and \ point pairs, are considered; their mutual position depends on two invariants: \ the eigenvalues of a double projection, see [4]. Finally, section 5 treats \ point quadruples as pairs of 0-spheres, and in section 6 the geodesics in \ the space of 0-spheres (= point pairs) are considered. The last section \ imports ThreeScript and MathGL3d, which can be applied for animations of the \ created 3D-graphics. \nFor differential geometry with ", StyleBox["Mathematica", FontSlant->"Italic"], " in the euclidean 3-space see Alfred Gray [1].\nFor the concepts of M\ \[ODoubleDot]bius geometry applied here see my preprint [4]." }], "Text", Evaluatable->False], Cell["\<\ A systematic description of the circle space is contained in the diploma \ paper of Uwe May [3].\ \>", "Text"], Cell["\<\ Some tools for working in the pseudo-orthogonal Lie algebra we took from \ [5]\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["References", "Subsubsection"], Cell["\<\ [1] Gray, Alfred. Modern Differential Geometry of Curves and Surfaces. CRC \ PRESS, 1993 (German translation: Spektrum Akademischer Verlag 1994)\ \>", "Text"], Cell["\<\ [2] Kuska, Jens-Peer. http://phong.informatik.uni-leipzig.de/ \ ~kuska/mview3d.html. [3] May, Uwe. Der Raum der Kreise in der Sph\[ADoubleDot]re. Diplomarbeit, \ Humboldt-Universit\[ADoubleDot]t, Berlin, 1993\ \>", "Text"], Cell[TextData[{ "[4] Sulanke, R. M\[ODoubleDot]bius invariants for pairs (", Cell[BoxData[ \(TraditionalForm\`S\_1\%m\)]], ", ", Cell[BoxData[ \(TraditionalForm\`S\_2\%l\)]], ") of spheres in the M\[ODoubleDot]bius space ", Cell[BoxData[ \(TraditionalForm\`S\^n\)]], ". http://xxx.lanl.gov/abs/math.MG/9902131" }], "Text", Evaluatable->False], Cell["\<\ [5] R.Sulanke,R. Lie Algebras. \ http://www.mathsource.com/cgi-bin/msitem?0210-845.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Keywords: ", "Subsubsection"], Cell["\<\ pseudo-euclidean geometry, Moebius geometry, rank of a matrix, random \ matrix, 3D-circles, invariants of pairs of subspheres (arbitrary dimensions), \ double projection, stationary angles, eigenspheres, point pairs as 0-spheres, \ associated spheres, point quadruples, throws, geodesics in the space of \ 0-spheres, Killing form, MathGL3d.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Address", "Subsubsection"], Cell["sulanke@mathematik.hu-berlin.de", "Text"], Cell["\<\ The author will be very thankful for hints, corrections, comments.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Initialization", "Section"], Cell[CellGroupData[{ Cell["The needed packages", "Subsection"], Cell["\<\ Before initializing the present notebook ensure that the packages euvec.m pseuvec.m mspher.m mcirc.m and the master package init.m are in your working directory. These packages \ are contained in the item \"Spheres\". For the present notebook the package spiralsf.m is not needed.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["3D graphics, animations", "Subsection"], Cell[TextData[{ "In the notebook command lines using ThreeScript, or MVShow3D appear. They \ may used for 3D-representations and animations of ", StyleBox["Mathematica", FontSlant->"Italic"], " Graphics3D objects. To apply them you must have the necessary software on \ your computer. Look in the last section. " }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["For Windows", "Subsection"], Cell[TextData[{ "For the commands in this subsection:\n", StyleBox["DO NOT CONFIRM THE EVALUATION OF THE INITIALIZATION CELLS !!!", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]] }], "Text"], Cell[" If the result of the following command ", "Text"], Cell[BoxData[ \(Directory[]\)], "Input", CellLabel->"In[3]:="], Cell["\<\ does not coincide with the working directory, e.g. \"C:\\Eigene \ Dateien\\mymath\\spheres.v4\", containing the needed packages, insert the \ Path of your working directory in the next command line and activate it \ first, without calling the initialization:\ \>", "Text"], Cell[BoxData[ \(SetDirectory["\"]\)], "Input", CellLabel->"In[37]:="], Cell["\<\ If you want that all commands contained in the packages of the item \ \"Spheres\" are available, activate\ \>", "Text"], Cell[BoxData[ \(Get["\"]\)], "Input", CellLabel->"In[4]:="], Cell[TextData[StyleBox["Now: Activite Kernel/Evaluation/Evaluate \ Initialization from the menu!", FontSize->18, FontColor->RGBColor[1, 0, 0]]], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["For Linux (and other systems: not tested!)", "Subsection"], Cell[TextData[{ "For the next command:\n", StyleBox["DO NOT CONFIRM THE EVALUATION OF THE INITIALIZATION CELLS !!!", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]] }], "Text"], Cell["\<\ If you want to use the package euvec.m only, remove the file init.m from the \ working directory and carry out the next command.\ \>", "Text"], Cell[BoxData[ \(Needs["\"]\)], "Input", CellLabel->"In[1]:="], Cell[TextData[StyleBox["Now: Activite Kernel/Evaluation/Evaluate \ Initialization from the menu!", FontSize->18, FontColor->RGBColor[1, 0, 0]]], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["1 Preliminaries", "Section"], Cell[CellGroupData[{ Cell["1.1 Pseudo-euclidean vector algebra and other prerequisites", \ "Subsection", FontFamily->"Times New Roman"], Cell["\<\ The dimension dim of the underlying vector space and the index ind of the \ (non-degenerate, symmetric) scalar product are now defined by\ \>", "Text"], Cell[BoxData[ \(dim\ = \ 5; \ ind\ = \ 1;\)], "Input", CellLabel->"In[1]:=", InitializationCell->True], Cell["\<\ because in this notebook the 3-dimensional sphere is treated as the \ elliptical hyperquadric in the four-dimensional projective space, which \ belongs to the five-dimensional real vector space. You can change these \ constants only before starting the evaluation of the initialization cells by \ changing this command line.. But remember that these constants enter in \ almost all of the treated concepts; therefore they should be defined before \ using the packages.\ \>", "Text", Evaluatable->False, FontFamily->"Times New Roman"], Cell["\<\ The matrix of the scalar products of any orthonormal basis of the \ pseudo-euclidean vector space is\ \>", "Text"], Cell[BoxData[ \(MatrixForm[Table[pssp[stb[i], \ stb[j]], {i, 5}, {j, 5}]]\)], "Input", CellLabel->"In[2]:=", InitializationCell->True], Cell["\<\ Terminology: Spheres are usual 2-dimenional spheres if we consider the \ 3-dimensional spherical geometry; in this notebook spheres are hyperspheres \ for all dimensions. We prefer the three-dimensional case since we can imagine \ this geometry and represent the configurations graphically. \ \>", "Text", Evaluatable->False, FontFamily->"Times New Roman"] }, Closed]], Cell[CellGroupData[{ Cell["1.2 The usages", "Subsection"], Cell["\<\ After a package has been loaded you can get information about the listed \ concepts in the usual way, e.g.\ \>", "Text", Evaluatable->False, FontFamily->"Times New Roman"], Cell[BoxData[ \(\(?orthonorm\)\)], "Input", CellLabel->"In[13]:="], Cell[BoxData[ \(Context[orthonorm]\)], "Input", CellLabel->"In[15]:="], Cell["\<\ For getting the usage and the complete definition, enter e.g.\ \>", "Text"], Cell[BoxData[ \(?? spt\)], "Input", CellLabel->"In[13]:="], Cell["\<\ Since the names are prepended by the ContextNames the definition obtained in \ this way are hard to read. Therefore you will find some of them below in the \ original form in unevaluable cells. It is recommended to look in the \ packages.\ \>", "Text", Evaluatable->False, FontFamily->"Times New Roman"], Cell[CellGroupData[{ Cell["Symbols in mcirc.m", "Subsubsection"], Cell["\<\ Here you can get information about the commands which are defined in mcirc.m:\ \ \>", "Text"], Cell[BoxData[ \(TableForm[{"\", "\", "\", \ "\", "\", "\", "\", \ "\", "\", "\", \ "\", "\", "\", \ "\", "\", "\", \ "\", "\", "\", "\", "\", \ "\", "\", "\", "\", \ "\", "\"}]\)], "Input", CellLabel->"In[19]:="], Cell["To get the usages activate the next cell!", "Text"], Cell[BoxData[ \(\({\(?"\"\), \(?"\"\), \(?"\"\), \(?"\ \"\), \(?"\"\), \ \(?"\"\), \ \ \(?"\"\), \(?"\"\), \(?"\"\), \ \(?"\"\), \(?"\"\), \ \(?"\"\), \ \ \(?"\"\), \ \ \ \(?"\"\), \ \(?"\"\), \ \(?"\"\), \ \(?"\"\), \(?"\"\), \ \(?"\"\), \ \(?"\"\), \ \(?"\"\), \(?"\"\), \ \(?"\"\), \(?"\"\), \ \n\ \(?"\"\), \ \ \(?"\"\), \ \(?"\"\)};\)\)], "Input", CellLabel->"In[20]:="] }, Closed]], Cell[CellGroupData[{ Cell["Symbols in euvec.m", "Subsubsection"], Cell[BoxData[ \(TableForm[{"\", "\", "\", \ "\", "\", "\", "\", \ "\", "\", "\", "\", "\", \ "\", "\", "\", "\", "\", "\ \", "\", "\", "\", \ \ "\", "\", "\", \ "\", "\", "\", "\", "\", "\"}]\)], "Input", CellLabel->"In[21]:="], Cell["To get the usages activate the next cell!", "Text"], Cell[BoxData[ \(\({\(?"\"\), \(?"\"\), \(?"\"\), \ \(?"\"\), \(?"\"\), \(?"\"\), \ \(?"\"\), \(?"\"\), \(?"\"\), \(?"\"\), \(?"\ \"\), \(?"\"\), \(?"\"\), \(?"\"\ \), \(?"\"\), \(?"\"\), \(?"\"\), \ \(?"\"\), \(?"\"\), \(?"\"\), \ \(?"\"\), \(?"\"\), \(?"\"\), \ \(?"\"\), \(?"\"\), \(?"\"\), \ \(?"\"\), \(?"\"\), \(?"\"\)};\)\)], "Input", CellLabel->"In[22]:="], Cell[BoxData[ \(?? invsterproj\)], "Input", CellLabel->"In[23]:="] }, Closed]], Cell[CellGroupData[{ Cell["Symbols in pseuvec.m", "Subsubsection"], Cell[BoxData[ \(\(\(TableForm[{"\", "\", "\", "\", \ "\", "\", "\", "\", "\", \ "\", "\"}]\)\(\ \)\)\)], "Input", CellLabel->"In[24]:="], Cell["To get the usages activate the next cell!", "Text"], Cell[BoxData[ \(\({\(?"\"\), \(?"\"\), \(?"\"\), \ \(?"\"\), \(?"\"\), \(?"\"\), \(?"\"\ \), \(?"\"\), \(?"\"\), \(?"\"\), \ \(?"\"\)};\)\)], "Input", CellLabel->"In[25]:="], Cell[BoxData[ \(\(?psfilter\)\)], "Input", CellLabel->"In[26]:="], Cell[BoxData[ \(?? pscross\)], "Input", CellLabel->"In[27]:="], Cell[BoxData[ \(?? psCross\)], "Input", CellLabel->"In[28]:="] }, Closed]], Cell[CellGroupData[{ Cell["Symbols in mspher.m", "Subsubsection"], Cell[BoxData[ \(\(\(TableForm[{"\", \ "\", \ "\", \ \ "\", \ "\", \n"\", \ "\", \ \ "\", \ "\", \ "\", \ "\", \ \n"\", \ "\", "\", \ "\"}]\)\(\ \)\)\)], \ "Input", CellLabel->"In[29]:="], Cell["To get the usages activate the next cell!", "Text"], Cell[BoxData[ \(\({\(?"\"\), \ \(?"\"\), \ \(?"\"\), \ \ \(?"\"\), \ \(?"\"\), \n\(?"\"\), \ \(?"\ \"\), \ \(?"\"\), \ \(?"\"\), \ \ \(?"\"\), \ \(?"\"\), \n\(?"\"\), \ \ \(?"\"\), \(?"\"\), \ \(?"\"\)};\)\)], "Input", CellLabel->"In[30]:="], Cell[BoxData[ \(?? spunit\)], "Input", CellLabel->"In[31]:="] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["1.3 Some tools", "Subsection"], Cell[CellGroupData[{ Cell["A general vector, random vectors", "Subsubsection"], Cell[BoxData[ \(vec[x_, \ n_: dim]\ := \ Table[x[i], \ {i, \ n}]\)], "Input", CellLabel->"In[27]:=", Evaluatable->False, FontSize->15], Cell[BoxData[ \(vec[Sin]\)], "Input", CellLabel->"In[32]:="], Cell[BoxData[ \(N[%]\)], "Input", CellLabel->"In[33]:="], Cell[BoxData[ \(randomv[n_: dim]\ := \ Table[Random[], {i, \ n}]\)], "Input", CellLabel->"In[33]:=", Evaluatable->False], Cell[BoxData[ \(randomv[]\)], "Input", CellLabel->"In[34]:="] }, Closed]], Cell[CellGroupData[{ Cell["Rank of a matrix, random matrices", "Subsubsection"], Cell["\<\ We shall consider the mutual position of a circle and a sphere in the 3-space \ or the 3-sphere and the corresponding M\[ODoubleDot]bius invariants. Denote \ by S = S(vn), vn a spacelike unit vector, the sphere and by C = C(cn1,cn2) \ the circle corresponding to the euclidean subspace spanned by the orthonormal \ pair cn1,cn2. We have C \[Subset] S iff rank(vn,cn1,cn2) < 3.\ \>", "Text"], Cell[BoxData[ \(rank[m_]\ := \ Module[{\ di\ = \ Length[m[\([1]\)]], \ nsp}, \n\t\tnsp\ = \ NullSpace[m]; \n\t\tdi\ - \ Length[nsp]] /; MatrixQ[m]\)], "Input", CellLabel->"In[3]:=", Evaluatable->False], Cell[BoxData[ \(rank[{stb[1], \ stb[3], \ stb[4]}]\)], "Input", CellLabel->"In[35]:="], Cell[BoxData[ \(rank[{stb[1], \ stb[1], \ stb[4]}]\)], "Input", CellLabel->"In[36]:="], Cell[BoxData[ \(rank[{{Cos[t], Sin[t]}, {\(-Sin[t]\), Cos[t]}}]\)], "Input", CellLabel->"In[37]:="], Cell[BoxData[ \(Timing[rank[IdentityMatrix[10^3]]]\)], "Input", CellLabel->"In[38]:="], Cell[BoxData[ \(randommatrix[k_, l_]\ := \ Table[randomv[l], \ {k}]\)], "Input", CellLabel->"In[3]:=", InitializationCell->True], Cell[BoxData[ \(randommatrix[2, 3] // MatrixForm\)], "Input", CellLabel->"In[167]:="], Cell[BoxData[ \(Timing[rank[randommatrix[100, 200]]]\)], "Input", CellLabel->"In[168]:="] }, Closed]], Cell[CellGroupData[{ Cell["Finding orthogonal pairs", "Subsubsection"], Cell["The following definition is given in pseuklid.m:", "Text"], Cell[BoxData[ \(\(?orthopair\)\)], "Input", CellLabel->"In[42]:="], Cell["Examples:", "Text", FontSize->16, FontVariations->{"Underline"->True}], Cell[BoxData[ \(orthopair[{0.5, 0.5, 1, 0, 0}]\)], "Input", CellLabel->"In[43]:="], Cell["\<\ Working with floating point numbers may give approximate results only:\ \>", "Text"], Cell[BoxData[ \(orthopair[{0.5, 0.5, 1, 1, 1}]\)], "Input", CellLabel->"In[44]:="], Cell[BoxData[ \(Table[pssp[%[\([i]\)], %[\([j]\)]], {i, 2}, {j, 2}]\)], "Input", CellLabel->"In[45]:="], Cell["Here is an exact solution:", "Text"], Cell[BoxData[ \(orthopair[{1/2, 1/2, 1, 1, 1}]\)], "Input", CellLabel->"In[46]:="], Cell[BoxData[ \(Table[pssp[%[\([i]\)], %[\([j]\)]], {i, 2}, {j, 2}]\)], "Input", CellLabel->"In[47]:="], Cell[BoxData[ \(orthopair[stb[1]]\)], "Input", CellLabel->"In[48]:="], Cell[BoxData[ \(orthopair[{Cos[t], Sin[t], \ 0, 0, 1}]\)], "Input", CellLabel->"In[49]:="] }, Closed]], Cell[CellGroupData[{ Cell["Control of orthonormality", "Subsubsection"], Cell["If necessary, one can apply the following control:", "Text", Evaluatable->False], Cell[BoxData[ \(\(?control\)\)], "Input", CellLabel->"In[50]:="], Cell[BoxData[ \(control[v_List, w_List, \ prod_: pssp] := Simplify[\((prod[v, v] - 1)\)\^2 + prod[v, w]\^2 + \((prod[w, w] - 1)\)\^2]\)], "Input", CellLabel->"In[5]:=", Evaluatable->False], Cell["\<\ If all is correct the result must be 0, or numerically very small. If the \ result depends on a parameter, integrate!\ \>", "Text", Evaluatable->False], Cell["EXAMPLE:", "Text"], Cell[BoxData[ \(orthopair[{Cos[t], Sin[t], \ 0, 0, 1/2}]\)], "Input", CellLabel->"In[51]:="], Cell[BoxData[ \(control[%[\([1]\)], %[\([2]\)]]\)], "Input", CellLabel->"In[52]:="], Cell[BoxData[ \(control[stb[1], \ stb[5]]\)], "Input", CellLabel->"In[53]:="], Cell[BoxData[ \(\((va\ = \ randomv[]; \ Print[va, "\<, \>", \ ch[va]]; vb\ = orthopair[va]; Print[vb]; \[IndentingNewLine]control[vb[\([1]\)], \ vb[\([2]\)]])\)\)], "Input", CellLabel->"In[54]:="], Cell[BoxData[ \(Remove[va, \ vb]\)], "Input", CellLabel->"In[55]:="], Cell["\<\ The default scalar product is pssp; you may use another scalar product \ inserting it as second argument:\ \>", "Text"], Cell[BoxData[ \({{Cos[t], Sin[t], \ 0, 0}, \ stb[2, 4]}\)], "Input", CellLabel->"In[56]:="], Cell[BoxData[ \(control[%[\([1]\)], %[\([2]\)], \ Dot]\)], "Input", CellLabel->"In[57]:="], Cell[BoxData[ \({{Cos[t], Sin[t], \ 0, 0}, \ stb[3, 4]}\)], "Input", CellLabel->"In[58]:="], Cell[BoxData[ \(control[%[\([1]\)], %[\([2]\)], \ Dot]\)], "Input", CellLabel->"In[59]:="] }, Closed]], Cell[CellGroupData[{ Cell["Smoothing", "Subsubsection"], Cell[TextData[{ "The following function makes an almost zero number to be zero; the \ sensibility can be regulated by the optional second argument, whose default \ value is ", Cell[BoxData[ \(10\^\(-10\)\)]], "; for the difference to Chop see the remark in the notebook eusphere.nb." }], "Text"], Cell[BoxData[ \(\(smoothing[a_, b_: 10^\(-10\)] := Module[{c = a}, If[b \[Equal] 1, Return[c], If[Abs[c] < b, c = 0]]; \ c];\)\)], "Input", Evaluatable->False] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["2 Spheres and circles", "Section"], Cell[CellGroupData[{ Cell["2.1 The invariant invsc", "Subsection"], Cell[CellGroupData[{ Cell["Definition of invsc", "Subsubsection"], Cell["\<\ By the general theory, the pair (S(vn), C(cn1,cn2)), S(vn) the sphere \ corresponding to the spacelike unit vector vn, C(cn1,cn2) the circle defined \ by the euclidean 2-space spanned by the orthonormal vectors cn1,cn2, is \ defined up to M\[ODoubleDot]bius equivalence by a single invariant:\ \>", "Text"], Cell[BoxData[ \(invsc[vn_, cn1_, cn2_] := \ pssp[vn, \ cn1]^2\ + \ \ pssp[vn, \ cn2]^2\)], "Input", CellLabel->"In[4]:=", InitializationCell->True], Cell["\<\ Obviously, this invariant is independent of the choice of the generating \ vectors (vn normed, cn1,cn2 orthonormal):\ \>", "Text"], Cell[BoxData[ \(fct[t_]\ := \ invsc[vec[x], \ stb[3]\ *Cos[t]\ + \ stb[4]*Sin[t], \(-\ stb[3]\)*Sin[t]\ + \ stb[4]*Cos[t]]\)], "Input", CellLabel->"In[60]:="], Cell[BoxData[ \(Simplify[fct[t]\ - fct[0]]\)], "Input", CellLabel->"In[61]:="], Cell["\<\ As circle we have chosen here the \"standard circle\" grc1 defined by stb[3], \ stb[4]:\ \>", "Text"], Cell[BoxData[ \(Show[grc1]\)], "Input", CellLabel->"In[62]:="], Cell[TextData[{ "that is not a restriction of generality, since the M\[ODoubleDot]bius \ group acts transitively on the manifold of all circles. The formula for invsc \ makes sense for arbitrary vectors vn = vec[x]; it defines an invariant of the \ subspaces defined by vn, and cn1,cn2, only if the vector vn can be \ normalized (cn1,cn2 assumed to be orthonormal). If vn is timelike, it defines \ a hyperbolic 3-dimensional linear complex of spheres: This are all the \ spheres corressponding to spacelike unit vectors orthogonal to vn. Generally, \ invsc[vn, cn1,cn2] = 0 if and only iff all spheres containing the circle \ C(cn1,cn2) belong to the linear sphere complex defined by vn. For isotropic \ vectors vn = vec[x] only the vanishing of invsc is an invariant property. Let \ p denote the point of ", Cell[BoxData[ \(S\^3\)]], " defined by the isotropic vector vn. Then we have\ninvsc[vn, cn1,cn2] = 0 \ <==> p \[Element] C.\nOne easily proves that the M\[ODoubleDot]bius group \ acts transitively on each of the manifolds of pairs\n{(p, C) | p \[Element] \ C}, {(p, C) | p \[Element] ", Cell[BoxData[ \(S\^3\)]], " \\ C}.\n(Exercise: Show this using pseudo-orthogonal linear algebra.)" }], "Text"], Cell[BoxData[ \(Clear[fct]\)], "Input", CellLabel->"In[63]:="] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["2.2 Examples", "Subsection"], Cell[CellGroupData[{ Cell["Inclusion: rank 2", "Subsubsection"], Cell["\<\ Clearly, we always have rank[{vn,cn1,cn2}] \[GreaterEqual] 2. Any two pairs \ (C, S) with C \[Subset] S are M\[ODoubleDot]bius equivalent, and this \ inclusion takes place iff rank[{vn,cn1,cn2}] = 2, and then we have \ invsc[vn,cn1,cn2] = 1. Indeed, we have rank[{vn,cn1,cn2}] = 2 iff vn is \ contained in the span of cn1, cn2. Then vn must be spacelike, and being \ normed it follows invsc[vn,cn1,cn2] = 1. The spheres corresponding to \ \>", "Text", TextAlignment->Left], Cell["vn = cn1*Cos[t] + cn2*Sin[t]", "Text", TextAlignment->Center], Cell["\<\ form the bundle of spheres through the circle; this is a spacelike geodesic \ in the space of all spheres, see mspheres.nb, section 5.3.\ \>", "Text"], Cell[BoxData[ \(Table[ euklidsphereplot3D[N[{0, 0, Cos[k*Pi/10], \ Sin[k*Pi/10], 0}], \(-1\), 0, \(-1\), 1], \ {k, 10}]\)], "Input", CellLabel->"In[64]:="], Cell[BoxData[ \(Show[%]\)], "Input", CellLabel->"In[65]:="], Cell[BoxData[ \(Show[{%, grc1}]\)], "Input", CellLabel->"In[66]:="] }, Closed]], Cell[CellGroupData[{ Cell["Tangent pairs", "Subsubsection"], Cell["\<\ The condition invsc[vn,cn1,cn2] = 1 does not be sufficient for the inclusion \ of the circle into the sphere. From the results in [4] it follows: If \ \>", "Text", TextAlignment->Left], Cell["rank[{vn,cn1,cn2}] =3, and invsc[vn,cn1,cn2] = 1", "Text", TextAlignment->Center], Cell["the circle is tangent to, but not contained in the sphere. ", "Text"], Cell["1. Example", "Text"], Cell[BoxData[ \(vmm = { .5, 0, 1, 0, .5}\)], "Input", CellLabel->"In[70]:="], Cell[BoxData[ \(pssp[vmm, vmm]\)], "Input", CellLabel->"In[71]:="], Cell[BoxData[ \(euklidsphereplot3D[vmm]\)], "Input", CellLabel->"In[72]:="], Cell[BoxData[ \(Show[{%, grc1}]\)], "Input", CellLabel->"In[73]:="], Cell[BoxData[ \(testgr = %\)], "Input", CellLabel->"In[74]:="], Cell[BoxData[ \(vcenter[vmm]\)], "Input", CellLabel->"In[75]:="], Cell[BoxData[ \(vradius[vmm]\)], "Input", CellLabel->"In[76]:="], Cell[BoxData[ \(invsc[vmm, stb[3], stb[4]]\)], "Input", CellLabel->"In[77]:="], Cell[BoxData[ \(MVShow3D[testgr, \ MVLineTubeSize\ -> \ 0.03]\)], "Input", CellLabel->"In[78]:="], Cell["2. Example", "Text"], Cell[BoxData[ \(spacevec[2*Cos[t], \ 2*Sin[t], 0, 1]\)], "Input", CellLabel->"In[79]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[80]:="], Cell[BoxData[ \(invsc[{2\ Cos[t], 2\ Sin[t], 0, 1, 2}, stb[3], stb[4]]\)], "Input", CellLabel->"In[81]:="], Cell[BoxData[ \(rank[{{2\ Cos[t], 2\ Sin[t], 0, 1, 2}, stb[3], stb[4]}]\)], "Input", CellLabel->"In[82]:="], Cell[BoxData[ \(Table[ euklidsphereplot3D[N[{2*Cos[k*Pi/5], 2*Sin[k*Pi/5], 0, 1, 2}]], \ {k, 10}]\)], "Input", CellLabel->"In[83]:="], Cell[BoxData[ \(Show[%]\)], "Input", CellLabel->"In[84]:="], Cell[BoxData[ \(Show[{%, grc1}]\)], "Input", CellLabel->"In[85]:="], Cell[BoxData[ \(tangex = \ %\)], "Input", CellLabel->"In[86]:="], Cell[BoxData[ \(MVShow3D[tangex, \ MVLineTubeSize\ \[Rule] \ 0.03]\)], "Input", CellLabel->"In[87]:="] }, Closed]], Cell[CellGroupData[{ Cell["Intersecting pairs", "Subsubsection"], Cell["\<\ We assume now rank[vn,cn1, cn2] = 3. The sphere S and the circle C are \ intersecting in a 0-sphere (two points) iff the orthogonal complement of \ span[vn,cn1, cn2] is pseudo-euclidean, and this is the case iff invsc[vn, cn1, cn2] < 1. \ \>", "Text", TextAlignment->Center], Cell[TextData[{ "In the next section we shall see that in this case one has\n", Cell[BoxData[ \(TraditionalForm\`Cos[\[Alpha]]\^2\)]], " = ", " invsc[vn, cn1, cn2]", "," }], "Text", TextAlignment->Center], Cell["\<\ where \[Alpha] denotes the intersection angle. Consider the standard unit \ circle and the halfspheres \ \>", "Text"], Cell[BoxData[ \(Table[ invsc[stb[2]*Cos[k*Pi/20] + stb[4]*Sin[k*Pi/20], stb[3], stb[4]], \ {k, 3, 8}]\)], "Input", CellLabel->"In[88]:="], Cell[BoxData[ \(N[%]\)], "Input", CellLabel->"In[89]:="], Cell[BoxData[ \(Table[ euklidsphereplot3D[ N[stb[2]*Cos[k*Pi/20] + stb[4]*Sin[k*Pi/20]], \(-1\), 0, \(-1\), 1], \ {k, 3, 8}]\)], "Input", CellLabel->"In[90]:="], Cell[BoxData[ \(Show[%]\)], "Input", CellLabel->"In[91]:="], Cell[BoxData[ \(Show[{grc1, \ %}, \ PlotRange\ \[Rule] \ All]\)], "Input", CellLabel->"In[92]:="], Cell[BoxData[ \(tgr1\ = \ %\)], "Input", CellLabel->"In[93]:="], Cell[BoxData[ \(MVShow3D[tgr1, \ MVLineTubeSize\ -> \ 0.03]\)], "Input", CellLabel->"In[94]:="], Cell["\<\ We try another example: We fix the unit sphere and vary the circle:\ \>", "Text"], Cell[BoxData[ \(Table[ invsc[stb[4], stb[3]*Sin[k*Pi/20]\ + \ stb[4]*Cos[k*Pi/20], \ stb[2]*Sqrt[2] + stb[5]], \ {k, 1, 10}]\)], "Input", CellLabel->"In[95]:="], Cell[BoxData[ \(N[%]\)], "Input", CellLabel->"In[96]:="], Cell[BoxData[ \(Table[ plotcircle2spv[stb[3]*N[Sin[k*Pi/20]] + \ stb[4]*N[Cos[k*Pi/20]], \ stb[2]*N[Sqrt[2]] + stb[5]], \ {k, 1, 10}]\)], "Input", CellLabel->"In[97]:="], Cell[BoxData[ \(Show[%]\)], "Input", CellLabel->"In[98]:="], Cell[BoxData[ \(tgrc10\ = \ %\)], "Input", CellLabel->"In[99]:="], Cell[BoxData[ \(euklidsphereplot3D[stb[4]]\)], "Input", CellLabel->"In[100]:="], Cell[BoxData[ \(grs1\ = \ %\)], "Input", CellLabel->"In[101]:="], Cell[BoxData[ \(Show[{grs1, tgrc10}]\)], "Input", CellLabel->"In[102]:="], Cell[BoxData[ \(tgrscc\ = \ %\)], "Input", CellLabel->"In[103]:="], Cell[BoxData[ \(MVShow3D[tgrscc, \ MVLineTubeSize\ -> \ 0.01]\)], "Input", CellLabel->"In[105]:="] }, Closed]], Cell[CellGroupData[{ Cell["Orthogonal intersections", "Subsubsection"], Cell["\<\ The standard unit circle intersects the \"sphere\" x = 0 orthogonally:\ \>", "Text"], Cell[BoxData[ \(invsc[stb[1], stb[3], stb[4]]\)], "Input", CellLabel->"In[106]:="], Cell["\<\ Generally, any sphere corresponding to a spacelike unit vector of the \ orthogonal complement to [cn1, cn2], here the space spanned by stb[1], \ stb[2], stb[5], intersects the circle grc1 orthogonally. We consider the spheres S(stb[1]Cosh[t] + stb[5]*Sinh[t]): \ \>", "Text"], Cell[BoxData[ \(invsc[stb[1] Cosh[t]\ + \ stb[5]*Sinh[t], stb[3], stb[4]]\)], "Input", CellLabel->"In[107]:="], Cell[BoxData[ \(Table[ euklidsphereplot3D[stb[1] Cosh[t]\ + \ stb[5]*Sinh[t]], {t, \ 0, \ 2, \ 0.5}]\)], "Input", CellLabel->"In[108]:="], Cell[BoxData[ \(extab\ = \ %\)], "Input", CellLabel->"In[109]:="], Cell[BoxData[ \(Table[Show[{extab[\([i]\)], \ grc1}], \ {i, 1, 5}]\)], "Input", CellLabel->"In[110]:="], Cell[BoxData[ \(Show[%]\)], "Input", CellLabel->"In[111]:="], Cell[BoxData[ \(Show[{extab[\([5]\)], grc1}]\)], "Input", CellLabel->"In[112]:="], Cell[BoxData[ \(gs2\ = \ %\)], "Input", CellLabel->"In[113]:="], Cell[BoxData[ \(sphex\ = \ euklidsphereplot3D[{1, 1, 0, 0, 1}]\)], "Input", CellLabel->"In[114]:="], Cell[BoxData[ \(Show[{grc1, \ sphex}]\)], "Input", CellLabel->"In[115]:="], Cell[BoxData[ \(MVShow3D[Out[115], \ MVLineTubeSize\ \[Rule] \ 0.02]\)], "Input", CellLabel->"In[119]:="], Cell["\<\ The set of all the spheres intersecting a given circle orthogonally is a \ 2-dimensional sphere family, corresponding to the hyperboloid of spacelike \ unit vectors of the orthogonal complement of cn1,cn2: a linear sphere \ congruence. \ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Disjoint pairs", "Subsubsection"], Cell["\<\ We consider the spheres S(stb[3]Cosh[t] + stb[5]*Sinh[t]). Obviously, for t = \ 0 the standard circle grc1 is contained in the corresponding \"sphere\", the \ x,y-plane:\ \>", "Text"], Cell[BoxData[ \(euklidsphereplot3D[stb[3]]\)], "Input", CellLabel->"In[120]:="], Cell[BoxData[ \(Show[{%, grc1}]\)], "Input", CellLabel->"In[121]:="], Cell["\<\ For t \[NotEqual] 0 any sphere S(stb[3]Cosh[t] + stb[5]*Sinh[t]) is disjoint \ to the unit circle, because of invsc > 1:\ \>", "Text"], Cell[BoxData[ \(invsc[stb[3] Cosh[t]\ + \ stb[5]*Sinh[t], stb[3], stb[4]]\)], "Input", CellLabel->"In[122]:="], Cell[BoxData[ \(invsc[stb[3] Cosh[2. ]\ + \ stb[5]*Sinh[2. ], stb[3], stb[4]]\)], "Input", CellLabel->"In[123]:="], Cell[BoxData[ \(euklidsphereplot3D[stb[3] Cosh[2. ]\ + \ stb[5]*Sinh[2. ]]\)], "Input",\ CellLabel->"In[124]:="], Cell[BoxData[ \(Show[{%, grc1}]\)], "Input", CellLabel->"In[125]:="], Cell[BoxData[ \(gs2\ = \ %\)], "Input", CellLabel->"In[126]:="], Cell[BoxData[ \(Show[gs2, \ PlotRange\ -> \ All]\)], "Input", CellLabel->"In[127]:="] }, Closed]], Cell[CellGroupData[{ Cell[TextData[StyleBox["All cases (of rank 3) in one example", \ "Subsubsection"]], "Subsubsection"], Cell["\<\ With the next example we can reach all possible values of the invariant\ \>", "Text"], Cell[BoxData[ \(invsc[stb[1]*Cosh[t]\ + \ stb[5]*Sinh[t], \ stb[2]*Cosh[s]\ + \ stb[5]*Sinh[s], \ stb[4]]\)], "Input", CellLabel->"In[128]:="], Cell[BoxData[ \(rank[{stb[1]*Cosh[t]\ + \ stb[5]*Sinh[t], \ stb[2]*Cosh[s]\ + \ stb[5]*Sinh[s], \ stb[4]}]\)], "Input", CellLabel->"In[129]:="], Cell["We construct an intersecting pair:", "Text"], Cell[BoxData[ \(euklidsphereplot3D[stb[1] Cosh[1/2]\ + \ stb[5]*Sinh[1/2]]\)], "Input",\ CellLabel->"In[130]:="], Cell[BoxData[ \(gs1\ = \ %\)], "Input", CellLabel->"In[131]:="], Cell[BoxData[ \(plotcircle2spv[stb[2]*Cosh[1/2]\ + \ stb[5]*Sinh[1/2], \ stb[4]]\)], "Input", CellLabel->"In[132]:="], Cell[BoxData[ \(gc1\ = \ %\)], "Input", CellLabel->"In[133]:="], Cell[BoxData[ \(Show[{gc1, gs1}]\)], "Input", CellLabel->"In[134]:="], Cell[BoxData[ \(invsc[stb[1]*Cosh[1/2]\ + \ stb[5]*Sinh[1/2], \ stb[2]*Cosh[1/2]\ + \ stb[5]*Sinh[1/2], \ stb[4]]\)], "Input", CellLabel->"In[135]:="], Cell[BoxData[ \(N[%]\)], "Input", CellLabel->"In[136]:="], Cell["Now a disjoint pair:", "Text"], Cell[BoxData[ \(euklidsphereplot3D[stb[1] Cosh[3/2]\ + \ stb[5]*Sinh[3/2]]\)], "Input",\ CellLabel->"In[137]:="], Cell[BoxData[ \(gs4\ = \ %\)], "Input", CellLabel->"In[138]:="], Cell[BoxData[ \(plotcircle2spv[stb[2]*Cosh[3/2]\ + \ stb[5]*Sinh[3/2], \ stb[4]]\)], "Input", CellLabel->"In[139]:="], Cell[BoxData[ \(gs3\ = \ %\)], "Input", CellLabel->"In[140]:="], Cell[BoxData[ \(Show[{gs3, gs4}]\)], "Input", CellLabel->"In[141]:="], Cell[BoxData[ \(gs2\ = \ %\)], "Input", CellLabel->"In[142]:="], Cell[BoxData[ \(invsc[stb[1]*Cosh[3/2]\ + \ stb[5]*Sinh[3/2], \ stb[2]*Cosh[3/2]\ + \ stb[5]*Sinh[3/2], \ stb[4]]\)], "Input", CellLabel->"In[143]:="], Cell[BoxData[ \(N[%]\)], "Input", CellLabel->"In[144]:="], Cell["\<\ Now we construct a tangent pair; all tangent pairs are M\[ODoubleDot]bius \ equivalent: Give a direct proof!\ \>", "Text"], Cell[BoxData[ \(ct\ = \ ArcSinh[1]\)], "Input", CellLabel->"In[145]:="], Cell[BoxData[ \(N[ct]\)], "Input", CellLabel->"In[146]:="], Cell[BoxData[ \(Sinh[ct]\)], "Input", CellLabel->"In[147]:="], Cell[BoxData[ \(invsc[stb[1]*Cosh[ct]\ + \ stb[5]*Sinh[ct], stb[2]*Cosh[ct]\ + \ stb[5]*Sinh[ct], \ stb[4]]\)], "Input", CellLabel->"In[148]:="], Cell[BoxData[ \(rank[{stb[1]*Cosh[ct]\ + \ stb[5]*Sinh[ct], stb[2]*Cosh[ct]\ + \ stb[5]*Sinh[ct], \ stb[4]}]\)], "Input", CellLabel->"In[149]:="], Cell[BoxData[ \(euklidsphereplot3D[stb[1]*Cosh[ct]\ + \ stb[5]*Sinh[ct]]\)], "Input", CellLabel->"In[150]:="], Cell[BoxData[ \(gt1\ = \ %\)], "Input", CellLabel->"In[151]:="], Cell[BoxData[ \(plotcircle2spv[stb[2]*Cosh[ct]\ + \ stb[5]*Sinh[ct], \ stb[4]]\)], "Input", CellLabel->"In[152]:="], Cell[BoxData[ \(gt2\ = \ %\)], "Input", CellLabel->"In[153]:="], Cell[BoxData[ \(Show[{gt1, gt2}]\)], "Input", CellLabel->"In[154]:="], Cell[BoxData[ \(gt3 = \ %\)], "Input", CellLabel->"In[155]:="], Cell["\<\ Apply MathGL3d (see the end of the notebook) or a similar animation program \ for visualizing the situations.\ \>", "Text"], Cell[BoxData[ \(MVShow3D[gt3, \ MVLineTubeSize\ \[Rule] \ 0.03]\)], "Input", CellLabel->"In[156]:="], Cell[BoxData[ \(invsc[stb[1]*Cosh[t]\ + \ stb[5]*Sinh[t], \ stb[2]*Cosh[s]\ + \ stb[5]*Sinh[s], \ stb[4]]\)], "Input", CellLabel->"In[157]:="], Cell["\<\ For s =0 or t = 0 we have orthogonal intersections:\ \>", "Text"], Cell["t= 0:", "Text"], Cell[BoxData[ \(euklidsphereplot3D[stb[1]]\)], "Input", CellLabel->"In[158]:="], Cell[BoxData[ \(gi0\ = \ %\)], "Input", CellLabel->"In[159]:="], Cell[BoxData[ \(euklidsphereplot3D[stb[1]*Cosh[3/2]\ + \ stb[5]*Sinh[3/2]]\)], "Input",\ CellLabel->"In[160]:="], Cell[BoxData[ \(gi1\ = \ %\)], "Input", CellLabel->"In[161]:="], Cell["s= 0:", "Text"], Cell[BoxData[ \(plotcircle2spv[stb[2], stb[4]]\)], "Input", CellLabel->"In[162]:="], Cell[BoxData[ \(gi2\ = \ %\)], "Input", CellLabel->"In[163]:="], Cell[BoxData[ \(Show[{gi1, gi2}]\)], "Input", CellLabel->"In[164]:="], Cell[BoxData[ \(gt2\ = \ %\)], "Input", CellLabel->"In[165]:="], Cell[BoxData[ \(Show[{gi0, gi2}]\)], "Input", CellLabel->"In[166]:="], Cell[BoxData[ \(euklidsphereplot3D[stb[1]*Cosh[1/2]\ + \ stb[5]*Sinh[1/2]]\)], "Input",\ CellLabel->"In[167]:="], Cell[BoxData[ \(gi1\ = \ %\)], "Input", CellLabel->"In[168]:="], Cell[BoxData[ \(Show[{gi1, gi2}]\)], "Input", CellLabel->"In[169]:="], Cell[BoxData[ \(gt2\ = \ %\)], "Input", CellLabel->"In[170]:="] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["2.3 Euclidean interpretation of invsc", "Subsection"], Cell[CellGroupData[{ Cell["A general formula", "Subsubsection"], Cell["\<\ The spacelike vector defining a sphere with given center and radius is\ \>", "Text"], Cell[BoxData[ \(\(?spacevec\)\)], "Input", CellLabel->"In[171]:="], Cell[BoxData[ \(sv\ = spacevec[x, y, z, r]\)], "Input", CellLabel->"In[172]:="], Cell[BoxData[ \(pssp[%, %]\)], "Input", CellLabel->"In[173]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[174]:="], Cell["The adapted frame of the arbitrary circle is", "Text"], Cell[BoxData[ \(\(?circlespacevectors\)\)], "Input", CellLabel->"In[175]:="], Cell[BoxData[ \(cv\ = \ circlespacevectors[X, Y, Z, U, V, R]\)], "Input", CellLabel->"In[176]:="], Cell["We calculate", "Text"], Cell[BoxData[ \(Simplify[invsc[sv, \ cv[\([1]\)], \ cv[\([2]\)]]]\)], "Input", CellLabel->"In[177]:="], Cell["The vector vd =", "Text"], Cell[BoxData[ \({x, y, z}\ - \ {X, Y, Z}\)], "Input", CellLabel->"In[178]:="], Cell["is the radius vector of the centers, and vn =", "Text"], Cell[BoxData[ \(\(unit[2]\)[{U, V}]\)], "Input", CellLabel->"In[179]:="], Cell["\<\ is the position vector: a unit normal vector of the plane of the circle. \ Therefore we can express the conformal invariant invsc as a function of the \ euclidean positioning entities vd,vn, r, R:\ \>", "Text"], Cell[BoxData[ \(invscfct[vd_List, \ vn_List, \ r_, R_]\ := \[IndentingNewLine]\((\((vd . vd\ - r^2\ - R^2)\)/\((2*r* R)\))\)^2\ + \((\((vd . vn)\)/r)\)^2\)], "Input", CellLabel->"In[5]:=", InitializationCell->True], Cell["\<\ In euclidean terms, the radii r, R, the distance of the centers d = \ Sqrt[vd.vd], and the angle phi, d Cos[phi] = vd.vn, 0 <= phi < Pi, between the postion vector vn and the radiusvector of the centers vd are a \ complete invariant system of the pair of non-oriented circle with a \ non-oriented sphere. In these terms the conformal invariant invsc can be \ expressed as\ \>", "Text"], Cell[BoxData[ \(euklidinvsc[d_, r_, R_, phi_]\ := \ \((\((d^2\ - r^2\ - R^2)\)/\((2*r* R)\))\)^2\ + \ \((\((d*Cos[phi])\)/r)\)^2\)], "Input", CellLabel->"In[6]:=", InitializationCell->True], Cell[BoxData[ \(euklidinvsc[d, r, R, phi]\)], "Input", CellLabel->"In[181]:="], Cell[TextData[{ "As far as I know, this expression of the conformal invariant of a sphere \ and a circle is new; at least I have not found it in the literature. The \ result is a good example of a symbolic calculation in ", StyleBox["Mathematica", FontSlant->"Italic"], " with the tools developed in the item \"Spheres\". The first term is the \ square of the conformal invariant of the given sphere with the sphere through \ the circle, having the same center and radius as the circle, see section 4.1 \ in the notebook mspheres.nb (related with H. S. M. Coxeter's \"inversive \ distance\"):" }], "Text"], Cell[BoxData[ \(confinv[r, R, d]\)], "Input", CellLabel->"In[189]:="], Cell["\<\ The second term measures the influence of the angle between the position \ vector and the radius vector of the centers; d*Cos[phi] is the length of the \ projection of this radius vector onto the normal of the circle plane through \ the circle's center. From our expression euklidinvsc one recognizes \ immediately that invsc vanishes if and only iff the circle intersects the \ sphere orthogonally: The tangents of the circle at the intersection points \ are the radial lines from the center of the sphere to these points. \ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Evaluation", "Subsubsection"], Cell["\<\ Since any circle is Moebius equivalent to the standard circle grc1, given by \ stb[3], stb[4], we reach all possible values of the invariant by\ \>", "Text"], Cell[BoxData[ \(invsc[spacevec[x, y, z, r], stb[3], \ stb[4]]\)], "Input", CellLabel->"In[182]:="], Cell["what coincides with", "Text"], Cell[BoxData[ \(invscfct[{x, y, z}, {0, 0, 1}, \ r, \ 1]\)], "Input", CellLabel->"In[183]:="], Cell["\<\ Since m = {x,y,z} is the center of the sphere, and d = Sqrt[m.m] the distance \ of the centers, we may simplify this formula as follows:\ \>", "Text"], Cell[BoxData[ \(fctinv[d_, \ r_, z_]\ := \ \ \((\((1\ + \ r^2\ - d^2)\)^2\ + \ 4*z^2)\)/\((4* r^2)\)\)], "Input", CellLabel->"In[184]:="], Cell[BoxData[ \(fctinv[d, r, z]\)], "Input", CellLabel->"In[185]:="], Cell["\<\ Clearly, this is not a M\[ODoubleDot]bius invariant of the arbitrary sphere \ with an arbitrary circle: alle the spheres are compared with the standard \ circle grc1. Therefore it is not invariant e.g. against dilatations, which \ are M\[ODoubleDot]bius transformations. In spite of this the function may be \ applied to study how the invariant invsc depends of the euclidean invariants. \ Here the sphere has radius 1, its center is on the z-axis at d = z:\ \>", "Text"], Cell[BoxData[ \(Plot[fctinv[d, 1, d], \ {d, \ 0, 10}]\)], "Input", CellLabel->"In[186]:="], Cell[BoxData[ \(Plot[fctinv[d, 1, d], \ {d, \ 0, 3}]\)], "Input", CellLabel->"In[187]:="], Cell["\<\ Here the circle is contained in the unit sphere (as equator, what is not \ essential):\ \>", "Text"], Cell[BoxData[ \(fctinv[0, 1, 0]\)], "Input", CellLabel->"In[188]:="], Cell["\<\ Now the unit sphere has the center in distance d from the origin (the \ circle's center):\ \>", "Text"], Cell[BoxData[ \(Plot[fctinv[d, 1, 0], \ {d, \ 0, 3}]\)], "Input", CellLabel->"In[190]:="], Cell["\<\ For d = Sqrt[2] we have orthogonal intersection of circle and sphere:\ \>", "Text"], Cell[BoxData[ \(fctinv[Sqrt[2], 1, 0]\)], "Input", CellLabel->"In[191]:="], Cell["\<\ In the following picture only the values Abs[z] \[LessEqual] d are to \ consider:\ \>", "Text"], Cell[BoxData[ \(Plot3D[fctinv[d, 1, z], {d, 0, 2}, {z, 0, 1}]\)], "Input", CellLabel->"In[192]:="] }, Closed]], Cell[CellGroupData[{ Cell["Circles with center on the x-axis", "Subsubsection"], Cell["\<\ The circle with Radius R, center at X on the x-axis and position vector\ \>", "Text"], Cell[BoxData[ \(\(unit[2]\)[{u, v}]\)], "Input", CellLabel->"In[89]:="], Cell["corresponds to the euclidean 2-space spanned by", "Text"], Cell[BoxData[ \(circlespacevectors[X, 0, 0, u, v, R]\)], "Input", CellLabel->"In[193]:="], Cell[BoxData[ \(\(vspuv\ = \ %;\)\)], "Input", CellLabel->"In[194]:="], Cell[BoxData[ \(invsc[spacevec[x, 0, 0, r], vspuv[\([1]\)], \ vspuv[\([2]\)]]\)], "Input", CellLabel->"In[195]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[196]:="], Cell["\<\ This function can be used to study the depence of invsc from the position \ vector of the circle:\ \>", "Text"], Cell[BoxData[ \(fctinvscuv[x_, X_, r_, R_, u_, v_]\ = %\)], "Input", CellLabel->"In[197]:="], Cell["\<\ Since all the unit circle with center at the origin are contained in the \ standard unit sphere we obtain the constant 1 for\ \>", "Text"], Cell[BoxData[ \(Plot3D[ fctinvscuv[0, 0, 1, 1, u, v], \ {u, 0, 2*Pi}, \ {v, \(-Pi\)/2, Pi/2}]\)], "Input", CellLabel->"In[198]:="], Cell["\<\ Next we consider the standard unit sphere and circles with radius 1, center \ {3/2,0,0}, and arbitrary position vector:\ \>", "Text"], Cell[BoxData[ \(Plot3D[ fctinvscuv[0, 3/2, 1, 1, u, v], \ {u, 0, 2*Pi}, \ {v, \(-Pi\)/2, Pi/2}]\)], "Input", CellLabel->"In[199]:="], Cell[BoxData[ \(Plot3D[ fctinvscuv[0, 3/2, 1, R, Pi/4, v], \ {v, \(-Pi\)/2, Pi/2}, \ {R, 0.5, 1}]\)], "Input", CellLabel->"In[200]:="], Cell["\<\ Now we turn the unit circle with center {3/2, 0, 0} around the parallel to \ the y-axis through the center:\ \>", "Text"], Cell[BoxData[ \(fctinvscuv[0, 3/2, 1, 1, 0, v]\)], "Input", CellLabel->"In[201]:="], Cell[BoxData[ \(Plot[fctinvscuv[0, 3/2, 1, 1, 0, v], \ {v, \(-Pi\)/2, Pi/2}]\)], "Input",\ CellLabel->"In[202]:="], Cell["Here are the tangent cases:", "Text"], Cell[BoxData[ \(Solve[1\/4\ \((1\/16 + 9\ Cos[v]\^2)\) \[Equal] 1, v]\)], "Input", CellLabel->"In[203]:="], Cell[BoxData[ \(N[ArcCos[\@7\/4]]\)], "Input", CellLabel->"In[204]:="], Cell["The minimum is ", "Text"], Cell[BoxData[ \(fctinvscuv[0, 3/2, 1, 1, 0, Pi/2]\)], "Input", CellLabel->"In[205]:="], Cell["\<\ The intersection angle in this position (circle is contained in the \ x,y-plane) is\ \>", "Text"], Cell[BoxData[ \(N[ArcCos[1/8]]\)], "Input", CellLabel->"In[206]:="], Cell["In degrees:", "Text"], Cell[BoxData[ \(%*180/Pi\)], "Input", CellLabel->"In[207]:="], Cell[BoxData[ \(plotcircle3D[1.5, 0, 0, 0, \ Pi/2, \ 1]\)], "Input", CellLabel->"In[208]:="], Cell[BoxData[ \(Show[{grc1, \ %}]\)], "Input", CellLabel->"In[209]:="] }, Closed]], Cell[CellGroupData[{ Cell["Plane and circle", "Subsubsection"], Cell["\<\ If the sphere S of the pair (S,C) appears as an euclidean plane with an \ equation in Hesse's normal form\ \>", "Text"], Cell[BoxData[ \({vec[x, 3] . {a, b, c}\ \[Equal] \ p, \ {a, b, c} . {a, b, c}\ \[Equal] \ 1}\)], "Input", CellLabel->"In[210]:="], Cell["its characterizing spacelike vector in the 5-space is", "Text"], Cell[BoxData[ \(\(?planev\)\)], "Input", CellLabel->"In[211]:="], Cell[BoxData[ \(pn\ = planev[a, b, c, p]\)], "Input", CellLabel->"In[212]:="], Cell["We consider again", "Text"], Cell[BoxData[ \(cv\ = \ circlespacevectors[X, Y, Z, U, V, R]\)], "Input", CellLabel->"In[213]:="], Cell["and calculate", "Text"], Cell[BoxData[ \(Simplify[invsc[pn, \ cv[\([1]\)], \ cv[\([2]\)]]]\)], "Input", CellLabel->"In[214]:="], Cell["\<\ The term d = -p+a X+b Y+c Z is the distance of the center of the circle to \ the plane, and the expression\ \>", "Text", TextAlignment->Left], Cell["\<\ Cos[\[Alpha]] = a Cos[U] Cos[V]+b Cos[V] Sin[U]+c Sin[V]\ \>", "Text", TextAlignment->Center], Cell["\<\ defines the angle \[Alpha] between the given plane and the plane of the \ circle. Therefore we get for the M\[ODoubleDot]bius invariant of the pair \ (P,C) of the plane S = P and the circle the expression in euclidean terms\ \>", "Text"], Cell[BoxData[ \(planecircleinvsc[d_, R_, alpha_]\ := \ \((d/R)\)^2\ + \((Cos[alpha])\)^2\)], "Input", CellLabel->"In[7]:=", InitializationCell->True], Cell["\<\ It is easy to transfer the geometric consideration we did in the case \ (sphere, circle) to the pairing (plane, circle).\ \>", "Text"], Cell[BoxData[ \(Clear[cv, pn, x]\)], "Input", CellLabel->"In[215]:="], Cell["\<\ The combinations (plane, line), (sphere, line) we leave to the interested \ reader...\ \>", "Text"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["3 Spheres and point pairs", "Section"], Cell[CellGroupData[{ Cell["3.1 Point pairs as 0-spheres", "Subsection"], Cell[CellGroupData[{ Cell["An adapted frame", "Subsubsection"], Cell["\<\ A point pair can be represented by a pair of isotropic vectors, which define \ a pseudo-euclidean 2-space, or its orthogonal complement, an euclidean \ 3-space in the 5-dimensional pseudo-euclidean vector space. We shall constuct \ for any pair (a,b) of distinct points in the 3-space, i.e. a 0-sphere, an \ pseudo-orthonormal frame (c[[i]]) in the pseudo-euclidean 5-space such that a = stepro[c[[4]] + c[[5]]], b = stepro[c[[4]] - c[[5]]]. Such a frame we call adapted to the 0-sphere; of course, it is not uniquely \ defined. Here is a variable point in the euclidean 3-space:\ \>", "Text"], Cell[BoxData[ \(point[a_]\ := \ Table[a[i], \ {i, 1, 3}]\)], "Input", CellLabel->"In[8]:=", InitializationCell->True], Cell["A corresponding isotropic vector is", "Text"], Cell[BoxData[ \(invstepro[point[a]]\)], "Input", CellLabel->"In[22]:="], Cell[BoxData[ \(Simplify[pssp[%, %]]\)], "Input", CellLabel->"In[23]:="], Cell[BoxData[ \(pssp[invstepro[point[a]], invstepro[point[b]]]\)], "Input", CellLabel->"In[24]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[25]:="], Cell["\<\ This expression corresponds to the following euclidean invariant of the \ vector pair\ \>", "Text"], Cell[BoxData[ \(euinv[a_List, b_List]\ := \ \(-2\) \((a - b)\) . \((a - b)\)/\((\((1\ + \ a . a)\)*\((1\ + \ b . b)\))\) /; Length[a] == \ Length[b]\)], "Input", CellLabel->"In[9]:=", InitializationCell->True], Cell[BoxData[ \(euinv[point[a], point[b]]\)], "Input", CellLabel->"In[26]:="], Cell[BoxData[ \(euinv[stb[1, 3], stb[2, 3]]\)], "Input", CellLabel->"In[27]:="], Cell[BoxData[ \(pointt[a_]\ := \ invstepro[point[a]]\)], "Input", CellLabel->"In[10]:=", InitializationCell->True], Cell[BoxData[ \(pssp[pointt[a]\ + \ pointt[b], \ pointt[a]\ - \ pointt[b]]\)], "Input",\ CellLabel->"In[28]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[29]:="], Cell[BoxData[ \(pssp[pointt[a]\ + \ pointt[b], \ pointt[a]\ + \ pointt[b]]\)], "Input",\ CellLabel->"In[33]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[34]:="], Cell[BoxData[ \(%\ - \ 2*euinv[point[a], point[b]]\)], "Input", CellLabel->"In[35]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[36]:="], Cell[BoxData[ \(pssp[pointt[a]\ - \ pointt[b], \ pointt[a]\ - \ pointt[b]]\)], "Input",\ CellLabel->"In[37]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[38]:="], Cell[BoxData[ \(%\ + \ 2*euinv[point[a], point[b]]\)], "Input", CellLabel->"In[39]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[40]:="], Cell["\<\ These formulae lead to the following procedure, which defines an adapted \ pseudo-orthogonal frame of the 5-space to two given points in the 3-space: \ \ \>", "Text"], Cell[BoxData[ \(psframepp[a_List, b_List]\ := \ Module[{eu, \ m1 = \ Table[nul[], {dim\ - 2}], \n\t\t\tm\ = \ Table[nul[], {2}]}, \n\t\tIf[\((Length[a] != \ dim\ - 2)\) || \ \((Length[b]\ != \ dim\ - \ 2)\) || \((a == \ b)\), \ \n\t\t\t\tPrint["\"]; Return[]]; \n\t\teu\ = 4 \((a - b)\) . \((a - b)\)/\((\((1\ + \ a . a)\)*\((1\ + \ b . b)\))\); \n\t m[\([1]\)]\ = \ \((invstepro[a]\ - \ invstepro[b])\)/Sqrt[eu]; \n m[\([2]\)] = \ \((invstepro[a]\ + \ invstepro[b])\)/Sqrt[eu]; \n m1\ = \ orthonorm[ NullSpace[{dual[m[\([1]\)]], dual[m[\([2]\)]]}]]; \t\n Join[m1, m]]\)], "Input", CellLabel->"In[11]:=", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[BoxData[ \(psframepp[{1, 1, 1}, {0, 0, 0}]\)], "Input", CellLabel->"In[41]:="], Cell[BoxData[ \(Table[pssp[%[\([i]\)], %[\([j]\)]], {i, 1, 5}, {j, 1, 5}] // MatrixForm\)], "Input", CellLabel->"In[42]:="], Cell[BoxData[ \(psframepp[randomv[3], randomv[3]]\)], "Input", CellLabel->"In[43]:="], Cell[BoxData[ \(Table[smoothing[pssp[%[\([i]\)], %[\([j]\)]]], {i, 1, 5}, {j, 1, 5}] // MatrixForm\)], "Input", CellLabel->"In[44]:="], Cell[BoxData[ \(psframepp[{1, 1, 1}, {1, 1, 1}]\)], "Input", CellLabel->"In[45]:="], Cell[BoxData[ \(psframepp[{1, 1, 1}, nul[]]\)], "Input", CellLabel->"In[46]:="], Cell[BoxData[ \(psframepp[{\(-t\), 0, 0}, {t, 0, 0}]\)], "Input", CellLabel->"In[49]:="], Cell[BoxData[ \(Simplify[%, \ t > 0]\)], "Input", CellLabel->"In[50]:="], Cell[BoxData[ \(Table[pssp[%[\([i]\)], \ %[\([j]\)]], {i, 5}, \ {j, 5}] // MatrixForm\)], "Input", CellLabel->"In[51]:="], Cell[BoxData[ \(Simplify[%, \ t > 0]\)], "Input", CellLabel->"In[52]:="], Cell[BoxData[ \(\(Simplify[psframepp[{a, b, c}, {x, 0, z}]];\)\)], "Input", CellLabel->"In[53]:="], Cell[BoxData[ \(stepro[%[\([4]\)] - %[\([5]\)]]\)], "Input", CellLabel->"In[54]:="], Cell[BoxData[ \(stepro[%%[\([4]\)] + %%[\([5]\)]]\)], "Input", CellLabel->"In[55]:="] }, Closed]], Cell[CellGroupData[{ Cell["Random test", "Subsubsection"], Cell[BoxData[ \(psid\ = dual[IdentityMatrix[5]]\)], "Input", CellLabel->"In[56]:="], Cell[BoxData[ \(% // MatrixForm\)], "Input", CellLabel->"In[57]:="], Cell[BoxData[ \(\((a\ = \ randomv[3]; b\ = \ randomv[3]; \n\tPrint[{a, b}]; \n mat\ = \ Timing[psframepp[a, b]]; \n Print[mat[\([1]\)], MatrixForm[mat[\([2]\)]]]; \n\t mbt\ = \ Table[ pssp[mat[\([2, i]\)], mat[\([2, j]\)]], {i, 5}, {j, 5}]; \n\t smoothing[mbt\ - \ psid])\)\)], "Input", CellLabel->"In[58]:="], Cell[BoxData[ \({stepro[mat[\([2, 4]\)]\ + \ mat[\([2, 5]\)]], \ stepro[mat[\([2, 4]\)]\ - \ mat[\([2, 5]\)]]}\)], "Input", CellLabel->"In[59]:="], Cell[BoxData[ \(Remove[a, b, mat, \ mbt]\)], "Input", CellLabel->"In[60]:="] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["3.2 The invariant invspp and the mutual position", "Subsection"], Cell[CellGroupData[{ Cell["The definition", "Subsubsection"], Cell["\<\ If a, b are two points of the 3-space, then the corresponding euclidean \ 3-subspace of the pseudo-euclidean 5-space is\ \>", "Text"], Cell[BoxData[ \(Clear[a, b]; vspacepp[a_List, \ b_List]\ := \ Module[{psf}, \[IndentingNewLine]psf\ = \ psframepp[a, b]; \[IndentingNewLine]If[psf\ \[Equal] Null, \ Return[Null]]; \[IndentingNewLine]Take[psf, 3]]\)], "Input", CellLabel->"In[12]:=", InitializationCell->True], Cell["\<\ Let the spacelike unit vector n define the sphere, and the orthonormal \ vectors b ={ b[[1]], b[[2]], b[[3]] }span the subspace of the point pair. \ Then, see [4], the only invariant describing the mutual position is \ \>", "Text"], Cell[BoxData[ \(invspp[n_, b_]\ := \ Sum[pssp[b[\([i]\)], \ n]^2, {i, 3}]\)], "Input", CellLabel->"In[13]:=", InitializationCell->True], Cell["The point pair belongs to the sphere iff", "Text"], Cell[BoxData[ \(pcr[n_, b_List]\ := \ pscross[{b[\([1]\)], b[\([2]\)], b[\([3]\)], n}]\)], "Input", CellLabel->"In[14]:=", InitializationCell->True], Cell[" equals nul[].", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell[BoxData[ \(b1\ = \ vspacepp[{\(-1\), 0, 0}, {1, 0, 0}]\)], "Input", CellLabel->"In[20]:="], Cell[BoxData[ \(pcr[stb[4], \ b1]\)], "Input", CellLabel->"In[21]:="] }, Closed]], Cell[CellGroupData[{ Cell["Example 1", "Subsubsection"], Cell["\<\ We compare the point pair {{x,0,0}, {0,y,0}} with the unit sphere, defined by \ stb[4]; the invariant is\ \>", "Text"], Cell[BoxData[ \(fctinvpp[x_, y_]\ := \ invspp[stb[4], \ vspacepp[{x, 0, 0}, {0, y, 0}]]\)], "Input", CellLabel->"In[22]:="], Cell[BoxData[ \(Simplify[vspacepp[{x, 0, 0}, {0, y, 0}], \ x > 0 && y > 0]\)], "Input", CellLabel->"In[26]:="], Cell["For x=y=1 both points lie on the sphere:", "Text"], Cell[BoxData[ \(pcr[stb[4], \ vspacepp[stb[1, 3], stb[2, 3]]]\)], "Input", CellLabel->"In[23]:="], Cell[BoxData[ \(fctinvpp[1, 1]\)], "Input", CellLabel->"In[24]:="], Cell["Now only the point stb[1,3] belongs to the sphere:", "Text"], Cell[BoxData[ \(pcr[stb[4], \ vspacepp[stb[1, 3], nul[3]]]\)], "Input", CellLabel->"In[27]:="], Cell["\<\ The vector product yields an isotropic vector, and the invariant equals 1:\ \>", "Text"], Cell[BoxData[ \(fctinvpp[1, 0]\)], "Input", CellLabel->"In[28]:="], Cell[BoxData[ \(Plot[fctinvpp[x, 0], \ {x, \(-2\), 2}]\)], "Input", CellLabel->"In[29]:="], Cell["\<\ More generally it follows from [4] that for Abs[x] > 1 the sphere separates \ the points, and the invariant is < 1; for Abs[x] < 1 vice versa.\ \>", "Text"], Cell[BoxData[ \(Plot[fctinvpp[x, 0], \ {x, 1/2, 2}]\)], "Input", CellLabel->"In[30]:="], Cell[BoxData[ \(fctinvpp[x, 0]\)], "Input", CellLabel->"In[31]:="], Cell["We calculate the function", "Text"], Cell[BoxData[ \(fctinvpp[x, y]\)], "Input", CellLabel->"In[32]:="], Cell["This simple function yields the invariant", "Text"], Cell[BoxData[ \(invfct[x_, y_]\ := \ \((1 + \ x^2*y^2)\)/\((x^2\ + \ y^2)\)\)], "Input", CellLabel->"In[33]:="], Cell[BoxData[ \(Plot3D[invfct[x, y], {x, 0.7, 1.5}, {y, 0.7, 1.5}]\)], "Input", CellLabel->"In[34]:="], Cell[BoxData[ \(Solve[x^2\ + y^2\ == 1\ + x^2*y^2, y]\)], "Input", CellLabel->"In[35]:="], Cell[BoxData[ \(Plot[1\ + \ smoothing[invfct[x, 1] - 1], {x, 0. , 1.5}]\)], "Input", CellLabel->"In[36]:="], Cell["Sphere separates the points:", "Text"], Cell[BoxData[ \(invfct[1/2, 1.5]\)], "Input", CellLabel->"In[37]:="], Cell["Sphere does not separate points:", "Text"], Cell[BoxData[ \(invfct[5, 1.5]\)], "Input", CellLabel->"In[38]:="], Cell[BoxData[ \(Remove[invfct]\)], "Input", CellLabel->"In[39]:="] }, Closed]], Cell[CellGroupData[{ Cell["Example 2", "Subsubsection"], Cell["\<\ Now we consider a point pair on the x-axis, an calculate the invariant with \ the standard unit sphere:\ \>", "Text"], Cell[BoxData[ \(fctinvpp[x_, y_]\ := \ invspp[stb[4], \ vspacepp[{x, 0, 0}, {y, 0, 0}]]\)], "Input", CellLabel->"In[40]:="], Cell["For x=-y=1 both points lie on the sphere:", "Text"], Cell[BoxData[ \(pcr[stb[4], \ vspacepp[stb[1, 3], \(-stb[1, 3]\)]]\)], "Input", CellLabel->"In[41]:="], Cell["Now only the point stb[1,3] belongs to the sphere:", "Text"], Cell[BoxData[ \(pcr[stb[4], \ vspacepp[stb[1, 3], nul[3]]]\)], "Input", CellLabel->"In[42]:="], Cell["\<\ The vector product yields an isotropic vector, and the invariant equals 1:\ \>", "Text"], Cell[BoxData[ \(fctinvpp[1, 0]\)], "Input", CellLabel->"In[43]:="], Cell["\<\ This case can be interpreted as a 0-sphere tangent to the unit sphere.\ \>", "Text"], Cell[BoxData[ \(Plot[fctinvpp[x, 0], \ {x, \(-2\), 2}]\)], "Input", CellLabel->"In[44]:="], Cell["\<\ More generally it follows from [4] that for Abs[x] > 1 the sphere separates \ the points, and the invariant is < 1; for Abs[x] < 1 vice versa.\ \>", "Text"], Cell[BoxData[ \(Plot[fctinvpp[x, 0], \ {x, 1/2, 2}]\)], "Input", CellLabel->"In[45]:="], Cell[BoxData[ \(fctinvpp[x, 0]\)], "Input", CellLabel->"In[46]:="], Cell["We calculate the function", "Text"], Cell[BoxData[ \(fctinvpp[x, y]\)], "Input", CellLabel->"In[47]:="], Cell["\<\ This simple function yields the invariant of the point pair and the unit \ sphere:\ \>", "Text"], Cell[BoxData[ \(invfct[x_, y_]\ := \ \((x*y\ - 1)\)^2/\((x - y)\)^2\)], "Input", CellLabel->"In[48]:="], Cell[BoxData[ \(Plot3D[invfct[x, y], {x, 0.1, 1.2}, {y, 1.3, 2. }]\)], "Input", CellLabel->"In[49]:="], Cell[BoxData[ \(Solve[x*y - 1\ == x - y, y]\)], "Input", CellLabel->"In[50]:="], Cell[BoxData[ \(Plot[1\ + \ smoothing[invfct[x, 1] - 1], {x, 0. , 1.5}]\)], "Input", CellLabel->"In[51]:="], Cell["Sphere separates the points:", "Text"], Cell[BoxData[ \(invfct[1/2, 1.2]\)], "Input", CellLabel->"In[52]:="], Cell["Sphere does not separate points:", "Text"], Cell[BoxData[ \(invfct[1.2, 1.5]\)], "Input", CellLabel->"In[53]:="], Cell[BoxData[ \(Remove[invfct]\)], "Input", CellLabel->"In[54]:="] }, Closed]], Cell[CellGroupData[{ Cell["Example 3", "Subsubsection"], Cell["\<\ Now we consider the arbitrary sphere with the corresponding spacelike \ vector\ \>", "Text"], Cell[BoxData[ \(vs\ = \ spacevec[x, y, z, r]\)], "Input", CellLabel->"In[55]:="], Cell["\<\ and the point pair {{-t,0,0}, {t,0,0}}. We calculate the invariant\ \>", "Text"], Cell[BoxData[ \(invspp[vs, vspacepp[{\(-t\), 0, 0}, \ {t, 0, 0}]]\)], "Input", CellLabel->"In[56]:="], Cell[BoxData[ \(Simplify[%, \ t > 0]\)], "Input", CellLabel->"In[57]:="], Cell["We simplify further and define the following function:", "Text"], Cell["\<\ fctinv[t_, x_, y_, z_, r_] :=(4*t^2*(y^2 + z^2) + (-r^2 - t^2 + x^2 + y^2 + z^2)^2)/(4*r^2*t^2)\ \>", "Input", CellLabel->"In[58]:="], Cell[BoxData[ \(fctinv[t, 0, 0, 0, t]\)], "Input", CellLabel->"In[59]:="], Cell["The terms entering in the function", "Text"], Cell[BoxData[ \(fctinv[t, x, y, z, r]\)], "Input", CellLabel->"In[60]:="], Cell[TextData[{ "have very simple euclidean interpretations: r and t are the radii of the \ spheres, d = ", Cell[BoxData[ \(\@\(x\^2 + y\^2 + z\^2\)\)]], " is the distance of their centers, and ", Cell[BoxData[ \(t\^2\ \((y\^2 + z\^2)\)\)]], " is the square of the surface of the triangle formed by the point pair and \ the center of the sphere:" }], "Text"], Cell[BoxData[ \(cross[{{x, y, z}, {2*t, 0, 0}}]/2\)], "Input", CellLabel->"In[63]:="], Cell[BoxData[ \(% . %\)], "Input", CellLabel->"In[64]:="], Cell[BoxData[ \(Simplify[fctinv[t, 0, 0, z, Sqrt[z^2\ + t^2]]]\)], "Input", CellLabel->"In[67]:="], Cell["\<\ Now we take the point pair with t = 1 and the unit sphere S1 with center \ {1,0,0}:\ \>", "Text"], Cell[BoxData[ \(fctinv[1, 1, 0, 0, 1]\)], "Input", CellLabel->"In[68]:="], Cell["\<\ Point pair and sphere are interlaced: any sphere through the point pair \ intersects the sphere S1. We shall calculate the intersection angle between \ the sphere S1 and any sphere through the point pair. The spacelike vectors of \ this sphere bundle form the unit sphere in\ \>", "Text"], Cell[BoxData[ \(vspacepp[{\(-1\), 0, 0}, {1, 0, 0}]\)], "Input", CellLabel->"In[69]:="], Cell[BoxData[ \(vn[u_, v_]\ := \ stb[2]*Cos[u]*Cos[v]\ + \ stb[3]*Cos[u]*Sin[v]\ + stb[4]*Sin[u]\)], "Input", CellLabel->"In[70]:="], Cell["The space vector of S1 is", "Text"], Cell[BoxData[ \(spacevec[1, 0, 0, 1]\)], "Input", CellLabel->"In[71]:="], Cell["\<\ The following function gives the cosinus of the intersection angle:\ \>", "Text"], Cell[BoxData[ \(ftest[u_, v_]\ := pssp[{1, 0, 0, \(-\(1\/2\)\), 1\/2}, vn[u, v]]\)], "Input", CellLabel->"In[72]:="], Cell[BoxData[ \(ftest[u, v]\)], "Input", CellLabel->"In[73]:="], Cell["\<\ Thus, the maximum of ftest[u,v] is 1/2, and this is the square root of the \ \"eigenvalue\", which is in this case simply the invariant invspp. For the \ intersection angle we have\ \>", "Text"], Cell[BoxData[ \(angle[u_]\ := \ ArcCos[\(-Sin[u]\)/2]\)], "Input", CellLabel->"In[74]:="], Cell[BoxData[ \(Plot[angle[u]*180/Pi, \ {u, \(-Pi\)/2, Pi/2}]\)], "Input", CellLabel->"In[75]:="], Cell[BoxData[ \(Plot[angle[u]*180/Pi, \ {u, \(-Pi\), Pi}]\)], "Input", CellLabel->"In[104]:="], Cell["The minimal angle is ", "Text"], Cell[BoxData[ \(angle[\(-Pi\)/2]*180/Pi\)], "Input", CellLabel->"In[76]:="], Cell[BoxData[ \(ArcCos[1/2]\)], "Input", CellLabel->"In[77]:="], Cell["It will be reached for the unit sphere", "Text"], Cell[BoxData[ \(vn[\(-Pi\)/2, \ v]\)], "Input", CellLabel->"In[78]:="], Cell["The maximal angle is", "Text"], Cell[BoxData[ \(angle[Pi/2]*180/Pi\)], "Input", CellLabel->"In[79]:="], Cell["\<\ and this is again the unit sphere, only with the other orientation:\ \>", "Text"], Cell[BoxData[ \(vn[Pi/2, v]\)], "Input", CellLabel->"In[80]:="], Cell["\<\ This is the sphere of smallest (positive) radius containing the two points:\ \>", "Text"], Cell[BoxData[ \(vn[u, v]\)], "Input", CellLabel->"In[81]:="], Cell[BoxData[ \(vcenter[vn[u, v]]\)], "Input", CellLabel->"In[82]:="], Cell[BoxData[ \(vradius[vn[u, v]]\)], "Input", CellLabel->"In[83]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[84]:="], Cell[BoxData[ \(vradius[vn[\(-Pi\)/2, v]]\)], "Input", CellLabel->"In[85]:="], Cell[BoxData[ \(vradius[vn[Pi/2, v]]\)], "Input", CellLabel->"In[86]:="], Cell[BoxData[ \(Table[N[vcenter[vn[k*Pi/8, Pi/2]]], {k, \ \(-4\), 4}]\)], "Input", CellLabel->"In[87]:="], Cell[BoxData[ \(Table[N[vradius[vn[k*Pi/8, Pi/2]]], {k, \ \(-4\), 4}]\)], "Input", CellLabel->"In[88]:="], Cell[BoxData[ \(Table[N[angle[k*Pi/8]*180/Pi], {k, \ \(-4\), 4}]\)], "Input", CellLabel->"In[89]:="], Cell["\<\ Remember: negative sphere radius and positive sphere radius correspond to \ opposite orientations of the sphere; let the radius be a vector pointing to \ or away of the center. Therefore appear the complementary angles under the \ negative orientation of the radius. \ \>", "Text"], Cell[BoxData[ \(Table[ euklidsphereplot3D[vn[k*Pi/8, Pi/2], \ \(-1\), 0, \(-1\), 1], {k, \(-4\), 4}]\)], "Input", CellLabel->"In[90]:="], Cell[BoxData[ \(Show[%]\)], "Input", CellLabel->"In[91]:="], Cell[BoxData[ \(tgr1\ = %\)], "Input", CellLabel->"In[94]:="], Cell[BoxData[ \(euklidsphereplot3D[{1, 0, 0, \(-\(1\/2\)\), 1\/2}]\)], "Input", CellLabel->"In[95]:="], Cell[BoxData[ \(Show[{tgr1, %}]\)], "Input", CellLabel->"In[96]:="], Cell[BoxData[ \(tgr2\ = \ %\)], "Input", CellLabel->"In[97]:="], Cell[BoxData[ \(Show[ Graphics3D[{PointSize[0.04], Point[{\(-1\), 0, 0}], Point[{1, 0, 0}]}]]\)], "Input", CellLabel->"In[98]:="], Cell[BoxData[ \(Show[{tgr2, %}]\)], "Input", CellLabel->"In[99]:="], Cell[BoxData[ \(tgr3\ = \ %\)], "Input", CellLabel->"In[100]:="], Cell["\<\ Apply MathGL3d, Appearance Wire Frame, to look at these graphics.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Orthogonality", "Subsubsection"], Cell["\<\ We remark that the invariant in example 1 is always greater zero; for y = 0 \ it tends to zero for x ->\[Proportional] . The point pair {nul[3], \ \[Proportional]} has the property that all spheres through these points \ (i.e.all planes through the origin), and all circles through these points \ (i.e. all lines through the origin) intersect the unit sphere orthogonally. \ We shall now construct a finite example for this situation.\ \>", "Text"], Cell[BoxData[ \(nspx\ = vspacepp[nul[3], \ stb[1, 3]*2]\)], "Input", CellLabel->"In[105]:="], Cell[BoxData[ \(orthospheres[u_, v_] := \ stb[2]*Cos[u]*Cos[v] + stb[3]*Cos[u]*Sin[v]\ + nspx[\([1]\)]*Sin[u]\)], "Input", CellLabel->"In[106]:="], Cell[BoxData[ \(dnspx = Table[dual[nspx[\([i]\)]], \ {i, 3}]\)], "Input", CellLabel->"In[107]:="], Cell[BoxData[ \(NullSpace[dnspx]\)], "Input", CellLabel->"In[108]:="], Cell[BoxData[ \(orthonorm[%]\)], "Input", CellLabel->"In[109]:="], Cell[BoxData[ \(ocase\ = \ %\)], "Input", CellLabel->"In[110]:="], Cell[BoxData[ \(Table[ Simplify[Together[pssp[ocase[\([i]\)], ocase[\([j]\)]]]], {i, 2}, {j, 2}]\)], "Input", CellLabel->"In[111]:="], Cell[BoxData[ \(ovec[t_]\ := \ ocase[\([1]\)]*Sinh[t]\ + \ ocase[\([2]\)]*Cosh[t]\)], "Input", CellLabel->"In[112]:="], Cell[BoxData[ \(invspp[ovec[t], \ nspx]\)], "Input", CellLabel->"In[113]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[114]:="], Cell[BoxData[ \(pssp[ovec[t], \ ovec[t]]\)], "Input", CellLabel->"In[115]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[116]:="], Cell["\<\ Obviously, ovec[t], t \[GreaterEqual] 0, corresponds to all the spheres with \ the property, that all spheres orthospheres[u,v] through {0,0,0}, {2,0,0} \ intersect them orthogonally:\ \>", "Text"], Cell[BoxData[ \(pssp[orthospheres[u, v], \ ovec[t]]\)], "Input", CellLabel->"In[117]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[118]:="], Cell["\<\ We show that the point pair {0,0,0}, {2,0,0} is in inversion with respect to \ any of the spheres ovec[t].\ \>", "Text"], Cell[BoxData[ \(vcenter[ovec[t]]\)], "Input", CellLabel->"In[119]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[120]:="], Cell[BoxData[ \(vradius[ovec[t]]\)], "Input", CellLabel->"In[121]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[122]:="], Cell[BoxData[ \(\(?sphericalreflection\)\)], "Input", CellLabel->"In[124]:="], Cell[BoxData[ \(sphericalreflection[ nul[3], {\(Cosh[t] + Sinh[t]\)\/\(\(-Cosh[t]\) + 2\ Sinh[t]\), 0, 0}, \ \@3\/\(\(-Cosh[t]\) + 2\ Sinh[t]\)]\)], "Input", CellLabel->"In[125]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[126]:="], Cell["\<\ Thus we have the following proposition, which generalizes the situation \ described at the beginning of this subsection (give a precise proof!): PROPOSITION. Let S1 be a sphere, and {p1,p2} a point pair in inversion with \ respect to this sphere. Then all the spheres through {p1, p2} intersect S1 \ orthogonally, and converselly, if all spheres containing the two points meet \ a sphere S1 orthogonally, then the points are in inversion with respect to \ S1.\ \>", "Text"], Cell[BoxData[ \(pts\ = \ {Point[nul[3]], Point[{2, 0, 0}]}\)], "Input", CellLabel->"In[127]:="], Cell[BoxData[ \(Show[Graphics3D[{RGBColor[1, 0, 0], PointSize[0.05], pts}]]\)], "Input",\ CellLabel->"In[128]:="], Cell[BoxData[ \(ex1\ = \ %\)], "Input", CellLabel->"In[129]:="], Cell[BoxData[ \(euklidsphereplot3D[ovec[0]]\)], "Input", CellLabel->"In[130]:="], Cell[BoxData[ \(ex2\ = \ %\)], "Input", CellLabel->"In[131]:="], Cell[BoxData[ \(Show[{ex1, ex2}]\)], "Input", CellLabel->"In[132]:="], Cell[BoxData[ \(ex12\ = \ %\)], "Input", CellLabel->"In[133]:="], Cell[BoxData[ \(Table[ euklidsphereplot3D[orthospheres[k*Pi/8, \ Pi/2], 0, 1, \(-1\), 1], {k, 0, 4}]\)], "Input", CellLabel->"In[134]:="], Cell[BoxData[ \(Show[%]\)], "Input", CellLabel->"In[135]:="], Cell[BoxData[ \(ex3\ = \ %\)], "Input", CellLabel->"In[136]:="], Cell[BoxData[ \(Show[{ex1, ex2, ex3}]\)], "Input", CellLabel->"In[137]:="], Cell[BoxData[ \(ex123\ = \ %\)], "Input", CellLabel->"In[138]:="], Cell["\<\ Apply MVShow3D with the option MVPointSphereSize -> 0.8, see the last \ section; use Appearance: wire frame.\ \>", "Text"], Cell[BoxData[ \(MVShow3D[ex123, \ MVPointSphereSize\ \[Rule] 1.8]\)], "Input", CellLabel->"In[140]:="], Cell["\<\ The three spheres through the points corresponding to the vectors of nspx \ are the x,y-plane, the x,z-plane and\ \>", "Text"], Cell[BoxData[ \(euklidsphereplot3D[nspx[\([1]\)], \(-1\), 1, \(-1\), 1, PlotPoints\ -> \ 50]\)], "Input", CellLabel->"In[141]:="], Cell[BoxData[ \(ex4\ = \ %\)], "Input", CellLabel->"In[142]:="], Cell["Two circles through the points are", "Text"], Cell[BoxData[ \({plotcircle2spv[nspx[\([1]\)], nspx[\([2]\)]], \ plotcircle2spv[nspx[\([1]\)], nspx[\([3]\)]]}\)], "Input", CellLabel->"In[156]:="], Cell[BoxData[ \(Show[%]\)], "Input", CellLabel->"In[157]:="], Cell[BoxData[ \(ex5\ = \ %\)], "Input", CellLabel->"In[145]:="], Cell[BoxData[ \(Show[{ex1, ex2, ex5}]\)], "Input", CellLabel->"In[158]:="], Cell[BoxData[ \(ex125\ = \ %\)], "Input", CellLabel->"In[159]:="], Cell["\<\ Apply MVShow3D with the options MVPointSphereSize -> 1.4, MVLineTubeSize -> \ 0.02, see the last section; use Appearance: wire frame. \ \>", "Text"], Cell[BoxData[ \(MVShow3D[ex125, \ MVPointSphereSize\ \[Rule] 1.4, \ MVLineTubeSize\ \[Rule] \ 0.02]\)], "Input", CellLabel->"In[161]:="], Cell["More circles:", "Text"], Cell[BoxData[ \(pssp[orthospheres[u, v], orthospheres[u + Pi/2, v]]\)], "Input", CellLabel->"In[147]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[148]:="], Cell[BoxData[ \(\(\(Table[ plotcircle2spv[orthospheres[0, k*Pi/10], orthospheres[Pi/2, k*Pi/10]], {k, \(-10\), 10, 2}]\)\(\ \)\)\)], "Input", CellLabel->"In[149]:="], Cell[BoxData[ \(Show[%]\)], "Input", CellLabel->"In[150]:="], Cell[BoxData[ \(ex6\ = \ %\)], "Input", CellLabel->"In[151]:="], Cell[BoxData[ \(Show[{ex1, ex2, ex6}]\)], "Input", CellLabel->"In[152]:="], Cell[BoxData[ \(ex126\ = \ %\)], "Input", CellLabel->"In[153]:="], Cell[BoxData[ \(MVShow3D[ex126, \ MVPointSphereSize\ \[Rule] 1.4, \ MVLineTubeSize\ \[Rule] \ 0.02]\)], "Input", CellLabel->"In[154]:="] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["4 Circles and point pairs ", "Section"], Cell[CellGroupData[{ Cell["4.1 The invariants", "Subsection"], Cell["\<\ As very detailed described in the notebook mcircles.nb, a circle in the \ 3-sphere or in the euclidean 3-space can be defined by a 2-dimensional \ euclidean subspace of the pseudo-euclidean 5-space. Let p1, p2, p3 be three \ pairwise distinct points in the euclidean 3-space. Their preimages under the \ stereographic projection define uniquely a circle on the 3-sphere, and the \ corresponding isotropic vectors span a pseudo-euclidean 3-space, the \ orthogonal complement of which is the euclidean subspace we ask for. An \ orthonormal base of this space is given by vspace[p1,p2,p3], e.g. the \ standard unit circle:\ \>", "Text"], Cell[BoxData[ \(vspace[{1, 0, 0}, \ {\(-1\), 0, 0}, \ {0, 1, 0}]\)], "Input", CellLabel->"In[19]:="], Cell[BoxData[ \(grc1\ = plotcircle2spv[stb[3], \ stb[4]]\)], "Input", CellLabel->"In[15]:=", InitializationCell->True], Cell["\<\ Let b ={b1,b2,b3} be an orthonormal basis corresponding to the point pair \ {a1,a2}, e.g.\ \>", "Text"], Cell[BoxData[ \(blist\ = \ vspacepp[{0, \(-1\), 0}, {1, 1, 0}/Sqrt[2]]\)], "Input", CellLabel->"In[20]:="], Cell["\<\ Then the condition that the circle containes both points is pcr[n1,b] = \ pcr[n2,b] = nul[],what is trivial in our special case:\ \>", "Text"], Cell[BoxData[ \(pcr[stb[3], blist]\)], "Input", CellLabel->"In[21]:="], Cell[BoxData[ \(pcr[stb[4], blist]\)], "Input", CellLabel->"In[22]:="], Cell["\<\ The condition that at least one of the points a1,a2 belongs to the circle \ through the 3 points p1,p2,p3 coincides with the condition that all the five \ points belong to a sphere; i. e.\ \>", "Text"], Cell[BoxData[ \(incid[a1_, a2_, b1_, b2_, b3_]\ := \ Det[{invstepro[a1], invstepro[a2], invstepro[b1], invstepro[b2], invstepro[b3]}]\)], "Input", CellLabel->"In[16]:=", InitializationCell->True], Cell["vanishes, e.g.", "Text"], Cell[BoxData[ \(incid[{0, 3, 0}, {1, 1, 0}/Sqrt[2], {1, 0, 0}, \ {\(-1\), 0, 0}, \ {0, 1, 0}]\)], "Input", CellLabel->"In[23]:="], Cell[BoxData[ \(Clear[a, b]\)], "Input", CellLabel->"In[24]:="], Cell["\<\ Let a = {a[[1]], a[[2]]} be an orthonormal basis of the euclidean 2-space \ defining the circle C, and b = {b[[1]], b[[2]], b[[3]]} an orthonormal basis \ of the euclidean 3-space defining the point pair {p0, p1}.\ \>", "Text"], Cell["\<\ The matrix of the double projection whose eigenvalues are the \ M\[ODoubleDot]bius invariants of the pair (see [4]) is\ \>", "Text"], Cell[BoxData[ \(ppcpp[a_List, b_List]\ := Table[Simplify[ Sum[pssp[b[\([k]\)], a[\([i]\)]]*pssp[b[\([k]\)], a[\([j]\)]], {k, 3}]], {i, 2}, {j, 2}]\)], "Input", CellLabel->"In[17]:=", InitializationCell->True], Cell["\<\ Its eigenvalues are the generalized cosinus squares of the stationary \ angles, and the spheres corresponding to the eigenvectors we call \ eigenspheres.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["4.2 Examples", "Subsection"], Cell["Here only one point lies on the circle:", "Text"], Cell[BoxData[ \(ppcpp[vspace[{1, 0, 0}, \ {\(-1\), 0, 0}, \ {0, 1, 0}], vspacepp[{0, 3, 0}, {1, 1, 0}/Sqrt[2]]]\)], "Input", CellLabel->"In[25]:="], Cell["Here both points belong to the circle", "Text"], Cell[BoxData[ \(ppcpp[vspace[{1, 0, 0}, \ {\(-1\), 0, 0}, \ {0, 1, 0}], vspacepp[{0, 1, 0}, {1, 1, 0}/Sqrt[2]]]\)], "Input", CellLabel->"In[26]:="], Cell["The invariants are the same! But the following ranks differ", "Text"], Cell[BoxData[ \(\(\(rank[{invstepro[{1, 0, 0}], invstepro[{\(-1\), 0, 0}], invstepro[{0, 1, 0}], invstepro[{0, 3, 0}], invstepro[{1, 1, 0}/Sqrt[2]]}]\)\(\n\)\)\)], "Input", CellLabel->"In[27]:="], Cell[BoxData[ \(\(\(rank[{invstepro[{1, 0, 0}], invstepro[{\(-1\), 0, 0}], invstepro[{0, 1, 0}], invstepro[{0, 1, 0}], invstepro[{1, 1, 0}/Sqrt[2]]}]\)\(\n\)\)\)], "Input", CellLabel->"In[28]:="], Cell[TextData[{ "This example shows that the eigenvalues of ppcpp do not suffice to \ distinguish the two cases; in addition the dimension rank -2 of the smallest \ sphere containing the pair must be considered.\nIn the following example the \ pair belongs to the plane ( = sphere) z= 0, we again do not have \"general \ position\"; one has the varying invariant ", Cell[BoxData[ \(1\/Abs[x]\^2\)]], ", and the constant 1: " }], "Text"], Cell[BoxData[ \(fctppcpp[x_] := \n ppcpp[vspace[{1, 0, 0}, \ {\(-1\), 0, 0}, \ {0, 1, 0}], vspacepp[{0, 0, 0}, {x, 0, 0}]]\)], "Input", CellLabel->"In[29]:="], Cell[BoxData[ \(fctppcpp[x]\)], "Input", CellLabel->"In[30]:="], Cell[TextData[{ "For ", Cell[BoxData[ \(Abs[x]\^2\)]], " < 1 the circle in this sphere does not separate the points, for ", Cell[BoxData[ \(Abs[x]\^2\)]], ">1 it does, and for ", Cell[BoxData[ \(Abs[x]\^2\)]], "=1 the point belongs to the circle; separate has a meaning, of course , \ only within the sphere z=0. The situation here is the same as in subsection \ 3.2, only one dimension less.\nNow we consider circle and point pair in \ general position:" }], "Text"], Cell[BoxData[ \(\(\(rank[{invstepro[{1, 0, 0}], invstepro[{\(-1\), 0, 0}], invstepro[{0, 1, 0}], invstepro[{0, 0, 0}], invstepro[{0, 0, z}]}]\)\(\n\)\)\)], "Input", CellLabel->"In[31]:="], Cell[BoxData[ \(fctgenppcpp[z_] := \n ppcpp[vspace[{1, 0, 0}, \ {\(-1\), 0, 0}, \ {0, 1, 0}], vspacepp[{0, 0, 0}, {0, 0, z}]]\)], "Input", CellLabel->"In[32]:="], Cell[BoxData[ \(fctgenppcpp[z]\)], "Input", CellLabel->"In[33]:="], Cell[BoxData[ \(ppz\ = \ %\)], "Input", CellLabel->"In[34]:="], Cell[BoxData[ \(Det[ppz]\)], "Input", CellLabel->"In[35]:="], Cell[BoxData[ \(Eigenvalues[ppz]\)], "Input", CellLabel->"In[36]:="], Cell[BoxData[ \(Eigenvectors[ppz]\)], "Input", CellLabel->"In[37]:="], Cell["\<\ The geometric interpretation is the following: There exists a sphere, \ containing the unit circle and being \"orthogonal to the 0-sphere\" (what \ means that?: see 3.2, Orthogonality); the other eigenvalue is the maximum of \ the M\[ODoubleDot]bius invariant of two spheres, one containing the circle, \ the other the point pair, and these spheres are disjoint, since the invariant \ is > 1. Since the double projection is an endomorpism of \ \>", "Text"], Cell[BoxData[ \(vspace[{1, 0, 0}, \ {\(-1\), 0, 0}, \ {0, 1, 0}]\)], "Input", CellLabel->"In[38]:="], Cell["we have the eigensphere to the eigenvalue 0", "Text"], Cell[BoxData[ \(ppz . {z, 1}\)], "Input", CellLabel->"In[39]:="], Cell[BoxData[ \(ev1[z_]\ := \ \((stb[3]\ + \ stb[4]*z)\)/Sqrt[1 + z^2]\)], "Input", CellLabel->"In[40]:="], Cell[BoxData[ \(vcenter[ev1[z]]\)], "Input", CellLabel->"In[41]:="], Cell[BoxData[ \(vradius[ev1[z]]\)], "Input", CellLabel->"In[42]:="], Cell[BoxData[ \(Simplify[%, \ z > 0]\)], "Input", CellLabel->"In[43]:="], Cell[BoxData[ \(euklidsphereplot3D[ev1[1]]\)], "Input", CellLabel->"In[44]:="], Cell[BoxData[ \(gev1\ = \ %\)], "Input", CellLabel->"In[45]:="], Cell["The projection of this eigenvector in ", "Text"], Cell[BoxData[ \(vspacepp[{0, 0, 0}, {0, 0, z}]\)], "Input", CellLabel->"In[46]:="], Cell[BoxData[ \(vpp[ z_]\ := \ {{0, 0, z\/Abs[z], \(-\(1\/Abs[z]\)\), 1\/Abs[z]}, {0, 1, 0, 0, 0}, {1, 0, 0, 0, 0}}\)], "Input", CellLabel->"In[47]:="], Cell[BoxData[ \(Table[pssp[\(vpp[z]\)[\([i]\)], \ ev1[z]], \ {i, 3}]\)], "Input", CellLabel->"In[48]:="], Cell["\<\ Therefore, the projection is null[5], and the eigensphere gev1 intersects any \ sphere containing the point pair orthogonally.\ \>", "Text"], Cell[BoxData[ \(prev1[z_]\ := \ Sum[pssp[\(vpp[z]\)[\([i]\)], \ ev1[z]]*\(vpp[z]\)[\([i]\)], \ {i, 3}]\)], "Input", CellLabel->"In[49]:="], Cell[BoxData[ \(prev1[z]\)], "Input", CellLabel->"In[50]:="], Cell["The other eigensphere is given by", "Text"], Cell[BoxData[ \(Simplify[Together[ppz . {\(-1\)/z, 1}]]\)], "Input", CellLabel->"In[51]:="], Cell[BoxData[ \(stb[4]*\((\(-\(1\/\(z\ Abs[z]\^2\)\)\) - z\/Abs[z]\^2)\) + \ stb[3]*\((1\/Abs[z]\^2 + z\^2\/Abs[z]\^2)\)\)], "Input", CellLabel->"In[52]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[53]:="], Cell[BoxData[ \(ev2[z_]\ := \ \((stb[3]\ - stb[4]/z)\)/Sqrt[1\ + \ 1/z^2]\)], "Input",\ CellLabel->"In[54]:="], Cell["\<\ The projection of this eigenvector in vspacepp[{0,0,0},{0,0,z}] is\ \>", "Text"], Cell[BoxData[ \(prev2[z_]\ := \ Sum[pssp[\(vpp[z]\)[\([i]\)], \ ev2[z]]*\(vpp[z]\)[\([i]\)], \ {i, 3}]\)], "Input", CellLabel->"In[55]:="], Cell[BoxData[ \(prev2[z]\)], "Input", CellLabel->"In[56]:="], Cell[BoxData[ \(Simplify[%, \ z > 0]\)], "Input", CellLabel->"In[57]:="], Cell["For z > 0 this coincides with", "Text"], Cell[BoxData[ \(prev2pos[ z_] := \ {0, 0, Sqrt[1 + z^2]/z, \(-Sqrt[1 + z^2]\)/z^2, Sqrt[1 + z^2]/z^2} /; z > 0\)], "Input", CellLabel->"In[58]:="], Cell["and for z < 0 we obtain", "Text"], Cell[BoxData[ \(Simplify[prev2[z], \ z < 0]\)], "Input", CellLabel->"In[59]:="], Cell[BoxData[ \(prev2pos[ z_] := \ {0, 0, \(-Sqrt[1 + z^2]\)/z, Sqrt[1 + z^2]/z^2, \(-Sqrt[1 + z^2]\)/z^2} /; z < 0\)], "Input", CellLabel->"In[60]:="], Cell[BoxData[ \(prev2pos[1]\)], "Input", CellLabel->"In[61]:="], Cell[BoxData[ \(prev2pos[\(-1\)]\)], "Input", CellLabel->"In[62]:="], Cell["For z = 1 we have the eigensphere", "Text"], Cell[BoxData[ \(euklidsphereplot3D[ev2[1]]\)], "Input", CellLabel->"In[63]:="], Cell[BoxData[ \(gev2\ = \ %\)], "Input", CellLabel->"In[64]:="], Cell["\<\ The normalized projection of ev2[1] and the corresponding sphere are\ \>", "Text"], Cell[BoxData[ \(projev2\ = \ normalize[prev2[1]]\)], "Input", CellLabel->"In[65]:="], Cell[BoxData[ \(euklidsphereplot3D[projev2]\)], "Input", CellLabel->"In[66]:="], Cell[BoxData[ \(gev3\ = \ %\)], "Input", CellLabel->"In[67]:="], Cell["The generalized cosinus is the square root of the eigenvalue", "Text"], Cell[BoxData[ \(pssp[projev2, \ ev2[1]]\)], "Input", CellLabel->"In[68]:="], Cell["\<\ This is the maximal value of the generalized cosinus for any pair of spheres, \ one containing the standard unit circle and the other containing the point \ pair {nul[3], {0,0,1}.\ \>", "Text"], Cell[BoxData[ \(pts\ = \ {Point[nul[3]], Point[{0, 0, 1}]}\)], "Input", CellLabel->"In[69]:="], Cell[BoxData[ \(Show[Graphics3D[{RGBColor[1, 0, 0], PointSize[0.05], pts}]]\)], "Input",\ CellLabel->"In[46]:="], Cell[BoxData[ \(gev4\ = \ %\)], "Input", CellLabel->"In[47]:="], Cell[BoxData[ \(Show[{grc1, gev2, gev3, gev4}]\)], "Input", CellLabel->"In[48]:="], Cell[BoxData[ \(grevmax\ = \ %\)], "Input", CellLabel->"In[81]:="], Cell["\<\ With the option MVPointSphereSize -> 0.8,MVLineTubeSize -> 0.03 using \ MathGl3d with wire frame (see last section) one gets a nice visualization of \ the situation . \ \>", "Text"], Cell[BoxData[ \(MVShow3D[grevmax\[IndentingNewLine], MVPointSphereSize \[Rule] 0.8, \ MVLineTubeSize\ -> \ 0.01]\)], "Input", CellLabel->"In[85]:="], Cell["\<\ Joining the \"minimal\" eigensphere gev1 one obtains the complete picture\ \>", "Text"], Cell[BoxData[ \(Show[{gev1, grevmax}]\)], "Input", CellLabel->"In[86]:="], Cell[BoxData[ \(grevmaxmin\ = \ %\)], "Input", CellLabel->"In[87]:="], Cell[BoxData[ \(MVShow3D[grevmaxmin\[IndentingNewLine], MVPointSphereSize \[Rule] 0.8, \ MVLineTubeSize\ -> \ 0.01]\)], "Input",\ CellLabel->"In[88]:="], Cell[BoxData[ \(Remove[ppz, pts, projev2, prev2pos, prev2, ev1, ev2, prev1, vpp, fctgenppcpp, fctppcpp]\)], "Input", CellLabel->"In[113]:="] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "4.3 Two associated spheres belonging to a pair {", Cell[BoxData[ \(TraditionalForm\`S\_1\%1\)]], ", ", Cell[BoxData[ \(TraditionalForm\`S\_2\%0\)]], "}" }], "Subsection"], Cell[TextData[{ "Each pair {C, {p0, p1}} of a circle C and a 0-sphere {p0, p1} defines, in \ general, two spheres, containing {C, p0} and {C, p1}, respectively. We \ call them the ", StyleBox["associated spheres", FontColor->RGBColor[1, 0, 0]], " of the pairing. If one of the points belong to the circle the \ corresponding sphere remains indetermined. Let us consider the general case, \ that none of the two points is contained in the circle. If {cn1, cn2} is a \ basis of the euclidean subspace defining the circle C, then the spacelike \ vector defining the sphere through C and a point p is given by the cross \ product as follows:" }], "Text"], Cell[BoxData[ \(\(?pscomplement\)\)], "Input", CellLabel->"In[19]:="], Cell[BoxData[ \(\(\(gesph[cn1_, cn2_, p_]\)\(:=\)\(Module[{vc}, \[IndentingNewLine]vc\ = pscomplement[cn1, cn2]; \[IndentingNewLine]vc\ = \ AppendTo[vc, invstepro[p]]; \[IndentingNewLine]pscross[ vc]]\)\(\ \)\)\)], "Input", CellLabel->"In[26]:="], Cell["\<\ Obviously, gesph yields the null vector nul[5] iff p\[Element] C, e.g.\ \>", "Text"], Cell[BoxData[ \(gesph[stb[3], \ stb[4], \ {0, 1, 0}]\)], "Input", CellLabel->"In[27]:="], Cell[CellGroupData[{ Cell["Example 1", "Subsubsection"], Cell["\<\ In the last example of section 4.2 we have cn1 = Stb[4], cn2 = stb[3], p1 = \ nul[3], p2= {0,0,z}. We find\ \>", "Text", FontVariations->{"CompatibilityType"->0}], Cell[BoxData[ \(vn1\ = \ gesph[stb[4], stb[3], \ nul[3]]\)], "Input", CellLabel->"In[28]:="], Cell["Clearly, this is the x,y-plane:", "Text"], Cell[BoxData[ \(euklidsphereplot3D[stb[3]]\)], "Input", CellLabel->"In[29]:="], Cell[BoxData[ \(grvn1\ = \ %\)], "Input", CellLabel->"In[30]:="], Cell["The other sphere is", "Text"], Cell[BoxData[ \(vn2[z_]\ := \ gesph[stb[4], stb[3], {0, 0, z}]\)], "Input", CellLabel->"In[33]:="], Cell[BoxData[ \(Together[vn2[z]]\)], "Input", CellLabel->"In[34]:="], Cell[BoxData[ \(pssp[%, %]\)], "Input", CellLabel->"In[35]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[36]:="], Cell[BoxData[ \(vradius[vn2[z]]\)], "Input", CellLabel->"In[37]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[38]:="], Cell[BoxData[ \(vcenter[vn2[z]]\)], "Input", CellLabel->"In[39]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[40]:="], Cell["Specializing to the case z=1 :", "Text"], Cell[BoxData[ \(vn2[1]\)], "Input", CellLabel->"In[41]:="], Cell["This is the standard unit sphere:", "Text"], Cell[BoxData[ \(euklidsphereplot3D[stb[4]]\)], "Input", CellLabel->"In[42]:="], Cell[BoxData[ \(grvn2\ = \ %\)], "Input", CellLabel->"In[43]:="], Cell[BoxData[ \(Show[{grvn1, grvn2, gev4}]\)], "Input", CellLabel->"In[49]:="], Cell[TextData[{ "Here the spheres intersect orthogonally. We remark that zero is the \ smaller eigenvalue of our pair {C, ", Cell[BoxData[ \(TraditionalForm\`S\^0\)]], "}. For the cosinus of the intersection angle for variable z we obtain \ (Remember: vn2[z] is a spacelike unit vector for all values of z):" }], "Text"], Cell[BoxData[ \(pssp[vn1, vn2[z]]\)], "Input", CellLabel->"In[50]:="], Cell[BoxData[ \(Together[%]\)], "Input", CellLabel->"In[51]:="], Cell[BoxData[ \(Remove[vn1, vn2]\)], "Input", CellLabel->"In[52]:="] }, Closed]], Cell[CellGroupData[{ Cell["Example 2", "Subsubsection"], Cell[BoxData[ \(Clear[x, y, z]\)], "Input", CellLabel->"In[53]:="], Cell["\<\ We consider the pair consisting of the standard unit circle C:\ \>", "Text"], Cell[BoxData[ \(Show[grc1]\)], "Input", CellLabel->"In[54]:="], Cell[" and the point pair {nul[3], {x,y,z}}.", "Text"], Cell[BoxData[ \(vpp[x_, y_, z_]\ := vspacepp[{0, 0, 0}, {x, y, z}]\)], "Input", CellLabel->"In[55]:="], Cell[BoxData[ \(vpp[x, y, z]\)], "Input", CellLabel->"In[56]:="], Cell[BoxData[ \(Simplify[%, \ x \[Element] \ Reals && y \[Element] \ Reals && z \[Element] \ Reals]\)], "Input", CellLabel->"In[58]:="], Cell["Simplifying by hand gives for x > 0:", "Text"], Cell[BoxData[ \(vpp[x_, y_, z_]\ := \ {{1, 0, 0, \(-\(x\/\(x\^2 + y\^2 + z\^2\)\)\), x\/\(x\^2 + y\^2 + z\^2\)}, {0, 0, 1, \(-\(z\/\(x\^2 + y\^2 + z\^2\)\)\), z\/\(x\^2 + y\^2 + z\^2\)}, {0, 1, 0, \(-\(y\/\(x\^2 + y\^2 + z\^2\)\)\), y\/\(x\^2 + y\^2 + z\^2\)}}\)], "Input", CellLabel->"In[59]:="], Cell[BoxData[ \(vpp[x, y, z]\)], "Input", CellLabel->"In[60]:="], Cell[BoxData[ \(Table[pssp[%[\([i]\)], \ %[\([j]\)]], {i, 3}, \ {j, 3}]\)], "Input", CellLabel->"In[61]:="], Cell["\<\ The matrix defining the invariants of {C, {nul[3], {x,y,z}} is\ \>", "Text"], Cell[BoxData[ \(pcfct[x_, y_, z_]\ := ppcpp[{stb[3], stb[4]}, vpp[x, y, z]]\)], "Input",\ CellLabel->"In[62]:="], Cell[BoxData[ \(pcfct[x, y, z]\)], "Input", CellLabel->"In[63]:="], Cell[BoxData[ \(Eigenvalues[%]\)], "Input", CellLabel->"In[64]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[65]:="], Cell[BoxData[ \(Factor[ x\^4 + y\^4 + 2\ y\^2\ \((\(-1\) + z\^2)\) + \((1 + z\^2)\)\^2 + 2\ x\^2\ \((\(-1\) + y\^2 + z\^2)\)]\)], "Input", CellLabel->"In[66]:="], Cell[BoxData[ \(\(F[x_, y_, z_]\ = \ %;\)\)], "Input", CellLabel->"In[67]:="], Cell[BoxData[ \(Simplify[F[x, y, z]\ - \ \((1 - x^2 - y^2 - z^2)\)^2]\)], "Input", CellLabel->"In[68]:="], Cell[BoxData[{ \(Since\), "\[IndentingNewLine]", \(\ d\^2 = x\^2 + y\^2 + z\^2\), "\[IndentingNewLine]", \(\ is\ the\ square\ of\ the\ distance\ of\ the\ two\ points\ we\ may\ \ write\ down\ the\ eigenvalues\ in\ the\ form\)}], "Text", FontFamily->"Times"], Cell[BoxData[ \(ev1[d_, z_] := \ \((1\ + \ d^2\ - \ Sqrt[\((1 - d^2)\)^2\ + \ 4*z^2])\)/\((2*d^2)\)\)], "Input", CellLabel->"In[69]:="], Cell[BoxData[ \(ev2[d_, z_] := \ \((1\ + \ d^2\ + \ Sqrt[\((1 - d^2)\)^2\ + \ 4*z^2])\)/\((2*d^2)\)\)], "Input", CellLabel->"In[70]:="], Cell["\<\ For the intersection angle of the two spheres {C, nul[3]}, {C,{x,y,z}} we \ calculate the cosinus\ \>", "Text"], Cell[BoxData[ \(cosfct[x_, y_, z_] := pssp[gesph[stb[3], \ stb[4], \ nul[3]], gesph[stb[3], \ stb[4], \ {x, y, z}]]\)], "Input", CellLabel->"In[71]:="], Cell[BoxData[ \(cosfct[x, y, z]\)], "Input", CellLabel->"In[72]:="], Cell["\<\ We want to epress this cosinus by the eigenvalues. For this purpose we \ calculate\ \>", "Text"], Cell[BoxData[ \(\((ev2[d, z] - ev1[d, z])\)^2\)], "Input", CellLabel->"In[73]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[74]:="], Cell[BoxData[ \(ev2[d, z]*ev1[d, z]\)], "Input", CellLabel->"In[75]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[76]:="], Cell["For eliminating z we put d^2 = X and consider", "Text"], Cell[BoxData[ \(Eliminate[{\((e2 - e1)\)^2*X^2 \[Equal] \((1 - X)\)^2\ + \ 4*z^2, e1*e2*X^2 \[Equal] \ X\ - \ z^2}, \ z]\)], "Input", CellLabel->"In[77]:="], Cell[BoxData[ \(Solve[%, \ X]\)], "Input", CellLabel->"In[78]:="], Cell[BoxData[ \(ev1[d, z]\ + \ ev2[d, z]\)], "Input", CellLabel->"In[79]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[80]:="], Cell["Since X = d^2 must be non negativ, the only solution is", "Text", TextAlignment->Left], Cell[TextData[Cell[BoxData[ \(X \[Rule] 1\/\(\(-1\) + e1 + e2\)\)]]], "Text", TextAlignment->Center], Cell["Returning to the expression cosfct[x,y,z] we calculate", "Text"], Cell[BoxData[ \(cosfct[x, y, z]\)], "Input", CellLabel->"In[81]:="], Cell[BoxData[ \(\((X\ - \ 1)\)/\((X\ + 1)\) /. X\ \[Rule] \ \ 1/\((e1\ + \ e2\ - \ 1)\)\)], "Input", CellLabel->"In[82]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[83]:="], Cell[TextData[{ "This is the expression we asked for. By a M\[ODoubleDot]bius transform any \ pairing of a circle and a point pair not contained in the circle can be \ brought in the position that the circle coincides with the standard unit \ circle C and one of the points coincides with the center nul[3] of C. Since \ under a M\[ODoubleDot]bius transform the eigenvalues and the intersection \ angle between the associated spheres remain invariant, we proved:\n\ PROPOSITION. Let ", Cell[BoxData[ \(TraditionalForm\`S\^1\)]], " be an arbitrary circle (or a line) and ", Cell[BoxData[ \(TraditionalForm\`S\^0\)]], " = {p0, p1} a point pair disjoint to ", Cell[BoxData[ \(TraditionalForm\`S\^1\)]], ". Then the cosinus of the intersection angle \[Alpha] of the associated \ spheres is defined by the eigenvalues e1,e2 of the pairing {", Cell[BoxData[ \(TraditionalForm\`S\^1\)]], ", ", Cell[BoxData[ \(TraditionalForm\`S\^0\)]], "} according to the formula" }], "Text"], Cell[BoxData[ \(Cos[\[Alpha]]\ = \ \(2 - e1 - e2\)\/\(e1 + e2\)\)], "Input", Evaluatable->False], Cell["To control our calculations we verify", "Text"], Cell[BoxData[ \(Simplify[ Together[\(-\(\(\(-2\) + e1 + e2\)\/\(e1 + e2\)\)\) /. {e1\ \[Rule] \ ev1[d, z], \ e2\ \[Rule] \ ev2[d, z]}]]\)], "Input", CellLabel->"In[84]:="] }, Closed]], Cell[CellGroupData[{ Cell["Examples", "Subsubsection"], Cell["\<\ If one of the points belong to the circle, the formula yields 0, and this is \ the case for all points with d = 1:\ \>", "Text"], Cell[BoxData[ \(Off[Set::write]\)], "Input", CellLabel->"In[85]:="], Cell[BoxData[ \(Simplify[cosfct[Cos[t], \ Sin[t], 0]]\)], "Input", CellLabel->"In[86]:="], Cell[BoxData[ \(Simplify[cosfct[Cos[t]*Cos[s], \ Sin[t]*Cos[s], Sin[s]]]\)], "Input", CellLabel->"In[87]:="], Cell[TextData[{ "If ", Cell[BoxData[ \(TraditionalForm\`S\^0\)]], " degenerates to a single, \"double counting\" point, both spheres \ coincide; thus we obtain \[Alpha] = 0:" }], "Text"], Cell[BoxData[ \(Simplify[cosfct[0, 0, 0]]\)], "Input", CellLabel->"In[88]:="], Cell[BoxData[ \(Plot[\ ArcCos[cosfct[0, 0, z]]*180/Pi, \ {z, \ 0, \ 10}]\)], "Input", CellLabel->"In[89]:="], Cell[BoxData[ \(ArcCos[cosfct[0, 0, 1]]*180/Pi\)], "Input", CellLabel->"In[90]:="] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["5 Point quadrupels", "Section"], Cell[CellGroupData[{ Cell["5.1 A complete invariant system", "Subsection"], Cell[CellGroupData[{ Cell["A complete invariant system", "Subsubsection"], Cell["\<\ We consider pairs of 0-spheres, i.e. point quadrupels {{a1,a2},{b1,b2}}. \ Since each point quadrupel belongs to a sphere, we could consider spherical M\ \[ODoubleDot]bius geometry: dim = 2, but for later applications we shall \ consider the case dim = 3. Since the M\[ODoubleDot]bius group of the sphere \ coincides with the broken linear transformations in one complex variable of \ the Riemannian sphere, and this is the projective complex line, the invariant \ of the quadrupel coincides with the complex cross ratio, the basic invariant \ of complex projective geometry. We are interested more in the real situation, \ for later application in differential geometry. Therefore we shall apply the \ general method of M\[ODoubleDot]bius invariants for pairs of subspheres also \ in this lowest dimensional case. Since the cross ratio is a complex number we \ may expect to obtain two real invariants describing the mutual position of \ two point pairs in the M\[ODoubleDot]bius space. Let {a_list, b_list} = {{a1,a2},{b1,b2}} be two point pairs in the 3-space. \ Then the corresponding double projection is defined as\ \>", "Text"], Cell[BoxData[ \(ppptspp[a_List, \ b_List]\ := \ Module[{av, \ bv, \ i, \ j, k}, \n\t\tav\ = \ vspacepp[a[\([1]\)], \ a[\([2]\)]]; \n\t bv\ = \ vspacepp[b[\([1]\)], \ b[\([2]\)]]; \[IndentingNewLine]If[ av\ \[Equal] \ Null || bv \[Equal] Null, \ Return[]]; \n\t\tTable[ Sum[pssp[av[\([j]\)], bv[\([k]\)]]* pssp[av[\([i]\)], bv[\([k]\)]], {k, 3}], \n\t\t\t{i, 3}, {j, 3}]]\)], "Input", CellLabel->"In[93]:="], Cell["The eigenvalues of this matrix and the rank", "Text"], Cell[BoxData[ \(rk[a1_List, \ a2_List, \ b1_List, \ b2_List] := rank[Join[vspacepp[a1, \ a2], vspacepp[b1, \ b2]]]\)], "Input", CellLabel->"In[94]:="], Cell["\<\ are a complete invariant system for the m\[ODoubleDot]bius geometry of point \ pairs.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["First examples", "Subsubsection"], Cell[BoxData[ \(ppptspp[{{\(-1\), 0, 0}, \ {1, 0, 0}}, {{0, \(-1\), 0}, \ {0, \ 1, 0}}]\)], "Input", CellLabel->"In[95]:="], Cell[BoxData[ \(rk[{\(-1\), 0, 0}, \ {1, 0, 0}, {0, \(-1\), 0}, \ {0, \ 1, 0}]\)], "Input", CellLabel->"In[96]:="], Cell["If the two point pairs coincide, we get the identity matrix:", "Text"], Cell[BoxData[ \(ppptspp[{{\(-1\), 0, 0}, \ {1, 0, 0}}, {{\(-1\), 0, 0}, \ {1, 0, 0}}]\)], "Input", CellLabel->"In[97]:="], Cell[BoxData[ \(rk[{\(-1\), 0, 0}, \ {1, 0, 0}, {\(-1\), 0, 0}, \ {1, 0, 0}]\)], "Input",\ CellLabel->"In[98]:="], Cell[BoxData[ \(vspacepp[{0, 1, 0}, \ {0, \ 1, 0}]\)], "Input", CellLabel->"In[99]:="], Cell[BoxData[ \(ppptspp[{{\(-1\), 0, 0}, \ {1, 0, 0}}, {{0, 1, 0}, \ {0, \ 1, 0}}]\)], "Input", CellLabel->"In[100]:="] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["5.2 Throws", "Subsection"], Cell[TextData[{ "We say that the quadrupel is a", StyleBox[" throw", FontColor->RGBColor[1, 0, 0]], ", if at least three of the four points are different. In this case we show \ that always one of the three eigenvalues equals 1. To this aim we assume \ without restriction of generality that all four points belong to the \ x,y-plane; by a M\[ODoubleDot]bius transform we reach that three of the \ points are unit points on the axes:" }], "Text"], Cell[BoxData[ \(ppptspp[{{\(-1\), 0, 0}, \ {1, 0, 0}}, {{x, \ y, 0}, {0, 1, 0}}]\)], "Input", CellLabel->"In[101]:="], Cell[BoxData[ \(Simplify[%, x \[Element] \ Reals && y \[Element] \ Reals]\)], "Input", CellLabel->"In[102]:="], Cell["Therefore we may define", "Text"], Cell[BoxData[ \(pppts[x_, y_]\ := {{1, 0, \(\(-1\) + x\^2 + y\^2\)\/\(x\^2 + \((\(-1\) + y)\)\^2\)}, {0, 1, 0}, {\(\(-1\) + x\^2 + y\^2\)\/\(x\^2 + \((\(-1\) + y)\)\^2\), 0, \(x\^2 + \((1 + y)\)\^2\)\/\(x\^2 + \((\(-1\) + y)\)\^2\)}}\)], \ "Input", CellLabel->"In[104]:="], Cell["This coincides with our first example", "Text"], Cell[BoxData[ \(pppts[0, \ \(-1\)]\)], "Input", CellLabel->"In[105]:="], Cell[BoxData[ \(pppts[x, y]\)], "Input", CellLabel->"In[106]:="], Cell["\<\ Thus, {0,1,0} is eigenvector with eigenvalue 1, for all values of x,y:\ \>", "Text"], Cell[BoxData[ \(% . {0, 1, 0}\)], "Input", CellLabel->"In[107]:="], Cell[BoxData[ \(vspacepp[{\(-1\), 0, 0}, \ {1, 0, 0}] // MatrixForm\)], "Input", CellLabel->"In[108]:="], Cell[BoxData[ \(Transpose[%] . {0, 1, 0}\)], "Input", CellLabel->"In[109]:="], Cell["\<\ Thus, the eigenvector to the eigenvalue 1 defines the sphere which contains \ the four points:\ \>", "Text"], Cell[BoxData[ \(euklidsphereplot3D[%]\)], "Input", CellLabel->"In[110]:="], Cell[BoxData[ \(Det[pppts[x, y]]\)], "Input", CellLabel->"In[111]:="], Cell[BoxData[ \(Eigenvalues[pppts[x, y]]\)], "Input", CellLabel->"In[112]:="], Cell[BoxData[ \(Simplify[%]\)], "Input", CellLabel->"In[113]:="], Cell[CellGroupData[{ Cell["Four points on the standard unit circle", "Subsubsection"], Cell[BoxData[ \(Simplify[pppts[Cos[t], \ Sin[t]]]\)], "Input", CellLabel->"In[114]:="], Cell["Obviously, the eigenvalues are", "Text"], Cell[BoxData[ \(Eigenvalues[%]\)], "Input", CellLabel->"In[115]:="], Cell[BoxData[ \(\(eigenv1[t_]\ = \ %;\)\)], "Input", CellLabel->"In[116]:="] }, Closed]], Cell[CellGroupData[{ Cell["WARNING!", "Subsubsection"], Cell[TextData[{ " Starting from the unsimplified matrix ", StyleBox["Mathematica", FontSlant->"Italic"], " may calculate wrong eigenvalues:" }], "Text"], Cell[BoxData[ \(Eigenvalues[pppts[Cos[t], \ Sin[t]]]\)], "Input", CellLabel->"In[123]:="], Cell[BoxData[ \(Simplify[%, \ t \[Element] \ Reals]\)], "Input", CellLabel->"In[124]:="], Cell[BoxData[ \(\(eigenv2[t_]\ = \ %;\)\)], "Input", CellLabel->"In[125]:="], Cell[BoxData[ \(Ftest[t_]\ = \ eigenv1[t] - eigenv2[t]\)], "Input", CellLabel->"In[126]:="], Cell[BoxData[ \(Plot[\(Ftest[t]\)[\([2]\)], \ {t, \ 0, \ 2*Pi}]\)], "Input", CellLabel->"In[127]:="], Cell[BoxData[ \(Plot[\(Ftest[t]\)[\([3]\)], \ {t, \ 0, \ 2*Pi}]\)], "Input", CellLabel->"In[128]:="], Cell["\<\ Obviously, the calculation of the eigenvalues of the unsimplified matrix \ leads to an incorrect result, as the appearance of the square roots show.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Continuation", "Subsubsection"], Cell["\<\ For t = 0, Pi all the eigenvalues are 1 since the point pairs have a common \ point:\ \>", "Text"], Cell[BoxData[ \(eigenv1[Pi]\)], "Input", CellLabel->"In[129]:="], Cell[BoxData[ \(eigenv1[0]\)], "Input", CellLabel->"In[130]:="], Cell["\<\ Since for t = Pi/2 the second point pair degenerates to one point, we here \ get a singularity:\ \>", "Text"], Cell[BoxData[ \(eigenv1[Pi/2]\)], "Input", CellLabel->"In[131]:="], Cell["\<\ It follows: for all values of t the multiplicity of the eigenvalue 1 is at \ least 2. \ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Four points in general position", "Subsubsection"], Cell[BoxData[ \(Eigensystem[pppts[0, 0]]\)], "Input", CellLabel->"In[132]:="], Cell[BoxData[ \(Eigenvectors[pppts[0, 0]]\)], "Input", CellLabel->"In[133]:="], Cell["The corresponding eigenspheres are", "Text"], Cell[BoxData[ \(bvv\ = \ vspacepp[{\(-1\), 0, 0}, \ {1, 0, 0}]\)], "Input", CellLabel->"In[134]:="], Cell[BoxData[ \(Clear[ev1, ev2, ev3]\)], "Input", CellLabel->"In[154]:="], Cell[BoxData[ \(ev1\ = \ Transpose[bvv] . {1, 0, 1}/Sqrt[2]\)], "Input", CellLabel->"In[155]:="], Cell[BoxData[ \(ev2\ = \ Transpose[bvv] . {0, 1, 0}\)], "Input", CellLabel->"In[156]:="], Cell[BoxData[ \(ev3\ = \ Transpose[bvv] . {\(-1\), 0, 1}/Sqrt[2]\)], "Input", CellLabel->"In[157]:="], Cell[BoxData[ \(pts\ = \ {Point[nul[3]], Point[{1, 0, 0}], Point[{\(-1\), 0, 0}], Point[{0, 1, 0}]}\)], "Input", CellLabel->"In[138]:="], Cell[BoxData[ \(Show[Graphics3D[{RGBColor[1, 0, 0], PointSize[0.05], pts}]]\)], "Input",\ CellLabel->"In[139]:="], Cell[BoxData[ \(grepts\ = \ %\)], "Input", CellLabel->"In[140]:="], Cell[BoxData[ \({euklidsphereplot3D[ev1], euklidsphereplot3D[ev2], euklidsphereplot3D[ev3]}\)], "Input", CellLabel->"In[158]:="], Cell[BoxData[ \(Show[%]\)], "Input", CellLabel->"In[159]:="], Cell[BoxData[ \(gresph\ = \ %\)], "Input", CellLabel->"In[160]:="], Cell[BoxData[ \(Show[{grepts, gresph}]\)], "Input", CellLabel->"In[161]:="], Cell[BoxData[ \(gre1\ = \ %\)], "Input", CellLabel->"In[162]:="], Cell[BoxData[ \(MVShow3D[gre1\[IndentingNewLine], MVPointSphereSize \[Rule] 0.8, \ MVLineTubeSize\ -> \ 0.03]\)], "Input", CellLabel->"In[163]:="] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "6 ", StyleBox["Geodesics in the space of 0-spheres", FontFamily->"Helvetica"] }], "Section", Evaluatable->False], Cell[CellGroupData[{ Cell["6.1 Introduction", "Subsection"], Cell["\<\ A 2-point curve is a curve in the 6-dimensional space of all 0-spheres. This \ space is pseudo-Riemannian symmetric of rank two. The geodesics of the space \ are orbits of certain 1-parameter subgroups of the M\[ODoubleDot]bius group. \ As in all reductive spaces, the geodesics through an element C are the \ orbits of certain one-parameter subgroups exp(At) C, t \[Element] Reals, of \ the M\[ODoubleDot]bius group, where in our case C is defined to be the point \ pair \ \>", "Text"], Cell[BoxData[ \({stepro[stb[4]\ - \ stb[5]], stepro[stb[4]\ + \ stb[5]]}\)], "Input", CellLabel->"In[19]:="], Cell["\<\ A denotes an element of the orthogonal complement of the isotropy algebra of \ C in the pseudo-orthogonal Lie algebra o(5,1); here orthogonality is defined \ by the Killing form of the Lie algebra o(5,1). It would be interesting to \ investigate the relation between the pseudo-Riemannian geometry of the \ 0-sphere space and the point submanifolds more basically. But this may be the \ subject of another notebook. We emphasize that we do not give here a \ classification of all the geodesics with respect to the M\[ODoubleDot]bius \ group. We only treat three simple cases of geodesics lying in a 2-sphere.\ \>", "Text"], Cell["\<\ For the Killing form and some other constructs we import the package \ \>", "Text"], Cell[BoxData[ \(<< liealg.m\)], "Input", CellLabel->"In[23]:="], Cell[TextData[{ "This package is an shortened version of the package liealg.m contained in \ ", StyleBox["MathSource", FontSlant->"Italic"], ", \"Lie Algebras\"", " [5]", "." }], "Text"], Cell[CellGroupData[{ Cell["The isotropy algebra and its orthogonal complement", "Subsubsection"], Cell["\<\ A general square matrix of order n = dim with coefficients a[i,j] is\ \>", "Text"], Cell[BoxData[ \(matrix[a_, \ n_: dim]\ := \ Table[a[i, j], {i, n}, \ {j, n}]\)], "Input", CellLabel->"In[16]:=", Evaluatable->False, InitializationCell->True], Cell[BoxData[ \(matrix[a]\)], "Input", CellLabel->"In[21]:="], Cell["In particular, we have the nullmatrix", "Text"], Cell[BoxData[ \(nullmatrix[3]\)], "Input", CellLabel->"In[22]:="], Cell["\<\ The pseudo-orthogonal Lie algebra for dim = 5 and ind = 1 is the set of all \ matrices which fulfil the condition\ \>", "Text"], Cell[BoxData[ \(MatrixForm[matrix[a] + \ dual[Transpose[dual[matrix[a]]]]] == \ MatrixForm[nullmatrix[5]]\)], "Input", CellLabel->"In[23]:="], Cell["\<\ From this equation one sees that the Lie algebra has dimension 10 and \ consists of all matrices with the shape\ \>", "Text"], Cell[BoxData[ \(a[i_, j_]\ := \ 0 /; i == j\)], "Input", CellLabel->"In[24]:="], Cell[BoxData[ \(a[j_, i_]\ := \ \(-a[i, j]\) /; \((i < j\ && \ j < dim)\)\)], "Input",\ CellLabel->"In[25]:="], Cell[BoxData[ \(a[j_, i_]\ := \ a[i, j] /; \((i < j\ && \ j == dim)\)\)], "Input", CellLabel->"In[26]:="], Cell[BoxData[ \(MatrixForm[matrix[a]]\)], "Input", CellLabel->"In[27]:="], Cell["\<\ The isotropy algebra of the point pair C = {o, \[Proportional]) is the \ four-dimensional Lie subalgebra of all matrices matrix[b] leaving the \ subspace spanned by {stb[4], stb[5]} fixed:\ \>", "Text"], Cell[BoxData[ \(stepro[\((stb[4] + stb[5])\)]\)], "Input", CellLabel->"In[28]:="], Cell[BoxData[ \(stepro[\((stb[4] - stb[5])\)]\)], "Input", CellLabel->"In[29]:="], Cell[BoxData[ \(b[i_, j_]\ := \ 0 /; \((i == j || \((i > 3 && j < 4)\) || \((i < 4 && j > 3)\))\)\)], "Input",\ CellLabel->"In[30]:="], Cell[BoxData[ \(b[j_, i_]\ := \ \(-b[i, j]\) /; \((i < j\ && \ j < dim - 1)\)\)], "Input",\ CellLabel->"In[31]:="], Cell[BoxData[ \(b[j_, i_]\ := \ b[i, j] /; \((i == j\ - 1 && \ j == dim)\)\)], "Input",\ CellLabel->"In[32]:="], Cell[BoxData[ \(MatrixForm[matrix[b]]\)], "Input", CellLabel->"In[33]:="], Cell["\<\ Its orthogonal complement wit respect to the Killing form is the \ 6-dimensional subspace of all matrices matrix[c], where the complementary set \ of coefficients is free, and the coefficients appearing in matrix[b] \ vanish:\ \>", "Text"], Cell[BoxData[ \(c[i_, j_]\ := \ 0 /; \((\((i < 4 && j < 4)\) || \((i > 3 && j > 3)\))\)\)], "Input", CellLabel->"In[34]:="], Cell[BoxData[ \(c[j_, i_]\ := \ \(-c[i, j]\) /; \((i < j\ && \ j < dim)\)\)], "Input",\ CellLabel->"In[35]:="], Cell[BoxData[ \(c[j_, i_]\ := \ c[i, j] /; \((i < j\ - 1 && \ j == dim)\)\)], "Input",\ CellLabel->"In[36]:="], Cell[BoxData[ \(MatrixForm[matrix[c]]\)], "Input", CellLabel->"In[37]:="], Cell["\<\ The Killing form restricted to the subspace of these matrices is \ \>", "Text"], Cell[BoxData[ \(psokilling[matrix[c], matrix[c]]\)], "Input", CellLabel->"In[38]:="], Cell["\<\ Thus it is a 6-dimensional pseudo-euclidean vector space of index three. That \ this space is the orthogonal complement of the isotropy algebra follows \ easely; indeed:\ \>", "Text"], Cell[BoxData[ \(psokilling[matrix[c], matrix[b]]\)], "Input", CellLabel->"In[39]:="], Cell["\<\ Here is the Killing form of an arbitrary element of the pseudo-orthogonal Lie \ algebra o(5,1):\ \>", "Text"], Cell[BoxData[ \(psokilling[matrix[a], matrix[a]]\)], "Input", CellLabel->"In[40]:="] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["6.2 Spacelike geodesics", "Subsection", Evaluatable->False], Cell["\<\ The following matrix function defines the 1-parameter subgroup exp[Uh*t], \ where Uh is an element of the Lie algebra o(5,1) orthogonal to the isotropy \ algebra of C and spacelike with respect to the Killing form of o(5,1) :\ \>", "Text"], Cell[BoxData[ \(Uh\ = \ {{0, 0, 0, 0, 1}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {1, 0, 0, 0, 0}}\)], "Input", CellLabel->"In[41]:="], Cell[BoxData[ \(psokilling[Uh, Uh]\)], "Input", CellLabel->"In[42]:="], Cell[BoxData[ \(Uh // MatrixForm\)], "Input", CellLabel->"In[43]:="], Cell[BoxData[ \(gUh[t_]\ \ := \ MatrixExp[Uh\ t]\)], "Input", CellLabel->"In[44]:="], Cell[BoxData[ \(MatrixForm[gUh[t]]\)], "Input", CellLabel->"In[45]:="], Cell[BoxData[ \(stepro[\((stb[4] - stb[5])\)]\)], "Input", CellLabel->"In[46]:="], Cell[BoxData[ \(vh1[t_] := \ Evaluate[gUh[t] . \((stb[4] - stb[5])\)]\)], "Input", CellLabel->"In[47]:="], Cell[BoxData[ \(vh1[t]\)], "Input", CellLabel->"In[48]:="], Cell[BoxData[ \(pssp[%, %]\)], "Input", CellLabel->"In[49]:="], Cell[BoxData[ \(Simplify[Together[%]]\)], "Input", CellLabel->"In[50]:="], Cell[BoxData[ \(x0[t_]\ := \ stepro[vh1[t]]\)], "Input", CellLabel->"In[51]:="], Cell[BoxData[ \(x0[t]\)], "Input", CellLabel->"In[52]:="], Cell[BoxData[ \(stepro[\((stb[4] + stb[5])\)]\)], "Input", CellLabel->"In[53]:="], Cell[BoxData[ \(vh2[t_] := \ Evaluate[gUh[t] . \((stb[4] + stb[5])\)]\)], "Input", CellLabel->"In[54]:="], Cell[BoxData[ \(x2[t_]\ := \ stepro[vh2[t]]\)], "Input", CellLabel->"In[55]:="], Cell[BoxData[ \(x2[t]\)], "Input", CellLabel->"In[56]:="], Cell["\<\ Both points remain on the x-axis; the coordinate difference is\ \>", "Text"], Cell[BoxData[ \(diffx[t_]\ := Together[\((x2[t]\ - \ x0[t])\)[\([1]\)]]\)], "Input", CellLabel->"In[57]:="], Cell[BoxData[ \(diffx[t]\)], "Input", CellLabel->"In[58]:="], Cell[BoxData[ \(Plot[\(x0[t]\)[\([1]\)], \ {t, 0, 10}, PlotRange\ \[Rule] \ All]\)], "Input", CellLabel->"In[59]:="], Cell[BoxData[ \(Plot[\(x2[t]\)[\([1]\)], \ {t, 0, 10}]\)], "Input", CellLabel->"In[60]:="], Cell[BoxData[ \(Plot[\(x2[t]\)[\([1]\)], \ {t, 1, 5}]\)], "Input", CellLabel->"In[61]:="], Cell[BoxData[ \(diffx[t]\)], "Input", CellLabel->"In[62]:="], Cell[BoxData[ \(Plot[diffx[t], \ {t, .5, 5}]\)], "Input", CellLabel->"In[63]:="], Cell["\<\ Obviously, for t -> \[Infinity], both points have the limit (1,0,0).\ \>", "Text"], Cell[BoxData[ \(invstepro[{1, 0, 0}]\)], "Input", CellLabel->"In[64]:="], Cell[BoxData[ \(gUh[t] . %\)], "Input", CellLabel->"In[65]:="], Cell[BoxData[ \(stepro[%]\)], "Input", CellLabel->"In[66]:="], Cell["Thus, {1, 0, 0} is a fixed point of this transformation.", "Text"], Cell[BoxData[ \(Clear[x]\)], "Input", CellLabel->"In[67]:="], Cell["The only fixed points on the x-axis are {1,0,0}, {-1,0,0}:", "Text"], Cell[BoxData[ \(invstepro[{x, 0, 0}]\)], "Input", CellLabel->"In[68]:="], Cell[BoxData[ \(Solve[ Uh . {\(2\ x\)\/\(1 + x\^2\), 0, 0, \(\(-1\) + x\^2\)\/\(1 + x\^2\), 1} \[Equal] \ k {\(2\ x\)\/\(1 + x\^2\), 0, 0, \(\(-1\) + x\^2\)\/\(1 + x\^2\), 1}, {x, k}]\)], "Input", CellLabel->"In[69]:="], Cell[BoxData[ \(Uh . {\(2\ x\)\/\(1 + x\^2\), 0, 0, \(\(-1\) + x\^2\)\/\(1 + x\^2\), 1}\)], "Input", CellLabel->"In[70]:="], Cell["We have the two solutions", "Text"], Cell[BoxData[ \(Uh . {1, 0, 0, 0, 1}\)], "Input", CellLabel->"In[71]:="], Cell[BoxData[ \(Uh . {\(-1\), 0, 0, 0, 1}\)], "Input", CellLabel->"In[72]:="], Cell[BoxData[ \(stepro[{1, 0, 0, 0, 1}]\)], "Input", CellLabel->"In[73]:="], Cell[BoxData[ \(stepro[{\(-1\), 0, 0, 0, 1}]\)], "Input", CellLabel->"In[74]:="] }, Closed]], Cell[CellGroupData[{ Cell["6.3 Timelike geodesics", "Subsection", Evaluatable->False], Cell["\<\ The following matrix function defines the 1-parameter subgroup exp[Ue*t], \ where Ue is an element of the Lie algebra o(n,1) orthogonal to the isotropy \ algebra of C and timelike with respect to the Killing form of o(n,1):\ \>", "Text"], Cell[BoxData[ \(Ue\ = \ {{0, 0, 0, 1, 0}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {\(-1\), 0, 0, 0, 0}, {0, 0, 0, 0, 0}}\)], "Input", CellLabel->"In[75]:="], Cell[BoxData[ \(psokilling[Ue, Ue]\)], "Input", CellLabel->"In[76]:="], Cell[BoxData[ \(gUe[t_] := MatrixExp[Ue\ t]\)], "Input", CellLabel->"In[77]:="], Cell[BoxData[ \(ve1[t_]\ := \ gUe[t] . \((stb[4] - stb[5])\)\)], "Input", CellLabel->"In[78]:="], Cell[BoxData[ \(ve1[t]\)], "Input", CellLabel->"In[79]:="], Cell[BoxData[ \(Simplify[pssp[%, %]]\)], "Input", CellLabel->"In[80]:="], Cell[BoxData[ \(y1[t_]\ := \ stepro[ve1[t]]\)], "Input", CellLabel->"In[81]:="], Cell[BoxData[ \(ve2[t_]\ := \ gUe[t] . \((stb[4] + stb[5])\)\)], "Input", CellLabel->"In[82]:="], Cell[BoxData[ \(ve2[t]\)], "Input", CellLabel->"In[83]:="], Cell[BoxData[ \(y2[t_] := \ stepro[ve2[t]]\)], "Input", CellLabel->"In[84]:="], Cell[BoxData[ \(y1[t]\)], "Input", CellLabel->"In[85]:="], Cell[BoxData[ \(y2[t]\)], "Input", CellLabel->"In[86]:="], Cell[BoxData[ \(Plot[\(I\ \((\(-1\) + E\^\(I\ t\))\)\)\/\(1 + E\^\(I\ t\)\), {t, \ 0, 10}]\)], "Input", CellLabel->"In[87]:="], Cell[BoxData[ \(Plot[\(I\ \((1 + E\^\(I\ t\))\)\)\/\(\(-1\) + E\^\(I\ t\)\), {t, \ 0, 10}]\)], "Input", CellLabel->"In[88]:="], Cell["\<\ Again we have two points running periodically over the x-axis (i.e. on the \ sphere: rotation on a meridian), with distance\ \>", "Text"], Cell[BoxData[ \(distx2[t_]\ := Together[\(I\ \((\(-1\) + E\^\(I\ t\))\)\)\/\(1 + E\^\(I\ t\)\) - \(I\ \ \((1 + E\^\(I\ t\))\)\)\/\(\(-1\) + E\^\(I\ t\)\)]\)], "Input", CellLabel->"In[89]:="], Cell[BoxData[ \(Plot[distx2[t], \ {t, 0, 10}]\)], "Input", CellLabel->"In[90]:="], Cell[BoxData[ \(Plot[distx2[t], \ {t, 4, 5}]\)], "Input", CellLabel->"In[91]:="], Cell[BoxData[ \(Clear[x]\)], "Input", CellLabel->"In[92]:="], Cell["Obviously, there do not exist fixed points on the x-axis:", "Text"], Cell[BoxData[ \(invstepro[{x, 0, 0}]\)], "Input", CellLabel->"In[93]:="], Cell[BoxData[ \(Solve[ Ue . {\(2\ x\)\/\(1 + x\^2\), 0, 0, \(\(-1\) + x\^2\)\/\(1 + x\^2\), 1} \[Equal] \ k {\(2\ x\)\/\(1 + x\^2\), 0, 0, \(\(-1\) + x\^2\)\/\(1 + x\^2\), 1}, {x, k}]\)], "Input", CellLabel->"In[94]:="], Cell[BoxData[ \(Ue . {\(2\ x\)\/\(1 + x\^2\), 0, 0, \(\(-1\) + x\^2\)\/\(1 + x\^2\), 1}\)], "Input", CellLabel->"In[95]:="] }, Closed]], Cell[CellGroupData[{ Cell["6.4 Isotropic geodesics", "Subsection", Evaluatable->False], Cell["\<\ The following matrix function defines the 1-parameter subgroup exp[U*t], \ where U is an element of the Lie algebra o(n,1) orthogonal to the isotropy \ algebra of C and isotropic with respect to the Killing form of o(n,1) :\ \>", "Text"], Cell[BoxData[ \(U\ = {{0, 0, 0, 1, 1}, {0, 0, 0, 0, 0}, {0, 0, 0, 0, 0}, {\(-1\), 0, 0, 0, 0}, {1, 0, 0, 0, 0}}\)], "Input", CellLabel->"In[96]:="], Cell[BoxData[ \(psokilling[U, \ U]\)], "Input", CellLabel->"In[97]:="], Cell[BoxData[ \(MatrixForm[U]\)], "Input", CellLabel->"In[98]:="], Cell[BoxData[ \(isotropugr[t_] := \ MatrixExp[U*t]\)], "Input", CellLabel->"In[99]:="], Cell[BoxData[ \(isotropugr[t] // MatrixForm\)], "Input", CellLabel->"In[100]:="], Cell[BoxData[ \(gh[t_] := \ isotropugr[t]\)], "Input", CellLabel->"In[101]:="], Cell[BoxData[ \(Simplify[ Table[pssp[\(gh[t]\)[\([i]\)], \ \(gh[t]\)[\([j]\)]], {i, 5}, {j, 5}]]\)], "Input", CellLabel->"In[102]:="], Cell[BoxData[ \(v1c[t_]\ := \ gh[t] . \((stb[4] - stb[5])\)\)], "Input", CellLabel->"In[103]:="], Cell[BoxData[ \(v2c[t_]\ := \ gh[t] . \((stb[4]\ + \ stb[5])\)\)], "Input", CellLabel->"In[104]:="], Cell[BoxData[ \(v1c[t]\)], "Input", CellLabel->"In[105]:="], Cell[BoxData[ \(v2c[t]\)], "Input", CellLabel->"In[106]:="], Cell[BoxData[ \(stepro[v1c[t]]\)], "Input", CellLabel->"In[107]:="], Cell[BoxData[ \(stepro[v2c[t]]\)], "Input", CellLabel->"In[108]:="], Cell["\<\ For this geodesic, the origin nul[3] remains fixed, and the infinite point \ moves with distance 1/t along the x-axis towards the origin. The origin is \ the only fixed point on the x-axis:\ \>", "Text"], Cell[BoxData[ \(Clear[x]\)], "Input", CellLabel->"In[109]:="], Cell[BoxData[ \(invstepro[{x, 0, 0}]\)], "Input", CellLabel->"In[110]:="], Cell[BoxData[ \(Solve[ U . {\(2\ x\)\/\(1 + x\^2\), 0, 0, \(\(-1\) + x\^2\)\/\(1 + x\^2\), 1} \[Equal] \ k {\(2\ x\)\/\(1 + x\^2\), 0, 0, \(\(-1\) + x\^2\)\/\(1 + x\^2\), 1}, {x, k}]\)], "Input", CellLabel->"In[111]:="], Cell[BoxData[ \(U . {\(2\ x\)\/\(1 + x\^2\), 0, 0, \(\(-1\) + x\^2\)\/\(1 + x\^2\), 1}\)], "Input", CellLabel->"In[112]:="], Cell[BoxData[ \(% /. x \[Rule] \ 0\)], "Input", CellLabel->"In[113]:="], Cell[BoxData[ \(gh[t] . {0, 0, 0, \(-1\), 1}\)], "Input", CellLabel->"In[114]:="], Cell[BoxData[ \(stepro[{0, 0, 0, \(-1\), 1}]\)], "Input", CellLabel->"In[115]:="] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["7 ThreeScript, MathGL3d", "Section"], Cell[TextData[{ "If you want to generate *.ts files for animations outside of ", StyleBox["Mathematica", FontSlant->"Italic"], ", activate the next section. To use the animation program MathGL3d in this \ notebook, read and activate section 7.2." }], "Text"], Cell[CellGroupData[{ Cell["7.1 Threescript ", "Subsection"], Cell["\<\ The ThreeScript commands generate *.ts files appropriate for certain \ animation programs. The freeware program MathGL3d created by Jens-Peer \ Kuska (for Windows95, Linux and other platforms) can be downloaded from \ [2].\ \>", "Text", Evaluatable->False], Cell["\<\ Under Windows the commercial 3D-Animation programs MathLive and \ DynamicVisualizer are available. To produce .ts-files one \ \>", "Text", Evaluatable->False], Cell[BoxData[ \(Needs["\"]\)], "Input", CellLabel->"In[18]:=", InitializationCell->True], Cell[BoxData[ \(\(?ThreeScript\)\)], "Input", CellLabel->"In[40]:="], Cell["\<\ The standard extension of these files is ts: \"filename.ts\" or \ \"Path/filename.ts\", e.g.\ \>", "Text", Evaluatable->False], Cell[BoxData[ \(ThreeScript["\", \ isofam]\)], "Input", CellLabel->"In[33]:=", Evaluatable->False] }, Closed]], Cell[CellGroupData[{ Cell["7.2 MathGL3d", "Subsection"], Cell[TextData[{ "The free animation program MathGL3d by Jens-Peer Kuska [2] can be used \ from a command line and within a ", StyleBox["Mathematica", FontSlant->"Italic"], " session. A new version of this program is in preparation. Jens-Peer Kuska \ has sent me a new startup file OpenGLViewer.m, and friendly permitted to add \ it to the item \"Spheres\". Replace the old file OpenGLViewer.m by this new \ OpenGLViewer.m. If you did this, changes of ", StyleBox["Mathematica", FontSlant->"Italic"], "'s ParametricPlot3D, especially the sometimes disturbing generating of \ MeshGraphics3D objects, will not take place.\nEstablish the link to the \ current ", StyleBox["Mathematica", FontSlant->"Italic"], " session with the command:" }], "Text"], Cell[BoxData[ \(Get["\"]\)], "Input", CellLabel->"In[146]:="], Cell["If you want to close the link, enter", "Text"], Cell["MVClose[]", "Text", CellLabel->"In[44]:="], Cell["\<\ The following command clears the Viewer window; this and other MathGL3d \ commands you may enter also with palettes.\ \>", "Text"], Cell[BoxData[{ \(\(MVClear[];\)\[IndentingNewLine]\), "\[IndentingNewLine]", \(MVShow3D[\[Placeholder], MVPolygonShading \[Rule] MVSmooth, MVGrayBackground \[Rule] False, MVTexture \[Rule] None, MVTextureMapType \[Rule] MVMeshUVMapping, MVScaleTexture \[Rule] {1, 1}, MVTranslateTextureTarget \[Rule] Automatic, MVRotateTextureTarget \[Rule] Automatic, MVScaleTextureTarget \[Rule] Automatic]\)}], "Input", CellLabel->"In[35]:="], Cell[BoxData[ \(MVShow3D[gre1\[IndentingNewLine], MVPointSphereSize \[Rule] 0.8, \ MVLineTubeSize\ -> \ 0.03]\)], "Input", CellLabel->"In[36]:="], Cell[BoxData[ \(MVShow3D[tgr1, \ MVLineTubeSize\ -> \ 0.03]\)], "Input", CellLabel->"In[69]:="], Cell[BoxData[ \(MVShow3D[tgr3, MVPointSphereSize \[Rule] 2.8]\)], "Input", CellLabel->"In[103]:="], Cell[BoxData[ \(MVShow3D[spsf6]\)], "Input", CellLabel->"In[301]:="], Cell[BoxData[ \(Options[MVShow3D]\)], "Input", CellLabel->"In[56]:="], Cell[BoxData[ \(MVClose[]\)], "Input", CellLabel->"In[116]:="] }, Closed]] }, Closed]] }, Open ]] }, FrontEndVersion->"4.0 for X", ScreenRectangle->{{0, 1024}, {0, 768}}, AutoGeneratedPackage->Automatic, WindowToolbars->{}, WindowSize->{853, 668}, WindowMargins->{{Automatic, 6}, {Automatic, 0}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}}, ShowCellLabel->True, ShowCellTags->False, SpellingDictionaries->{"CorrectWords"->{ "Erhard", "orthonormalization", "semisimple", "Activite", "Orthonormalization", "Cartan", "spacelike", "timelike", "Lorentz", "Inspiron", "symplectic", "nullmatrices", "conformality", "subalgebra", "Jacoby", "subspheres", "mspheres", "mcircles", "invsc.", "invsc", "invspp.", "pssp", "stb", "orthonorm", "spt", "mcirc"}}, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False}, StyleDefinitions -> "TutorialBook.nb" ] (*********************************************************************** Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. ***********************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1739, 51, 189, 7, 70, "Title", Evaluatable->False], Cell[1931, 60, 232, 8, 31, "Subsubtitle", Evaluatable->False], Cell[2166, 70, 125, 4, 38, "Text", Evaluatable->False], Cell[2294, 76, 151, 3, 27, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[2470, 83, 55, 1, 36, "Subsubsection"], Cell[2528, 86, 1579, 26, 241, "Text", Evaluatable->False], Cell[4110, 114, 120, 3, 27, "Text"], Cell[4233, 119, 102, 3, 27, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[4372, 127, 35, 0, 30, "Subsubsection"], Cell[4410, 129, 168, 3, 48, "Text"], Cell[4581, 134, 232, 5, 60, "Text"], Cell[4816, 141, 376, 12, 28, "Text", Evaluatable->False], Cell[5195, 155, 107, 3, 28, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[5339, 163, 35, 0, 30, "Subsubsection"], Cell[5377, 165, 367, 6, 68, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[5781, 176, 32, 0, 30, "Subsubsection"], Cell[5816, 178, 47, 0, 28, "Text"], Cell[5866, 180, 90, 2, 28, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[5993, 187, 33, 0, 60, "Section"], Cell[CellGroupData[{ Cell[6051, 191, 41, 0, 45, "Subsection"], Cell[6095, 193, 305, 9, 213, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[6437, 207, 45, 0, 39, "Subsection"], Cell[6485, 209, 334, 7, 48, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[6856, 221, 33, 0, 39, "Subsection"], Cell[6892, 223, 205, 5, 58, "Text"], Cell[7100, 230, 56, 0, 27, "Text"], Cell[7159, 232, 68, 2, 32, "Input"], Cell[7230, 236, 282, 5, 46, "Text"], Cell[7515, 243, 114, 2, 32, "Input"], Cell[7632, 247, 130, 3, 27, "Text"], Cell[7765, 252, 74, 2, 32, "Input"], Cell[7842, 256, 156, 3, 31, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[8035, 264, 65, 0, 45, "Subsection"], Cell[8103, 266, 190, 5, 58, "Text"], Cell[8296, 273, 153, 3, 27, "Text"], Cell[8452, 278, 76, 2, 32, "Input"], Cell[8531, 282, 156, 3, 31, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[8736, 291, 34, 0, 60, "Section"], Cell[CellGroupData[{ Cell[8795, 295, 116, 2, 43, "Subsection"], Cell[8914, 299, 162, 3, 46, "Text"], Cell[9079, 304, 112, 3, 32, "Input", InitializationCell->True], Cell[9194, 309, 549, 10, 84, "Text", Evaluatable->False], Cell[9746, 321, 124, 3, 27, "Text"], Cell[9873, 326, 142, 3, 32, "Input", InitializationCell->True], Cell[10018, 331, 370, 7, 65, "Text", Evaluatable->False] }, Closed]], Cell[CellGroupData[{ Cell[10425, 343, 36, 0, 38, "Subsection"], Cell[10464, 345, 186, 5, 27, "Text", Evaluatable->False], Cell[10653, 352, 72, 2, 32, "Input"], Cell[10728, 356, 76, 2, 32, "Input"], Cell[10807, 360, 85, 2, 27, "Text"], Cell[10895, 364, 64, 2, 32, "Input"], Cell[10962, 368, 318, 7, 46, "Text", Evaluatable->False], Cell[CellGroupData[{ Cell[11305, 379, 43, 0, 36, "Subsubsection"], Cell[11351, 381, 103, 3, 27, "Text"], Cell[11457, 386, 549, 9, 176, "Input"], Cell[12009, 397, 57, 0, 27, "Text"], Cell[12069, 399, 712, 11, 176, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[12818, 415, 43, 0, 36, "Subsubsection"], Cell[12864, 417, 561, 9, 152, "Input"], Cell[13428, 428, 57, 0, 27, "Text"], Cell[13488, 430, 680, 10, 176, "Input"], Cell[14171, 442, 72, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[14280, 449, 45, 0, 36, "Subsubsection"], Cell[14328, 451, 239, 4, 56, "Input"], Cell[14570, 457, 57, 0, 27, "Text"], Cell[14630, 459, 276, 5, 56, "Input"], Cell[14909, 466, 71, 2, 32, "Input"], Cell[14983, 470, 68, 2, 32, "Input"], Cell[15054, 474, 68, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[15159, 481, 44, 0, 36, "Subsubsection"], Cell[15206, 483, 358, 6, 104, "Input"], Cell[15567, 491, 57, 0, 27, "Text"], Cell[15627, 493, 413, 6, 104, "Input"], Cell[16043, 501, 67, 2, 32, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[16159, 509, 36, 0, 38, "Subsection"], Cell[CellGroupData[{ Cell[16220, 513, 57, 0, 37, "Subsubsection"], Cell[16280, 515, 146, 4, 30, "Input", Evaluatable->False], Cell[16429, 521, 66, 2, 32, "Input"], Cell[16498, 525, 62, 2, 32, "Input"], Cell[16563, 529, 130, 3, 32, "Input", Evaluatable->False], Cell[16696, 534, 67, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[16800, 541, 58, 0, 31, "Subsubsection"], Cell[16861, 543, 400, 6, 68, "Text"], Cell[17264, 551, 242, 6, 77, "Input", Evaluatable->False], Cell[17509, 559, 92, 2, 31, "Input"], Cell[17604, 563, 92, 2, 31, "Input"], Cell[17699, 567, 105, 2, 31, "Input"], Cell[17807, 571, 92, 2, 31, "Input"], Cell[17902, 575, 137, 3, 31, "Input", InitializationCell->True], Cell[18042, 580, 91, 2, 31, "Input"], Cell[18136, 584, 95, 2, 31, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[18268, 591, 49, 0, 37, "Subsubsection"], Cell[18320, 593, 64, 0, 27, "Text"], Cell[18387, 595, 72, 2, 32, "Input"], Cell[18462, 599, 80, 2, 29, "Text"], Cell[18545, 603, 88, 2, 32, "Input"], Cell[18636, 607, 94, 2, 27, "Text"], Cell[18733, 611, 88, 2, 32, "Input"], Cell[18824, 615, 109, 2, 32, "Input"], Cell[18936, 619, 42, 0, 27, "Text"], Cell[18981, 621, 88, 2, 32, "Input"], Cell[19072, 625, 109, 2, 32, "Input"], Cell[19184, 629, 75, 2, 32, "Input"], Cell[19262, 633, 96, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[19395, 640, 50, 0, 31, "Subsubsection"], Cell[19448, 642, 89, 1, 27, "Text", Evaluatable->False], Cell[19540, 645, 70, 2, 32, "Input"], Cell[19613, 649, 215, 5, 56, "Input", Evaluatable->False], Cell[19831, 656, 163, 4, 27, "Text", Evaluatable->False], Cell[19997, 662, 24, 0, 27, "Text"], Cell[20024, 664, 98, 2, 32, "Input"], Cell[20125, 668, 89, 2, 32, "Input"], Cell[20217, 672, 83, 2, 32, "Input"], Cell[20303, 676, 227, 5, 80, "Input"], Cell[20533, 683, 74, 2, 32, "Input"], Cell[20610, 687, 129, 3, 27, "Text"], Cell[20742, 692, 97, 2, 32, "Input"], Cell[20842, 696, 96, 2, 32, "Input"], Cell[20941, 700, 97, 2, 32, "Input"], Cell[21041, 704, 96, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[21174, 711, 34, 0, 31, "Subsubsection"], Cell[21211, 713, 308, 7, 46, "Text"], Cell[21522, 722, 186, 4, 56, "Input", Evaluatable->False] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[21769, 733, 40, 0, 60, "Section"], Cell[CellGroupData[{ Cell[21834, 737, 45, 0, 45, "Subsection"], Cell[CellGroupData[{ Cell[21904, 741, 44, 0, 36, "Subsubsection"], Cell[21951, 743, 317, 5, 65, "Text"], Cell[22271, 750, 163, 4, 32, "Input", InitializationCell->True], Cell[22437, 756, 140, 3, 27, "Text"], Cell[22580, 761, 194, 5, 56, "Input"], Cell[22777, 768, 85, 2, 32, "Input"], Cell[22865, 772, 111, 3, 27, "Text"], Cell[22979, 777, 68, 2, 32, "Input"], Cell[23050, 781, 1233, 21, 246, "Text"], Cell[24286, 804, 68, 2, 32, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[24403, 812, 34, 0, 39, "Subsection"], Cell[CellGroupData[{ Cell[24462, 816, 42, 0, 36, "Subsubsection"], Cell[24507, 818, 488, 8, 65, "Text"], Cell[24998, 828, 69, 1, 27, "Text"], Cell[25070, 831, 160, 3, 27, "Text"], Cell[25233, 836, 176, 4, 56, "Input"], Cell[25412, 842, 65, 2, 32, "Input"], Cell[25480, 846, 73, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[25590, 853, 38, 0, 30, "Subsubsection"], Cell[25631, 855, 198, 4, 46, "Text"], Cell[25832, 861, 94, 1, 27, "Text"], Cell[25929, 864, 75, 0, 27, "Text"], Cell[26007, 866, 26, 0, 27, "Text"], Cell[26036, 868, 83, 2, 32, "Input"], Cell[26122, 872, 72, 2, 32, "Input"], Cell[26197, 876, 81, 2, 32, "Input"], Cell[26281, 880, 73, 2, 32, "Input"], Cell[26357, 884, 68, 2, 32, "Input"], Cell[26428, 888, 70, 2, 32, "Input"], Cell[26501, 892, 70, 2, 32, "Input"], Cell[26574, 896, 84, 2, 32, "Input"], Cell[26661, 900, 104, 2, 32, "Input"], Cell[26768, 904, 26, 0, 27, "Text"], Cell[26797, 906, 94, 2, 32, "Input"], Cell[26894, 910, 69, 2, 32, "Input"], Cell[26966, 914, 112, 2, 32, "Input"], Cell[27081, 918, 113, 2, 32, "Input"], Cell[27197, 922, 154, 4, 56, "Input"], Cell[27354, 928, 65, 2, 32, "Input"], Cell[27422, 932, 73, 2, 32, "Input"], Cell[27498, 936, 70, 2, 32, "Input"], Cell[27571, 940, 109, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[27717, 947, 43, 0, 30, "Subsubsection"], Cell[27763, 949, 288, 6, 77, "Text"], Cell[28054, 957, 222, 8, 57, "Text"], Cell[28279, 967, 127, 3, 27, "Text"], Cell[28409, 972, 158, 4, 56, "Input"], Cell[28570, 978, 62, 2, 32, "Input"], Cell[28635, 982, 189, 5, 80, "Input"], Cell[28827, 989, 65, 2, 32, "Input"], Cell[28895, 993, 104, 2, 32, "Input"], Cell[29002, 997, 70, 2, 32, "Input"], Cell[29075, 1001, 102, 2, 32, "Input"], Cell[29180, 1005, 91, 2, 27, "Text"], Cell[29274, 1009, 182, 4, 56, "Input"], Cell[29459, 1015, 62, 2, 32, "Input"], Cell[29524, 1019, 190, 4, 80, "Input"], Cell[29717, 1025, 65, 2, 32, "Input"], Cell[29785, 1029, 72, 2, 32, "Input"], Cell[29860, 1033, 85, 2, 32, "Input"], Cell[29948, 1037, 71, 2, 32, "Input"], Cell[30022, 1041, 79, 2, 32, "Input"], Cell[30104, 1045, 73, 2, 32, "Input"], Cell[30180, 1049, 105, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[30322, 1056, 49, 0, 30, "Subsubsection"], Cell[30374, 1058, 94, 2, 27, "Text"], Cell[30471, 1062, 88, 2, 32, "Input"], Cell[30562, 1066, 287, 5, 77, "Text"], Cell[30852, 1073, 117, 2, 32, "Input"], Cell[30972, 1077, 159, 4, 56, "Input"], Cell[31134, 1083, 72, 2, 32, "Input"], Cell[31209, 1087, 109, 2, 32, "Input"], Cell[31321, 1091, 66, 2, 32, "Input"], Cell[31390, 1095, 87, 2, 32, "Input"], Cell[31480, 1099, 70, 2, 32, "Input"], Cell[31553, 1103, 106, 2, 32, "Input"], Cell[31662, 1107, 80, 2, 32, "Input"], Cell[31745, 1111, 112, 2, 32, "Input"], Cell[31860, 1115, 261, 5, 46, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[32158, 1125, 39, 0, 30, "Subsubsection"], Cell[32200, 1127, 193, 4, 46, "Text"], Cell[32396, 1133, 85, 2, 32, "Input"], Cell[32484, 1137, 74, 2, 32, "Input"], Cell[32561, 1141, 144, 3, 27, "Text"], Cell[32708, 1146, 117, 2, 32, "Input"], Cell[32828, 1150, 128, 3, 32, "Input"], Cell[32959, 1155, 120, 3, 32, "Input"], Cell[33082, 1160, 74, 2, 32, "Input"], Cell[33159, 1164, 70, 2, 32, "Input"], Cell[33232, 1168, 92, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[33361, 1175, 100, 1, 30, "Subsubsection"], Cell[33464, 1178, 95, 2, 27, "Text"], Cell[33562, 1182, 157, 3, 56, "Input"], Cell[33722, 1187, 160, 3, 56, "Input"], Cell[33885, 1192, 50, 0, 27, "Text"], Cell[33938, 1194, 120, 3, 32, "Input"], Cell[34061, 1199, 70, 2, 32, "Input"], Cell[34134, 1203, 131, 3, 32, "Input"], Cell[34268, 1208, 70, 2, 32, "Input"], Cell[34341, 1212, 75, 2, 32, "Input"], Cell[34419, 1216, 165, 3, 56, "Input"], Cell[34587, 1221, 63, 2, 32, "Input"], Cell[34653, 1225, 36, 0, 27, "Text"], Cell[34692, 1227, 120, 3, 32, "Input"], Cell[34815, 1232, 70, 2, 32, "Input"], Cell[34888, 1236, 131, 3, 32, "Input"], Cell[35022, 1241, 70, 2, 32, "Input"], Cell[35095, 1245, 75, 2, 32, "Input"], Cell[35173, 1249, 70, 2, 32, "Input"], Cell[35246, 1253, 165, 3, 56, "Input"], Cell[35414, 1258, 63, 2, 32, "Input"], Cell[35480, 1262, 132, 3, 27, "Text"], Cell[35615, 1267, 78, 2, 32, "Input"], Cell[35696, 1271, 64, 2, 32, "Input"], Cell[35763, 1275, 67, 2, 32, "Input"], Cell[35833, 1279, 159, 3, 56, "Input"], Cell[35995, 1284, 162, 3, 56, "Input"], Cell[36160, 1289, 116, 2, 32, "Input"], Cell[36279, 1293, 70, 2, 32, "Input"], Cell[36352, 1297, 129, 3, 32, "Input"], Cell[36484, 1302, 70, 2, 32, "Input"], Cell[36557, 1306, 75, 2, 32, "Input"], Cell[36635, 1310, 68, 2, 32, "Input"], Cell[36706, 1314, 133, 3, 27, "Text"], Cell[36842, 1319, 107, 2, 32, "Input"], Cell[36952, 1323, 157, 3, 56, "Input"], Cell[37112, 1328, 75, 2, 27, "Text"], Cell[37190, 1332, 21, 0, 27, "Text"], Cell[37214, 1334, 85, 2, 32, "Input"], Cell[37302, 1338, 70, 2, 32, "Input"], Cell[37375, 1342, 120, 3, 32, "Input"], Cell[37498, 1347, 70, 2, 32, "Input"], Cell[37571, 1351, 21, 0, 27, "Text"], Cell[37595, 1353, 89, 2, 32, "Input"], Cell[37687, 1357, 70, 2, 32, "Input"], Cell[37760, 1361, 75, 2, 32, "Input"], Cell[37838, 1365, 70, 2, 32, "Input"], Cell[37911, 1369, 75, 2, 32, "Input"], Cell[37989, 1373, 120, 3, 32, "Input"], Cell[38112, 1378, 70, 2, 32, "Input"], Cell[38185, 1382, 75, 2, 32, "Input"], Cell[38263, 1386, 70, 2, 32, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[38382, 1394, 59, 0, 39, "Subsection"], Cell[CellGroupData[{ Cell[38466, 1398, 42, 0, 36, "Subsubsection"], Cell[38511, 1400, 94, 2, 27, "Text"], Cell[38608, 1404, 72, 2, 32, "Input"], Cell[38683, 1408, 86, 2, 32, "Input"], Cell[38772, 1412, 69, 2, 32, "Input"], Cell[38844, 1416, 80, 2, 32, "Input"], Cell[38927, 1420, 60, 0, 27, "Text"], Cell[38990, 1422, 82, 2, 32, "Input"], Cell[39075, 1426, 104, 2, 32, "Input"], Cell[39182, 1430, 29, 0, 27, "Text"], Cell[39214, 1432, 108, 2, 32, "Input"], Cell[39325, 1436, 31, 0, 27, "Text"], Cell[39359, 1438, 84, 2, 32, "Input"], Cell[39446, 1442, 61, 0, 27, "Text"], Cell[39510, 1444, 78, 2, 32, "Input"], Cell[39591, 1448, 220, 4, 46, "Text"], Cell[39814, 1454, 253, 5, 56, "Input", InitializationCell->True], Cell[40070, 1461, 398, 8, 108, "Text"], Cell[40471, 1471, 228, 5, 56, "Input", InitializationCell->True], Cell[40702, 1478, 84, 2, 32, "Input"], Cell[40789, 1482, 616, 11, 84, "Text"], Cell[41408, 1495, 75, 2, 32, "Input"], Cell[41486, 1499, 548, 8, 84, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[42071, 1512, 35, 0, 36, "Subsubsection"], Cell[42109, 1514, 168, 3, 27, "Text"], Cell[42280, 1519, 104, 2, 32, "Input"], Cell[42387, 1523, 35, 0, 27, "Text"], Cell[42425, 1525, 99, 2, 32, "Input"], Cell[42527, 1529, 160, 3, 27, "Text"], Cell[42690, 1534, 168, 4, 32, "Input"], Cell[42861, 1540, 74, 2, 32, "Input"], Cell[42938, 1544, 481, 7, 84, "Text"], Cell[43422, 1553, 96, 2, 32, "Input"], Cell[43521, 1557, 95, 2, 32, "Input"], Cell[43619, 1561, 110, 3, 27, "Text"], Cell[43732, 1566, 74, 2, 32, "Input"], Cell[43809, 1570, 113, 3, 27, "Text"], Cell[43925, 1575, 95, 2, 32, "Input"], Cell[44023, 1579, 93, 2, 27, "Text"], Cell[44119, 1583, 80, 2, 32, "Input"], Cell[44202, 1587, 105, 3, 27, "Text"], Cell[44310, 1592, 104, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[44451, 1599, 58, 0, 36, "Subsubsection"], Cell[44512, 1601, 95, 2, 27, "Text"], Cell[44610, 1605, 77, 2, 32, "Input"], Cell[44690, 1609, 64, 0, 27, "Text"], Cell[44757, 1611, 95, 2, 32, "Input"], Cell[44855, 1615, 77, 2, 32, "Input"], Cell[44935, 1619, 127, 3, 32, "Input"], Cell[45065, 1624, 70, 2, 32, "Input"], Cell[45138, 1628, 121, 3, 27, "Text"], Cell[45262, 1633, 99, 2, 32, "Input"], Cell[45364, 1637, 148, 3, 27, "Text"], Cell[45515, 1642, 151, 4, 32, "Input"], Cell[45669, 1648, 143, 3, 27, "Text"], Cell[45815, 1653, 153, 4, 32, "Input"], Cell[45971, 1659, 155, 4, 56, "Input"], Cell[46129, 1665, 131, 3, 27, "Text"], Cell[46263, 1670, 89, 2, 32, "Input"], Cell[46355, 1674, 121, 3, 32, "Input"], Cell[46479, 1679, 43, 0, 27, "Text"], Cell[46525, 1681, 112, 2, 52, "Input"], Cell[46640, 1685, 76, 2, 61, "Input"], Cell[46719, 1689, 31, 0, 27, "Text"], Cell[46753, 1691, 92, 2, 32, "Input"], Cell[46848, 1695, 107, 3, 27, "Text"], Cell[46958, 1700, 73, 2, 32, "Input"], Cell[47034, 1704, 27, 0, 27, "Text"], Cell[47064, 1706, 67, 2, 32, "Input"], Cell[47134, 1710, 98, 2, 32, "Input"], Cell[47235, 1714, 76, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[47348, 1721, 41, 0, 36, "Subsubsection"], Cell[47392, 1723, 129, 3, 27, "Text"], Cell[47524, 1728, 146, 3, 32, "Input"], Cell[47673, 1733, 69, 0, 27, "Text"], Cell[47745, 1735, 70, 2, 32, "Input"], Cell[47818, 1739, 84, 2, 32, "Input"], Cell[47905, 1743, 33, 0, 27, "Text"], Cell[47941, 1745, 104, 2, 32, "Input"], Cell[48048, 1749, 30, 0, 27, "Text"], Cell[48081, 1751, 108, 2, 32, "Input"], Cell[48192, 1755, 153, 4, 27, "Text"], Cell[48348, 1761, 105, 3, 27, "Text"], Cell[48456, 1766, 247, 4, 46, "Text"], Cell[48706, 1772, 168, 4, 32, "Input", InitializationCell->True], Cell[48877, 1778, 144, 3, 27, "Text"], Cell[49024, 1783, 75, 2, 32, "Input"], Cell[49102, 1787, 110, 3, 27, "Text"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[49273, 1797, 44, 0, 60, "Section"], Cell[CellGroupData[{ Cell[49342, 1801, 50, 0, 45, "Subsection"], Cell[CellGroupData[{ Cell[49417, 1805, 41, 0, 36, "Subsubsection"], Cell[49461, 1807, 608, 10, 158, "Text"], Cell[50072, 1819, 126, 3, 32, "Input", InitializationCell->True], Cell[50201, 1824, 51, 0, 27, "Text"], Cell[50255, 1826, 77, 2, 32, "Input"], Cell[50335, 1830, 78, 2, 32, "Input"], Cell[50416, 1834, 104, 2, 32, "Input"], Cell[50523, 1838, 79, 2, 32, "Input"], Cell[50605, 1842, 109, 3, 27, "Text"], Cell[50717, 1847, 257, 6, 56, "Input", InitializationCell->True], Cell[50977, 1855, 83, 2, 32, "Input"], Cell[51063, 1859, 85, 2, 32, "Input"], Cell[51151, 1863, 123, 3, 32, "Input", InitializationCell->True], Cell[51277, 1868, 120, 3, 32, "Input"], Cell[51400, 1873, 79, 2, 32, "Input"], Cell[51482, 1877, 120, 3, 32, "Input"], Cell[51605, 1882, 79, 2, 32, "Input"], Cell[51687, 1886, 93, 2, 32, "Input"], Cell[51783, 1890, 79, 2, 32, "Input"], Cell[51865, 1894, 120, 3, 32, "Input"], Cell[51988, 1899, 79, 2, 32, "Input"], Cell[52070, 1903, 93, 2, 32, "Input"], Cell[52166, 1907, 79, 2, 32, "Input"], Cell[52248, 1911, 179, 4, 46, "Text"], Cell[52430, 1917, 843, 17, 224, "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell[53310, 1939, 33, 0, 36, "Subsubsection"], Cell[53346, 1941, 89, 2, 32, "Input"], Cell[53438, 1945, 136, 3, 32, "Input"], Cell[53577, 1950, 91, 2, 32, "Input"], Cell[53671, 1954, 147, 3, 56, "Input"], Cell[53821, 1959, 89, 2, 32, "Input"], Cell[53913, 1963, 85, 2, 32, "Input"], Cell[54001, 1967, 94, 2, 32, "Input"], Cell[54098, 1971, 78, 2, 32, "Input"], Cell[54179, 1975, 134, 3, 32, "Input"], Cell[54316, 1980, 78, 2, 32, "Input"], Cell[54397, 1984, 104, 2, 32, "Input"], Cell[54504, 1988, 89, 2, 32, "Input"], Cell[54596, 1992, 91, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[54724, 1999, 36, 0, 36, "Subsubsection"], Cell[54763, 2001, 90, 2, 32, "Input"], Cell[54856, 2005, 73, 2, 32, "Input"], Cell[54932, 2009, 354, 7, 152, "Input"], Cell[55289, 2018, 161, 3, 32, "Input"], Cell[55453, 2023, 82, 2, 32, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[55584, 2031, 70, 0, 39, "Subsection"], Cell[CellGroupData[{ Cell[55679, 2035, 39, 0, 36, "Subsubsection"], Cell[55721, 2037, 143, 3, 27, "Text"], Cell[55867, 2042, 319, 7, 104, "Input", InitializationCell->True], Cell[56189, 2051, 242, 4, 46, "Text"], Cell[56434, 2057, 144, 3, 32, "Input", InitializationCell->True], Cell[56581, 2062, 56, 0, 27, "Text"], Cell[56640, 2064, 164, 4, 32, "Input", InitializationCell->True], Cell[56807, 2070, 30, 0, 27, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[56874, 2075, 33, 0, 30, "Subsubsection"], Cell[56910, 2077, 102, 2, 32, "Input"], Cell[57015, 2081, 75, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[57127, 2088, 34, 0, 30, "Subsubsection"], Cell[57164, 2090, 128, 3, 27, "Text"], Cell[57295, 2095, 137, 3, 32, "Input"], Cell[57435, 2100, 116, 2, 32, "Input"], Cell[57554, 2104, 56, 0, 27, "Text"], Cell[57613, 2106, 103, 2, 32, "Input"], Cell[57719, 2110, 72, 2, 32, "Input"], Cell[57794, 2114, 66, 0, 27, "Text"], Cell[57863, 2116, 100, 2, 32, "Input"], Cell[57966, 2120, 98, 2, 27, "Text"], Cell[58067, 2124, 72, 2, 32, "Input"], Cell[58142, 2128, 96, 2, 32, "Input"], Cell[58241, 2132, 166, 3, 27, "Text"], Cell[58410, 2137, 93, 2, 32, "Input"], Cell[58506, 2141, 72, 2, 32, "Input"], Cell[58581, 2145, 42, 0, 27, "Text"], Cell[58626, 2147, 72, 2, 32, "Input"], Cell[58701, 2151, 57, 0, 27, "Text"], Cell[58761, 2153, 128, 3, 32, "Input"], Cell[58892, 2158, 108, 2, 32, "Input"], Cell[59003, 2162, 98, 2, 32, "Input"], Cell[59104, 2166, 114, 2, 32, "Input"], Cell[59221, 2170, 44, 0, 27, "Text"], Cell[59268, 2172, 74, 2, 32, "Input"], Cell[59345, 2176, 48, 0, 27, "Text"], Cell[59396, 2178, 72, 2, 32, "Input"], Cell[59471, 2182, 72, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[59580, 2189, 34, 0, 30, "Subsubsection"], Cell[59617, 2191, 127, 3, 27, "Text"], Cell[59747, 2196, 137, 3, 32, "Input"], Cell[59887, 2201, 57, 0, 27, "Text"], Cell[59947, 2203, 108, 2, 32, "Input"], Cell[60058, 2207, 66, 0, 27, "Text"], Cell[60127, 2209, 100, 2, 32, "Input"], Cell[60230, 2213, 98, 2, 27, "Text"], Cell[60331, 2217, 72, 2, 32, "Input"], Cell[60406, 2221, 94, 2, 27, "Text"], Cell[60503, 2225, 96, 2, 32, "Input"], Cell[60602, 2229, 166, 3, 27, "Text"], Cell[60771, 2234, 93, 2, 32, "Input"], Cell[60867, 2238, 72, 2, 32, "Input"], Cell[60942, 2242, 42, 0, 27, "Text"], Cell[60987, 2244, 72, 2, 32, "Input"], Cell[61062, 2248, 106, 3, 27, "Text"], Cell[61171, 2253, 111, 2, 32, "Input"], Cell[61285, 2257, 108, 2, 32, "Input"], Cell[61396, 2261, 86, 2, 32, "Input"], Cell[61485, 2265, 114, 2, 32, "Input"], Cell[61602, 2269, 44, 0, 27, "Text"], Cell[61649, 2271, 74, 2, 32, "Input"], Cell[61726, 2275, 48, 0, 27, "Text"], Cell[61777, 2277, 74, 2, 32, "Input"], Cell[61854, 2281, 72, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[61963, 2288, 34, 0, 30, "Subsubsection"], Cell[62000, 2290, 102, 3, 27, "Text"], Cell[62105, 2295, 87, 2, 32, "Input"], Cell[62195, 2299, 90, 2, 27, "Text"], Cell[62288, 2303, 107, 2, 32, "Input"], Cell[62398, 2307, 78, 2, 32, "Input"], Cell[62479, 2311, 71, 0, 27, "Text"], Cell[62553, 2313, 146, 4, 61, "Input"], Cell[62702, 2319, 79, 2, 32, "Input"], Cell[62784, 2323, 50, 0, 27, "Text"], Cell[62837, 2325, 79, 2, 32, "Input"], Cell[62919, 2329, 382, 10, 47, "Text"], Cell[63304, 2341, 91, 2, 32, "Input"], Cell[63398, 2345, 63, 2, 32, "Input"], Cell[63464, 2349, 105, 2, 32, "Input"], Cell[63572, 2353, 107, 3, 27, "Text"], Cell[63682, 2358, 79, 2, 32, "Input"], Cell[63764, 2362, 299, 5, 46, "Text"], Cell[64066, 2369, 93, 2, 32, "Input"], Cell[64162, 2373, 157, 4, 56, "Input"], Cell[64322, 2379, 41, 0, 27, "Text"], Cell[64366, 2381, 78, 2, 32, "Input"], Cell[64447, 2385, 91, 2, 27, "Text"], Cell[64541, 2389, 130, 3, 52, "Input"], Cell[64674, 2394, 69, 2, 32, "Input"], Cell[64746, 2398, 204, 4, 46, "Text"], Cell[64953, 2404, 96, 2, 32, "Input"], Cell[65052, 2408, 103, 2, 32, "Input"], Cell[65158, 2412, 100, 2, 32, "Input"], Cell[65261, 2416, 37, 0, 27, "Text"], Cell[65301, 2418, 81, 2, 32, "Input"], Cell[65385, 2422, 69, 2, 32, "Input"], Cell[65457, 2426, 55, 0, 27, "Text"], Cell[65515, 2428, 76, 2, 32, "Input"], Cell[65594, 2432, 36, 0, 27, "Text"], Cell[65633, 2434, 76, 2, 32, "Input"], Cell[65712, 2438, 91, 2, 27, "Text"], Cell[65806, 2442, 69, 2, 32, "Input"], Cell[65878, 2446, 99, 2, 27, "Text"], Cell[65980, 2450, 66, 2, 32, "Input"], Cell[66049, 2454, 75, 2, 32, "Input"], Cell[66127, 2458, 75, 2, 32, "Input"], Cell[66205, 2462, 69, 2, 32, "Input"], Cell[66277, 2466, 83, 2, 32, "Input"], Cell[66363, 2470, 78, 2, 32, "Input"], Cell[66444, 2474, 111, 2, 32, "Input"], Cell[66558, 2478, 111, 2, 32, "Input"], Cell[66672, 2482, 106, 2, 32, "Input"], Cell[66781, 2486, 291, 5, 46, "Text"], Cell[67075, 2493, 157, 4, 56, "Input"], Cell[67235, 2499, 65, 2, 32, "Input"], Cell[67303, 2503, 68, 2, 32, "Input"], Cell[67374, 2507, 108, 2, 52, "Input"], Cell[67485, 2511, 73, 2, 32, "Input"], Cell[67561, 2515, 70, 2, 32, "Input"], Cell[67634, 2519, 152, 4, 32, "Input"], Cell[67789, 2525, 73, 2, 32, "Input"], Cell[67865, 2529, 71, 2, 32, "Input"], Cell[67939, 2533, 89, 2, 27, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[68065, 2540, 38, 0, 30, "Subsubsection"], Cell[68106, 2542, 460, 7, 65, "Text"], Cell[68569, 2551, 99, 2, 32, "Input"], Cell[68671, 2555, 169, 4, 56, "Input"], Cell[68843, 2561, 103, 2, 32, "Input"], Cell[68949, 2565, 75, 2, 32, "Input"], Cell[69027, 2569, 71, 2, 32, "Input"], Cell[69101, 2573, 72, 2, 32, "Input"], Cell[69176, 2577, 154, 4, 56, "Input"], Cell[69333, 2583, 133, 3, 32, "Input"], Cell[69469, 2588, 82, 2, 32, "Input"], Cell[69554, 2592, 80, 2, 32, "Input"], Cell[69637, 2596, 83, 2, 32, "Input"], Cell[69723, 2600, 80, 2, 32, "Input"], Cell[69806, 2604, 207, 4, 46, "Text"], Cell[70016, 2610, 94, 2, 32, "Input"], Cell[70113, 2614, 70, 2, 32, "Input"], Cell[70186, 2618, 130, 3, 27, "Text"], Cell[70319, 2623, 75, 2, 32, "Input"], Cell[70397, 2627, 70, 2, 32, "Input"], Cell[70470, 2631, 75, 2, 32, "Input"], Cell[70548, 2635, 70, 2, 32, "Input"], Cell[70621, 2639, 83, 2, 32, "Input"], Cell[70707, 2643, 202, 4, 119, "Input"], Cell[70912, 2649, 70, 2, 32, "Input"], Cell[70985, 2653, 484, 8, 115, "Text"], Cell[71472, 2663, 102, 2, 32, "Input"], Cell[71577, 2667, 120, 3, 32, "Input"], Cell[71700, 2672, 70, 2, 32, "Input"], Cell[71773, 2676, 86, 2, 32, "Input"], Cell[71862, 2680, 70, 2, 32, "Input"], Cell[71935, 2684, 75, 2, 32, "Input"], Cell[72013, 2688, 71, 2, 32, "Input"], Cell[72087, 2692, 158, 4, 56, "Input"], Cell[72248, 2698, 66, 2, 32, "Input"], Cell[72317, 2702, 70, 2, 32, "Input"], Cell[72390, 2706, 80, 2, 32, "Input"], Cell[72473, 2710, 72, 2, 32, "Input"], Cell[72548, 2714, 132, 3, 27, "Text"], Cell[72683, 2719, 109, 2, 32, "Input"], Cell[72795, 2723, 137, 3, 27, "Text"], Cell[72935, 2728, 143, 3, 32, "Input"], Cell[73081, 2733, 70, 2, 32, "Input"], Cell[73154, 2737, 50, 0, 27, "Text"], Cell[73207, 2739, 160, 3, 56, "Input"], Cell[73370, 2744, 66, 2, 32, "Input"], Cell[73439, 2748, 70, 2, 32, "Input"], Cell[73512, 2752, 80, 2, 32, "Input"], Cell[73595, 2756, 72, 2, 32, "Input"], Cell[73670, 2760, 159, 3, 46, "Text"], Cell[73832, 2765, 151, 3, 32, "Input"], Cell[73986, 2770, 29, 0, 27, "Text"], Cell[74018, 2772, 110, 2, 32, "Input"], Cell[74131, 2776, 70, 2, 32, "Input"], Cell[74204, 2780, 195, 5, 56, "Input"], Cell[74402, 2787, 66, 2, 32, "Input"], Cell[74471, 2791, 70, 2, 32, "Input"], Cell[74544, 2795, 80, 2, 32, "Input"], Cell[74627, 2799, 72, 2, 32, "Input"], Cell[74702, 2803, 151, 3, 32, "Input"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[74914, 2813, 45, 0, 60, "Section"], Cell[CellGroupData[{ Cell[74984, 2817, 40, 0, 45, "Subsection"], Cell[75027, 2819, 643, 10, 103, "Text"], Cell[75673, 2831, 106, 2, 32, "Input"], Cell[75782, 2835, 127, 3, 32, "Input", InitializationCell->True], Cell[75912, 2840, 113, 3, 27, "Text"], Cell[76028, 2845, 113, 2, 32, "Input"], Cell[76144, 2849, 152, 3, 27, "Text"], Cell[76299, 2854, 76, 2, 32, "Input"], Cell[76378, 2858, 76, 2, 32, "Input"], Cell[76457, 2862, 211, 4, 46, "Text"], Cell[76671, 2868, 222, 5, 80, "Input", InitializationCell->True], Cell[76896, 2875, 30, 0, 27, "Text"], Cell[76929, 2877, 144, 3, 32, "Input"], Cell[77076, 2882, 69, 2, 32, "Input"], Cell[77148, 2886, 238, 4, 46, "Text"], Cell[77389, 2892, 142, 3, 27, "Text"], Cell[77534, 2897, 249, 6, 80, "Input", InitializationCell->True], Cell[77786, 2905, 179, 4, 46, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[78002, 2914, 34, 0, 45, "Subsection"], Cell[78039, 2916, 55, 0, 27, "Text"], Cell[78097, 2918, 160, 3, 56, "Input"], Cell[78260, 2923, 53, 0, 27, "Text"], Cell[78316, 2925, 160, 3, 56, "Input"], Cell[78479, 2930, 75, 0, 27, "Text"], Cell[78557, 2932, 219, 4, 80, "Input"], Cell[78779, 2938, 219, 4, 80, "Input"], Cell[79001, 2944, 450, 9, 101, "Text"], Cell[79454, 2955, 179, 4, 80, "Input"], Cell[79636, 2961, 69, 2, 32, "Input"], Cell[79708, 2965, 499, 14, 96, "Text"], Cell[80210, 2981, 211, 4, 80, "Input"], Cell[80424, 2987, 182, 4, 80, "Input"], Cell[80609, 2993, 72, 2, 32, "Input"], Cell[80684, 2997, 69, 2, 32, "Input"], Cell[80756, 3001, 66, 2, 32, "Input"], Cell[80825, 3005, 74, 2, 32, "Input"], Cell[80902, 3009, 75, 2, 32, "Input"], Cell[80980, 3013, 467, 7, 84, "Text"], Cell[81450, 3022, 106, 2, 32, "Input"], Cell[81559, 3026, 59, 0, 27, "Text"], Cell[81621, 3028, 70, 2, 32, "Input"], Cell[81694, 3032, 114, 2, 32, "Input"], Cell[81811, 3036, 73, 2, 32, "Input"], Cell[81887, 3040, 73, 2, 32, "Input"], Cell[81963, 3044, 78, 2, 32, "Input"], Cell[82044, 3048, 84, 2, 32, "Input"], Cell[82131, 3052, 70, 2, 32, "Input"], Cell[82204, 3056, 54, 0, 27, "Text"], Cell[82261, 3058, 88, 2, 32, "Input"], Cell[82352, 3062, 177, 4, 84, "Input"], Cell[82532, 3068, 110, 2, 32, "Input"], Cell[82645, 3072, 150, 3, 27, "Text"], Cell[82798, 3077, 163, 4, 32, "Input"], Cell[82964, 3083, 66, 2, 32, "Input"], Cell[83033, 3087, 49, 0, 27, "Text"], Cell[83085, 3089, 97, 2, 32, "Input"], Cell[83185, 3093, 169, 3, 60, "Input"], Cell[83357, 3098, 79, 2, 32, "Input"], Cell[83439, 3102, 120, 3, 32, "Input"], Cell[83562, 3107, 90, 2, 27, "Text"], Cell[83655, 3111, 163, 4, 32, "Input"], Cell[83821, 3117, 66, 2, 32, "Input"], Cell[83890, 3121, 78, 2, 32, "Input"], Cell[83971, 3125, 45, 0, 27, "Text"], Cell[84019, 3127, 171, 4, 56, "Input"], Cell[84193, 3133, 39, 0, 27, "Text"], Cell[84235, 3135, 85, 2, 32, "Input"], Cell[84323, 3139, 176, 4, 56, "Input"], Cell[84502, 3145, 69, 2, 32, "Input"], Cell[84574, 3149, 74, 2, 32, "Input"], Cell[84651, 3153, 50, 0, 27, "Text"], Cell[84704, 3155, 84, 2, 32, "Input"], Cell[84791, 3159, 70, 2, 32, "Input"], Cell[84864, 3163, 93, 2, 27, "Text"], Cell[84960, 3167, 91, 2, 32, "Input"], Cell[85054, 3171, 85, 2, 32, "Input"], Cell[85142, 3175, 70, 2, 32, "Input"], Cell[85215, 3179, 76, 0, 27, "Text"], Cell[85294, 3181, 81, 2, 32, "Input"], Cell[85378, 3185, 203, 4, 46, "Text"], Cell[85584, 3191, 101, 2, 32, "Input"], Cell[85688, 3195, 119, 3, 32, "Input"], Cell[85810, 3200, 70, 2, 32, "Input"], Cell[85883, 3204, 88, 2, 32, "Input"], Cell[85974, 3208, 73, 2, 32, "Input"], Cell[86050, 3212, 191, 4, 46, "Text"], Cell[86244, 3218, 162, 3, 56, "Input"], Cell[86409, 3223, 97, 2, 27, "Text"], Cell[86509, 3227, 79, 2, 32, "Input"], Cell[86591, 3231, 76, 2, 32, "Input"], Cell[86670, 3235, 167, 4, 56, "Input"], Cell[86840, 3241, 153, 3, 56, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[87030, 3249, 209, 8, 45, "Subsection"], Cell[87242, 3259, 663, 12, 103, "Text"], Cell[87908, 3273, 75, 2, 32, "Input"], Cell[87986, 3277, 295, 6, 104, "Input"], Cell[88284, 3285, 95, 2, 27, "Text"], Cell[88382, 3289, 94, 2, 32, "Input"], Cell[CellGroupData[{ Cell[88501, 3295, 34, 0, 36, "Subsubsection"], Cell[88538, 3297, 174, 4, 27, "Text"], Cell[88715, 3303, 99, 2, 32, "Input"], Cell[88817, 3307, 47, 0, 27, "Text"], Cell[88867, 3309, 84, 2, 32, "Input"], Cell[88954, 3313, 71, 2, 32, "Input"], Cell[89028, 3317, 35, 0, 27, "Text"], Cell[89066, 3319, 105, 2, 32, "Input"], Cell[89174, 3323, 74, 2, 32, "Input"], Cell[89251, 3327, 68, 2, 32, "Input"], Cell[89322, 3331, 79, 2, 32, "Input"], Cell[89404, 3335, 73, 2, 32, "Input"], Cell[89480, 3339, 69, 2, 32, "Input"], Cell[89552, 3343, 73, 2, 32, "Input"], Cell[89628, 3347, 69, 2, 32, "Input"], Cell[89700, 3351, 46, 0, 27, "Text"], Cell[89749, 3353, 64, 2, 32, "Input"], Cell[89816, 3357, 49, 0, 27, "Text"], Cell[89868, 3359, 84, 2, 32, "Input"], Cell[89955, 3363, 71, 2, 32, "Input"], Cell[90029, 3367, 84, 2, 32, "Input"], Cell[90116, 3371, 332, 7, 46, "Text"], Cell[90451, 3380, 75, 2, 32, "Input"], Cell[90529, 3384, 69, 2, 32, "Input"], Cell[90601, 3388, 74, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[90712, 3395, 34, 0, 30, "Subsubsection"], Cell[90749, 3397, 72, 2, 32, "Input"], Cell[90824, 3401, 86, 2, 27, "Text"], Cell[90913, 3405, 68, 2, 32, "Input"], Cell[90984, 3409, 54, 0, 27, "Text"], Cell[91041, 3411, 109, 2, 32, "Input"], Cell[91153, 3415, 70, 2, 32, "Input"], Cell[91226, 3419, 157, 4, 32, "Input"], Cell[91386, 3425, 52, 0, 27, "Text"], Cell[91441, 3427, 367, 8, 100, "Input"], Cell[91811, 3437, 70, 2, 32, "Input"], Cell[91884, 3441, 113, 2, 32, "Input"], Cell[92000, 3445, 86, 2, 27, "Text"], Cell[92089, 3449, 120, 3, 32, "Input"], Cell[92212, 3454, 72, 2, 32, "Input"], Cell[92287, 3458, 72, 2, 32, "Input"], Cell[92362, 3462, 69, 2, 32, "Input"], Cell[92434, 3466, 182, 4, 37, "Input"], Cell[92619, 3472, 84, 2, 32, "Input"], Cell[92706, 3476, 112, 2, 32, "Input"], Cell[92821, 3480, 272, 5, 64, "Text"], Cell[93096, 3487, 166, 4, 32, "Input"], Cell[93265, 3493, 166, 4, 32, "Input"], Cell[93434, 3499, 121, 3, 27, "Text"], Cell[93558, 3504, 173, 4, 56, "Input"], Cell[93734, 3510, 73, 2, 32, "Input"], Cell[93810, 3514, 106, 3, 27, "Text"], Cell[93919, 3519, 87, 2, 32, "Input"], Cell[94009, 3523, 69, 2, 32, "Input"], Cell[94081, 3527, 77, 2, 32, "Input"], Cell[94161, 3531, 69, 2, 32, "Input"], Cell[94233, 3535, 61, 0, 27, "Text"], Cell[94297, 3537, 173, 3, 56, "Input"], Cell[94473, 3542, 71, 2, 32, "Input"], Cell[94547, 3546, 83, 2, 32, "Input"], Cell[94633, 3550, 79, 2, 32, "Input"], Cell[94715, 3554, 94, 1, 27, "Text"], Cell[94812, 3557, 106, 2, 29, "Text"], Cell[94921, 3561, 70, 0, 27, "Text"], Cell[94994, 3563, 73, 2, 32, "Input"], Cell[95070, 3567, 141, 3, 32, "Input"], Cell[95214, 3572, 79, 2, 32, "Input"], Cell[95296, 3576, 1023, 24, 115, "Text"], Cell[96322, 3602, 103, 2, 53, "Input", Evaluatable->False], Cell[96428, 3606, 53, 0, 27, "Text"], Cell[96484, 3608, 200, 4, 53, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[96721, 3617, 33, 0, 30, "Subsubsection"], Cell[96757, 3619, 138, 3, 27, "Text"], Cell[96898, 3624, 73, 2, 32, "Input"], Cell[96974, 3628, 95, 2, 32, "Input"], Cell[97072, 3632, 114, 2, 32, "Input"], Cell[97189, 3636, 199, 6, 27, "Text"], Cell[97391, 3644, 83, 2, 32, "Input"], Cell[97477, 3648, 114, 2, 32, "Input"], Cell[97594, 3652, 88, 2, 32, "Input"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[97743, 3661, 37, 0, 60, "Section"], Cell[CellGroupData[{ Cell[97805, 3665, 53, 0, 45, "Subsection"], Cell[CellGroupData[{ Cell[97883, 3669, 52, 0, 36, "Subsubsection"], Cell[97938, 3671, 1147, 16, 172, "Text"], Cell[99088, 3689, 489, 9, 176, "Input"], Cell[99580, 3700, 59, 0, 27, "Text"], Cell[99642, 3702, 163, 3, 56, "Input"], Cell[99808, 3707, 110, 3, 27, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[99955, 3715, 39, 0, 36, "Subsubsection"], Cell[99997, 3717, 140, 3, 32, "Input"], Cell[100140, 3722, 129, 3, 32, "Input"], Cell[100272, 3727, 76, 0, 27, "Text"], Cell[100351, 3729, 138, 3, 32, "Input"], Cell[100492, 3734, 120, 3, 32, "Input"], Cell[100615, 3739, 92, 2, 32, "Input"], Cell[100710, 3743, 136, 3, 32, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[100895, 3752, 32, 0, 39, "Subsection"], Cell[100930, 3754, 458, 9, 65, "Text"], Cell[101391, 3765, 134, 3, 32, "Input"], Cell[101528, 3770, 116, 2, 32, "Input"], Cell[101647, 3774, 39, 0, 27, "Text"], Cell[101689, 3776, 321, 7, 116, "Input"], Cell[102013, 3785, 53, 0, 27, "Text"], Cell[102069, 3787, 77, 2, 32, "Input"], Cell[102149, 3791, 70, 2, 32, "Input"], Cell[102222, 3795, 94, 2, 27, "Text"], Cell[102319, 3799, 72, 2, 32, "Input"], Cell[102394, 3803, 110, 2, 32, "Input"], Cell[102507, 3807, 83, 2, 32, "Input"], Cell[102593, 3811, 118, 3, 27, "Text"], Cell[102714, 3816, 80, 2, 32, "Input"], Cell[102797, 3820, 75, 2, 32, "Input"], Cell[102875, 3824, 83, 2, 32, "Input"], Cell[102961, 3828, 70, 2, 32, "Input"], Cell[CellGroupData[{ Cell[103056, 3834, 64, 0, 36, "Subsubsection"], Cell[103123, 3836, 92, 2, 32, "Input"], Cell[103218, 3840, 46, 0, 27, "Text"], Cell[103267, 3842, 73, 2, 32, "Input"], Cell[103343, 3846, 83, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[103463, 3853, 33, 0, 36, "Subsubsection"], Cell[103499, 3855, 162, 5, 27, "Text"], Cell[103664, 3862, 95, 2, 32, "Input"], Cell[103762, 3866, 94, 2, 32, "Input"], Cell[103859, 3870, 83, 2, 32, "Input"], Cell[103945, 3874, 98, 2, 32, "Input"], Cell[104046, 3878, 106, 2, 32, "Input"], Cell[104155, 3882, 106, 2, 32, "Input"], Cell[104264, 3886, 172, 3, 46, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[104473, 3894, 37, 0, 36, "Subsubsection"], Cell[104513, 3896, 108, 3, 27, "Text"], Cell[104624, 3901, 70, 2, 32, "Input"], Cell[104697, 3905, 69, 2, 32, "Input"], Cell[104769, 3909, 119, 3, 27, "Text"], Cell[104891, 3914, 72, 2, 32, "Input"], Cell[104966, 3918, 110, 3, 27, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[105113, 3926, 56, 0, 36, "Subsubsection"], Cell[105172, 3928, 83, 2, 32, "Input"], Cell[105258, 3932, 84, 2, 32, "Input"], Cell[105345, 3936, 50, 0, 27, "Text"], Cell[105398, 3938, 106, 2, 32, "Input"], Cell[105507, 3942, 79, 2, 32, "Input"], Cell[105589, 3946, 103, 2, 32, "Input"], Cell[105695, 3950, 95, 2, 32, "Input"], Cell[105793, 3954, 108, 2, 32, "Input"], Cell[105904, 3958, 152, 3, 56, "Input"], Cell[106059, 3963, 120, 3, 32, "Input"], Cell[106182, 3968, 73, 2, 32, "Input"], Cell[106258, 3972, 141, 3, 56, "Input"], Cell[106402, 3977, 66, 2, 32, "Input"], Cell[106471, 3981, 73, 2, 32, "Input"], Cell[106547, 3985, 81, 2, 32, "Input"], Cell[106631, 3989, 71, 2, 32, "Input"], Cell[106705, 3993, 160, 3, 56, "Input"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[106926, 4003, 139, 5, 60, "Section", Evaluatable->False], Cell[CellGroupData[{ Cell[107090, 4012, 38, 0, 44, "Subsection"], Cell[107131, 4014, 503, 8, 88, "Text"], Cell[107637, 4024, 116, 2, 31, "Input"], Cell[107756, 4028, 634, 9, 108, "Text"], Cell[108393, 4039, 93, 2, 28, "Text"], Cell[108489, 4043, 69, 2, 31, "Input"], Cell[108561, 4047, 201, 8, 28, "Text"], Cell[CellGroupData[{ Cell[108787, 4059, 75, 0, 37, "Subsubsection"], Cell[108865, 4061, 93, 2, 27, "Text"], Cell[108961, 4065, 177, 5, 32, "Input", Evaluatable->False, InitializationCell->True], Cell[109141, 4072, 67, 2, 32, "Input"], Cell[109211, 4076, 53, 0, 27, "Text"], Cell[109267, 4078, 71, 2, 32, "Input"], Cell[109341, 4082, 137, 3, 27, "Text"], Cell[109481, 4087, 154, 3, 56, "Input"], Cell[109638, 4092, 135, 3, 27, "Text"], Cell[109776, 4097, 86, 2, 32, "Input"], Cell[109865, 4101, 119, 3, 32, "Input"], Cell[109987, 4106, 113, 2, 32, "Input"], Cell[110103, 4110, 79, 2, 32, "Input"], Cell[110185, 4114, 213, 4, 46, "Text"], Cell[110401, 4120, 87, 2, 32, "Input"], Cell[110491, 4124, 87, 2, 32, "Input"], Cell[110581, 4128, 164, 5, 32, "Input"], Cell[110748, 4135, 132, 4, 32, "Input"], Cell[110883, 4141, 120, 3, 32, "Input"], Cell[111006, 4146, 79, 2, 32, "Input"], Cell[111088, 4150, 249, 5, 46, "Text"], Cell[111340, 4157, 137, 3, 32, "Input"], Cell[111480, 4162, 119, 3, 32, "Input"], Cell[111602, 4167, 119, 3, 32, "Input"], Cell[111724, 4172, 79, 2, 32, "Input"], Cell[111806, 4176, 89, 2, 27, "Text"], Cell[111898, 4180, 90, 2, 32, "Input"], Cell[111991, 4184, 193, 4, 46, "Text"], Cell[112187, 4190, 90, 2, 32, "Input"], Cell[112280, 4194, 119, 3, 27, "Text"], Cell[112402, 4199, 90, 2, 32, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[112541, 4207, 67, 1, 44, "Subsection", Evaluatable->False], Cell[112611, 4210, 249, 4, 46, "Text"], Cell[112863, 4216, 163, 3, 56, "Input"], Cell[113029, 4221, 76, 2, 32, "Input"], Cell[113108, 4225, 74, 2, 32, "Input"], Cell[113185, 4229, 91, 2, 32, "Input"], Cell[113279, 4233, 76, 2, 32, "Input"], Cell[113358, 4237, 87, 2, 32, "Input"], Cell[113448, 4241, 111, 2, 32, "Input"], Cell[113562, 4245, 64, 2, 32, "Input"], Cell[113629, 4249, 68, 2, 32, "Input"], Cell[113700, 4253, 79, 2, 32, "Input"], Cell[113782, 4257, 86, 2, 32, "Input"], Cell[113871, 4261, 63, 2, 32, "Input"], Cell[113937, 4265, 87, 2, 32, "Input"], Cell[114027, 4269, 111, 2, 32, "Input"], Cell[114141, 4273, 86, 2, 32, "Input"], Cell[114230, 4277, 63, 2, 32, "Input"], Cell[114296, 4281, 86, 2, 27, "Text"], Cell[114385, 4285, 115, 2, 32, "Input"], Cell[114503, 4289, 66, 2, 32, "Input"], Cell[114572, 4293, 130, 3, 32, "Input"], Cell[114705, 4298, 96, 2, 32, "Input"], Cell[114804, 4302, 95, 2, 32, "Input"], Cell[114902, 4306, 66, 2, 32, "Input"], Cell[114971, 4310, 87, 2, 32, "Input"], Cell[115061, 4314, 92, 2, 27, "Text"], Cell[115156, 4318, 78, 2, 32, "Input"], Cell[115237, 4322, 68, 2, 32, "Input"], Cell[115308, 4326, 67, 2, 32, "Input"], Cell[115378, 4330, 72, 0, 27, "Text"], Cell[115453, 4332, 66, 2, 32, "Input"], Cell[115522, 4336, 74, 0, 27, "Text"], Cell[115599, 4338, 78, 2, 32, "Input"], Cell[115680, 4342, 266, 6, 85, "Input"], Cell[115949, 4350, 138, 3, 56, "Input"], Cell[116090, 4355, 41, 0, 27, "Text"], Cell[116134, 4357, 78, 2, 32, "Input"], Cell[116215, 4361, 83, 2, 32, "Input"], Cell[116301, 4365, 81, 2, 32, "Input"], Cell[116385, 4369, 86, 2, 32, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[116508, 4376, 66, 1, 38, "Subsection", Evaluatable->False], Cell[116577, 4379, 247, 4, 46, "Text"], Cell[116827, 4385, 168, 3, 56, "Input"], Cell[116998, 4390, 76, 2, 32, "Input"], Cell[117077, 4394, 85, 2, 32, "Input"], Cell[117165, 4398, 103, 2, 32, "Input"], Cell[117271, 4402, 64, 2, 32, "Input"], Cell[117338, 4406, 78, 2, 32, "Input"], Cell[117419, 4410, 86, 2, 32, "Input"], Cell[117508, 4414, 103, 2, 32, "Input"], Cell[117614, 4418, 64, 2, 32, "Input"], Cell[117681, 4422, 84, 2, 32, "Input"], Cell[117768, 4426, 63, 2, 32, "Input"], Cell[117834, 4430, 63, 2, 32, "Input"], Cell[117900, 4434, 141, 3, 57, "Input"], Cell[118044, 4439, 141, 3, 57, "Input"], Cell[118188, 4444, 147, 3, 27, "Text"], Cell[118338, 4449, 204, 4, 57, "Input"], Cell[118545, 4455, 87, 2, 32, "Input"], Cell[118635, 4459, 86, 2, 32, "Input"], Cell[118724, 4463, 66, 2, 32, "Input"], Cell[118793, 4467, 73, 0, 27, "Text"], Cell[118869, 4469, 78, 2, 32, "Input"], Cell[118950, 4473, 266, 6, 85, "Input"], Cell[119219, 4481, 138, 3, 56, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[119394, 4489, 67, 1, 38, "Subsection", Evaluatable->False], Cell[119464, 4492, 247, 4, 46, "Text"], Cell[119714, 4498, 165, 3, 56, "Input"], Cell[119882, 4503, 76, 2, 32, "Input"], Cell[119961, 4507, 71, 2, 32, "Input"], Cell[120035, 4511, 92, 2, 32, "Input"], Cell[120130, 4515, 86, 2, 32, "Input"], Cell[120219, 4519, 84, 2, 32, "Input"], Cell[120306, 4523, 156, 4, 32, "Input"], Cell[120465, 4529, 103, 2, 32, "Input"], Cell[120571, 4533, 107, 2, 32, "Input"], Cell[120681, 4537, 65, 2, 32, "Input"], Cell[120749, 4541, 65, 2, 32, "Input"], Cell[120817, 4545, 73, 2, 32, "Input"], Cell[120893, 4549, 73, 2, 32, "Input"], Cell[120969, 4553, 213, 4, 46, "Text"], Cell[121185, 4559, 67, 2, 32, "Input"], Cell[121255, 4563, 79, 2, 32, "Input"], Cell[121337, 4567, 266, 6, 85, "Input"], Cell[121606, 4575, 138, 3, 56, "Input"], Cell[121747, 4580, 77, 2, 32, "Input"], Cell[121827, 4584, 87, 2, 32, "Input"], Cell[121917, 4588, 87, 2, 32, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[122053, 4596, 42, 0, 60, "Section"], Cell[122098, 4598, 269, 6, 46, "Text"], Cell[CellGroupData[{ Cell[122392, 4608, 38, 0, 45, "Subsection"], Cell[122433, 4610, 272, 6, 46, "Text", Evaluatable->False], Cell[122708, 4618, 170, 4, 27, "Text", Evaluatable->False], Cell[122881, 4624, 120, 3, 32, "Input", InitializationCell->True], Cell[123004, 4629, 74, 2, 32, "Input"], Cell[123081, 4633, 138, 4, 27, "Text", Evaluatable->False], Cell[123222, 4639, 118, 3, 32, "Input", Evaluatable->False] }, Closed]], Cell[CellGroupData[{ Cell[123377, 4647, 34, 0, 39, "Subsection"], Cell[123414, 4649, 771, 17, 115, "Text"], Cell[124188, 4668, 92, 2, 32, "Input"], Cell[124283, 4672, 52, 0, 27, "Text"], Cell[124338, 4674, 50, 1, 27, "Text"], Cell[124391, 4677, 141, 3, 27, "Text"], Cell[124535, 4682, 482, 9, 152, "Input"], Cell[125020, 4693, 159, 3, 56, "Input"], Cell[125182, 4698, 102, 2, 32, "Input"], Cell[125287, 4702, 104, 2, 32, "Input"], Cell[125394, 4706, 74, 2, 32, "Input"], Cell[125471, 4710, 75, 2, 32, "Input"], Cell[125549, 4714, 68, 2, 32, "Input"] }, Closed]] }, Closed]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)