1
0
mirror of https://github.com/paboyle/Grid.git synced 2024-11-09 23:45:36 +00:00

Aslash expression in Mathematica notebook

This commit is contained in:
Antonin Portelli 2018-09-01 19:59:58 +01:00
parent 3ee682f676
commit c193e4e675

View File

@ -10,33 +10,34 @@
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[ 158, 7]
NotebookDataLength[ 56640, 1480]
NotebookOptionsPosition[ 55061, 1426]
NotebookOutlinePosition[ 55421, 1442]
CellTagsIndexPosition[ 55378, 1439]
NotebookDataLength[ 75090, 1956]
NotebookOptionsPosition[ 69536, 1867]
NotebookOutlinePosition[ 69898, 1883]
CellTagsIndexPosition[ 69855, 1880]
WindowFrame->Normal*)
(* Beginning of Notebook Content *)
Notebook[{
Cell[TextData[StyleBox["Grid physics library, www.github.com/paboyle/Grid \n\n\
Source file: lib/qcd/spin/gamma-gen/gamma-gen.nb\n\nCopyright (C) 2015\n\
Copyright (C) 2016\nCopyright (C) 2017\n\nAuthor: Antonin Portelli \
<antonin.portelli@me.com>\n\nThis program is free software; you can \
redistribute it and/or modify\nit under the terms of the GNU General Public \
License as published by\nthe Free Software Foundation; either version 2 of \
the License, or\n(at your option) any later version.\n\nThis program is \
distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; \
without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A \
PARTICULAR PURPOSE. See the\nGNU General Public License for more details.\n\n\
You should have received a copy of the GNU General Public License along\nwith \
this program; if not, write to the Free Software Foundation, Inc.,\n51 \
Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.\n\nSee the full \
license in the file \[OpenCurlyDoubleQuote]LICENSE\[CloseCurlyDoubleQuote] in \
the top level distribution directory",
Source file: lib/qcd/spin/gamma-gen/gamma-gen.nb\n\nCopyright (C) 2015-2018\n\
\nAuthor: Antonin Portelli <antonin.portelli@me.com>\n\nThis program is free \
software; you can redistribute it and/or modify\nit under the terms of the \
GNU General Public License as published by\nthe Free Software Foundation; \
either version 2 of the License, or\n(at your option) any later version.\n\n\
This program is distributed in the hope that it will be useful,\nbut WITHOUT \
ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or \
FITNESS FOR A PARTICULAR PURPOSE. See the\nGNU General Public License for \
more details.\n\nYou should have received a copy of the GNU General Public \
License along\nwith this program; if not, write to the Free Software \
Foundation, Inc.,\n51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 \
USA.\n\nSee the full license in the file \[OpenCurlyDoubleQuote]LICENSE\
\[CloseCurlyDoubleQuote] in the top level distribution directory",
Background->RGBColor[1, 1, 0.85]]], "Text",
CellChangeTimes->{{3.694192702097444*^9, 3.694192776106186*^9}, {
3.6942089129622507`*^9, 3.694208916624515*^9}},
Background->RGBColor[1, 1, 0.85]],
3.6942089129622507`*^9, 3.694208916624515*^9}, {3.743227925290299*^9,
3.743227927744316*^9}},
Background->RGBColor[
1, 1, 0.85],ExpressionUUID->"f0373ef0-8c33-4e9a-9f09-9bf718da72ef"],
Cell[CellGroupData[{
@ -50,7 +51,8 @@ Cell[BoxData[{
RowBox[{"NotebookDirectory", "[", "]"}], "]"}]}], "Input",
CellChangeTimes->{{3.69418610909842*^9, 3.694186122331771*^9}, {
3.694189694542165*^9, 3.6941897146300087`*^9}, {3.694297413625847*^9,
3.694297419003489*^9}}],
3.694297419003489*^9}},ExpressionUUID->"5c937a3e-adfd-4d7e-8fde-\
afb3337c72d9"],
Cell[BoxData["\<\"/Users/antonin/Development/Grid/lib/qcd/spin/gamma-gen\"\>"]\
, "Output",
@ -67,13 +69,245 @@ Cell[BoxData["\<\"/Users/antonin/Development/Grid/lib/qcd/spin/gamma-gen\"\>"]\
3.6942984168973837`*^9, 3.6948949168128557`*^9, 3.69489495942482*^9,
3.6949627104409447`*^9, {3.694962842273374*^9, 3.6949628507953672`*^9},
3.694963445768766*^9, 3.6949643976358423`*^9, {3.694964715764683*^9,
3.6949647261937733`*^9}, 3.6949650592533703`*^9, 3.694965165070952*^9}]
3.6949647261937733`*^9}, 3.6949650592533703`*^9, 3.694965165070952*^9,
3.74322794542139*^9},ExpressionUUID->"72817ba6-2f6a-4a4d-8212-\
6f0970f49e7c"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"FactorInteger", "[", "3152", "]"}]], "Input",
CellChangeTimes->{{3.7432347536316767`*^9, 3.7432347764739027`*^9}, {
3.743234833567358*^9,
3.743234862146022*^9}},ExpressionUUID->"d1a0fd03-85e1-43af-ba80-\
3ca4235675d8"],
Cell[BoxData[
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{"2", ",", "4"}], "}"}], ",",
RowBox[{"{",
RowBox[{"197", ",", "1"}], "}"}]}], "}"}]], "Output",
CellChangeTimes->{{3.743234836792224*^9,
3.743234862493619*^9}},ExpressionUUID->"16d3f953-4b24-4ed2-ae62-\
306dcab66ca7"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"sol", "=",
RowBox[{"Solve", "[",
RowBox[{
RowBox[{
RowBox[{
SuperscriptBox["x", "2"], "+",
SuperscriptBox["y", "2"], "+",
SuperscriptBox["z", "2"]}], "\[Equal]", "2"}], ",",
RowBox[{"{",
RowBox[{"x", ",", "y", ",", "z"}], "}"}], ",", "Integers"}],
"]"}]}]], "Input",
CellChangeTimes->{{3.743235304127721*^9,
3.7432353087929983`*^9}},ExpressionUUID->"f0fa2a5c-3d81-4d75-a447-\
50c7ca3459ff"],
Cell[BoxData[
RowBox[{"{",
RowBox[{
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]",
RowBox[{"-", "1"}]}], ",",
RowBox[{"y", "\[Rule]",
RowBox[{"-", "1"}]}], ",",
RowBox[{"z", "\[Rule]", "0"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]",
RowBox[{"-", "1"}]}], ",",
RowBox[{"y", "\[Rule]", "0"}], ",",
RowBox[{"z", "\[Rule]",
RowBox[{"-", "1"}]}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]",
RowBox[{"-", "1"}]}], ",",
RowBox[{"y", "\[Rule]", "0"}], ",",
RowBox[{"z", "\[Rule]", "1"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]",
RowBox[{"-", "1"}]}], ",",
RowBox[{"y", "\[Rule]", "1"}], ",",
RowBox[{"z", "\[Rule]", "0"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]", "0"}], ",",
RowBox[{"y", "\[Rule]",
RowBox[{"-", "1"}]}], ",",
RowBox[{"z", "\[Rule]",
RowBox[{"-", "1"}]}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]", "0"}], ",",
RowBox[{"y", "\[Rule]",
RowBox[{"-", "1"}]}], ",",
RowBox[{"z", "\[Rule]", "1"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]", "0"}], ",",
RowBox[{"y", "\[Rule]", "1"}], ",",
RowBox[{"z", "\[Rule]",
RowBox[{"-", "1"}]}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]", "0"}], ",",
RowBox[{"y", "\[Rule]", "1"}], ",",
RowBox[{"z", "\[Rule]", "1"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]", "1"}], ",",
RowBox[{"y", "\[Rule]",
RowBox[{"-", "1"}]}], ",",
RowBox[{"z", "\[Rule]", "0"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]", "1"}], ",",
RowBox[{"y", "\[Rule]", "0"}], ",",
RowBox[{"z", "\[Rule]",
RowBox[{"-", "1"}]}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]", "1"}], ",",
RowBox[{"y", "\[Rule]", "0"}], ",",
RowBox[{"z", "\[Rule]", "1"}]}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"x", "\[Rule]", "1"}], ",",
RowBox[{"y", "\[Rule]", "1"}], ",",
RowBox[{"z", "\[Rule]", "0"}]}], "}"}]}], "}"}]], "Output",
CellChangeTimes->{{3.743235305220907*^9,
3.743235309139554*^9}},ExpressionUUID->"d9825c95-24bb-442a-8734-\
4c0f47e99dfc"]
}, Open ]],
Cell[BoxData[
RowBox[{
RowBox[{"xmlElem", "[", "x_", "]"}], ":=",
RowBox[{"Print", "[",
RowBox[{"\"\<<elem>\>\"", "<>",
RowBox[{"ToString", "[",
RowBox[{"x", "[",
RowBox[{"[", "1", "]"}], "]"}], "]"}], "<>", "\"\< \>\"", "<>",
RowBox[{"ToString", "[",
RowBox[{"x", "[",
RowBox[{"[", "2", "]"}], "]"}], "]"}], "<>", "\"\< \>\"", "<>",
RowBox[{"ToString", "[",
RowBox[{"x", "[",
RowBox[{"[", "3", "]"}], "]"}], "]"}], "<>", "\"\<</elem>\>\""}],
"]"}]}]], "Input",
CellChangeTimes->{{3.74323534002862*^9, 3.743235351000985*^9}, {
3.743235403233039*^9, 3.743235413488028*^9}, {3.743235473169856*^9,
3.7432354747126904`*^9}},ExpressionUUID->"aea76313-c89e-45e8-b429-\
3f454091666d"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{
RowBox[{
RowBox[{"xmlElem", "[",
RowBox[{
RowBox[{"{",
RowBox[{"x", ",", "y", ",", "z"}], "}"}], "/.", "#"}], "]"}], "&"}], "/@",
"sol"}]], "Input",
CellChangeTimes->{{3.743235415820318*^9,
3.743235467025091*^9}},ExpressionUUID->"07da3998-8eab-40ba-8c0b-\
ac6b130cb4fb"],
Cell[CellGroupData[{
Cell[BoxData["\<\"<elem>-1 -1 0</elem>\"\>"], "Print",
CellChangeTimes->{
3.743235476581676*^9},ExpressionUUID->"c577ba06-b67a-405a-9ff5-\
2bf7dc898d03"],
Cell[BoxData["\<\"<elem>-1 0 -1</elem>\"\>"], "Print",
CellChangeTimes->{
3.743235476588011*^9},ExpressionUUID->"d041aa36-0cea-457c-9d4b-\
1fe9be66e2ab"],
Cell[BoxData["\<\"<elem>-1 0 1</elem>\"\>"], "Print",
CellChangeTimes->{
3.743235476596887*^9},ExpressionUUID->"bf141b55-86b2-4430-a994-\
5c03d5a19441"],
Cell[BoxData["\<\"<elem>-1 1 0</elem>\"\>"], "Print",
CellChangeTimes->{
3.743235476605785*^9},ExpressionUUID->"4968a660-4ecf-4b66-9071-\
8bd798c18d21"],
Cell[BoxData["\<\"<elem>0 -1 -1</elem>\"\>"], "Print",
CellChangeTimes->{
3.743235476613523*^9},ExpressionUUID->"4e22d943-2680-416b-a1d7-\
a16ca20b781f"],
Cell[BoxData["\<\"<elem>0 -1 1</elem>\"\>"], "Print",
CellChangeTimes->{
3.7432354766218576`*^9},ExpressionUUID->"6dd38385-08b3-4dd9-932f-\
98a00c6db1b2"],
Cell[BoxData["\<\"<elem>0 1 -1</elem>\"\>"], "Print",
CellChangeTimes->{
3.743235476629427*^9},ExpressionUUID->"ef3baad3-91d1-4735-9a22-\
53495a624c15"],
Cell[BoxData["\<\"<elem>0 1 1</elem>\"\>"], "Print",
CellChangeTimes->{
3.743235476638257*^9},ExpressionUUID->"413fbb68-5017-4272-a62a-\
fa234e6daaea"],
Cell[BoxData["\<\"<elem>1 -1 0</elem>\"\>"], "Print",
CellChangeTimes->{
3.743235476646203*^9},ExpressionUUID->"3a832a60-ae00-414b-a9ac-\
f5e86e67e917"],
Cell[BoxData["\<\"<elem>1 0 -1</elem>\"\>"], "Print",
CellChangeTimes->{
3.743235476653907*^9},ExpressionUUID->"bfc79ef6-f6c7-4f1e-88e8-\
005ac314be9c"],
Cell[BoxData["\<\"<elem>1 0 1</elem>\"\>"], "Print",
CellChangeTimes->{
3.743235476662575*^9},ExpressionUUID->"0f892891-f885-489c-9925-\
ddef4d698410"],
Cell[BoxData["\<\"<elem>1 1 0</elem>\"\>"], "Print",
CellChangeTimes->{
3.7432354766702337`*^9},ExpressionUUID->"2906f190-e673-4f33-9c34-\
e8e56efe7a27"]
}, Open ]],
Cell[BoxData[
RowBox[{"{",
RowBox[{
"Null", ",", "Null", ",", "Null", ",", "Null", ",", "Null", ",", "Null",
",", "Null", ",", "Null", ",", "Null", ",", "Null", ",", "Null", ",",
"Null"}], "}"}]], "Output",
CellChangeTimes->{
3.7432354246225967`*^9, {3.7432354674878073`*^9,
3.743235476678007*^9}},ExpressionUUID->"500ca3c1-88d8-46e5-a1a1-\
86a7878e5638"]
}, Open ]],
Cell[CellGroupData[{
Cell["Clifford algebra generation", "Section",
CellChangeTimes->{{3.6942089434583883`*^9, 3.694208978559093*^9}}],
CellChangeTimes->{{3.6942089434583883`*^9,
3.694208978559093*^9}},ExpressionUUID->"a5b064b3-3011-4922-8559-\
ead857cad102"],
Cell[BoxData[{
RowBox[{
@ -89,11 +323,15 @@ Cell[BoxData[{
RowBox[{"a", ".", "b"}], "+",
RowBox[{"b", ".", "a"}]}]}]}], "Input",
CellChangeTimes->{{3.694184330267939*^9, 3.694184337479828*^9}, {
3.694184821238667*^9, 3.6941848260602217`*^9}}],
3.694184821238667*^9,
3.6941848260602217`*^9}},ExpressionUUID->"aa28f02b-31e1-4df2-9b5d-\
482177464b59"],
Cell["Definition of the matrix representation of the algebra:", "Text",
CellChangeTimes->{{3.6942090405172586`*^9, 3.694209073962101*^9}, {
3.6942974330697393`*^9, 3.694297433821431*^9}}],
3.6942974330697393`*^9,
3.694297433821431*^9}},ExpressionUUID->"c8896b88-f1db-4ce4-b7a6-\
0c9838bdb8f1"],
Cell[BoxData[{
RowBox[{
@ -263,10 +501,190 @@ Cell[BoxData[{
3.694185044355978*^9, 3.694185099415689*^9}, {3.694185502749824*^9,
3.694185675128971*^9}, {3.694185728773429*^9, 3.694185729056695*^9},
3.694185780274218*^9, 3.6941858224264593`*^9, {3.694185941282981*^9,
3.694185950262871*^9}}],
3.694185950262871*^9}},ExpressionUUID->"52a96ff6-047e-4043-86d0-\
e303866e5f8e"],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"Simplify", "[",
RowBox[{
RowBox[{
RowBox[{"Conjugate", "[",
RowBox[{"{",
RowBox[{"w0", ",", "w1", ",", "w2", ",", "w3"}], "}"}], "]"}], ".",
RowBox[{"(",
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"a0", " ",
RowBox[{"mat", "[", "gx", "]"}]}], "+",
RowBox[{"a1", " ",
RowBox[{"mat", "[", "gy", "]"}]}], "+",
RowBox[{"a2", " ",
RowBox[{"mat", "[", "gz", "]"}]}], "+",
RowBox[{"a3", " ",
RowBox[{"mat", "[", "gt", "]"}]}]}], ")"}], "/.",
RowBox[{"{",
RowBox[{
RowBox[{"a0", "\[Rule]",
RowBox[{
FractionBox["1",
RowBox[{"2", "\[ImaginaryI]"}]],
RowBox[{"(",
RowBox[{"b0", "-",
RowBox[{"Conjugate", "[", "b0", "]"}]}], ")"}]}]}], ",",
RowBox[{"a1", "\[Rule]",
RowBox[{
FractionBox["1", "2"],
RowBox[{"(",
RowBox[{"b0", "+",
RowBox[{"Conjugate", "[", "b0", "]"}]}], ")"}]}]}], ",",
RowBox[{"a2", "\[Rule]",
RowBox[{
FractionBox["1",
RowBox[{"2", "\[ImaginaryI]"}]],
RowBox[{"(",
RowBox[{"b1", "-",
RowBox[{"Conjugate", "[", "b1", "]"}]}], ")"}]}]}], ",",
RowBox[{"a3", "\[Rule]",
RowBox[{
FractionBox["1", "2"],
RowBox[{"(",
RowBox[{"b1", "+",
RowBox[{"Conjugate", "[", "b1", "]"}]}], ")"}]}]}]}], "}"}]}],
")"}], ".",
RowBox[{"{",
RowBox[{"v0", ",", "v1", ",", "v2", ",", "v3"}], "}"}]}], "//",
"MatrixForm"}], "]"}]], "Input",
CellChangeTimes->{{3.7432279607971277`*^9, 3.743228006752531*^9}, {
3.7432280803839817`*^9, 3.743228145366938*^9}, 3.743228258639215*^9, {
3.743228553975891*^9, 3.743228599277994*^9}, {3.743228634543832*^9,
3.743228743174139*^9}, {3.743228787080687*^9, 3.7432287981829977`*^9}, {
3.743228839944178*^9, 3.743228849469906*^9}, {3.743340578292872*^9,
3.743340582859209*^9}, {3.743342105414857*^9,
3.7433421141838713`*^9}},ExpressionUUID->"8b0f4955-2c3f-418c-9226-\
9be8f87621e8"],
Cell[BoxData[
TagBox[
RowBox[{
RowBox[{"b1", " ", "v2", " ",
RowBox[{"Conjugate", "[", "w0", "]"}]}], "-",
RowBox[{"v3", " ",
RowBox[{"Conjugate", "[", "b0", "]"}], " ",
RowBox[{"Conjugate", "[", "w0", "]"}]}], "+",
RowBox[{"b0", " ", "v2", " ",
RowBox[{"Conjugate", "[", "w1", "]"}]}], "+",
RowBox[{"v3", " ",
RowBox[{"Conjugate", "[", "b1", "]"}], " ",
RowBox[{"Conjugate", "[", "w1", "]"}]}], "+",
RowBox[{"v1", " ",
RowBox[{"Conjugate", "[", "b0", "]"}], " ",
RowBox[{"Conjugate", "[", "w2", "]"}]}], "+",
RowBox[{"v0", " ",
RowBox[{"Conjugate", "[", "b1", "]"}], " ",
RowBox[{"Conjugate", "[", "w2", "]"}]}], "-",
RowBox[{"b0", " ", "v0", " ",
RowBox[{"Conjugate", "[", "w3", "]"}]}], "+",
RowBox[{"b1", " ", "v1", " ",
RowBox[{"Conjugate", "[", "w3", "]"}]}]}],
Function[BoxForm`e$,
MatrixForm[BoxForm`e$]]]], "Output",
CellChangeTimes->{
3.743343313742465*^9},ExpressionUUID->"edd0619f-6f12-4070-a1d2-\
6b547877fadc"]
}, Open ]],
Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"Simplify", "[",
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"a0", " ",
RowBox[{"mat", "[", "gx", "]"}]}], "+",
RowBox[{"a1", " ",
RowBox[{"mat", "[", "gy", "]"}]}], "+",
RowBox[{"a2", " ",
RowBox[{"mat", "[", "gz", "]"}]}], "+",
RowBox[{"a3", " ",
RowBox[{"mat", "[", "gt", "]"}]}]}], ")"}], "/.",
RowBox[{"{",
RowBox[{
RowBox[{"a0", "\[Rule]",
RowBox[{
FractionBox["1",
RowBox[{"2", "\[ImaginaryI]"}]],
RowBox[{"(",
RowBox[{"b0", "-",
RowBox[{"Conjugate", "[", "b0", "]"}]}], ")"}]}]}], ",",
RowBox[{"a1", "\[Rule]",
RowBox[{
FractionBox["1", "2"],
RowBox[{"(",
RowBox[{"b0", "+",
RowBox[{"Conjugate", "[", "b0", "]"}]}], ")"}]}]}], ",",
RowBox[{"a2", "\[Rule]",
RowBox[{
FractionBox["1",
RowBox[{"2", "\[ImaginaryI]"}]],
RowBox[{"(",
RowBox[{"b1", "-",
RowBox[{"Conjugate", "[", "b1", "]"}]}], ")"}]}]}], ",",
RowBox[{"a3", "\[Rule]",
RowBox[{
FractionBox["1", "2"],
RowBox[{"(",
RowBox[{"b1", "+",
RowBox[{"Conjugate", "[", "b1", "]"}]}], ")"}]}]}]}], "}"}]}],
")"}], "//", "MatrixForm"}], "]"}]], "Input",
CellChangeTimes->{{3.7433421933181667`*^9,
3.743342200786813*^9}},ExpressionUUID->"fb45123c-c610-4075-99b0-\
7cd71c728ae7"],
Cell[BoxData[
TagBox[
RowBox[{"(", "\[NoBreak]", GridBox[{
{"0", "0", "b1",
RowBox[{"-",
RowBox[{"Conjugate", "[", "b0", "]"}]}]},
{"0", "0", "b0",
RowBox[{"Conjugate", "[", "b1", "]"}]},
{
RowBox[{"Conjugate", "[", "b1", "]"}],
RowBox[{"Conjugate", "[", "b0", "]"}], "0", "0"},
{
RowBox[{"-", "b0"}], "b1", "0", "0"}
},
GridBoxAlignment->{
"Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}},
"RowsIndexed" -> {}},
GridBoxSpacings->{"Columns" -> {
Offset[0.27999999999999997`], {
Offset[0.7]},
Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
Offset[0.2], {
Offset[0.4]},
Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}],
Function[BoxForm`e$,
MatrixForm[BoxForm`e$]]]], "Output",
CellChangeTimes->{{3.743228092720749*^9, 3.743228103044189*^9},
3.743228145808625*^9, 3.743228259025098*^9, 3.743228600081357*^9, {
3.743228667370229*^9, 3.743228688052019*^9}, {3.743228718056776*^9,
3.743228743610117*^9}, 3.743228799225634*^9, 3.7432288499987583`*^9, {
3.743340583491489*^9, 3.7433405956062613`*^9}, 3.743342123072051*^9,
3.743342201226069*^9},ExpressionUUID->"2ae14565-b412-4dc0-9dce-\
bd6c1ba5ef27"]
}, Open ]],
Cell["Generation of the abstract algebra:", "Text",
CellChangeTimes->{{3.6942090658330803`*^9, 3.694209076132119*^9}}],
CellChangeTimes->{{3.6942090658330803`*^9,
3.694209076132119*^9}},ExpressionUUID->"af247231-a58d-417b-987a-\
26908dafffdb"],
Cell[BoxData[{
RowBox[{"Do", "[",
@ -331,10 +749,14 @@ Cell[BoxData[{
CellChangeTimes->{{3.6941860329437103`*^9, 3.6941860343133917`*^9}, {
3.694186163571176*^9, 3.6941862016761427`*^9}, {3.69418700219066*^9,
3.6941870425469627`*^9}, {3.694297326197534*^9, 3.6942974062629423`*^9}, {
3.694297634175386*^9, 3.6942976496897383`*^9}}],
3.694297634175386*^9,
3.6942976496897383`*^9}},ExpressionUUID->"7c44cadd-e488-4f51-87d8-\
c64eef11f40c"],
Cell["Check that we can reconstruct the Euclidean metric:", "Text",
CellChangeTimes->{{3.694209080190936*^9, 3.694209096585559*^9}}],
CellChangeTimes->{{3.694209080190936*^9,
3.694209096585559*^9}},ExpressionUUID->"856f1746-1107-4509-a5ce-\
ac9c7f56cdb1"],
Cell[CellGroupData[{
@ -353,7 +775,8 @@ Cell[BoxData[
RowBox[{"i2", ",",
RowBox[{"{",
RowBox[{"gx", ",", "gy", ",", "gz", ",", "gt"}], "}"}]}], "}"}]}],
"]"}], "//", "MatrixForm"}]], "Input"],
"]"}], "//", "MatrixForm"}]], "Input",ExpressionUUID->"8674484a-8543-434f-\
b177-3b27f9353212"],
Cell[BoxData[
TagBox[
@ -389,11 +812,14 @@ Cell[BoxData[
3.694894917294997*^9, 3.6948949597758904`*^9, 3.6949627108824663`*^9,
3.694962851174364*^9, 3.6949634461305313`*^9, 3.694964397971891*^9, {
3.6949647161810303`*^9, 3.6949647264866943`*^9}, 3.6949650598407507`*^9,
3.694965165456048*^9}]
3.694965165456048*^9},ExpressionUUID->"c3b3f84d-91f6-41af-af6b-\
a394ca020511"]
}, Open ]],
Cell["Full multiplication table:", "Text",
CellChangeTimes->{{3.694209113187169*^9, 3.6942091210767593`*^9}}],
CellChangeTimes->{{3.694209113187169*^9,
3.6942091210767593`*^9}},ExpressionUUID->"518a3040-54b1-4d43-8947-\
5c7d12efa94d"],
Cell[CellGroupData[{
@ -409,7 +835,9 @@ Cell[BoxData[
"MatrixForm"}]], "Input",
CellChangeTimes->{{3.6941862426584797`*^9, 3.694186256858178*^9}, {
3.694186605271886*^9, 3.694186617894228*^9}, {3.694186972131384*^9,
3.69418697419895*^9}, {3.694192885918524*^9, 3.694192888888296*^9}}],
3.69418697419895*^9}, {3.694192885918524*^9,
3.694192888888296*^9}},ExpressionUUID->"61a2e974-2b39-4a07-8043-\
2dfd39a70569"],
Cell[BoxData[
TagBox[
@ -577,7 +1005,8 @@ Cell[BoxData[
3.694894917375866*^9, 3.694894959839177*^9, 3.694962710968522*^9,
3.6949628512863817`*^9, 3.694963446206002*^9, 3.694964398046623*^9, {
3.6949647162797327`*^9, 3.694964726526013*^9}, 3.6949650599380713`*^9,
3.694965165531089*^9}]
3.694965165531089*^9},ExpressionUUID->"73480ac0-3043-4077-80cc-\
b952a94c822a"]
}, Open ]]
}, Open ]],
@ -585,11 +1014,15 @@ Cell[CellGroupData[{
Cell["Header file Gamma.h generation", "Section",
CellChangeTimes->{{3.694208986784461*^9, 3.6942090005062523`*^9}, {
3.694965123390101*^9, 3.694965123950851*^9}}],
3.694965123390101*^9,
3.694965123950851*^9}},ExpressionUUID->"4e833cd6-9f0e-4aa3-a873-\
3d579e874720"],
Cell["File skeleton:", "Text",
CellFrame->{{0, 0}, {0, 0.5}},
CellChangeTimes->{{3.694209131604498*^9, 3.694209133792495*^9}}],
CellChangeTimes->{{3.694209131604498*^9,
3.694209133792495*^9}},ExpressionUUID->"6d27fc04-3a60-4e03-8df7-\
3dd3aeee35b4"],
Cell[BoxData[
RowBox[{
@ -643,12 +1076,14 @@ Algebra g;\n public:\n \
3.694963343265525*^9}, {3.694964367519239*^9, 3.69496439461199*^9}, {
3.694964462130747*^9, 3.6949644669959793`*^9}, 3.694964509762739*^9, {
3.694964705045744*^9, 3.694964723148797*^9}, {3.694964992988984*^9,
3.6949649968504257`*^9}}],
3.6949649968504257`*^9}},ExpressionUUID->"c7103bd6-b539-4495-b98c-\
d4d12ac6cad8"],
Cell["Gamma enum generation:", "Text",
CellFrame->{{0, 0}, {0, 0.5}},
CellChangeTimes->{{3.694209168488991*^9, 3.6942091715073423`*^9},
3.694209215969149*^9}],
3.694209215969149*^9},ExpressionUUID->"0625593d-290f-4a39-9d80-\
8e2c6fdbc94e"],
Cell[BoxData[{
RowBox[{
@ -798,7 +1233,9 @@ Cell[BoxData[{
CellChangeTimes->{{3.69418665896658*^9, 3.6941867305497723`*^9}, {
3.694186782865391*^9, 3.694186840513199*^9}, {3.694186889568404*^9,
3.694186968177154*^9}, {3.6941870767730503`*^9, 3.69418716300373*^9}, {
3.694213209628356*^9, 3.6942132459364033`*^9}}],
3.694213209628356*^9,
3.6942132459364033`*^9}},ExpressionUUID->"1ad4904c-352f-4b1d-a7c7-\
91e1b0549409"],
Cell[BoxData[
RowBox[{
@ -855,11 +1292,14 @@ Cell[BoxData[
3.694206752732321*^9, 3.694206753090602*^9}, {3.6942071072527027`*^9,
3.694207214318696*^9}, {3.694211442308366*^9, 3.694211490100521*^9}, {
3.6942115668101377`*^9, 3.694211571070611*^9}, {3.6942133172135267`*^9,
3.694213325783718*^9}}],
3.694213325783718*^9}},ExpressionUUID->"0221674f-9b63-4662-91bc-\
ccc8c6ae9589"],
Cell["Multiplication functions generation:", "Text",
CellFrame->{{0, 0}, {0, 0.5}},
CellChangeTimes->{{3.69420919761381*^9, 3.694209206431526*^9}}],
CellChangeTimes->{{3.69420919761381*^9,
3.694209206431526*^9}},ExpressionUUID->"d2d2257a-487b-416f-bc40-\
abd4482225f7"],
Cell[BoxData[{
RowBox[{
@ -1257,7 +1697,8 @@ iMatrix<vtype, Ns>>::type\n{\n iMatrix<vtype, Ns> ret;\n\n switch (G.g) \n \
3.694214921431739*^9, 3.694214951876449*^9}, {3.6942151046483088`*^9,
3.694215118335286*^9}, {3.6942151634191313`*^9, 3.694215188429871*^9}, {
3.6942940839999113`*^9, 3.694294090686364*^9}, {3.69489488486012*^9,
3.6948948916252403`*^9}}],
3.6948948916252403`*^9}},ExpressionUUID->"daea68a9-c9e8-46ab-9bc8-\
5186e2cf477c"],
Cell["Header file generation:", "Text",
CellFrame->{{0, 0}, {0, 0.5}},
@ -1425,9 +1866,9 @@ Cell[BoxData[""], "Input",
}, Open ]]
},
WindowSize->{1246, 1005},
WindowMargins->{{64, Automatic}, {Automatic, 0}},
FrontEndVersion->"11.0 for Mac OS X x86 (32-bit, 64-bit Kernel) (September \
21, 2016)",
WindowMargins->{{282, Automatic}, {Automatic, 14}},
FrontEndVersion->"11.2 for Mac OS X x86 (32-bit, 64-bit Kernel) (September \
10, 2017)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)
@ -1441,46 +1882,81 @@ CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[558, 20, 1295, 18, 502, "Text"],
Cell[558, 20, 1365, 19, 557, "Text",ExpressionUUID->"f0373ef0-8c33-4e9a-9f09-9bf718da72ef"],
Cell[CellGroupData[{
Cell[1878, 42, 513, 10, 75, "Input"],
Cell[2394, 54, 1090, 15, 32, "Output"]
Cell[1948, 43, 570, 11, 73, "Input",ExpressionUUID->"5c937a3e-adfd-4d7e-8fde-afb3337c72d9"],
Cell[2521, 56, 1172, 17, 34, "Output",ExpressionUUID->"72817ba6-2f6a-4a4d-8212-6f0970f49e7c"]
}, Open ]],
Cell[CellGroupData[{
Cell[3521, 74, 114, 1, 64, "Section"],
Cell[3638, 77, 475, 14, 54, "Input"],
Cell[4116, 93, 190, 2, 30, "Text"],
Cell[4309, 97, 5454, 168, 427, "Input"],
Cell[9766, 267, 119, 1, 30, "Text"],
Cell[9888, 270, 2115, 63, 96, "Input"],
Cell[12006, 335, 133, 1, 30, "Text"],
Cell[CellGroupData[{
Cell[12164, 340, 479, 15, 32, "Input"],
Cell[12646, 357, 1648, 34, 96, "Output"]
Cell[3730, 78, 248, 5, 30, "Input",ExpressionUUID->"d1a0fd03-85e1-43af-ba80-3ca4235675d8"],
Cell[3981, 85, 299, 9, 34, "Output",ExpressionUUID->"16d3f953-4b24-4ed2-ae62-306dcab66ca7"]
}, Open ]],
Cell[14309, 394, 110, 1, 30, "Text"],
Cell[CellGroupData[{
Cell[14444, 399, 476, 12, 32, "Input"],
Cell[14923, 413, 6697, 166, 312, "Output"]
Cell[4317, 99, 469, 14, 33, "Input",ExpressionUUID->"f0fa2a5c-3d81-4d75-a447-50c7ca3459ff"],
Cell[4789, 115, 2423, 77, 56, "Output",ExpressionUUID->"d9825c95-24bb-442a-8734-4c0f47e99dfc"]
}, Open ]],
Cell[7227, 195, 751, 18, 30, "Input",ExpressionUUID->"aea76313-c89e-45e8-b429-3f454091666d"],
Cell[CellGroupData[{
Cell[8003, 217, 323, 10, 30, "Input",ExpressionUUID->"07da3998-8eab-40ba-8c0b-ac6b130cb4fb"],
Cell[CellGroupData[{
Cell[8351, 231, 156, 3, 24, "Print",ExpressionUUID->"c577ba06-b67a-405a-9ff5-2bf7dc898d03"],
Cell[8510, 236, 156, 3, 24, "Print",ExpressionUUID->"d041aa36-0cea-457c-9d4b-1fe9be66e2ab"],
Cell[8669, 241, 155, 3, 24, "Print",ExpressionUUID->"bf141b55-86b2-4430-a994-5c03d5a19441"],
Cell[8827, 246, 155, 3, 24, "Print",ExpressionUUID->"4968a660-4ecf-4b66-9071-8bd798c18d21"],
Cell[8985, 251, 156, 3, 24, "Print",ExpressionUUID->"4e22d943-2680-416b-a1d7-a16ca20b781f"],
Cell[9144, 256, 157, 3, 24, "Print",ExpressionUUID->"6dd38385-08b3-4dd9-932f-98a00c6db1b2"],
Cell[9304, 261, 155, 3, 24, "Print",ExpressionUUID->"ef3baad3-91d1-4735-9a22-53495a624c15"],
Cell[9462, 266, 154, 3, 24, "Print",ExpressionUUID->"413fbb68-5017-4272-a62a-fa234e6daaea"],
Cell[9619, 271, 155, 3, 24, "Print",ExpressionUUID->"3a832a60-ae00-414b-a9ac-f5e86e67e917"],
Cell[9777, 276, 155, 3, 24, "Print",ExpressionUUID->"bfc79ef6-f6c7-4f1e-88e8-005ac314be9c"],
Cell[9935, 281, 154, 3, 24, "Print",ExpressionUUID->"0f892891-f885-489c-9925-ddef4d698410"],
Cell[10092, 286, 156, 3, 24, "Print",ExpressionUUID->"2906f190-e673-4f33-9c34-e8e56efe7a27"]
}, Open ]],
Cell[10263, 292, 376, 9, 34, "Output",ExpressionUUID->"500ca3c1-88d8-46e5-a1a1-86a7878e5638"]
}, Open ]],
Cell[CellGroupData[{
Cell[10676, 306, 174, 3, 67, "Section",ExpressionUUID->"a5b064b3-3011-4922-8559-ead857cad102"],
Cell[10853, 311, 535, 16, 52, "Input",ExpressionUUID->"aa28f02b-31e1-4df2-9b5d-482177464b59"],
Cell[11391, 329, 250, 4, 35, "Text",ExpressionUUID->"c8896b88-f1db-4ce4-b7a6-0c9838bdb8f1"],
Cell[11644, 335, 5511, 169, 425, "Input",ExpressionUUID->"52a96ff6-047e-4043-86d0-e303866e5f8e"],
Cell[CellGroupData[{
Cell[17180, 508, 2183, 58, 135, "Input",ExpressionUUID->"8b0f4955-2c3f-418c-9226-9be8f87621e8"],
Cell[19366, 568, 1027, 27, 67, "Output",ExpressionUUID->"edd0619f-6f12-4070-a1d2-6b547877fadc"]
}, Open ]],
Cell[CellGroupData[{
Cell[20430, 600, 1543, 46, 114, "Input",ExpressionUUID->"fb45123c-c610-4075-99b0-7cd71c728ae7"],
Cell[21976, 648, 1311, 32, 98, "Output",ExpressionUUID->"2ae14565-b412-4dc0-9dce-bd6c1ba5ef27"]
}, Open ]],
Cell[23302, 683, 179, 3, 35, "Text",ExpressionUUID->"af247231-a58d-417b-987a-26908dafffdb"],
Cell[23484, 688, 2175, 65, 94, "Input",ExpressionUUID->"7c44cadd-e488-4f51-87d8-c64eef11f40c"],
Cell[25662, 755, 193, 3, 35, "Text",ExpressionUUID->"856f1746-1107-4509-a5ce-ac9c7f56cdb1"],
Cell[CellGroupData[{
Cell[25880, 762, 536, 16, 30, "Input",ExpressionUUID->"8674484a-8543-434f-b177-3b27f9353212"],
Cell[26419, 780, 1705, 35, 87, "Output",ExpressionUUID->"c3b3f84d-91f6-41af-af6b-a394ca020511"]
}, Open ]],
Cell[28139, 818, 170, 3, 35, "Text",ExpressionUUID->"518a3040-54b1-4d43-8947-5c7d12efa94d"],
Cell[CellGroupData[{
Cell[28334, 825, 536, 14, 30, "Input",ExpressionUUID->"61a2e974-2b39-4a07-8043-2dfd39a70569"],
Cell[28873, 841, 6754, 167, 303, "Output",ExpressionUUID->"73480ac0-3043-4077-80cc-b952a94c822a"]
}, Open ]]
}, Open ]],
Cell[CellGroupData[{
Cell[21669, 585, 166, 2, 64, "Section"],
Cell[21838, 589, 128, 2, 38, "Text"],
Cell[21969, 593, 2923, 52, 705, "Input"],
Cell[24895, 647, 164, 3, 38, "Text"],
Cell[25062, 652, 4876, 148, 684, "Input"],
Cell[29941, 802, 2588, 55, 201, "Input"],
Cell[32532, 859, 149, 2, 38, "Text"],
Cell[32684, 863, 15249, 396, 2133, "Input"],
Cell[47936, 1261, 137, 2, 38, "Text"],
Cell[48076, 1265, 521, 12, 32, "Input"]
Cell[35676, 1014, 226, 4, 67, "Section",ExpressionUUID->"4e833cd6-9f0e-4aa3-a873-3d579e874720"],
Cell[35905, 1020, 188, 4, 44, "Text",ExpressionUUID->"6d27fc04-3a60-4e03-8df7-3dd3aeee35b4"],
Cell[36096, 1026, 2980, 53, 703, "Input",ExpressionUUID->"c7103bd6-b539-4495-b98c-d4d12ac6cad8"],
Cell[39079, 1081, 221, 4, 44, "Text",ExpressionUUID->"0625593d-290f-4a39-9d80-8e2c6fdbc94e"],
Cell[39303, 1087, 4936, 150, 682, "Input",ExpressionUUID->"1ad4904c-352f-4b1d-a7c7-91e1b0549409"],
Cell[44242, 1239, 2645, 56, 199, "Input",ExpressionUUID->"0221674f-9b63-4662-91bc-ccc8c6ae9589"],
Cell[46890, 1297, 209, 4, 44, "Text",ExpressionUUID->"d2d2257a-487b-416f-bc40-abd4482225f7"],
Cell[47102, 1303, 15306, 397, 2131, "Input",ExpressionUUID->"daea68a9-c9e8-46ab-9bc8-5186e2cf477c"],
Cell[62411, 1702, 137, 2, 44, "Text",ExpressionUUID->"76ba9d5a-7ee3-4888-be7e-6377003275e8"],
Cell[62551, 1706, 521, 12, 30, "Input",ExpressionUUID->"4ec61f4c-3fd3-49ea-b5ef-6f7f04a16b34"]
}, Open ]],
Cell[CellGroupData[{
Cell[48634, 1282, 167, 2, 64, "Section"],
Cell[48804, 1286, 5693, 122, 831, "Input"],
Cell[54500, 1410, 448, 10, 32, "Input"],
Cell[54951, 1422, 94, 1, 32, "Input"]
Cell[63109, 1723, 167, 2, 67, "Section",ExpressionUUID->"a4458b3a-09b5-4e36-a1fc-781d6702b2dc"],
Cell[63279, 1727, 5693, 122, 829, "Input",ExpressionUUID->"b1b309f8-a3a7-4081-a781-c3845e3cd372"],
Cell[68975, 1851, 448, 10, 30, "Input",ExpressionUUID->"cba42949-b0f2-42ce-aebd-ffadfd83ef88"],
Cell[69426, 1863, 94, 1, 30, "Input",ExpressionUUID->"6175b72c-af9f-43c2-b4ca-bd84c48a456d"]
}, Open ]]
}
]