(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 12.2' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 158, 7] NotebookDataLength[ 49725, 1602] NotebookOptionsPosition[ 40316, 1382] NotebookOutlinePosition[ 42083, 1433] CellTagsIndexPosition[ 42040, 1430] WindowTitle->RotationMatrixToQuaternion | Example Notebook WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell[TextData[{ "Basic Examples", "\[NonBreakingSpace]", Cell["(2)", "ExampleCount"], "\[NonBreakingSpace]" }], "Subsection", TaggingRules->{}, CellID->462042388], Cell["Generate a rotation matrix:", "Text", TaggingRules->{}, CellID->13078159], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"rot", "=", RowBox[{"RotationMatrix", "[", RowBox[{ RowBox[{"ArcTan", "[", RowBox[{"4", "/", "3"}], "]"}], ",", RowBox[{"{", RowBox[{ RowBox[{"2", "/", "7"}], ",", RowBox[{"3", "/", "7"}], ",", RowBox[{"6", "/", "7"}]}], "}"}]}], "]"}]}]], "Input", TaggingRules->{}, CellLabel->"In[171]:=", CellID->443871870], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ FractionBox["31", "49"], ",", RowBox[{"-", FractionBox["156", "245"]}], ",", FractionBox["108", "245"]}], "}"}], ",", RowBox[{"{", RowBox[{ FractionBox["36", "49"], ",", FractionBox["33", "49"], ",", RowBox[{"-", FractionBox["4", "49"]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", FractionBox["12", "49"]}], ",", FractionBox["92", "245"], ",", FractionBox["219", "245"]}], "}"}]}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[171]=", CellID->16836957] }, Open ]], Cell["Convert to quaternion form:", "Text", TaggingRules->{}, CellID->623052143], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ InterpretationBox[ TagBox[ FrameBox[ PaneBox[GridBox[{ { StyleBox[ StyleBox[ AdjustmentBox["\<\"[\[FilledSmallSquare]]\"\>", BoxBaselineShift->-0.25, BoxMargins->{{0, 0}, {-1, -1}}], "ResourceFunctionIcon", FontColor->RGBColor[ 0.8745098039215686, 0.2784313725490196, 0.03137254901960784]], ShowStringCharacters->False, FontFamily->"Source Sans Pro Black", FontSize->0.65 Inherited, FontWeight->"Heavy", PrivateFontOptions->{"OperatorSubstitution"->False}], StyleBox[ RowBox[{ StyleBox["\<\"RotationMatrixToQuaternion\"\>", "ResourceFunctionLabel"], " "}], ShowAutoStyles->False, ShowStringCharacters->False, FontSize->0.9 Inherited, FontColor->GrayLevel[0.1]]} }, GridBoxSpacings->{"Columns" -> {{0.25}}}], Alignment->Left, BaseStyle->{LineSpacing -> {0, 0}, LineBreakWithin -> False}, BaselinePosition->Baseline, FrameMargins->{{3, 0}, {0, 0}}], Background->RGBColor[0.968627, 0.976471, 0.984314], BaselinePosition->Baseline, DefaultBaseStyle->{}, FrameMargins->{{0, 0}, {1, 1}}, FrameStyle->RGBColor[0.831373, 0.847059, 0.85098], RoundingRadius->4], {"FunctionResourceBox", RGBColor[0.8745098039215686, 0.2784313725490196, 0.03137254901960784], "\"RotationMatrixToQuaternion\""}, TagBoxNote->"FunctionResourceBox"], ResourceFunction["RotationMatrixToQuaternion"], BoxID -> "RotationMatrixToQuaternion", Selectable->False], "[", "rot", "]"}]], "Input", TaggingRules->{}, CellLabel->"In[173]:=", CellID->303980749], Cell[BoxData[ InterpretationBox[ FrameBox[ TooltipBox[ TagBox[ FormBox[ RowBox[{ FractionBox[ RowBox[{"2", " ", "\[DoubleStruckI]"}], RowBox[{"7", " ", SqrtBox["5"]}]], "+", FractionBox[ RowBox[{"3", " ", "\[DoubleStruckJ]"}], RowBox[{"7", " ", SqrtBox["5"]}]], "+", FractionBox[ RowBox[{"6", " ", "\[DoubleStruckK]"}], RowBox[{"7", " ", SqrtBox["5"]}]], "+", FractionBox["2", SqrtBox["5"]]}], TraditionalForm], TraditionalForm, Editable->True], RowBox[{ StyleBox[ RowBox[{"ResourceFunction", "[", "\"Quaternion\"", "]"}], ShowStringCharacters -> True], "[", RowBox[{ FractionBox["2", SqrtBox["5"]], ",", FractionBox["2", RowBox[{"7", " ", SqrtBox["5"]}]], ",", FractionBox["3", RowBox[{"7", " ", SqrtBox["5"]}]], ",", FractionBox["6", RowBox[{"7", " ", SqrtBox["5"]}]]}], "]"}], TooltipStyle->"TextStyling"], Background->GrayLevel[0.85, 0.15], FrameMargins->{{3, 3}, {1, 1}}, FrameStyle->Directive[ GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], RoundingRadius->4], FunctionRepository`$09b0107d3e974bbf9deb28994f5b02d1`Quaternion[ 2 5^Rational[-1, 2], Rational[2, 7] 5^Rational[-1, 2], Rational[3, 7] 5^Rational[-1, 2], Rational[6, 7] 5^Rational[-1, 2]], SelectWithContents->True, Selectable->False]], "Output", TaggingRules->{}, CellLabel->"Out[173]=", CellID->805538184] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[{ "Scope", "\[NonBreakingSpace]", Cell["(3)", "ExampleCount"], "\[NonBreakingSpace]" }], "Subsection", TaggingRules->{}, CellID->964056545], Cell["A real matrix:", "Text", TaggingRules->{}, CellID->649685796], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"rot", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"413", "/", "1053"}], ",", RowBox[{ RowBox[{"-", "64"}], "/", "81"}], ",", RowBox[{"496", "/", "1053"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"896", "/", "1053"}], ",", RowBox[{"41", "/", "81"}], ",", RowBox[{"148", "/", "1053"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "368"}], "/", "1053"}], ",", RowBox[{"28", "/", "81"}], ",", RowBox[{"917", "/", "1053"}]}], "}"}]}], "}"}]}]], "Input", TaggingRules->{}, CellLabel->"In[174]:=", CellID->836153427], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ FractionBox["413", "1053"], ",", RowBox[{"-", FractionBox["64", "81"]}], ",", FractionBox["496", "1053"]}], "}"}], ",", RowBox[{"{", RowBox[{ FractionBox["896", "1053"], ",", FractionBox["41", "81"], ",", FractionBox["148", "1053"]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", FractionBox["368", "1053"]}], ",", FractionBox["28", "81"], ",", FractionBox["917", "1053"]}], "}"}]}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[174]=", CellID->254820092] }, Open ]], Cell["Convert to quaternion form:", "Text", TaggingRules->{}, CellID->154647698], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ InterpretationBox[ TagBox[ FrameBox[ PaneBox[GridBox[{ { StyleBox[ StyleBox[ AdjustmentBox["\<\"[\[FilledSmallSquare]]\"\>", BoxBaselineShift->-0.25, BoxMargins->{{0, 0}, {-1, -1}}], "ResourceFunctionIcon", FontColor->RGBColor[ 0.8745098039215686, 0.2784313725490196, 0.03137254901960784]], ShowStringCharacters->False, FontFamily->"Source Sans Pro Black", FontSize->0.65 Inherited, FontWeight->"Heavy", PrivateFontOptions->{"OperatorSubstitution"->False}], StyleBox[ RowBox[{ StyleBox["\<\"RotationMatrixToQuaternion\"\>", "ResourceFunctionLabel"], " "}], ShowAutoStyles->False, ShowStringCharacters->False, FontSize->0.9 Inherited, FontColor->GrayLevel[0.1]]} }, GridBoxSpacings->{"Columns" -> {{0.25}}}], Alignment->Left, BaseStyle->{LineSpacing -> {0, 0}, LineBreakWithin -> False}, BaselinePosition->Baseline, FrameMargins->{{3, 0}, {0, 0}}], Background->RGBColor[0.968627, 0.976471, 0.984314], BaselinePosition->Baseline, DefaultBaseStyle->{}, FrameMargins->{{0, 0}, {1, 1}}, FrameStyle->RGBColor[0.831373, 0.847059, 0.85098], RoundingRadius->4], {"FunctionResourceBox", RGBColor[0.8745098039215686, 0.2784313725490196, 0.03137254901960784], "\"RotationMatrixToQuaternion\""}, TagBoxNote->"FunctionResourceBox"], ResourceFunction["RotationMatrixToQuaternion"], BoxID -> "RotationMatrixToQuaternion", Selectable->False], "[", "rot", "]"}]], "Input", TaggingRules->{}, CellLabel->"In[175]:=", CellID->86074062], Cell[BoxData[ InterpretationBox[ FrameBox[ TooltipBox[ TagBox[ FormBox[ RowBox[{ FractionBox[ RowBox[{"2", " ", "\[DoubleStruckI]"}], RowBox[{"9", " ", SqrtBox["13"]}]], "+", FractionBox[ RowBox[{"8", " ", "\[DoubleStruckJ]"}], RowBox[{"9", " ", SqrtBox["13"]}]], "+", FractionBox[ RowBox[{"16", " ", "\[DoubleStruckK]"}], RowBox[{"9", " ", SqrtBox["13"]}]], "+", FractionBox["3", SqrtBox["13"]]}], TraditionalForm], TraditionalForm, Editable->True], RowBox[{ StyleBox[ RowBox[{"ResourceFunction", "[", "\"Quaternion\"", "]"}], ShowStringCharacters -> True], "[", RowBox[{ FractionBox["3", SqrtBox["13"]], ",", FractionBox["2", RowBox[{"9", " ", SqrtBox["13"]}]], ",", FractionBox["8", RowBox[{"9", " ", SqrtBox["13"]}]], ",", FractionBox["16", RowBox[{"9", " ", SqrtBox["13"]}]]}], "]"}], TooltipStyle->"TextStyling"], Background->GrayLevel[0.85, 0.15], FrameMargins->{{3, 3}, {1, 1}}, FrameStyle->Directive[ GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], RoundingRadius->4], FunctionRepository`$09b0107d3e974bbf9deb28994f5b02d1`Quaternion[ 3 13^Rational[-1, 2], Rational[2, 9] 13^Rational[-1, 2], Rational[8, 9] 13^Rational[-1, 2], Rational[16, 9] 13^Rational[-1, 2]], SelectWithContents->True, Selectable->False]], "Output", TaggingRules->{}, CellLabel->"Out[175]=", CellID->809366672] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ InterpretationBox[Cell["\t", "ExampleDelimiter"], $Line = 0; Null]], "ExampleDelimiter", TaggingRules->{}, CellID->708647416], Cell["An approximate MachinePrecision matrix:", "Text", TaggingRules->{"AttachedInlineCell" -> CellObject[15649]}, CellID->764165945], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"rot", "=", RowBox[{"N", "[", RowBox[{"RotationMatrix", "[", RowBox[{ RowBox[{"Pi", "/", "5"}], ",", RowBox[{"{", RowBox[{"3", ",", "1", ",", "2"}], "}"}]}], "]"}], "]"}]}]], "Input", TaggingRules->{}, CellLabel->"In[176]:=", CellID->46095457], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.9317917837053382`", ",", RowBox[{"-", "0.2732595032341911`"}], ",", "0.238942076059088`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.35510936278778504`", ",", "0.8226586376338797`", ",", RowBox[{"-", "0.44399336299861747`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.0752423569519001`"}], ",", "0.4985599360343468`", ",", "0.8635835674106767`"}], "}"}]}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[176]=", CellID->30674267] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ InterpretationBox[ TagBox[ FrameBox[ PaneBox[GridBox[{ { StyleBox[ StyleBox[ AdjustmentBox["\<\"[\[FilledSmallSquare]]\"\>", BoxBaselineShift->-0.25, BoxMargins->{{0, 0}, {-1, -1}}], "ResourceFunctionIcon", FontColor->RGBColor[ 0.8745098039215686, 0.2784313725490196, 0.03137254901960784]], ShowStringCharacters->False, FontFamily->"Source Sans Pro Black", FontSize->0.65 Inherited, FontWeight->"Heavy", PrivateFontOptions->{"OperatorSubstitution"->False}], StyleBox[ RowBox[{ StyleBox["\<\"RotationMatrixToQuaternion\"\>", "ResourceFunctionLabel"], " "}], ShowAutoStyles->False, ShowStringCharacters->False, FontSize->0.9 Inherited, FontColor->GrayLevel[0.1]]} }, GridBoxSpacings->{"Columns" -> {{0.25}}}], Alignment->Left, BaseStyle->{LineSpacing -> {0, 0}, LineBreakWithin -> False}, BaselinePosition->Baseline, FrameMargins->{{3, 0}, {0, 0}}], Background->RGBColor[0.968627, 0.976471, 0.984314], BaselinePosition->Baseline, DefaultBaseStyle->{}, FrameMargins->{{0, 0}, {1, 1}}, FrameStyle->RGBColor[0.831373, 0.847059, 0.85098], RoundingRadius->4], {"FunctionResourceBox", RGBColor[0.8745098039215686, 0.2784313725490196, 0.03137254901960784], "\"RotationMatrixToQuaternion\""}, TagBoxNote->"FunctionResourceBox"], ResourceFunction["RotationMatrixToQuaternion"], BoxID -> "RotationMatrixToQuaternion", Selectable->False], "[", "rot", "]"}]], "Input", TaggingRules->{}, CellLabel->"In[182]:=", CellID->397867423], Cell[BoxData[ InterpretationBox[ FrameBox[ TooltipBox[ TagBox[ FormBox[ RowBox[{ RowBox[{"0.2477647970660793`", " ", "\[DoubleStruckI]"}], "+", RowBox[{"0.0825882656886931`", " ", "\[DoubleStruckJ]"}], "+", RowBox[{"0.1651765313773862`", " ", "\[DoubleStruckK]"}], "+", "0.9510565162951535`"}], TraditionalForm], TraditionalForm, Editable->True], RowBox[{ StyleBox[ RowBox[{"ResourceFunction", "[", "\"Quaternion\"", "]"}], ShowStringCharacters -> True], "[", RowBox[{ "0.9510565162951535`", ",", "0.2477647970660793`", ",", "0.0825882656886931`", ",", "0.1651765313773862`"}], "]"}], TooltipStyle->"TextStyling"], Background->GrayLevel[0.85, 0.15], FrameMargins->{{3, 3}, {1, 1}}, FrameStyle->Directive[ GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], RoundingRadius->4], FunctionRepository`$09b0107d3e974bbf9deb28994f5b02d1`Quaternion[ 0.9510565162951535, 0.2477647970660793, 0.0825882656886931, 0.1651765313773862], SelectWithContents->True, Selectable->False]], "Output", TaggingRules->{}, CellLabel->"Out[182]=", CellID->999227906] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ InterpretationBox[Cell["\t", "ExampleDelimiter"], $Line = 0; Null]], "ExampleDelimiter", TaggingRules->{}, CellID->292814450], Cell["An approximate arbitrary precision matrix:", "Text", TaggingRules->{}, CellID->698874787], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"rot", "=", RowBox[{"N", "[", RowBox[{ RowBox[{"RotationMatrix", "[", RowBox[{ RowBox[{"Pi", "/", "3"}], ",", RowBox[{"{", RowBox[{"2", ",", "1", ",", "4"}], "}"}]}], "]"}], ",", "25"}], "]"}]}]], "Input", TaggingRules->{}, CellLabel->"In[183]:=", CellID->180136707], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.59523809523809523809523809523809523809`25.", ",", RowBox[{"-", "0.70830989839940683538141402484931250258`25."}], ",", "0.37945842698080408979773445859328050659`25."}], "}"}], ",", RowBox[{"{", RowBox[{ "0.80354799363750207347665212008740774067`25.", ",", "0.52380952380952380952380952380952380952`25.", ",", RowBox[{"-", "0.28272637777113198911927844099608482272`25."}]}], "}"}], ",", RowBox[{"{", RowBox[{ "0.00149395397157686258321792235910044578`25.", ",", "0.47320256824732246530975463147227529891`25.", ",", "0.88095238095238095238095238095238095238`25."}], "}"}]}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[183]=", CellID->265850945] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ InterpretationBox[ TagBox[ FrameBox[ PaneBox[GridBox[{ { StyleBox[ StyleBox[ AdjustmentBox["\<\"[\[FilledSmallSquare]]\"\>", BoxBaselineShift->-0.25, BoxMargins->{{0, 0}, {-1, -1}}], "ResourceFunctionIcon", FontColor->RGBColor[ 0.8745098039215686, 0.2784313725490196, 0.03137254901960784]], ShowStringCharacters->False, FontFamily->"Source Sans Pro Black", FontSize->0.65 Inherited, FontWeight->"Heavy", PrivateFontOptions->{"OperatorSubstitution"->False}], StyleBox[ RowBox[{ StyleBox["\<\"RotationMatrixToQuaternion\"\>", "ResourceFunctionLabel"], " "}], ShowAutoStyles->False, ShowStringCharacters->False, FontSize->0.9 Inherited, FontColor->GrayLevel[0.1]]} }, GridBoxSpacings->{"Columns" -> {{0.25}}}], Alignment->Left, BaseStyle->{LineSpacing -> {0, 0}, LineBreakWithin -> False}, BaselinePosition->Baseline, FrameMargins->{{3, 0}, {0, 0}}], Background->RGBColor[0.968627, 0.976471, 0.984314], BaselinePosition->Baseline, DefaultBaseStyle->{}, FrameMargins->{{0, 0}, {1, 1}}, FrameStyle->RGBColor[0.831373, 0.847059, 0.85098], RoundingRadius->4], {"FunctionResourceBox", RGBColor[0.8745098039215686, 0.2784313725490196, 0.03137254901960784], "\"RotationMatrixToQuaternion\""}, TagBoxNote->"FunctionResourceBox"], ResourceFunction["RotationMatrixToQuaternion"], BoxID -> "RotationMatrixToQuaternion", Selectable->False], "[", "rot", "]"}]], "Input", TaggingRules->{}, CellLabel->"In[184]:=", CellID->422304863], Cell[BoxData[ InterpretationBox[ FrameBox[ TooltipBox[ TagBox[ FormBox[ RowBox[{ RowBox[{ "0.21821789023599238126609748541561945185`23.3767507096021", " ", "\[DoubleStruckI]"}], "+", RowBox[{ "0.10910894511799619063304874270780972593`23.3767507096021", " ", "\[DoubleStruckJ]"}], "+", RowBox[{ "0.43643578047198476253219497083123890371`23.3767507096021", " ", "\[DoubleStruckK]"}], "+", "0.86602540378443864676372317075293618347`23.3767507096021"}], TraditionalForm], TraditionalForm, Editable->True], RowBox[{ StyleBox[ RowBox[{"ResourceFunction", "[", "\"Quaternion\"", "]"}], ShowStringCharacters -> True], "[", RowBox[{ "0.86602540378443864676372317075293618347`23.3767507096021", ",", "0.21821789023599238126609748541561945185`23.3767507096021", ",", "0.10910894511799619063304874270780972593`23.3767507096021", ",", "0.43643578047198476253219497083123890371`23.3767507096021"}], "]"}], TooltipStyle->"TextStyling"], Background->GrayLevel[0.85, 0.15], FrameMargins->{{3, 3}, {1, 1}}, FrameStyle->Directive[ GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], RoundingRadius->4], FunctionRepository`$09b0107d3e974bbf9deb28994f5b02d1`Quaternion[ 0.8660254037844382, 0.2182178902359924, 0.1091089451179962, 0.4364357804719848], SelectWithContents->True, Selectable->False]], "Output", TaggingRules->{}, CellLabel->"Out[184]=", CellID->6526660] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "Applications", "\[NonBreakingSpace]", Cell["(4)", "ExampleCount"], "\[NonBreakingSpace]" }], "Subsection", TaggingRules->{}, CellID->568056528], Cell["Create a rotation matrix:", "Text", TaggingRules->{}, CellChangeTimes->{{3.8177484271862497`*^9, 3.817748429996387*^9}}, CellID->437598984], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"rot", "=", RowBox[{"N", "[", RowBox[{"RotationMatrix", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", RowBox[{"-", "1"}], ",", "1"}], "}"}]}], "}"}], "]"}], "]"}]}]], "Input", TaggingRules->{}, CellLabel->"In[191]:=", CellID->781921479], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ "0.7886751345948128`", ",", "0.21132486540518713`", ",", "0.5773502691896258`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.21132486540518713`", ",", "0.7886751345948128`", ",", RowBox[{"-", "0.5773502691896258`"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.5773502691896258`"}], ",", "0.5773502691896258`", ",", "0.5773502691896258`"}], "}"}]}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[191]=", CellID->33436479] }, Open ]], Cell["Also define a vector to be rotated:", "Text", TaggingRules->{}, CellChangeTimes->{{3.817748434003426*^9, 3.817748437579228*^9}}, CellID->149663053], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"vec", "=", RowBox[{"RandomVariate", "[", RowBox[{ RowBox[{"NormalDistribution", "[", "]"}], ",", "3"}], "]"}]}]], "Input", TaggingRules->{}, CellLabel->"In[192]:=", CellID->19547180], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"-", "0.4098054508082704`"}], ",", "1.1122926947786995`", ",", RowBox[{"-", "0.22077733851527193`"}]}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[192]=", CellID->219010623] }, Open ]], Cell["\<\ Transform the vector using the rotation matrix representation:\ \>", "Text", TaggingRules->{}, CellID->71888664], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"rot", ".", "vec"}]], "Input", TaggingRules->{}, CellLabel->"In[193]:=", CellID->483756460], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"-", "0.2156141208813804`"}], ",", "0.9181013648518094`", ",", "0.751317918264906`"}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[193]=", CellID->542227723] }, Open ]], Cell["\<\ Transform the vector using the quaternion representation of a rotation to get \ the same result:\ \>", "Text", TaggingRules->{}, CellChangeTimes->{{3.817748447277279*^9, 3.81774845072064*^9}}, CellID->488635313], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"uq", "=", RowBox[{ InterpretationBox[ TagBox[ FrameBox[ PaneBox[GridBox[{ { StyleBox[ StyleBox[ AdjustmentBox["\<\"[\[FilledSmallSquare]]\"\>", BoxBaselineShift->-0.25, BoxMargins->{{0, 0}, {-1, -1}}], "ResourceFunctionIcon", FontColor->RGBColor[ 0.8745098039215686, 0.2784313725490196, 0.03137254901960784]], ShowStringCharacters->False, FontFamily->"Source Sans Pro Black", FontSize->0.65 Inherited, FontWeight->"Heavy", PrivateFontOptions->{"OperatorSubstitution"->False}], StyleBox[ RowBox[{ StyleBox["\<\"RotationMatrixToQuaternion\"\>", "ResourceFunctionLabel"], " "}], ShowAutoStyles->False, ShowStringCharacters->False, FontSize->0.9 Inherited, FontColor->GrayLevel[0.1]]} }, GridBoxSpacings->{"Columns" -> {{0.25}}}], Alignment->Left, BaseStyle->{LineSpacing -> {0, 0}, LineBreakWithin -> False}, BaselinePosition->Baseline, FrameMargins->{{3, 0}, {0, 0}}], Background->RGBColor[0.968627, 0.976471, 0.984314], BaselinePosition->Baseline, DefaultBaseStyle->{}, FrameMargins->{{0, 0}, {1, 1}}, FrameStyle->RGBColor[0.831373, 0.847059, 0.85098], RoundingRadius->4], {"FunctionResourceBox", RGBColor[ 0.8745098039215686, 0.2784313725490196, 0.03137254901960784], "\"RotationMatrixToQuaternion\""}, TagBoxNote->"FunctionResourceBox"], ResourceFunction["RotationMatrixToQuaternion"], BoxID -> "RotationMatrixToQuaternion", Selectable->False], "[", "rot", "]"}]}], "}"}], ",", RowBox[{"Rest", "[", RowBox[{"Apply", "[", RowBox[{"List", ",", RowBox[{ RowBox[{"(", RowBox[{"uq", "**", RowBox[{"Apply", "[", RowBox[{ RowBox[{"ResourceFunction", "[", "\"\\"", "]"}], ",", RowBox[{"Prepend", "[", RowBox[{"vec", ",", "0"}], "]"}]}], "]"}]}], ")"}], "**", RowBox[{"Power", "[", RowBox[{"uq", ",", RowBox[{"-", "1"}]}], "]"}]}]}], "]"}], "]"}]}], "]"}]], "Input", TaggingRules->{}, CellLabel->"In[194]:=", CellID->225054254], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"-", "0.21561412088138043`"}], ",", "0.9181013648518096`", ",", "0.7513179182649059`"}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[194]=", CellID->118381752] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ InterpretationBox[Cell["\t", "ExampleDelimiter"], $Line = 0; Null]], "ExampleDelimiter", TaggingRules->{}, CellID->154783655], Cell["Generate a matrix from a given set of Euler angles:", "Text", TaggingRules->{}, CellID->371380881], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"rot", "=", RowBox[{"EulerMatrix", "[", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"-", "Pi"}], "/", "6"}], ",", RowBox[{"Pi", "/", "3"}], ",", RowBox[{ RowBox[{"-", "Pi"}], "/", "2"}]}], "}"}], "]"}]}]], "Input", TaggingRules->{}, CellLabel->"In[185]:=", CellID->46089836], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", FractionBox["1", "2"]}], ",", FractionBox[ SqrtBox["3"], "4"], ",", FractionBox["3", "4"]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", FractionBox[ SqrtBox["3"], "2"]}], ",", RowBox[{"-", FractionBox["1", "4"]}], ",", RowBox[{"-", FractionBox[ SqrtBox["3"], "4"]}]}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", FractionBox[ SqrtBox["3"], "2"]}], ",", FractionBox["1", "2"]}], "}"}]}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[185]=", CellID->144169634] }, Open ]], Cell["Convert to its quaternion representation:", "Text", TaggingRules->{}, CellID->492137250], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"FullSimplify", "[", RowBox[{ InterpretationBox[ TagBox[ FrameBox[ PaneBox[GridBox[{ { StyleBox[ StyleBox[ AdjustmentBox["\<\"[\[FilledSmallSquare]]\"\>", BoxBaselineShift->-0.25, BoxMargins->{{0, 0}, {-1, -1}}], "ResourceFunctionIcon", FontColor->RGBColor[ 0.8745098039215686, 0.2784313725490196, 0.03137254901960784]], ShowStringCharacters->False, FontFamily->"Source Sans Pro Black", FontSize->0.65 Inherited, FontWeight->"Heavy", PrivateFontOptions->{"OperatorSubstitution"->False}], StyleBox[ RowBox[{ StyleBox["\<\"RotationMatrixToQuaternion\"\>", "ResourceFunctionLabel"], " "}], ShowAutoStyles->False, ShowStringCharacters->False, FontSize->0.9 Inherited, FontColor->GrayLevel[0.1]]} }, GridBoxSpacings->{"Columns" -> {{0.25}}}], Alignment->Left, BaseStyle->{LineSpacing -> {0, 0}, LineBreakWithin -> False}, BaselinePosition->Baseline, FrameMargins->{{3, 0}, {0, 0}}], Background->RGBColor[0.968627, 0.976471, 0.984314], BaselinePosition->Baseline, DefaultBaseStyle->{}, FrameMargins->{{0, 0}, {1, 1}}, FrameStyle->RGBColor[0.831373, 0.847059, 0.85098], RoundingRadius->4], {"FunctionResourceBox", RGBColor[0.8745098039215686, 0.2784313725490196, 0.03137254901960784], "\"RotationMatrixToQuaternion\""}, TagBoxNote->"FunctionResourceBox"], ResourceFunction["RotationMatrixToQuaternion"], BoxID -> "RotationMatrixToQuaternion", Selectable->False], "[", "rot", "]"}], "]"}]], "Input", TaggingRules->{}, CellLabel->"In[186]:=", CellID->10068530], Cell[BoxData[ InterpretationBox[ FrameBox[ TooltipBox[ TagBox[ FormBox[ RowBox[{ RowBox[{"-", FractionBox["\[DoubleStruckI]", "4"]}], "+", FractionBox[ RowBox[{ SqrtBox["3"], " ", "\[DoubleStruckJ]"}], "4"], "-", FractionBox[ RowBox[{"3", " ", "\[DoubleStruckK]"}], "4"], "+", FractionBox[ SqrtBox["3"], "4"]}], TraditionalForm], TraditionalForm, Editable->True], RowBox[{ StyleBox[ RowBox[{"ResourceFunction", "[", "\"Quaternion\"", "]"}], ShowStringCharacters -> True], "[", RowBox[{ FractionBox[ SqrtBox["3"], "4"], ",", RowBox[{"-", FractionBox["1", "4"]}], ",", FractionBox[ SqrtBox["3"], "4"], ",", RowBox[{"-", FractionBox["3", "4"]}]}], "]"}], TooltipStyle->"TextStyling"], Background->GrayLevel[0.85, 0.15], FrameMargins->{{3, 3}, {1, 1}}, FrameStyle->Directive[ GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], RoundingRadius->4], FunctionRepository`$09b0107d3e974bbf9deb28994f5b02d1`Quaternion[ Rational[1, 4] 3^Rational[1, 2], Rational[-1, 4], Rational[1, 4] 3^Rational[1, 2], Rational[-3, 4]], SelectWithContents->True, Selectable->False]], "Output", TaggingRules->{}, CellLabel->"Out[186]=", CellID->61834601] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ InterpretationBox[Cell["\t", "ExampleDelimiter"], $Line = 0; Null]], "ExampleDelimiter", TaggingRules->{}, CellID->1228896116], Cell["Generate a matrix from a given set of roll-pitch-yaw angles:", "Text", TaggingRules->{}, CellID->122056458], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"rot", "=", RowBox[{"RollPitchYawMatrix", "[", RowBox[{"{", RowBox[{ RowBox[{"Pi", "/", "4"}], ",", RowBox[{ RowBox[{"-", "Pi"}], "/", "4"}], ",", RowBox[{"Pi", "/", "4"}]}], "}"}], "]"}]}]], "Input", TaggingRules->{}, CellLabel->"In[187]:=", CellID->105812997], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ FractionBox["1", "2"], ",", RowBox[{"-", FractionBox["1", "2"]}], ",", RowBox[{"-", FractionBox["1", SqrtBox["2"]]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ FractionBox["1", "2"], "-", FractionBox["1", RowBox[{"2", " ", SqrtBox["2"]}]]}], ",", RowBox[{ FractionBox["1", "2"], "+", FractionBox["1", RowBox[{"2", " ", SqrtBox["2"]}]]}], ",", RowBox[{"-", FractionBox["1", "2"]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ FractionBox["1", "2"], "+", FractionBox["1", RowBox[{"2", " ", SqrtBox["2"]}]]}], ",", RowBox[{ FractionBox["1", "2"], "-", FractionBox["1", RowBox[{"2", " ", SqrtBox["2"]}]]}], ",", FractionBox["1", "2"]}], "}"}]}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[187]=", CellID->53923023] }, Open ]], Cell["Convert to its quaternion representation:", "Text", TaggingRules->{}, CellID->130577823], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"FullSimplify", "[", RowBox[{ InterpretationBox[ TagBox[ FrameBox[ PaneBox[GridBox[{ { StyleBox[ StyleBox[ AdjustmentBox["\<\"[\[FilledSmallSquare]]\"\>", BoxBaselineShift->-0.25, BoxMargins->{{0, 0}, {-1, -1}}], "ResourceFunctionIcon", FontColor->RGBColor[ 0.8745098039215686, 0.2784313725490196, 0.03137254901960784]], ShowStringCharacters->False, FontFamily->"Source Sans Pro Black", FontSize->0.65 Inherited, FontWeight->"Heavy", PrivateFontOptions->{"OperatorSubstitution"->False}], StyleBox[ RowBox[{ StyleBox["\<\"RotationMatrixToQuaternion\"\>", "ResourceFunctionLabel"], " "}], ShowAutoStyles->False, ShowStringCharacters->False, FontSize->0.9 Inherited, FontColor->GrayLevel[0.1]]} }, GridBoxSpacings->{"Columns" -> {{0.25}}}], Alignment->Left, BaseStyle->{LineSpacing -> {0, 0}, LineBreakWithin -> False}, BaselinePosition->Baseline, FrameMargins->{{3, 0}, {0, 0}}], Background->RGBColor[0.968627, 0.976471, 0.984314], BaselinePosition->Baseline, DefaultBaseStyle->{}, FrameMargins->{{0, 0}, {1, 1}}, FrameStyle->RGBColor[0.831373, 0.847059, 0.85098], RoundingRadius->4], {"FunctionResourceBox", RGBColor[0.8745098039215686, 0.2784313725490196, 0.03137254901960784], "\"RotationMatrixToQuaternion\""}, TagBoxNote->"FunctionResourceBox"], ResourceFunction["RotationMatrixToQuaternion"], BoxID -> "RotationMatrixToQuaternion", Selectable->False], "[", "rot", "]"}], "]"}]], "Input", TaggingRules->{}, CellLabel->"In[188]:=", CellID->903337748], Cell[BoxData[ InterpretationBox[ FrameBox[ TooltipBox[ TagBox[ FormBox[ RowBox[{ RowBox[{ FractionBox["1", "4"], " ", SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], " ", "\[DoubleStruckI]"}], "-", RowBox[{ FractionBox["1", "4"], " ", SqrtBox[ RowBox[{"2", "+", SqrtBox["2"]}]], " ", "\[DoubleStruckJ]"}], "+", RowBox[{ FractionBox["1", "4"], " ", SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], " ", "\[DoubleStruckK]"}], "+", FractionBox[ SqrtBox[ RowBox[{"10", "+", SqrtBox["2"]}]], "4"]}], TraditionalForm], TraditionalForm, Editable->True], RowBox[{ StyleBox[ RowBox[{"ResourceFunction", "[", "\"Quaternion\"", "]"}], ShowStringCharacters -> True], "[", RowBox[{ FractionBox[ SqrtBox[ RowBox[{"10", "+", SqrtBox["2"]}]], "4"], ",", FractionBox[ SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], "4"], ",", RowBox[{ RowBox[{"-", FractionBox["1", "4"]}], " ", SqrtBox[ RowBox[{"2", "+", SqrtBox["2"]}]]}], ",", FractionBox[ SqrtBox[ RowBox[{"2", "-", SqrtBox["2"]}]], "4"]}], "]"}], TooltipStyle->"TextStyling"], Background->GrayLevel[0.85, 0.15], FrameMargins->{{3, 3}, {1, 1}}, FrameStyle->Directive[ GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], RoundingRadius->4], FunctionRepository`$09b0107d3e974bbf9deb28994f5b02d1`Quaternion[ Rational[1, 4] (10 + 2^Rational[1, 2])^Rational[1, 2], Rational[1, 4] (2 - 2^Rational[1, 2])^Rational[1, 2], Rational[-1, 4] (2 + 2^Rational[1, 2])^Rational[1, 2], Rational[1, 4] (2 - 2^Rational[1, 2])^Rational[1, 2]], SelectWithContents->True, Selectable->False]], "Output", TaggingRules->{}, CellLabel->"Out[188]=", CellID->7787698] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ InterpretationBox[Cell["\t", "ExampleDelimiter"], $Line = 0; Null]], "ExampleDelimiter", TaggingRules->{}, CellID->1706788413], Cell["Generate a random rotation matrix:", "Text", TaggingRules->{}, CellID->389209736], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"rot", "=", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"#", "/", RowBox[{"Det", "[", "#", "]"}]}], ")"}], "&"}], "[", RowBox[{"RandomVariate", "[", RowBox[{"CircularRealMatrixDistribution", "[", "3", "]"}], "]"}], "]"}]}]], "Input", TaggingRules->{}, CellLabel->"In[189]:=", CellID->520311485], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", "0.9995152290592857`"}], ",", "0.027683607134475294`", ",", "0.01424516670971792`"}], "}"}], ",", RowBox[{"{", RowBox[{ "0.03112170826260308`", ",", "0.9011062478355242`", ",", "0.4324800219508421`"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", "0.0008638017023890679`"}], ",", "0.4327137021262529`", ",", RowBox[{"-", "0.9015309788569731`"}]}], "}"}]}], "}"}]], "Output", TaggingRules->{}, CellLabel->"Out[189]=", CellID->282740555] }, Open ]], Cell["Convert to its quaternion representation:", "Text", TaggingRules->{}, CellID->64595722], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"FullSimplify", "[", RowBox[{ InterpretationBox[ TagBox[ FrameBox[ PaneBox[GridBox[{ { StyleBox[ StyleBox[ AdjustmentBox["\<\"[\[FilledSmallSquare]]\"\>", BoxBaselineShift->-0.25, BoxMargins->{{0, 0}, {-1, -1}}], "ResourceFunctionIcon", FontColor->RGBColor[ 0.8745098039215686, 0.2784313725490196, 0.03137254901960784]], ShowStringCharacters->False, FontFamily->"Source Sans Pro Black", FontSize->0.65 Inherited, FontWeight->"Heavy", PrivateFontOptions->{"OperatorSubstitution"->False}], StyleBox[ RowBox[{ StyleBox["\<\"RotationMatrixToQuaternion\"\>", "ResourceFunctionLabel"], " "}], ShowAutoStyles->False, ShowStringCharacters->False, FontSize->0.9 Inherited, FontColor->GrayLevel[0.1]]} }, GridBoxSpacings->{"Columns" -> {{0.25}}}], Alignment->Left, BaseStyle->{LineSpacing -> {0, 0}, LineBreakWithin -> False}, BaselinePosition->Baseline, FrameMargins->{{3, 0}, {0, 0}}], Background->RGBColor[0.968627, 0.976471, 0.984314], BaselinePosition->Baseline, DefaultBaseStyle->{}, FrameMargins->{{0, 0}, {1, 1}}, FrameStyle->RGBColor[0.831373, 0.847059, 0.85098], RoundingRadius->4], {"FunctionResourceBox", RGBColor[0.8745098039215686, 0.2784313725490196, 0.03137254901960784], "\"RotationMatrixToQuaternion\""}, TagBoxNote->"FunctionResourceBox"], ResourceFunction["RotationMatrixToQuaternion"], BoxID -> "RotationMatrixToQuaternion", Selectable->False], "[", "rot", "]"}], "]"}]], "Input", TaggingRules->{}, CellLabel->"In[190]:=", CellID->38450840], Cell[BoxData[ InterpretationBox[ FrameBox[ TooltipBox[ TagBox[ FormBox[ RowBox[{ RowBox[{"0.015078975115729821`", " ", "\[DoubleStruckI]"}], "+", RowBox[{"0.97495544202694`", " ", "\[DoubleStruckJ]"}], "+", RowBox[{"0.22185468350183024`", " ", "\[DoubleStruckK]"}], "+", "0.0038742715207310723`"}], TraditionalForm], TraditionalForm, Editable->True], RowBox[{ StyleBox[ RowBox[{"ResourceFunction", "[", "\"Quaternion\"", "]"}], ShowStringCharacters -> True], "[", RowBox[{ "0.0038742715207310723`", ",", "0.015078975115729821`", ",", "0.97495544202694`", ",", "0.22185468350183024`"}], "]"}], TooltipStyle->"TextStyling"], Background->GrayLevel[0.85, 0.15], FrameMargins->{{3, 3}, {1, 1}}, FrameStyle->Directive[ GrayLevel[0.5, 0.35], AbsoluteThickness[0.5]], RoundingRadius->4], FunctionRepository`$09b0107d3e974bbf9deb28994f5b02d1`Quaternion[ 0.0038742715207310723`, 0.015078975115729821`, 0.97495544202694, 0.22185468350183024`], SelectWithContents->True, Selectable->False]], "Output", TaggingRules->{}, CellLabel->"Out[190]=", CellID->252243714] }, Open ]] }, Open ]] }, Closed]] }, WindowSize->Automatic, WindowMargins->Automatic, WindowTitle->"RotationMatrixToQuaternion | Example Notebook", FrontEndVersion->"12.2 for Linux x86 (64-bit) (November 16, 2020)", StyleDefinitions->Notebook[{ Cell[ StyleData[ StyleDefinitions -> FrontEnd`FileName[{"Wolfram"}, "Reference.nb", CharacterEncoding -> "UTF-8"]]], Cell[ StyleData[All, "Working"], Editable -> True, DockedCells -> {}], Cell[ StyleData["Notebook"], Editable -> True, DockedCells -> {}, ScrollingOptions -> {"VerticalScrollRange" -> Automatic}], Cell[ StyleData[ "Section", StyleDefinitions -> StyleData["PrimaryExamplesSection"]], Editable -> True, ShowGroupOpener -> "Inline", WholeCellGroupOpener -> True], Cell[ StyleData["Subsection", StyleDefinitions -> StyleData["ExampleSection"]], Editable -> True, ShowGroupOpener -> "Inline", WholeCellGroupOpener -> True], Cell[ StyleData[ "Subsubsection", StyleDefinitions -> StyleData["ExampleSubsection"]], Editable -> True, ShowGroupOpener -> "Inline", WholeCellGroupOpener -> True], Cell[ StyleData[ "Subsubsubsection", StyleDefinitions -> StyleData["ExampleSubsubsection"]], Editable -> True, ShowGroupOpener -> "Inline", WholeCellGroupOpener -> True], Cell[ StyleData["Text", StyleDefinitions -> StyleData["ExampleText"]], Editable -> True]}, Visible -> False, FrontEndVersion -> "12.2 for Linux x86 (64-bit) (November 16, 2020)", StyleDefinitions -> "PrivateStylesheetFormatting.nb"], $CellContext`ClosingSaveDialog -> False ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[639, 23, 168, 7, 70, "Subsection",ExpressionUUID->"8301ce04-da40-45de-a4d5-6cfd1b700518", CellID->462042388], Cell[810, 32, 81, 2, 70, "Text",ExpressionUUID->"f9749d81-7c50-4702-8d41-640cc9043ab2", CellID->13078159], Cell[CellGroupData[{ Cell[916, 38, 383, 13, 70, "Input",ExpressionUUID->"a0a6e45e-4555-4fb1-a706-824a0ed8e9fd", CellID->443871870], Cell[1302, 53, 629, 23, 70, "Output",ExpressionUUID->"d60d0493-bfde-4a9d-a879-fdad572c8f01", CellID->16836957] }, Open ]], Cell[1946, 79, 82, 2, 70, "Text",ExpressionUUID->"75bcd2e6-97fe-47d9-8edd-9746b35ca3e8", CellID->623052143], Cell[CellGroupData[{ Cell[2053, 85, 1796, 50, 70, "Input",ExpressionUUID->"7fec52bf-936d-4e1c-9292-fa50eee3ea37", CellID->303980749], Cell[3852, 137, 1616, 54, 70, "Output",ExpressionUUID->"2a9246bc-de28-4e65-a268-48693f4ce615", CellID->805538184] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[5517, 197, 159, 7, 70, "Subsection",ExpressionUUID->"f90f8fc6-cebf-4e15-b394-3e254d75aa4e", CellID->964056545], Cell[5679, 206, 69, 2, 70, "Text",ExpressionUUID->"f211f8cd-bc95-437f-80ab-e22ae7420230", CellID->649685796], Cell[CellGroupData[{ Cell[5773, 212, 680, 23, 70, "Input",ExpressionUUID->"22d75d60-7524-45a0-a000-0dc239b74d4e", CellID->836153427], Cell[6456, 237, 620, 22, 70, "Output",ExpressionUUID->"71f5eef5-3e09-4b45-9ffa-feb7827b37f5", CellID->254820092] }, Open ]], Cell[7091, 262, 82, 2, 70, "Text",ExpressionUUID->"60655a25-6a3c-4618-811a-1805bcc4db5f", CellID->154647698], Cell[CellGroupData[{ Cell[7198, 268, 1795, 50, 70, "Input",ExpressionUUID->"7238e002-52ad-4e89-b858-31811b8fe1a6", CellID->86074062], Cell[8996, 320, 1631, 54, 70, "Output",ExpressionUUID->"30431871-6a13-4866-8255-dc77d433ae3b", CellID->809366672] }, Open ]], Cell[CellGroupData[{ Cell[10664, 379, 144, 4, 70, "ExampleDelimiter",ExpressionUUID->"781a9a0b-c389-4065-9c3f-21a82185ce4f", CellID->708647416], Cell[10811, 385, 135, 2, 70, "Text",ExpressionUUID->"2db9dfff-9a0d-4835-864c-b7f9dc61dc60", CellID->764165945], Cell[CellGroupData[{ Cell[10971, 391, 299, 10, 70, "Input",ExpressionUUID->"da8edb45-6f06-4a95-8465-1aeb9122b93b", CellID->46095457], Cell[11273, 403, 559, 16, 70, "Output",ExpressionUUID->"c323986c-cfd8-4633-9ebd-15d1b05eb1dc", CellID->30674267] }, Open ]], Cell[CellGroupData[{ Cell[11869, 424, 1796, 50, 70, "Input",ExpressionUUID->"c3e091de-4816-4282-8dc1-05d4b46ca5af", CellID->397867423], Cell[13668, 476, 1193, 35, 70, "Output",ExpressionUUID->"437b8724-4214-4029-9cac-80ea98dbdcf0", CellID->999227906] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[14910, 517, 144, 4, 70, "ExampleDelimiter",ExpressionUUID->"7b66a8b7-7fcc-4683-bd29-0289e1575bf6", CellID->292814450], Cell[15057, 523, 97, 2, 70, "Text",ExpressionUUID->"3b50187e-f2dd-4b3f-b6fe-c9b63d4ce219", CellID->698874787], Cell[CellGroupData[{ Cell[15179, 529, 334, 12, 70, "Input",ExpressionUUID->"8b932a43-80b9-485b-8d74-2864ca36d7e5", CellID->180136707], Cell[15516, 543, 794, 21, 70, "Output",ExpressionUUID->"1df507ca-b0b1-4fd8-b80a-26c3028e2c6b", CellID->265850945] }, Open ]], Cell[CellGroupData[{ Cell[16347, 569, 1796, 50, 70, "Input",ExpressionUUID->"5f2cd178-fa8a-42b8-96fe-736ec9424a6d", CellID->422304863], Cell[18146, 621, 1564, 43, 70, "Output",ExpressionUUID->"83e9d9a8-70ab-49ea-be3f-441ce6d50eff", CellID->6526660] }, Open ]] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[19771, 671, 166, 7, 70, "Subsection",ExpressionUUID->"550d6d1a-474d-498e-be7b-44dc445106d2", CellID->568056528], Cell[19940, 680, 148, 3, 70, "Text",ExpressionUUID->"04ee7d41-1494-47ce-8986-51d9bc1c5783", CellID->437598984], Cell[CellGroupData[{ Cell[20113, 687, 394, 14, 70, "Input",ExpressionUUID->"b0f63f63-6080-4c56-9217-283583e9739c", CellID->781921479], Cell[20510, 703, 546, 16, 70, "Output",ExpressionUUID->"5f50037a-75b7-4649-8ef9-0f28e3a88f98", CellID->33436479] }, Open ]], Cell[21071, 722, 156, 3, 70, "Text",ExpressionUUID->"1f5cea47-27a5-4387-83e7-8fbe63055487", CellID->149663053], Cell[CellGroupData[{ Cell[21252, 729, 220, 7, 70, "Input",ExpressionUUID->"4dbe8c05-a62e-4555-8133-069ddca2839f", CellID->19547180], Cell[21475, 738, 240, 7, 70, "Output",ExpressionUUID->"1af983ce-f6a5-4f96-986c-cbfa50782003", CellID->219010623] }, Open ]], Cell[21730, 748, 124, 4, 70, "Text",ExpressionUUID->"0463f354-8aa3-4125-9e08-1ffc54914b4a", CellID->71888664], Cell[CellGroupData[{ Cell[21879, 756, 117, 4, 70, "Input",ExpressionUUID->"db237053-c413-444f-b552-8b2300e103ca", CellID->483756460], Cell[21999, 762, 223, 7, 70, "Output",ExpressionUUID->"c1ae3a91-7ab2-43f9-b848-66cc26f28168", CellID->542227723] }, Open ]], Cell[22237, 772, 224, 6, 70, "Text",ExpressionUUID->"a2109bfe-3618-43c6-9491-dd1e36e47195", CellID->488635313], Cell[CellGroupData[{ Cell[22486, 782, 2615, 71, 70, "Input",ExpressionUUID->"fbb9ea48-455f-4f41-9c57-f746afbebed1", CellID->225054254], Cell[25104, 855, 225, 7, 70, "Output",ExpressionUUID->"64bff480-ae24-431f-bec6-24ea16313413", CellID->118381752] }, Open ]], Cell[CellGroupData[{ Cell[25366, 867, 144, 4, 70, "ExampleDelimiter",ExpressionUUID->"80343c4f-8e65-465d-b340-3a1bb3c79a01", CellID->154783655], Cell[25513, 873, 106, 2, 70, "Text",ExpressionUUID->"09afc48a-44f8-408f-b28d-93c0c7b8a510", CellID->371380881], Cell[CellGroupData[{ Cell[25644, 879, 336, 12, 70, "Input",ExpressionUUID->"7025bf16-4f8c-4688-bfb8-497346008bb4", CellID->46089836], Cell[25983, 893, 693, 28, 70, "Output",ExpressionUUID->"800b3b69-bddb-4ad3-984f-1882a8c0d903", CellID->144169634] }, Open ]], Cell[26691, 924, 96, 2, 70, "Text",ExpressionUUID->"25cf5220-d1d8-4eff-943e-a40a13247b15", CellID->492137250], Cell[CellGroupData[{ Cell[26812, 930, 1880, 51, 70, "Input",ExpressionUUID->"27e76bac-e3f2-4e9d-8ce7-36b9cf27ab10", CellID->10068530], Cell[28695, 983, 1384, 47, 70, "Output",ExpressionUUID->"d01024a1-cc82-435c-8af9-9c028b19d8af", CellID->61834601] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[30128, 1036, 145, 4, 70, "ExampleDelimiter",ExpressionUUID->"616368fa-230f-4d16-8857-8972571d7d6d", CellID->1228896116], Cell[30276, 1042, 115, 2, 70, "Text",ExpressionUUID->"8440bc73-ef50-4a35-ae17-e9736c8322d0", CellID->122056458], Cell[CellGroupData[{ Cell[30416, 1048, 322, 11, 70, "Input",ExpressionUUID->"38659bef-f531-4e89-8358-4b4dee859431", CellID->105812997], Cell[30741, 1061, 1014, 40, 70, "Output",ExpressionUUID->"6991d2a1-9928-4f7e-a3d2-054b515c0f8a", CellID->53923023] }, Open ]], Cell[31770, 1104, 96, 2, 70, "Text",ExpressionUUID->"bb3a0b09-c2c6-43d1-9cee-9a13cc700157", CellID->130577823], Cell[CellGroupData[{ Cell[31891, 1110, 1881, 51, 70, "Input",ExpressionUUID->"e62682e0-7241-4bad-bf35-ff0591beb875", CellID->903337748], Cell[33775, 1163, 2037, 68, 70, "Output",ExpressionUUID->"0259e565-9cb7-4f9c-b314-e71cebe2f141", CellID->7787698] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[35861, 1237, 145, 4, 70, "ExampleDelimiter",ExpressionUUID->"8c7900c0-4372-4013-bb5f-de54ebb286f8", CellID->1706788413], Cell[36009, 1243, 89, 2, 70, "Text",ExpressionUUID->"8219ae0b-e256-48d2-86d3-f8604c21db2d", CellID->389209736], Cell[CellGroupData[{ Cell[36123, 1249, 351, 12, 70, "Input",ExpressionUUID->"c803f53f-8aad-4001-809f-120a26833eda", CellID->520311485], Cell[36477, 1263, 573, 17, 70, "Output",ExpressionUUID->"a156bbf3-0e5b-4f93-a698-29ee186f148d", CellID->282740555] }, Open ]], Cell[37065, 1283, 95, 2, 70, "Text",ExpressionUUID->"7a5f1328-2450-47d3-8e79-d6e2d3fc8ba0", CellID->64595722], Cell[CellGroupData[{ Cell[37185, 1289, 1880, 51, 70, "Input",ExpressionUUID->"8bab4786-4668-4625-afcd-d8d745e85e03", CellID->38450840], Cell[39068, 1342, 1208, 35, 70, "Output",ExpressionUUID->"2510cbc6-897b-4f83-b7eb-715096c38605", CellID->252243714] }, Open ]] }, Open ]] }, Closed]] } ] *) (* End of internal cache information *)