(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 8.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 157, 7] NotebookDataLength[ 136836, 2847] NotebookOptionsPosition[ 136378, 2829] NotebookOutlinePosition[ 136720, 2844] CellTagsIndexPosition[ 136677, 2841] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[TextData[{ StyleBox["myBZ[] Brillouin Zone Plotter", FontWeight->"Bold"], " and ", StyleBox["myRed2Ext[]", FontWeight->"Bold"], " scripts are written by Csaba G\[EAcute]za P\[EAcute]terfalvi.\nSent to the \ Wolfram Library Archive on 18th June 2014.\nhttp://peterfalvi.web.elte.hu" }], "Text", CellFrame->{{0, 0}, {2, 0}}, CellChangeTimes->{{3.612064826639984*^9, 3.6120648503832264`*^9}, { 3.612064883503084*^9, 3.612064984457663*^9}, {3.6120650222478247`*^9, 3.6120650668127737`*^9}, {3.612065673542572*^9, 3.612065678716428*^9}, { 3.6120691799725227`*^9, 3.6120692292982807`*^9}, {3.6120709743627768`*^9, 3.6120710009766855`*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"Options", "[", "myBZ", "]"}], "=", RowBox[{"{", RowBox[{ RowBox[{"origin", "\[Rule]", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], ",", RowBox[{"join", "\[Rule]", RowBox[{"{", "}"}]}], ",", RowBox[{"print", "\[Rule]", "True"}], ",", RowBox[{"kPoints", "\[Rule]", "True"}], ",", RowBox[{"opacity", "\[Rule]", RowBox[{"-", "1"}]}], ",", RowBox[{"resolution", "\[Rule]", "0.01"}], ",", RowBox[{"hight", "\[Rule]", "350"}], ",", RowBox[{"colors", "\[Rule]", "\"\\""}], ",", RowBox[{"normLimit", "\[Rule]", RowBox[{"10", "$MachineEpsilon"}]}]}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"myBZ", "[", RowBox[{"g_", ",", "csn_", ",", "csx_", ",", "csl_", ",", RowBox[{"OptionsPattern", "[", "]"}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"or", "=", RowBox[{"OptionValue", "[", "origin", "]"}]}], ",", RowBox[{"join", "=", RowBox[{"OptionValue", "[", "join", "]"}]}], ",", RowBox[{"pr", "=", RowBox[{"OptionValue", "[", "print", "]"}]}], ",", RowBox[{"kpp", "=", RowBox[{"OptionValue", "[", "kPoints", "]"}]}], ",", "\[IndentingNewLine]", RowBox[{"op", "=", RowBox[{"OptionValue", "[", "opacity", "]"}]}], ",", RowBox[{"res", "=", RowBox[{"OptionValue", "[", "resolution", "]"}]}], ",", RowBox[{"hght", "=", RowBox[{"OptionValue", "[", "hight", "]"}]}], ",", RowBox[{"clrs", "=", RowBox[{"OptionValue", "[", "colors", "]"}]}], ",", RowBox[{"nl", "=", RowBox[{"OptionValue", "[", "normLimit", "]"}]}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{ "nl", " ", "is", " ", "supposed", " ", "to", " ", "be", " ", "smaller", " ", "than", " ", "any", " ", "number", " ", "and", " ", "distance", " ", "that", " ", "matters", " ", "in", " ", "this", " ", "calculation", " ", RowBox[{"(", RowBox[{"<<", "res"}], ")"}]}], ",", " ", RowBox[{ "but", " ", "large", " ", "compared", " ", "to", " ", "any", " ", "possible", " ", "numerical", " ", "inaccuracy", " ", "so", " ", "that", " ", "these", " ", "can", " ", "be", " ", RowBox[{"avoided", ".", "\[IndentingNewLine]", "It"}], " ", "is", " ", "used", " ", "at", " ", "various", " ", "places", " ", "independently"}], ",", " ", RowBox[{ "and", " ", "its", " ", "value", " ", "could", " ", "be", " ", "adjusted", " ", "separately", " ", "too"}], ",", " ", RowBox[{"if", " ", RowBox[{"needed", "."}]}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"mn", "=", RowBox[{"ToString", "[", RowBox[{"$ModuleNumber", "-", "1"}], "]"}]}], ",", RowBox[{"csn0", "=", RowBox[{"Normalize", "[", "csn", "]"}]}], ",", "csx0", ",", "csy0", ",", "cshh", ",", "startY", ",", "org", ",", "gx", ",", "gPoints", ",", RowBox[{"kPoints", "=", RowBox[{"{", "}"}]}], ",", "gLines", ",", "bzi", ",", "bzid", ",", RowBox[{"bzio", "=", "0"}], ",", RowBox[{"bzios", "=", "0"}], ",", "bzix", ",", "bzin", ",", "xy", ",", "dir", ",", "bx", ",", "iy", ",", "bzFig", ",", "figure", ",", "clrBar", ",", "string"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"csx0", "=", RowBox[{"Normalize", "[", RowBox[{"csx", "-", RowBox[{"csn0", RowBox[{"(", RowBox[{"csn0", ".", "csx"}], ")"}]}]}], "]"}]}], ";", RowBox[{"csy0", "=", RowBox[{"csn0", "\[Cross]", "csx0"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"Unit", " ", "vectors", " ", "for", " ", "the", " ", "xy"}], "-", RowBox[{"coordinates", " ", RowBox[{"(", RowBox[{ RowBox[{"Just", " ", "in", " ", "case"}], ",", " ", RowBox[{ "csx", " ", "is", " ", "projected", " ", "to", " ", "the", " ", "plane", " ", RowBox[{"first", "."}]}]}], ")"}]}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"org", "=", RowBox[{"(", RowBox[{"or", "\[Equal]", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], ")"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{"Is", " ", "\[CapitalGamma]", " ", "the", " ", RowBox[{"origin", "?"}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"gx", "=", RowBox[{"Ceiling", "[", RowBox[{"2", RowBox[{"(", RowBox[{ RowBox[{"Norm", "[", "csl", "]"}], "+", RowBox[{"Norm", "[", "or", "]"}]}], ")"}], RowBox[{ RowBox[{"Max", "[", RowBox[{ RowBox[{ RowBox[{"Norm", "[", RowBox[{ RowBox[{"g", "\[LeftDoubleBracket]", RowBox[{ "#", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "\[RightDoubleBracket]"}], "\[Cross]", RowBox[{"g", "\[LeftDoubleBracket]", RowBox[{ "#", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "\[RightDoubleBracket]"}]}], "]"}], "&"}], "/@", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", "3"}], "}"}]}], "}"}]}], "]"}], "/", RowBox[{"Det", "[", "g", "]"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{"Here", ",", " ", RowBox[{ "we", " ", "determine", " ", "how", " ", "many", " ", "gPoints", " ", "do", " ", "we", " ", "need", " ", "to", " ", "find", " ", "all", " ", "the", " ", "BZ", " ", "borders", " ", "within", " ", "the", " ", "region", " ", "around", " ", "the", " ", RowBox[{"origin", ":", " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Norm", "[", "csl", "]"}], "+", RowBox[{"Norm", "[", "or", "]"}]}], ")"}], " ", "is", " ", "the", " ", "maximum", " ", "possible", " ", "distance", " ", "of", " ", "the", " ", "furthest", " ", "separator"}]}]}], ",", " ", RowBox[{ "and", " ", "twice", " ", "this", " ", "much", " ", "is", " ", "that", " ", "of", " ", "the", " ", "furthest", " ", RowBox[{"gPoint", ".", " ", "\[IndentingNewLine]", "Let"}], " ", "us", " ", "divide", " ", "this", " ", "with", " ", "the", " ", "smallest", " ", "thickness", " ", "of", " ", "the", " ", "parallelepiped", " ", "spanned", " ", "by", " ", RowBox[{"the", " ", "'"}], RowBox[{"g", "'"}], " ", RowBox[{"vectors", ".", " ", "This"}], " ", "leads", " ", "us", " ", "to", " ", "the", " ", "maximum", " ", "surface", " ", "area", " ", "divided", " ", "by", " ", "the", " ", RowBox[{"volume", "."}]}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"gPoints", "=", RowBox[{"Flatten", "[", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"N", "[", RowBox[{"g", "\[Transpose]"}], "]"}], ".", RowBox[{"{", RowBox[{"i", ",", "j", ",", "k"}], "}"}]}], ",", RowBox[{"{", RowBox[{"i", ",", RowBox[{"-", "gx"}], ",", "gx"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", RowBox[{"-", "gx"}], ",", "gx"}], "}"}], ",", RowBox[{"{", RowBox[{"k", ",", RowBox[{"-", "gx"}], ",", "gx"}], "}"}]}], "]"}], ",", "2"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"gPoints", "=", RowBox[{"Select", "[", RowBox[{"gPoints", ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Norm", "[", "#", "]"}], "\[LessEqual]", RowBox[{"2", RowBox[{"(", RowBox[{ RowBox[{"Norm", "[", "csl", "]"}], "+", RowBox[{"Norm", "[", "or", "]"}]}], ")"}]}]}], ")"}], "&"}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{"We", " ", RowBox[{"don", "'"}], "t", " ", "need", " ", "gPoints", " ", "that", " ", "are", " ", "too", " ", "far", " ", RowBox[{"away", "."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{"kpp", ",", RowBox[{ RowBox[{"kPoints", "=", RowBox[{"Select", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"#", "-", "or"}], ")"}], "&"}], "/@", "gPoints"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Norm", "[", RowBox[{"csn0", ".", "#"}], "]"}], "<", "nl"}], ")"}], "&"}]}], "]"}]}], ";"}]}], "]"}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{ "kPoints", " ", "are", " ", "gPoints", " ", "in", " ", "The", " ", "Plane", " ", RowBox[{"(", RowBox[{"already", " ", "relative", " ", "to", " ", "the", " ", RowBox[{"origin", "."}]}], " "}]}], "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"gPoints", "=", RowBox[{"Complement", "[", RowBox[{"gPoints", ",", RowBox[{"{", RowBox[{"{", RowBox[{"0.", ",", "0.", ",", "0."}], "}"}], "}"}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"We", " ", RowBox[{"don", "'"}], "t", " ", "need", " ", "the", " ", "\[CapitalGamma]"}], "-", RowBox[{"point", " ", "here", " ", RowBox[{"either", "."}]}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{"!", "org"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{ "If", " ", "the", " ", "origin", " ", "is", " ", "not", " ", "the", " ", "\[CapitalGamma]", " ", "point"}], ",", " ", RowBox[{ RowBox[{"we", "'"}], "ll", " ", "need", " ", "bzio"}], ",", " ", RowBox[{ RowBox[{ "bzios", " ", "and", " ", "maybe", " ", "shift", " ", "some", " ", "gPoints"}], "..."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{ RowBox[{"gPoints", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Norm", "[", RowBox[{"csn0", "\[Cross]", "gp"}], "]"}], ">", "nl"}], ")"}], "&&", RowBox[{"(", RowBox[{ RowBox[{"Abs", "[", RowBox[{"gp", ".", RowBox[{"(", RowBox[{"or", "-", RowBox[{"gp", "/", "2"}]}], ")"}]}], "]"}], "<", "nl"}], ")"}]}], ",", RowBox[{"gp", "+", RowBox[{ RowBox[{"Normalize", "[", "gp", "]"}], RowBox[{"res", "/", "2"}]}]}], ",", "gp"}], "]"}], ",", RowBox[{"{", RowBox[{"gp", ",", "gPoints"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{ "The", " ", "gPoints", " ", "whose", " ", "separator", " ", "plane", " ", "contains", " ", "the", " ", "origin", " ", RowBox[{"(", RowBox[{ "but", " ", "not", " ", "The", " ", "Plain", " ", "itself"}], ")"}], " ", "are", " ", "shifted", " ", "away", " ", "from", " ", "\[CapitalGamma]", " ", "by", " ", RowBox[{"res", "/", "2"}], " ", "to", " ", "lift", " ", "the", " ", RowBox[{"degeneracy", "."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"bzio", "=", RowBox[{"Total", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"gp", ".", RowBox[{"(", RowBox[{"or", "-", RowBox[{"gp", "/", "2"}]}], ")"}]}], ">", "nl"}], ",", "1", ",", "0"}], "]"}], ",", RowBox[{"{", RowBox[{"gp", ",", "gPoints"}], "}"}]}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"The", " ", "BZ", " ", "Index", " ", "of", " ", "the", " ", RowBox[{"origin", ".", " ", "We"}], " ", "assume", " ", "that", " ", "if", " ", "The", " ", "Plane", " ", "is", " ", "also", " ", "a", " ", "BZ", " ", "border", " ", "that", " ", "will", " ", "not", " ", "appear", " ", "in", " ", "this", " ", "sum", " ", "because", " ", "of", " ", "the", " ", "requirement"}], " ", ">", RowBox[{"nl", "."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Norm", "[", RowBox[{ RowBox[{"Round", "[", "#", "]"}], "-", "#"}], "]"}], "&"}], "[", RowBox[{"2", RowBox[{"(", RowBox[{"csn0", ".", "or"}], ")"}], RowBox[{"(", RowBox[{"csn0", ".", RowBox[{"Inverse", "[", "g", "]"}]}], ")"}]}], "]"}], "<", "nl"}], ",", RowBox[{ RowBox[{"bzios", "=", RowBox[{"-", RowBox[{"Sign", "[", RowBox[{"csn0", ".", "or"}], "]"}]}]}], ";", RowBox[{"If", "[", RowBox[{ RowBox[{"bzios", "\[Equal]", RowBox[{"-", "1"}]}], ",", RowBox[{ RowBox[{"bzio", "++"}], ";"}]}], "]"}], ";"}]}], "]"}], ";"}]}], "]"}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{"bzios", "=", RowBox[{ RowBox[{ RowBox[{ RowBox[{"-", "1"}], "/", "0"}], "/", RowBox[{"+", "1"}]}], " ", "=", RowBox[{">", " ", RowBox[{ RowBox[{"The", " ", "BZ"}], "-", RowBox[{ "index", " ", "right", " ", "under", " ", "The", " ", "Plane", " ", RowBox[{"(", RowBox[{ RowBox[{ "that", " ", "is", " ", "also", " ", "a", " ", "BZ", " ", "border", " ", "now", " ", "if", " ", "bzios"}], "\[NotEqual]", RowBox[{"0", "!"}]}], ")"}], " ", "is", " ", "one", " ", RowBox[{"less", "/", "the"}], " ", RowBox[{"same", "/", "one"}], " ", RowBox[{"more", "."}]}]}]}]}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"gPoints", "=", RowBox[{"Select", "[", RowBox[{"gPoints", ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Norm", "[", RowBox[{"csn0", "\[Cross]", "#"}], "]"}], ">", "nl"}], ")"}], "&"}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{"We", " ", RowBox[{"don", "'"}], "t", " ", "need", " ", "the", " ", "parallel", " ", RowBox[{"planes", "."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"gPoints", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"Norm", "[", "gp", "]"}], "/", "2"}], "-", RowBox[{"or", ".", "#"}]}], ")"}], RowBox[{ RowBox[{"(", RowBox[{"#", "-", RowBox[{ RowBox[{"(", RowBox[{"csn0", ".", "#"}], ")"}], "csn0"}]}], ")"}], "/", RowBox[{"(", RowBox[{"1", "-", RowBox[{ RowBox[{"(", RowBox[{"csn0", ".", "#"}], ")"}], "^", "2"}]}], ")"}]}]}], ",", "#"}], "}"}], "&"}], "[", RowBox[{"Normalize", "[", "gp", "]"}], "]"}], ",", RowBox[{"{", RowBox[{"gp", ",", "gPoints"}], "}"}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{ "The", " ", "intersection", " ", "of", " ", "The", " ", "Plane", " ", "and", " ", "the", " ", "separator", " ", "plane", " ", "of", " ", "\[CapitalGamma]", " ", "and", " ", "the", " ", "gPoint", " ", "has", " ", "its", " ", "closest", " ", "point", " ", RowBox[{"to", " ", "'"}], RowBox[{"or", "'"}], " ", "at", " ", "these", " ", "new", " ", "coordinates", " ", RowBox[{ RowBox[{"(", RowBox[{"relative", " ", RowBox[{"to", " ", "'"}], RowBox[{"or", "'"}]}], ")"}], ".", "\[IndentingNewLine]", "Here"}], " ", "we", " ", "also", " ", "store", " ", "the", " ", "normal", " ", "vector", " ", "to", " ", "the", " ", RowBox[{"gPoint", "."}]}], " ", "*)"}], FontWeight->"Plain"], StyleBox["\[IndentingNewLine]", FontWeight->"Plain"], RowBox[{"gPoints", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ",", RowBox[{"Sign", "[", RowBox[{ RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ".", RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"gp", ",", "gPoints"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{ "Here", " ", "we", " ", "add", " ", "the", " ", "sign", " ", "of", " ", "change", " ", "of", " ", "the", " ", "BZ", " ", "Index", " ", "on", " ", "crossing", " ", "the", " ", RowBox[{"border", ":", " ", RowBox[{"+", " ", RowBox[{">", " ", "regular"}]}]}]}], ",", " ", RowBox[{"-", " ", RowBox[{">", " ", RowBox[{"decreasing", "."}]}]}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"gPoints", "=", RowBox[{"Select", "[", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"csx0", ".", RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{"csy0", ".", RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"gp", ",", "gPoints"}], "}"}]}], "]"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Min", "[", RowBox[{"Flatten", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"Norm", "[", RowBox[{ RowBox[{"#", "\[LeftDoubleBracket]", RowBox[{"1", ";;", "2"}], "\[RightDoubleBracket]"}], "-", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"i", " ", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{"j", " ", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}]}], "}"}], "/", "2"}]}], "]"}], ",", RowBox[{"{", RowBox[{"i", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "1"}], "}"}]}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", "1"}], "}"}]}], "}"}]}], "]"}], "]"}], "]"}], "<", RowBox[{ RowBox[{"Norm", "[", "csl", "]"}], "/", "2"}]}], ")"}], "&"}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"These", " ", "are", " ", "the", " ", "in"}], "-", RowBox[{"plane", " ", "coordinates", " ", RowBox[{"of", " ", "the", " ", "separator", " ", "points"}], " ", "already", " ", "in", " ", "the", " ", "xy"}], "-", RowBox[{"system", " ", "within", " ", "the", " ", RowBox[{"Thales", "'"}], " ", "circles", " ", "determined", " ", "by", " ", RowBox[{"the", " ", "'"}], RowBox[{"csl", "'"}], " ", RowBox[{"intervals", "."}]}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{"kpp", ",", RowBox[{ RowBox[{"kPoints", "=", RowBox[{"Select", "[", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"csx0", ".", "kp"}], ",", RowBox[{"csy0", ".", "kp"}]}], "}"}], ",", RowBox[{"{", RowBox[{"kp", ",", "kPoints"}], "}"}]}], "]"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Abs", "[", RowBox[{ "#", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "]"}], "\[LessEqual]", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ")"}], "&&", RowBox[{"(", RowBox[{ RowBox[{"Abs", "[", RowBox[{ "#", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "]"}], "\[LessEqual]", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], ")"}]}], ")"}], "&"}]}], "]"}]}], ";"}]}], "]"}], ";", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{"The", " ", RowBox[{"kPoints", "'"}], " ", "coordinates", " ", "are", " ", "transformed", " ", "here", " ", "to", " ", "the", " ", "system", " ", "of", " ", "The", " ", "Plane", " ", "and", " ", "those", " ", "are", " ", "selected", " ", "that", " ", "are", " ", "within", " ", "the", " ", "given", " ", RowBox[{"region", "."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"gLines", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"Piecewise", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ",", RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "}"}]}], "}"}], ",", RowBox[{ RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "\[Equal]", "0."}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ",", RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ",", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "}"}]}], "}"}], ",", RowBox[{ RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "\[Equal]", "0."}]}], "}"}]}], "}"}], ",", RowBox[{ RowBox[{"Sort", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{"-", FractionBox[ RowBox[{ RowBox[{ RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], " ", RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], "-", SuperscriptBox[ RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "2"], "-", SuperscriptBox[ RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "2"]}], RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ",", RowBox[{"-", FractionBox[ RowBox[{ RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], " ", RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], "-", SuperscriptBox[ RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "2"], "-", SuperscriptBox[ RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "2"]}], RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", FractionBox[ RowBox[{ RowBox[{"-", SuperscriptBox[ RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "2"]}], "-", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], " ", RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "-", SuperscriptBox[ RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "2"]}], RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]}], ",", RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", FractionBox[ RowBox[{ RowBox[{"-", SuperscriptBox[ RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "2"]}], "+", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], " ", RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "-", SuperscriptBox[ RowBox[{ "gp", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "2"]}], RowBox[{ "gp", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]]}], ",", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "}"}]}], "}"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "#1", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ">", RowBox[{ "#2", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ")"}], "&"}]}], "]"}], "\[LeftDoubleBracket]", RowBox[{"2", ";;", "3"}], "\[RightDoubleBracket]"}]}], "]"}], ",", RowBox[{"{", RowBox[{"gp", ",", "gPoints"}], "}"}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{"Here", ",", " ", RowBox[{ RowBox[{"we", " ", "generate", " ", "the", " ", "end"}], "-", RowBox[{"points", " ", "of", " ", "the", " ", "separator", " ", RowBox[{"lines", "."}]}]}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{"Summing", " ", "up", " ", "the", " ", "BZI"}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"bzid", "=", RowBox[{ RowBox[{"2", " ", RowBox[{"Floor", "[", RowBox[{"csl", "/", "res"}], "]"}]}], "+", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}]}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{ "The", " ", "size", " ", "of", " ", "the", " ", "discrete", " ", "grid", " ", "for", " ", RowBox[{"BZI", "."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"cshh", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "bzid", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "+", "1"}], ")"}], "/", "2"}]}], ";", RowBox[{"startY", "=", RowBox[{"If", "[", RowBox[{"org", ",", "1", ",", "cshh"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"bzi", "=", RowBox[{"If", "[", RowBox[{"org", ",", RowBox[{"ConstantArray", "[", RowBox[{"1", ",", RowBox[{"{", RowBox[{ RowBox[{ "bzid", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ",", "cshh"}], "}"}]}], "]"}], ",", RowBox[{"ConstantArray", "[", RowBox[{"1", ",", "bzid"}], "]"}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{"Initializing", " ", "BZI"}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"Do", "[", RowBox[{ RowBox[{ RowBox[{"xy", "=", RowBox[{"Sort", "[", RowBox[{ RowBox[{"gpl", "\[LeftDoubleBracket]", RowBox[{"4", ";;", "5"}], "\[RightDoubleBracket]"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "#1", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "<", RowBox[{ "#2", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], ")"}], "&"}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"Sorting", " ", "the", " ", "end"}], "-", RowBox[{ "points", " ", "of", " ", "the", " ", "separator", " ", "lines"}]}], " ", "*)"}], FontWeight->"Plain"], RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "gpl", "\[LeftDoubleBracket]", "4", "\[RightDoubleBracket]"}], "\[NotEqual]", RowBox[{ "gpl", "\[LeftDoubleBracket]", "5", "\[RightDoubleBracket]"}]}], ")"}], "&&", RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{"!", "org"}], ")"}], "||", RowBox[{"(", RowBox[{ RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"2", ",", "2"}], "\[RightDoubleBracket]"}], ">", "0"}], ")"}]}], ")"}]}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "In", " ", "case", " ", "the", " ", "separator", " ", "line", " ", "just", " ", "touches", " ", "the", " ", "corner", " ", "of", " ", "the", " ", "rectangle"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ "which", " ", "should", " ", "not", " ", "happen", " ", "btw", " ", "because", " ", "we", " ", "used"}], " ", "<", " ", RowBox[{"instead", " ", "of"}], " ", "\[LessEqual]", " ", RowBox[{"at", " ", "the", " ", RowBox[{"Thales", "'"}], " ", RowBox[{"circles", "."}]}]}]}], ")"}], " ", "&&", " ", RowBox[{"(", RowBox[{ RowBox[{ "If", " ", "\[CapitalGamma]", " ", "is", " ", "the", " ", "origin"}], ",", " ", RowBox[{"for", " ", "symmetry", " ", "reasons"}], ",", " ", RowBox[{ RowBox[{ "we", " ", "can", " ", "only", " ", "deal", " ", "with", " ", "lines", " ", "that", " ", "are", " ", "at", " ", "least", " ", "partly", " ", "above", " ", "the", " ", "x"}], "-", RowBox[{"axis", "."}]}]}], ")"}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{ RowBox[{"dir", "=", RowBox[{"Sign", "[", "gpl", "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{"Which", " ", "quarter", " ", "are", " ", "we", " ", RowBox[{"in", "?"}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{ "gpl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "]"}], "<", "nl"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{ RowBox[{ "We", " ", "have", " ", "a", " ", "horizontal", " ", "line"}], "..."}], " ", RowBox[{"(", RowBox[{ RowBox[{"BZI", " ", "increases", " ", "if", " ", RowBox[{ "gpl", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}]}], "=", RowBox[{ RowBox[{"1", " ", "or", " ", "decreases", " ", "if"}], "-", RowBox[{ "1", " ", "on", " ", "crossing", " ", "the", " ", "border", " ", "arriving", " ", "from", " ", "the", " ", RowBox[{"origin", "."}]}]}]}], ")"}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ "dir", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "\[Equal]", "1"}], ",", RowBox[{ RowBox[{ RowBox[{"bzi", "\[LeftDoubleBracket]", RowBox[{"All", ",", RowBox[{ RowBox[{"startY", "+", RowBox[{"Ceiling", "[", RowBox[{ RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"1", ",", "2"}], "\[RightDoubleBracket]"}], "/", "res"}], "]"}]}], ";;", RowBox[{"-", "1"}]}]}], "\[RightDoubleBracket]"}], "+=", RowBox[{ "gpl", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}]}], ";"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{"in", " ", "the", " ", "top", " ", "half"}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"bzi", "\[LeftDoubleBracket]", RowBox[{"All", ",", RowBox[{"1", ";;", RowBox[{ RowBox[{"Floor", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "+", RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"1", ",", "2"}], "\[RightDoubleBracket]"}]}], ")"}], "/", "res"}], "]"}], "+", "1"}]}]}], "\[RightDoubleBracket]"}], "+=", RowBox[{ "gpl", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}]}], ";"}]}], "]"}], ";"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{"in", " ", "the", " ", "bottom", " ", "half"}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{ "gpl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "]"}], "<", "nl"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{ "or", " ", "do", " ", "we", " ", "have", " ", "a", " ", "vertical", " ", RowBox[{"line", "?"}]}], " ", "*)"}], FontWeight->"Plain"], RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ "dir", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "\[Equal]", "1"}], ",", RowBox[{ RowBox[{ RowBox[{"bzi", "\[LeftDoubleBracket]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Ceiling", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "+", RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"1", ",", "1"}], "\[RightDoubleBracket]"}]}], ")"}], "/", "res"}], "]"}], "+", "1"}], ";;", RowBox[{"-", "1"}]}], ",", "All"}], "\[RightDoubleBracket]"}], "+=", RowBox[{ "gpl", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}]}], ";"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{"in", " ", "the", " ", "right", " ", "half"}], " ", "*)"}], FontWeight->"Plain"], RowBox[{ RowBox[{ RowBox[{"bzi", "\[LeftDoubleBracket]", RowBox[{ RowBox[{"1", ";;", RowBox[{"Ceiling", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "+", RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"1", ",", "1"}], "\[RightDoubleBracket]"}]}], ")"}], "/", "res"}], "]"}]}], ",", "All"}], "\[RightDoubleBracket]"}], "+=", RowBox[{ "gpl", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}]}], ";"}]}], "]"}], ";"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{"in", " ", "the", " ", "left", " ", "half"}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{ "or", " ", "are", " ", "we", " ", "left", " ", "with", " ", "the", " ", "general", " ", "situation"}], ",", " ", RowBox[{ "with", " ", "a", " ", "separator", " ", "at", " ", "coordinates", " ", "given", " ", "by", " ", "the", " ", "function", " ", RowBox[{ RowBox[{"bx", "[", "iy", "]"}], "?"}]}]}], " ", "*)"}], FontWeight->"Plain"], RowBox[{ RowBox[{ RowBox[{"bx", "[", "iy_", "]"}], ":=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"1", ",", "2"}], "\[RightDoubleBracket]"}]}], " ", RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"2", ",", "1"}], "\[RightDoubleBracket]"}]}], "+", RowBox[{ RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"1", ",", "1"}], "\[RightDoubleBracket]"}], " ", RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"2", ",", "2"}], "\[RightDoubleBracket]"}]}], "-", RowBox[{ RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"1", ",", "1"}], "\[RightDoubleBracket]"}], " ", RowBox[{"(", RowBox[{"iy", "-", "startY"}], ")"}], " ", "res"}], "+", RowBox[{ RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"2", ",", "1"}], "\[RightDoubleBracket]"}], " ", RowBox[{"(", RowBox[{"iy", "-", "startY"}], ")"}], " ", "res"}]}], ")"}], "/", RowBox[{"(", RowBox[{ RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"2", ",", "2"}], "\[RightDoubleBracket]"}], "-", RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"1", ",", "2"}], "\[RightDoubleBracket]"}]}], ")"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ "gpl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], ">", "0"}], ",", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"iy", "=", RowBox[{"Max", "[", RowBox[{"1", ",", RowBox[{"startY", "+", RowBox[{"Ceiling", "[", RowBox[{ RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"1", ",", "2"}], "\[RightDoubleBracket]"}], "/", "res"}], "]"}]}]}], "]"}]}], ",", RowBox[{"iy", "<", RowBox[{"startY", "+", "cshh"}]}], ",", RowBox[{"iy", "++"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{ "With", " ", "a", " ", "separator", " ", "point", " ", "in", " ", "the"}], " ", "*)"}], FontWeight->"Plain"], RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ "dir", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "\[Equal]", "1"}], ",", RowBox[{ RowBox[{ RowBox[{"bzi", "\[LeftDoubleBracket]", RowBox[{ RowBox[{ RowBox[{"Max", "[", RowBox[{"1", ",", RowBox[{ RowBox[{"Ceiling", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "+", RowBox[{"bx", "[", "iy", "]"}]}], ")"}], "/", "res"}], "]"}], "+", "1"}]}], "]"}], ";;", RowBox[{"-", "1"}]}], ",", "iy"}], "\[RightDoubleBracket]"}], "+=", RowBox[{ "gpl", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}]}], ";"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{"top", "-", "right"}], " ", "*)"}], FontWeight->"Plain"], RowBox[{ RowBox[{ RowBox[{"bzi", "\[LeftDoubleBracket]", RowBox[{ RowBox[{"1", ";;", RowBox[{"Min", "[", RowBox[{ RowBox[{"Ceiling", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "+", RowBox[{"bx", "[", "iy", "]"}]}], ")"}], "/", "res"}], "]"}], ",", RowBox[{ "bzid", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], "]"}]}], ",", "iy"}], "\[RightDoubleBracket]"}], "+=", RowBox[{ "gpl", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}]}], ";"}]}], "]"}], ";"}]}], "]"}], ";"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"top", "-", RowBox[{"left", " ", "quarter"}]}], ","}], " ", "*)"}], FontWeight->"Plain"], RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"iy", "=", "1"}], ",", RowBox[{"iy", "\[LessEqual]", RowBox[{ RowBox[{"Floor", "[", RowBox[{ RowBox[{"xy", "\[LeftDoubleBracket]", RowBox[{"2", ",", "2"}], "\[RightDoubleBracket]"}], "/", "res"}], "]"}], "+", "startY"}]}], ",", RowBox[{"iy", "++"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{ "and", " ", "with", " ", "a", " ", "separator", " ", "point", " ", "in", " ", "the"}], " ", "*)"}], FontWeight->"Plain"], RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ "dir", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "\[Equal]", "1"}], ",", RowBox[{ RowBox[{ RowBox[{"bzi", "\[LeftDoubleBracket]", RowBox[{ RowBox[{ RowBox[{"Max", "[", RowBox[{"1", ",", RowBox[{ RowBox[{"Ceiling", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "+", RowBox[{"bx", "[", "iy", "]"}]}], ")"}], "/", "res"}], "]"}], "+", "1"}]}], "]"}], ";;", RowBox[{"-", "1"}]}], ",", "iy"}], "\[RightDoubleBracket]"}], "+=", RowBox[{ "gpl", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}]}], ";"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"bottom", "-", "right"}], ","}], " ", "*)"}], FontWeight->"Plain"], RowBox[{ RowBox[{ RowBox[{"bzi", "\[LeftDoubleBracket]", RowBox[{ RowBox[{"1", ";;", RowBox[{"Min", "[", RowBox[{ RowBox[{"Ceiling", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "+", RowBox[{"bx", "[", "iy", "]"}]}], ")"}], "/", "res"}], "]"}], ",", RowBox[{ "bzid", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], "]"}]}], ",", "iy"}], "\[RightDoubleBracket]"}], "+=", RowBox[{ "gpl", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}]}], ";"}]}], "]"}], ";"}]}], "]"}], ";"}]}], "]"}], ";"}]}], "]"}], ";"}]}], "]"}], ";"}]}], "]"}], ";"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{"bottom", "-", RowBox[{"left", " ", RowBox[{"quarter", "."}]}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"{", RowBox[{"gpl", ",", RowBox[{ RowBox[{"Join", "[", RowBox[{ RowBox[{"gPoints", "\[Transpose]"}], ",", RowBox[{"gLines", "\[Transpose]"}]}], "]"}], "\[Transpose]"}]}], "}"}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"bzi", "=", RowBox[{"If", "[", RowBox[{"org", ",", RowBox[{"Join", "[", RowBox[{ RowBox[{ RowBox[{"Reverse", "[", RowBox[{ RowBox[{"bzi", "\[Transpose]"}], ",", RowBox[{"{", RowBox[{"1", ",", "2"}], "}"}]}], "]"}], "\[LeftDoubleBracket]", RowBox[{";;", RowBox[{"-", "2"}]}], "\[RightDoubleBracket]"}], ",", RowBox[{"bzi", "\[Transpose]"}]}], "]"}], ",", RowBox[{ RowBox[{"bzi", "\[Transpose]"}], "+", "bzio"}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{"Applying", " ", RowBox[{"symmetry", "/", "Adding"}], " ", "BZI", " ", "of", " ", "the", " ", "origin"}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"bzin", ",", "bzix"}], "}"}], "=", RowBox[{"{", RowBox[{ RowBox[{"Min", "[", "bzi", "]"}], ",", RowBox[{"Max", "[", "bzi", "]"}]}], "}"}]}], ";", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{"Constructing", " ", "the", " ", "output", " ", "figure"}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"gLines", "=", RowBox[{"{", RowBox[{ RowBox[{"Pick", "[", RowBox[{"gLines", ",", RowBox[{"gPoints", "\[LeftDoubleBracket]", RowBox[{"All", ",", "3"}], "\[RightDoubleBracket]"}], ",", "1"}], "]"}], ",", RowBox[{"Pick", "[", RowBox[{"gLines", ",", RowBox[{"gPoints", "\[LeftDoubleBracket]", RowBox[{"All", ",", "3"}], "\[RightDoubleBracket]"}], ",", RowBox[{"-", "1"}]}], "]"}]}], "}"}]}], ";", "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{"kpp", ",", RowBox[{"kPoints", "=", RowBox[{"Point", "/@", "kPoints"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"bzFig", "=", RowBox[{"Show", "[", RowBox[{"{", RowBox[{ RowBox[{"ListContourPlot", "[", RowBox[{"bzi", ",", RowBox[{"DataRange", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], ",", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "}"}]}], "}"}]}], ",", RowBox[{"PlotRange", "\[Rule]", RowBox[{"{", RowBox[{"Full", ",", "Full", ",", "Full"}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"Contours", "\[Rule]", RowBox[{"Function", "[", RowBox[{ RowBox[{"{", RowBox[{"min", ",", "max"}], "}"}], ",", RowBox[{ RowBox[{"Range", "[", RowBox[{"min", ",", RowBox[{"max", "-", "1"}]}], "]"}], "+", "0.5"}]}], "]"}]}], ",", RowBox[{"PerformanceGoal", "\[Rule]", "\"\\""}], ",", RowBox[{"ContourStyle", "\[Rule]", "None"}], ",", RowBox[{"ColorFunction", "\[Rule]", RowBox[{"(", RowBox[{ RowBox[{"Directive", "[", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"If", "[", RowBox[{ RowBox[{"op", "\[Equal]", RowBox[{"-", "1"}]}], ",", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Length", "[", "join", "]"}], "\[Equal]", "0"}], ",", "1", ",", "0.5"}], "]"}], ",", "op"}], "]"}], "]"}], ",", RowBox[{ RowBox[{"ColorData", "[", "clrs", "]"}], "[", "#", "]"}]}], "]"}], "&"}], ")"}]}], ",", RowBox[{"AspectRatio", "\[Rule]", "Automatic"}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"{", RowBox[{"Automatic", ",", "hght"}], "}"}]}]}], "]"}], ",", RowBox[{"Graphics", "[", RowBox[{"{", RowBox[{ RowBox[{"Line", "/@", RowBox[{ "gLines", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{"{", RowBox[{"Red", ",", RowBox[{"Line", "/@", RowBox[{ "gLines", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}]}], "}"}], ",", RowBox[{"If", "[", RowBox[{ RowBox[{"bzios", "\[NotEqual]", "0"}], ",", RowBox[{"{", RowBox[{"Thick", ",", RowBox[{"Switch", "[", RowBox[{"bzios", ",", RowBox[{"-", "1"}], ",", "Blue", ",", "1", ",", "Red"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ",", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], ",", RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}]}], "}"}]}], "}"}], "]"}]}], "}"}], ",", RowBox[{"{", "}"}]}], "]"}], ",", RowBox[{"{", RowBox[{"Green", ",", "kPoints"}], "}"}]}], "}"}], "]"}], ",", "join"}], "}"}], "]"}]}], ";", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", "Colorbar", " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"clrBar", "=", RowBox[{"ContourPlot", "[", RowBox[{"y", ",", RowBox[{"{", RowBox[{"x", ",", "0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"bzin", "-", "0.5"}], ",", RowBox[{"bzix", "+", "0.5"}]}], "}"}], ",", RowBox[{"ContourStyle", "\[Rule]", "None"}], ",", RowBox[{"AspectRatio", "\[Rule]", "25"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"PlotRangePadding", "\[Rule]", "0"}], ",", "\[IndentingNewLine]", RowBox[{"Contours", "\[Rule]", RowBox[{"(", RowBox[{ RowBox[{"Range", "[", RowBox[{"bzin", ",", RowBox[{"bzix", "-", "1"}]}], "]"}], "+", "0.5"}], ")"}]}], ",", RowBox[{"FrameTicks", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Range", "[", RowBox[{"bzin", ",", "bzix"}], "]"}], ",", "None"}], "}"}], ",", RowBox[{"{", RowBox[{"None", ",", "None"}], "}"}]}], "}"}]}], ",", RowBox[{"ImageSize", "\[Rule]", RowBox[{"{", RowBox[{"Automatic", ",", "hght"}], "}"}]}], ",", "\[IndentingNewLine]", RowBox[{"ColorFunctionScaling", "\[Rule]", "False"}], ",", RowBox[{"ColorFunction", "\[Rule]", RowBox[{"(", RowBox[{ RowBox[{"Directive", "[", RowBox[{ RowBox[{"Opacity", "[", RowBox[{"If", "[", RowBox[{ RowBox[{"op", "\[Equal]", RowBox[{"-", "1"}]}], ",", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Length", "[", "join", "]"}], "\[Equal]", "0"}], ",", "1", ",", "0.5"}], "]"}], ",", "op"}], "]"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"ColorData", "[", "clrs", "]"}], "[", RowBox[{"Rescale", "[", RowBox[{ RowBox[{"Piecewise", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"bzin", ",", RowBox[{"#", "<", "bzin"}]}], "}"}], ",", RowBox[{"{", RowBox[{"bzix", ",", RowBox[{"#", ">", "bzix"}]}], "}"}]}], "}"}], ",", "#"}], "]"}], ",", RowBox[{"{", RowBox[{"bzin", ",", "bzix"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}]}], "]"}], "]"}]}], "]"}], "&"}], ")"}]}]}], "]"}]}], ";", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{ "Tooltips", " ", "show", " ", "the", " ", "BZI", " ", "of", " ", "the", " ", "region", " ", "under", " ", "the", " ", "mouse", " ", RowBox[{"pointer", "."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"figure", "=", RowBox[{"Row", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Tooltip", "[", RowBox[{"bzFig", ",", RowBox[{"Dynamic", "[", RowBox[{"bzi", "[", RowBox[{"[", RowBox[{"Apply", "[", RowBox[{"Sequence", ",", RowBox[{ RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"NumericQ", "[", RowBox[{ "#", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "]"}], ",", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "\[LessEqual]", RowBox[{ "#", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "\[LessEqual]", RowBox[{ "bzid", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ")"}], "&&", RowBox[{"(", RowBox[{"1", "\[LessEqual]", RowBox[{ "#", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "\[LessEqual]", RowBox[{ "bzid", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], ")"}]}], ",", "#", ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Reverse", "[", "bzid", "]"}], "+", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}]}], ")"}], "/", "2"}]}], "]"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Reverse", "[", "bzid", "]"}], "+", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}]}], ")"}], "/", "2"}]}], "]"}], "&"}], "[", RowBox[{ RowBox[{"Reverse", "[", RowBox[{"Round", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"MousePosition", "[", "\"\\"", "]"}], "+", "csl"}], ")"}], "/", "res"}], "]"}], "]"}], "+", RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}]}], "]"}]}], "]"}], "]"}], "]"}], "]"}]}], "]"}], ",", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", StyleBox[ RowBox[{ RowBox[{ "The", " ", "red", " ", "highlighting", " ", "above", " ", "suggests", " ", RowBox[{"that", " ", "'"}], "Order", " ", "of", " ", "evaluation", " ", RowBox[{ RowBox[{"conflicts", "'"}], ".", " ", "These"}], " ", "are", " ", "all", " ", "constants"}], ",", " ", RowBox[{"so", " ", "why", " ", "the", " ", RowBox[{"conflict", "?", RowBox[{"!", "\[IndentingNewLine]", "Anyway"}]}]}], ",", " ", RowBox[{ "these", " ", "are", " ", "not", " ", "saved", " ", "within", " ", "the", " ", "cell", " ", "together", " ", "with", " ", "all", " ", "the", " ", "rest", " ", "of", " ", "the", " ", "data", " ", "for", " ", "the", " ", RowBox[{"figure", ".", "\[IndentingNewLine]", "This"}], " ", "means", " ", "that", " ", "the", " ", "Tooltips", " ", "are", " ", "not", " ", "wotking", " ", "in", " ", "a", " ", "new", " ", "session"}], ",", " ", RowBox[{ "unless", " ", "we", " ", "explicitely", " ", "take", " ", "care", " ", "of", " ", RowBox[{"them", ".", "\[IndentingNewLine]", RowBox[{"(", RowBox[{ RowBox[{ "Is", " ", "this", " ", "in", " ", "any", " ", "way", " ", "related", " ", "to", " ", RowBox[{"the", " ", "'"}], RowBox[{"Temporary", "'"}], " ", "attribute", " ", "of", " ", "these", " ", RowBox[{"variables", "?", " ", "But"}], " ", "even", " ", "if", " ", "so"}], ",", " ", RowBox[{ "it", " ", "does", " ", "not", " ", "make", " ", "any", " ", "difference", " ", "if", " ", "I", " ", "clear", " ", "this", " ", "attribute", " ", "already", " ", "within", " ", "the", " ", RowBox[{"module", "."}]}]}], ")"}]}]}]}], FontColor->RGBColor[1, 0, 0]], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{ "Loading", " ", "Tooltip", " ", "data", " ", "when", " ", "clicked", " ", "on", " ", "the", " ", "colorbar", "\[IndentingNewLine]", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{ RowBox[{"EventHandler", "[", "]"}], " ", "is", " ", "better", " ", "here", " ", "than", " ", RowBox[{"Button", "[", "]"}]}], ":", " ", RowBox[{ "it", " ", "is", " ", "free", " ", "from", " ", "fancy", " ", RowBox[{"effects", ".", " ", "Note"}], " ", "that", " ", "practically", " ", "both", " ", "have", " ", RowBox[{"the", " ", "'"}], RowBox[{"HoldRest", "'"}], " ", "attribute"}]}], ",", " ", RowBox[{"even", " ", "though", " ", RowBox[{"Attributes", "[", "EventHandler", "]"}], " ", "tells", " ", "it", " ", "otherwise", " ", "of", " ", RowBox[{"course", ".", " ", "The"}], " ", "MouseClicked", " ", "rule", " ", "also", " ", "gets", " ", "evaluated", " ", "first", " ", "when", " ", "you", " ", RowBox[{"click", "!"}]}]}], ")"}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"EventHandler", "[", RowBox[{"clrBar", ",", RowBox[{"{", RowBox[{"\"\\"", "\[RuleDelayed]", RowBox[{"If", "[", RowBox[{ RowBox[{"!", RowBox[{"ValueQ", "[", "bzi", "]"}]}], ",", RowBox[{ RowBox[{"SelectionMove", "[", RowBox[{ RowBox[{"EvaluationNotebook", "[", "]"}], ",", "All", ",", "EvaluationCell"}], "]"}], ";", "\[IndentingNewLine]", RowBox[{ "string", "=", "\"\<=Uncompress[CurrentValue[NotebookSelection[],{\ TaggingRules,\\\"\>\""}], ";", "\[IndentingNewLine]", RowBox[{"ToExpression", "[", RowBox[{ RowBox[{"ToString", "[", "bzi", "]"}], "<>", "string", "<>", RowBox[{"ToString", "[", "bzi", "]"}], "<>", "\"\<\\\"}]];\>\""}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"ToExpression", "[", RowBox[{ RowBox[{"ToString", "[", "bzid", "]"}], "<>", "string", "<>", RowBox[{"ToString", "[", "bzid", "]"}], "<>", "\"\<\\\"}]];\>\""}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"ToExpression", "[", RowBox[{ RowBox[{"ToString", "[", "res", "]"}], "<>", "string", "<>", RowBox[{"ToString", "[", "res", "]"}], "<>", "\"\<\\\"}]];\>\""}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"SelectionMove", "[", RowBox[{ RowBox[{"EvaluationNotebook", "[", "]"}], ",", "After", ",", "Cell"}], "]"}], ";"}]}], "]"}]}], "}"}]}], "]"}]}], "}"}], ",", RowBox[{"Spacer", "[", "5", "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{ "Writing", " ", "the", " ", "output", " ", "cell", " ", "and", " ", "saving", " ", "the", " ", "Tooltip", " ", "data", " ", "which", " ", "is", " ", "lost", " ", "otherwise", " ", "when", " ", "the", " ", "session", " ", "is", " ", "closed"}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"NotebookWrite", "[", RowBox[{ RowBox[{"EvaluationNotebook", "[", "]"}], ",", RowBox[{"Cell", "[", RowBox[{ RowBox[{"BoxData", "@", RowBox[{"ToBoxes", "[", RowBox[{"If", "[", RowBox[{"pr", ",", RowBox[{"Grid", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"TableForm", "[", RowBox[{ RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"bzios", "\[NotEqual]", "0"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{"Vectors", ",", " ", RowBox[{ "etc", " ", "to", " ", "print", " ", "if", " ", "required"}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"Join", "[", RowBox[{ RowBox[{"{", RowBox[{ "\"\\"", "<>", RowBox[{"If", "[", RowBox[{ RowBox[{"bzios", "\[Equal]", "1"}], ",", "\"\\"", ",", "\"\\""}], "]"}]}], "}"}], ",", "#"}], "]"}], ",", "#"}], "]"}], "&"}], "\[IndentingNewLine]", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"\"\<\!\(\*SubscriptBox[\(e\), \(x\)]\) = \>\"", "<>", RowBox[{"ToString", "@", RowBox[{"N", "[", "csx0", "]"}]}], "<>", "\"\< \!\(\*SubscriptBox[\(e\), \(y\)]\) = \>\"", "<>", RowBox[{"ToString", "@", RowBox[{"N", "[", "csy0", "]"}]}], "<>", "\"\< n = \>\"", "<>", RowBox[{"ToString", "@", RowBox[{"N", "[", "csn0", "]"}]}], "<>", "\"\< origin = \>\"", "<>", RowBox[{"ToString", "@", RowBox[{"N", "[", "or", "]"}]}]}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"{", RowBox[{"\"\<\!\(\*SubscriptBox[\(g\), \(1\)]\) = \>\"", "<>", RowBox[{"ToString", "@", RowBox[{"N", "[", RowBox[{ "g", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "]"}]}], "<>", "\"\< \!\(\*SubscriptBox[\(g\), \(2\)]\) = \>\"", "<>", RowBox[{"ToString", "@", RowBox[{"N", "[", RowBox[{ "g", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "]"}]}], "<>", "\"\< \!\(\*SubscriptBox[\(g\), \(3\)]\) = \>\"", "<>", RowBox[{"ToString", "@", RowBox[{"N", "[", RowBox[{ "g", "\[LeftDoubleBracket]", "3", "\[RightDoubleBracket]"}], "]"}]}]}], "}"}], ",", RowBox[{"{", "}"}]}], "}"}], "]"}], "]"}], "}"}], ",", RowBox[{"{", "figure", "}"}]}], "}"}], "]"}], ",", "figure"}], "]"}], "]"}]}], ",", "\"\\"", ",", RowBox[{"TaggingRules", "\[Rule]", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"\"\\"", "<>", "mn"}], ")"}], "\[Rule]", RowBox[{"Compress", "[", "bzi", "]"}]}], ",", RowBox[{ RowBox[{"(", RowBox[{"\"\\"", "<>", "mn"}], ")"}], "\[Rule]", RowBox[{"Compress", "[", "bzid", "]"}]}], ",", RowBox[{ RowBox[{"(", RowBox[{"\"\\"", "<>", "mn"}], ")"}], "\[Rule]", RowBox[{"Compress", "[", "res", "]"}]}]}], "}"}]}]}], "]"}]}], "]"}]}]}], "]"}]}]}], "Input", CellChangeTimes->{{3.599237473606242*^9, 3.5992375118419094`*^9}, { 3.599237600465665*^9, 3.599237714200775*^9}, {3.5992377645576634`*^9, 3.599237783121696*^9}, {3.5992378831490717`*^9, 3.599237958372404*^9}, { 3.599237997824873*^9, 3.599238003035282*^9}, {3.5992380827046223`*^9, 3.5992380857154274`*^9}, {3.599238118156842*^9, 3.5992381281829157`*^9}, { 3.599238162823067*^9, 3.5992382519048395`*^9}, {3.599238285678899*^9, 3.599238379984745*^9}, {3.599238547105691*^9, 3.5992385959411163`*^9}, { 3.5992400402575827`*^9, 3.59924008535985*^9}, {3.5992428790720067`*^9, 3.5992429694024353`*^9}, {3.5992444002323055`*^9, 3.599244411399185*^9}, { 3.5992444418816385`*^9, 3.5992444905225244`*^9}, {3.599244951020687*^9, 3.5992449782625494`*^9}, {3.599245038091872*^9, 3.5992451193482347`*^9}, { 3.5992451763163595`*^9, 3.5992451786494923`*^9}, {3.599245209307533*^9, 3.599245235264225*^9}, {3.599245275964697*^9, 3.5992452810035057`*^9}, { 3.599245333013997*^9, 3.599245348411224*^9}, {3.5992454208433847`*^9, 3.599245430488936*^9}, {3.5992457899999533`*^9, 3.5992458826606326`*^9}, { 3.599245957508997*^9, 3.599245958023798*^9}, {3.599246037046591*^9, 3.599246043767708*^9}, {3.5992461053686824`*^9, 3.5992461127961073`*^9}, 3.599246272766218*^9, {3.5992463510471554`*^9, 3.5992464068328533`*^9}, { 3.5992464552916*^9, 3.5992464821130447`*^9}, {3.5992465378925457`*^9, 3.599246608467553*^9}, {3.599329878569445*^9, 3.5993299696323843`*^9}, { 3.5993300481161222`*^9, 3.5993300982234106`*^9}, {3.599330329681017*^9, 3.5993304047094564`*^9}, {3.5993305431284995`*^9, 3.599330570116547*^9}, { 3.5993307632760863`*^9, 3.599330767222893*^9}, {3.599330943241948*^9, 3.5993309466271415`*^9}, {3.5993310198719606`*^9, 3.599331135001419*^9}, { 3.599331360042464*^9, 3.5993314122401557`*^9}, 3.5993314474806175`*^9, { 3.599331485352872*^9, 3.5993314992797065`*^9}, {3.599331533178566*^9, 3.5993315691878023`*^9}, 3.599333263347596*^9, {3.599333324919936*^9, 3.599333342610368*^9}, {3.5993333991101227`*^9, 3.5993334837870345`*^9}, { 3.599333545025359*^9, 3.599333571725075*^9}, {3.5993336158381233`*^9, 3.599333618269263*^9}, {3.5993341106581335`*^9, 3.5993341151163883`*^9}, 3.599334275731126*^9, {3.5993344145755715`*^9, 3.5993344676886744`*^9}, { 3.5993345053501043`*^9, 3.599334512739669*^9}, {3.5993347266326065`*^9, 3.5993347267376127`*^9}, {3.599334774174036*^9, 3.5993348036823053`*^9}, { 3.5993348685274277`*^9, 3.5993348749417944`*^9}, {3.599334921038974*^9, 3.599334954937913*^9}, {3.599335082425641*^9, 3.599335085117795*^9}, { 3.5993355320399475`*^9, 3.5993355541544037`*^9}, {3.59933570273802*^9, 3.5993357324907217`*^9}, {3.599336578823271*^9, 3.5993365795233107`*^9}, { 3.599336618690081*^9, 3.5993366241323924`*^9}, {3.599338090522715*^9, 3.599338090922738*^9}, {3.599375968086939*^9, 3.5993760098287873`*^9}, { 3.599376185640481*^9, 3.5993762254921093`*^9}, {3.59937630792566*^9, 3.5993763211450047`*^9}, {3.5993763624718*^9, 3.59937639243979*^9}, { 3.5993765514328117`*^9, 3.5993765623840313`*^9}, {3.5993769689166746`*^9, 3.599376993034317*^9}, 3.5993770443450117`*^9, {3.5993770749282093`*^9, 3.5993770824318223`*^9}, {3.5993771849372473`*^9, 3.599377205700884*^9}, { 3.5993773598589187`*^9, 3.599377363062102*^9}, {3.599377861398456*^9, 3.5993779379404984`*^9}, {3.5993779683307447`*^9, 3.5993780050153933`*^9}, {3.5993780443641086`*^9, 3.5993780533445616`*^9}, {3.5993781106083736`*^9, 3.5993781446123185`*^9}, {3.59937827639987*^9, 3.5993782969768686`*^9}, 3.5993786162922397`*^9, {3.599378702433095*^9, 3.5993787302323437`*^9}, { 3.5993789431272383`*^9, 3.599378976501052*^9}, 3.599383448126388*^9, { 3.5993835039229326`*^9, 3.5993835059821367`*^9}, {3.599383622976206*^9, 3.599383635500046*^9}, {3.5993837459794397`*^9, 3.5993837560102577`*^9}, { 3.599383797374694*^9, 3.599383827735552*^9}, {3.5993838659068537`*^9, 3.5993839173254995`*^9}, {3.5993840921737204`*^9, 3.5993841690275936`*^9}, {3.5993842647184043`*^9, 3.59938426726155*^9}, 3.59938435278695*^9, {3.599384396839714*^9, 3.599384418757753*^9}, { 3.599384556129356*^9, 3.599384590252061*^9}, {3.599384643980282*^9, 3.5993846454263644`*^9}, {3.5993846881892047`*^9, 3.5993847244274783`*^9}, {3.599481978864018*^9, 3.599482032310419*^9}, { 3.5994821148298254`*^9, 3.5994821155428667`*^9}, {3.599482146254491*^9, 3.5994821463184943`*^9}, {3.599482193048992*^9, 3.5994821931089926`*^9}, { 3.599482305190062*^9, 3.5994823160500774`*^9}, {3.599482355050132*^9, 3.5994823899801807`*^9}, {3.599482706311799*^9, 3.599482714457265*^9}, { 3.59948277043252*^9, 3.5994829136001225`*^9}, 3.5994829445501657`*^9, { 3.5994835598670073`*^9, 3.5994836195116873`*^9}, {3.599483672494484*^9, 3.599483717484547*^9}, {3.599483750304593*^9, 3.5994837854146423`*^9}, 3.599483907090912*^9, {3.5994839426723137`*^9, 3.599484017483864*^9}, { 3.59948409297226*^9, 3.599484134954013*^9}, {3.599484179956313*^9, 3.599484217527789*^9}, {3.5994842597610826`*^9, 3.5994843350317435`*^9}, { 3.5994844542265415`*^9, 3.59948448704981*^9}, {3.5994872267662845`*^9, 3.599487230420493*^9}, {3.599487289586817*^9, 3.5994872902338543`*^9}, { 3.5994873548629417`*^9, 3.5994873822775803`*^9}, 3.5994874301112375`*^9, { 3.599487465558806*^9, 3.599487577518243*^9}, {3.599487772169302*^9, 3.5994877773275967`*^9}, {3.59948789918729*^9, 3.5994879811588573`*^9}, { 3.599488035977354*^9, 3.5994880368197556`*^9}, {3.5994884323573337`*^9, 3.599488464630761*^9}, {3.5994887014458456`*^9, 3.5994887230518837`*^9}, { 3.5994887662483597`*^9, 3.5994889078927107`*^9}, {3.599488944755575*^9, 3.599488967508767*^9}, 3.5994890440609026`*^9, {3.5994891255481052`*^9, 3.599489171913044*^9}, {3.5994893864146605`*^9, 3.599489406289812*^9}, { 3.599489441967075*^9, 3.5994894577075024`*^9}, {3.599489545079895*^9, 3.599489545719496*^9}, {3.5994896008588023`*^9, 3.599489636333265*^9}, { 3.5994898709778194`*^9, 3.5994898796863174`*^9}, {3.599490182388794*^9, 3.5994901953881483`*^9}, {3.599490279467166*^9, 3.5994902938659906`*^9}, { 3.5994903491120996`*^9, 3.5994903994845877`*^9}, {3.599490430188233*^9, 3.599490449977887*^9}, {3.5994904850147476`*^9, 3.599490537230138*^9}, { 3.599490568075217*^9, 3.5994905698093157`*^9}, {3.599490631845601*^9, 3.5994906323916025`*^9}, 3.599490666235512*^9, {3.5994907320798283`*^9, 3.599490766238673*^9}, {3.5994908076183662`*^9, 3.5994908247382545`*^9}, { 3.5994910392250867`*^9, 3.5994910475789485`*^9}, 3.5994911635581923`*^9, { 3.5994913152939873`*^9, 3.5994913293278027`*^9}, {3.5994913604838777`*^9, 3.599491445530857*^9}, {3.599491494887714*^9, 3.5994915201994057`*^9}, { 3.599491589125306*^9, 3.599491589562107*^9}, {3.599491623716908*^9, 3.5994916251429896`*^9}, 3.5994918625890365`*^9, {3.599492138716303*^9, 3.5994921554123726`*^9}, {3.5994922660544443`*^9, 3.5994922958541203`*^9}, {3.5994923387840977`*^9, 3.5994923474805555`*^9}, {3.599492486409374*^9, 3.5994924940506387`*^9}, { 3.5994925271808176`*^9, 3.5994926006350107`*^9}, {3.5994926351144176`*^9, 3.5994926706447334`*^9}, {3.5994927284935336`*^9, 3.5994927817367535`*^9}, {3.599492825389017*^9, 3.5994928259010468`*^9}, { 3.5994928624460535`*^9, 3.599492863883136*^9}, {3.5994929149654837`*^9, 3.5994929150454884`*^9}, 3.5994929744078836`*^9, {3.5994930683692045`*^9, 3.5994930726684504`*^9}, {3.599493466994772*^9, 3.5994935008346305`*^9}, { 3.599493531472968*^9, 3.599493572429347*^9}, {3.599493710068301*^9, 3.5994937437313814`*^9}, {3.599493799295796*^9, 3.599493813617615*^9}, { 3.5994938440623565`*^9, 3.5994938449854093`*^9}, 3.5994940085045023`*^9, { 3.5994943812890873`*^9, 3.59949443481628*^9}, {3.599494787238469*^9, 3.599494865417554*^9}, {3.5994949962810388`*^9, 3.599495006692634*^9}, { 3.599495047648977*^9, 3.599495076391034*^9}, {3.5994951102344255`*^9, 3.5994951213830633`*^9}, {3.5994953702687993`*^9, 3.5994953976353645`*^9}, {3.5994954408796263`*^9, 3.599495442583724*^9}, 3.5994955381211014`*^9, {3.5994956248265276`*^9, 3.5994956615224605`*^9}, 3.5994958021662917`*^9, {3.5994958486879525`*^9, 3.5994958499830265`*^9}, { 3.5994958901113214`*^9, 3.5994958933165054`*^9}, {3.5994959311546693`*^9, 3.599495934557864*^9}, {3.599495969012813*^9, 3.599495969087817*^9}, { 3.5994961854638815`*^9, 3.5994961913362174`*^9}, {3.5994963581439333`*^9, 3.5994963631902223`*^9}, {3.5994968130473323`*^9, 3.599496826248396*^9}, { 3.599496875051716*^9, 3.599496883166249*^9}, {3.599497075162667*^9, 3.599497121470298*^9}, {3.5994971663801875`*^9, 3.5994971769547925`*^9}, { 3.5994973246634083`*^9, 3.5994973284676256`*^9}, 3.599497465715271*^9, 3.5994977415117025`*^9, 3.5994978457571373`*^9, 3.599497898176516*^9, { 3.5994983734381413`*^9, 3.5994983886350093`*^9}, 3.599498473911255*^9, 3.5994985404290595`*^9, {3.5994987388456273`*^9, 3.5994988239633064`*^9}, { 3.599501329897231*^9, 3.5995013386470594`*^9}, 3.599501398413639*^9, { 3.599501470473838*^9, 3.5995014747285204`*^9}, 3.599501556952796*^9, { 3.599501594147958*^9, 3.5995016018290215`*^9}, {3.5995016363658524`*^9, 3.599501644641368*^9}, {3.5995017574537325`*^9, 3.5995018280230074`*^9}, 3.599501968530686*^9, {3.599502031400794*^9, 3.599502036560089*^9}, { 3.5995028069480696`*^9, 3.5995028082321424`*^9}, {3.5995028790958705`*^9, 3.5995029854306383`*^9}, {3.599503020938616*^9, 3.599503032313266*^9}, { 3.599503094337674*^9, 3.5995031154422684`*^9}, {3.599504968522539*^9, 3.5995050278329124`*^9}, {3.599505064966906*^9, 3.59950508645049*^9}, { 3.5995051899306965`*^9, 3.599505223314734*^9}, 3.599505384559724*^9, { 3.5996495574829297`*^9, 3.5996496412137904`*^9}, {3.599649910919282*^9, 3.599649941349826*^9}, {3.599649985089924*^9, 3.5996500101811347`*^9}, { 3.599650143852671*^9, 3.599650182984209*^9}, 3.599650270471806*^9, { 3.599650326349002*^9, 3.5996504015127363`*^9}, {3.599650448082573*^9, 3.5996504493916473`*^9}, {3.5996504825175314`*^9, 3.599650669245097*^9}, { 3.599650723415173*^9, 3.5996508135718145`*^9}, 3.599650997183178*^9, { 3.599651034197002*^9, 3.599651053241696*^9}, 3.5996511038386536`*^9, { 3.599651142754216*^9, 3.5996511530878077`*^9}, {3.599651224109515*^9, 3.5996512651512136`*^9}, {3.599651311780263*^9, 3.599651362375823*^9}, { 3.599651434180668*^9, 3.599651481058927*^9}, {3.599651559590897*^9, 3.5996515757736025`*^9}, {3.599651624085534*^9, 3.599651636922617*^9}, { 3.599651711208352*^9, 3.5996517618432484`*^9}, {3.5996517987475815`*^9, 3.599651803037589*^9}, {3.599651833941243*^9, 3.5996518340192432`*^9}, { 3.5996519040170255`*^9, 3.599651956183424*^9}, {3.5996520047344284`*^9, 3.599652150944792*^9}, {3.5996522452398715`*^9, 3.5996522590196595`*^9}, 3.5996523239275723`*^9, {3.599652447465917*^9, 3.599652447929944*^9}, { 3.599652483826518*^9, 3.599652485340605*^9}, {3.5996525900405397`*^9, 3.599652596135888*^9}, {3.5996526767638073`*^9, 3.599652677261836*^9}, { 3.599653076243857*^9, 3.5996531277356358`*^9}, {3.599653454079072*^9, 3.599653469502345*^9}, {3.5996535148934574`*^9, 3.5996536083106594`*^9}, { 3.5997299600349913`*^9, 3.5997299675363555`*^9}, {3.599730007285225*^9, 3.599730008439627*^9}, {3.5997300724001865`*^9, 3.599730091377735*^9}, { 3.599731535264414*^9, 3.5997315826617565`*^9}, {3.599731725646119*^9, 3.5997317315774584`*^9}, {3.5997319132663345`*^9, 3.5997319244669704`*^9}, {3.5997347298935833`*^9, 3.5997347739669957`*^9}, {3.5997351009046345`*^9, 3.599735173097765*^9}, { 3.5997352320750637`*^9, 3.5997352335051455`*^9}, {3.5997560539669237`*^9, 3.5997560575361276`*^9}, {3.5997561058337946`*^9, 3.599756108168928*^9}, 3.59975632783298*^9, 3.599756705934327*^9, {3.599756775842413*^9, 3.599756790932434*^9}, 3.599756825142787*^9, 3.5997568654529285`*^9, { 3.5997569018083525`*^9, 3.599756910408365*^9}, {3.5997569885649576`*^9, 3.5997569902610545`*^9}, {3.5997570949315557`*^9, 3.5997570989015617`*^9}, {3.599757288390237*^9, 3.5997573217246957`*^9}, { 3.599757601273183*^9, 3.5997576066534905`*^9}, {3.5997578245598717`*^9, 3.5997578388083334`*^9}, {3.5997580472631607`*^9, 3.59975811281171*^9}, { 3.599758173279521*^9, 3.599758184196976*^9}, {3.5997583017937326`*^9, 3.5997583117837467`*^9}, {3.599767453269517*^9, 3.5997675206523714`*^9}, { 3.59976755367826*^9, 3.599767588277239*^9}, {3.5997696699763055`*^9, 3.5997696924685917`*^9}, {3.604821973468445*^9, 3.6048219806188536`*^9}, { 3.6048220357230053`*^9, 3.6048220729251337`*^9}, {3.604823589354868*^9, 3.604823629176146*^9}, {3.6048241837068634`*^9, 3.6048242271033454`*^9}, { 3.604824792916708*^9, 3.604824804350362*^9}, 3.60483180908801*^9, { 3.60483184317696*^9, 3.6048318954549503`*^9}, {3.6048319326590776`*^9, 3.604831942097618*^9}, 3.60483210648402*^9, {3.604832204756641*^9, 3.6048322370194864`*^9}, {3.6048323009971457`*^9, 3.6048323322529335`*^9}, {3.604832432387661*^9, 3.6048324340227547`*^9}, 3.6048326128329816`*^9, {3.6048327107365813`*^9, 3.6048327499338236`*^9}, { 3.6048328141184945`*^9, 3.604832848025434*^9}, {3.6048330757924614`*^9, 3.6048331022649755`*^9}, {3.6048331841566596`*^9, 3.604833188834927*^9}, { 3.6048332496734066`*^9, 3.604833266654378*^9}, {3.60483333207312*^9, 3.604833334335249*^9}, {3.6048346664464417`*^9, 3.60483470522966*^9}, { 3.6048353053979874`*^9, 3.6048353685586004`*^9}, {3.6048354135121717`*^9, 3.6048354509223113`*^9}, {3.604836478989113*^9, 3.6048365017834167`*^9}, { 3.6048365740515504`*^9, 3.604836574183558*^9}, {3.60483663471502*^9, 3.604836663748681*^9}, {3.6048367120364428`*^9, 3.6048367515327015`*^9}, { 3.6048368473431816`*^9, 3.6048368486142545`*^9}, {3.6048370005109425`*^9, 3.6048370350459175`*^9}, 3.60483729471577*^9, {3.6048377492767696`*^9, 3.6048377499598083`*^9}, {3.6048378011727376`*^9, 3.604837817021644*^9}, { 3.604838089187211*^9, 3.6048381327927055`*^9}, 3.604838230828313*^9, { 3.6048382757568827`*^9, 3.6048382765919304`*^9}, {3.604838399919984*^9, 3.60483842100519*^9}, {3.604838484856842*^9, 3.6048385339256487`*^9}, { 3.6048385664165072`*^9, 3.60483870195426*^9}, {3.6048387483229113`*^9, 3.6048387993208284`*^9}, {3.604838838121048*^9, 3.604838868488785*^9}, { 3.604839136615121*^9, 3.6048392363868275`*^9}, {3.604839272539895*^9, 3.6048392760280943`*^9}, {3.6048393068288565`*^9, 3.60483930776591*^9}, { 3.604839349855317*^9, 3.6048394709822454`*^9}, {3.6048395041711435`*^9, 3.604839637818788*^9}, {3.6048398329639497`*^9, 3.6048398333659725`*^9}, { 3.6048398650307837`*^9, 3.6048398936314197`*^9}, {3.604839959885209*^9, 3.6048400961850047`*^9}, {3.60484021114158*^9, 3.6048402166578956`*^9}, { 3.6048406865267706`*^9, 3.6048407942259307`*^9}, {3.6048409838907785`*^9, 3.6048409869579544`*^9}, {3.604841044648254*^9, 3.6048410768130937`*^9}, 3.6048413100724354`*^9, {3.6048413485056334`*^9, 3.604841390972062*^9}, { 3.604841574941585*^9, 3.6048415877163153`*^9}, {3.6048416181850586`*^9, 3.604841621443245*^9}, {3.6048416902961826`*^9, 3.6048417005777707`*^9}, { 3.6048421853865004`*^9, 3.6048422613328447`*^9}, {3.6048422917725854`*^9, 3.6048422947677565`*^9}, 3.6048423778045063`*^9, {3.604842976824768*^9, 3.6048429854852633`*^9}, {3.604843390009401*^9, 3.604843409017488*^9}, { 3.604843468263877*^9, 3.6048434793785124`*^9}, {3.604843514024494*^9, 3.6048435145025215`*^9}, {3.604843765231862*^9, 3.6048437661259136`*^9}, { 3.6048440915815287`*^9, 3.60484410908753*^9}, {3.6048441947184277`*^9, 3.604844194916439*^9}, {3.604844286405672*^9, 3.604844292462018*^9}, { 3.6048444724993157`*^9, 3.6048445893449993`*^9}, {3.6048447907095165`*^9, 3.6048448036792583`*^9}, 3.6048448720611696`*^9, {3.60484498816181*^9, 3.6048450393627386`*^9}, {3.6048450940018635`*^9, 3.604845135269224*^9}, { 3.604845461657892*^9, 3.6048455542041855`*^9}, {3.6048455880291204`*^9, 3.604845594397485*^9}, {3.604845750321403*^9, 3.604845764199197*^9}, { 3.604845817842265*^9, 3.604845847544964*^9}, 3.604898858353567*^9, { 3.6048996659440804`*^9, 3.604899689968454*^9}, {3.604899731174811*^9, 3.604899742736472*^9}, 3.6048997988636827`*^9, {3.6048998382509356`*^9, 3.604899841063096*^9}, {3.604899894245138*^9, 3.6049000855670815`*^9}, { 3.604900159064285*^9, 3.604900159726323*^9}, {3.6049002036408343`*^9, 3.604900208086089*^9}, {3.604900245440225*^9, 3.6049002604870863`*^9}, 3.6049008803485403`*^9, {3.604901237939993*^9, 3.604901279094347*^9}, { 3.6049013985001764`*^9, 3.604901460122701*^9}, {3.604901499320943*^9, 3.604901522211252*^9}, {3.60490168197239*^9, 3.6049017091939473`*^9}, { 3.6049017432248936`*^9, 3.604901758045741*^9}, {3.6049018096876955`*^9, 3.604901812145836*^9}, {3.604901895923628*^9, 3.604902106580676*^9}, { 3.604902228171631*^9, 3.6049023024238777`*^9}, {3.604902555652362*^9, 3.604902558297513*^9}, {3.6049025922544556`*^9, 3.6049025946685934`*^9}, { 3.604902689334008*^9, 3.604902749699461*^9}, {3.604903420147808*^9, 3.6049034772000713`*^9}, {3.604903626239596*^9, 3.604903727625395*^9}, { 3.6049037626363974`*^9, 3.604903774536078*^9}, {3.6049038200386806`*^9, 3.6049038417299213`*^9}, {3.604904151809657*^9, 3.6049041848635473`*^9}, { 3.6049042278960085`*^9, 3.6049042310601892`*^9}, {3.604904423990225*^9, 3.6049044497887*^9}, {3.604904608941803*^9, 3.6049046839650946`*^9}, { 3.6049048604781904`*^9, 3.604904944539998*^9}, {3.6049049905066276`*^9, 3.60490499369281*^9}, {3.604905407857499*^9, 3.604905434868044*^9}, { 3.604905518693838*^9, 3.6049055932671037`*^9}, {3.6049056360165486`*^9, 3.604905714469036*^9}, {3.604905850309806*^9, 3.6049058648896394`*^9}, { 3.604905957637944*^9, 3.6049060264618807`*^9}, {3.6049060666691804`*^9, 3.604906101384166*^9}, {3.6049061361831565`*^9, 3.6049061951365285`*^9}, { 3.6049062626763916`*^9, 3.6049065255364265`*^9}, {3.604907272710162*^9, 3.604907282571726*^9}, {3.604907696889424*^9, 3.604907701261674*^9}, 3.604908010886383*^9, 3.6049082161021214`*^9, {3.604908271130268*^9, 3.6049082769226*^9}, 3.604908440689967*^9, {3.6049088487143044`*^9, 3.604908878085984*^9}, {3.604917936888447*^9, 3.6049179401384516`*^9}, { 3.6049181749687805`*^9, 3.604918206208824*^9}, {3.6049183642520456`*^9, 3.604918368922052*^9}, {3.604918406498329*^9, 3.604918463378409*^9}, { 3.604918498368458*^9, 3.6049185045384665`*^9}, {3.6049186834587173`*^9, 3.6049187292987814`*^9}, 3.604918839258935*^9, {3.60491897859913*^9, 3.6049189840991383`*^9}, {3.60491911413932*^9, 3.6049192010004416`*^9}, { 3.604919265631532*^9, 3.604919307684817*^9}, {3.6049196124852433`*^9, 3.604919690005352*^9}, {3.60491977429547*^9, 3.604919846495571*^9}, { 3.6049199790157566`*^9, 3.604920019725814*^9}, {3.604920053545861*^9, 3.6049200732358885`*^9}, {3.6049201402479825`*^9, 3.6049202136111965`*^9}, 3.6049202597712617`*^9, {3.6049203371713696`*^9, 3.604920349651387*^9}, { 3.604920420011486*^9, 3.6049204498015275`*^9}, {3.6049204980515947`*^9, 3.604920503571603*^9}, {3.604920572611699*^9, 3.6049206111917534`*^9}, { 3.604920653721813*^9, 3.6049207997620173`*^9}, {3.6049221746876183`*^9, 3.6049222377977066`*^9}, {3.6049222793777647`*^9, 3.6049222849377728`*^9}, {3.604922362357881*^9, 3.6049225499781437`*^9}, { 3.604922685653371*^9, 3.6049227268834286`*^9}, {3.604924709310458*^9, 3.6049247412505026`*^9}, {3.6049247737105484`*^9, 3.6049247843705635`*^9}, {3.6049248150216064`*^9, 3.6049248945417175`*^9}, 3.604924984231843*^9, {3.604925031521909*^9, 3.6049250752419705`*^9}, { 3.604925206112154*^9, 3.604925263472234*^9}, 3.604925325402321*^9, { 3.6049254074624357`*^9, 3.604925455942504*^9}, {3.6049256126819487`*^9, 3.60492577781318*^9}, {3.60492592067338*^9, 3.6049259437634125`*^9}, { 3.6049259773834596`*^9, 3.60492602735353*^9}, {3.6049260887936153`*^9, 3.6049261251536665`*^9}, {3.60492631332393*^9, 3.6049263622139983`*^9}, { 3.604926404624058*^9, 3.6049264213240814`*^9}, {3.6049264767151585`*^9, 3.6049265387864704`*^9}, {3.604926600616557*^9, 3.6049267022376995`*^9}, { 3.604926778437806*^9, 3.604926792057825*^9}, {3.604926981958091*^9, 3.6049270536081915`*^9}, {3.604927103938262*^9, 3.604927104188262*^9}, { 3.6049271657983484`*^9, 3.604927171078356*^9}, {3.6049272350384455`*^9, 3.604927269788494*^9}, {3.604927301588538*^9, 3.604927434544836*^9}, { 3.6049274925449176`*^9, 3.6049276461061325`*^9}, {3.6049276972162046`*^9, 3.604927720506237*^9}, {3.6049277994563475`*^9, 3.6049278916164775`*^9}, { 3.604927924856524*^9, 3.6049279261165257`*^9}, {3.6049280407766867`*^9, 3.604928058516711*^9}, {3.6049290396141977`*^9, 3.6049290587942247`*^9}, 3.6049291249473186`*^9, {3.604929307898913*^9, 3.604929309518915*^9}, 3.604929386500023*^9, {3.6049294371600943`*^9, 3.6049294556901197`*^9}, { 3.604929586620303*^9, 3.6049296128403397`*^9}, 3.604929643440383*^9, { 3.604929768530558*^9, 3.6049299140307617`*^9}, 3.604930154669323*^9, { 3.6049302171594105`*^9, 3.6049302224794183`*^9}, {3.6049302715104866`*^9, 3.6049302991705256`*^9}, {3.604930345910591*^9, 3.604930451500739*^9}, { 3.6049304920907955`*^9, 3.60493055237088*^9}, {3.6049305934609375`*^9, 3.6049305979809437`*^9}, {3.604930635760997*^9, 3.6049306996810865`*^9}, { 3.604930732791133*^9, 3.6049307726911883`*^9}, {3.6049308220212574`*^9, 3.6049308388822813`*^9}, {3.6049308883823504`*^9, 3.6049309212423964`*^9}, {3.6049316449715223`*^9, 3.604931648451527*^9}, 3.604931722791631*^9, {3.6049318431528*^9, 3.604931891272867*^9}, { 3.6049319439080524`*^9, 3.6049319447380543`*^9}, {3.604932048348199*^9, 3.6049321177792964`*^9}, {3.6049321623493586`*^9, 3.6049322343694596`*^9}, {3.604932543949893*^9, 3.6049326025099745`*^9}, { 3.60493274187217*^9, 3.6049328095364914`*^9}, {3.604932896396613*^9, 3.6049329438366795`*^9}, {3.6049330220377884`*^9, 3.6049330398778133`*^9}, {3.604933096437893*^9, 3.6049331392979527`*^9}, { 3.6049332043380437`*^9, 3.604933213738057*^9}, {3.604933262888126*^9, 3.60493329467817*^9}, {3.6049333984883156`*^9, 3.604933441328376*^9}, { 3.604933528688498*^9, 3.6049335300485*^9}, {3.6049338364599285`*^9, 3.6049338784009876`*^9}, {3.6049339941511497`*^9, 3.604934075271263*^9}, { 3.604934323661611*^9, 3.604934336011628*^9}, {3.604934375271683*^9, 3.6049343793916893`*^9}, {3.6049344498017874`*^9, 3.604934489082843*^9}, { 3.6049345216828885`*^9, 3.604934590912985*^9}, {3.6049347464693146`*^9, 3.604934776550357*^9}, {3.6049349183805556`*^9, 3.604934927030568*^9}, { 3.6049350141306896`*^9, 3.604935018110695*^9}, {3.6049350587507524`*^9, 3.6049350701607685`*^9}, {3.604935103350815*^9, 3.6049352703310485`*^9}, { 3.604935474292334*^9, 3.6049355002364817`*^9}, {3.60493556299657*^9, 3.604935573946585*^9}, {3.6049357488878307`*^9, 3.6049357921678905`*^9}, { 3.60493604866825*^9, 3.6049360660782747`*^9}, {3.604936145648386*^9, 3.6049361470783877`*^9}, {3.6049363255006375`*^9, 3.60493634150066*^9}, 3.604982190560953*^9, {3.604983077356534*^9, 3.604983100916567*^9}, { 3.604983168056661*^9, 3.6049831981577034`*^9}, {3.604983232938752*^9, 3.604983247818773*^9}, 3.604983282568822*^9, {3.604983325728882*^9, 3.6049833592689285`*^9}, {3.6049834477790527`*^9, 3.604983476949094*^9}, { 3.604983507809137*^9, 3.6049835700692244`*^9}, {3.604983602389269*^9, 3.604983604059272*^9}, {3.6049836798493776`*^9, 3.6049837263494425`*^9}, 3.604983821667367*^9, {3.604983880288449*^9, 3.604983889298462*^9}, { 3.604983947279543*^9, 3.6049840485596848`*^9}, {3.604984099509756*^9, 3.6049841918118863`*^9}, {3.604984244901961*^9, 3.6049842933420286`*^9}, { 3.6049843383220916`*^9, 3.604984422242209*^9}, {3.604984478542288*^9, 3.6049844808822913`*^9}, {3.604984543043378*^9, 3.6049845631634064`*^9}, { 3.604984743874074*^9, 3.6049847694415364`*^9}, {3.6049848342252417`*^9, 3.604984886759247*^9}, 3.6049849364570894`*^9, {3.604984966999836*^9, 3.6049851780969105`*^9}, {3.604985271441249*^9, 3.6049852777076073`*^9}, 3.604985334487855*^9, 3.604985438704816*^9, {3.6049855842781425`*^9, 3.6049857067971497`*^9}, {3.6049857463314114`*^9, 3.6049857708168116`*^9}, {3.604985824332873*^9, 3.6049858292931566`*^9}, { 3.6049858857703867`*^9, 3.604985894759901*^9}, {3.6049860038001375`*^9, 3.6049860041061554`*^9}, {3.6049861392048826`*^9, 3.6049861641753106`*^9}, {3.6049862559585605`*^9, 3.6049863779245367`*^9}, {3.6049864126805243`*^9, 3.6049865530045505`*^9}, {3.6049866015293255`*^9, 3.6049868298273835`*^9}, 3.604986880841302*^9, {3.6049869418477907`*^9, 3.6049869797779603`*^9}, { 3.6049870371962447`*^9, 3.6049870563903427`*^9}, {3.6049872888886404`*^9, 3.604987300546307*^9}, {3.604987370859329*^9, 3.604987383518053*^9}, { 3.604987417764012*^9, 3.6049874406953235`*^9}, {3.6049878340068197`*^9, 3.6049878590112495`*^9}, {3.6049883171134515`*^9, 3.6049883504223566`*^9}, {3.6049883896626015`*^9, 3.604988422479478*^9}, { 3.6049884845870304`*^9, 3.604988531594719*^9}, {3.604988587181899*^9, 3.604988587939942*^9}, {3.6049886417720213`*^9, 3.604988777498784*^9}, { 3.6049890202866707`*^9, 3.604989027041057*^9}, 3.604989311601333*^9, { 3.6049893776091084`*^9, 3.6049895178391294`*^9}, {3.6049895992627864`*^9, 3.604989604839105*^9}, {3.6049896497636747`*^9, 3.6049896707008724`*^9}, { 3.6049898964857864`*^9, 3.604989900376009*^9}, {3.6049903073102846`*^9, 3.6049903572641416`*^9}, {3.604990554378416*^9, 3.604990556567541*^9}, { 3.604990586937278*^9, 3.6049906223003006`*^9}, {3.6049909311459656`*^9, 3.604990948212942*^9}, {3.60499113472861*^9, 3.604991146060258*^9}, { 3.6049922736357517`*^9, 3.6049923614797764`*^9}, {3.604992393459605*^9, 3.6049924556811643`*^9}, {3.6049924976755657`*^9, 3.6049925273672647`*^9}, {3.6049928596052675`*^9, 3.604992887763878*^9}, { 3.6049930538883796`*^9, 3.604993081433955*^9}, {3.6049931180280485`*^9, 3.604993119966159*^9}, {3.604993204009966*^9, 3.604993204674004*^9}, { 3.6049932379759088`*^9, 3.6049933216286936`*^9}, {3.604993577162309*^9, 3.6049935799804707`*^9}, 3.6049947786600313`*^9, {3.605000755813905*^9, 3.6050007630233173`*^9}, {3.605000865321168*^9, 3.6050009425825872`*^9}, 3.6050011106432*^9, {3.605001158406932*^9, 3.6050011737578096`*^9}, { 3.6050012155311985`*^9, 3.60500122412269*^9}, {3.6050014105873556`*^9, 3.605001471139819*^9}, {3.605001799271587*^9, 3.605001917960376*^9}, { 3.6050020719511833`*^9, 3.6050021313085785`*^9}, {3.6050022041797466`*^9, 3.6050022435960007`*^9}, {3.6050023228075314`*^9, 3.605002368257131*^9}, { 3.6050024015340347`*^9, 3.60500255006853*^9}, {3.6050025887447424`*^9, 3.605002632609251*^9}, {3.6050027051524005`*^9, 3.605002745201691*^9}, { 3.6050028294325085`*^9, 3.605002906693928*^9}, {3.6050029520545225`*^9, 3.6050029626761303`*^9}, {3.605003183357752*^9, 3.6050032323815565`*^9}, { 3.605003283869501*^9, 3.605003417302133*^9}, {3.6050034644648304`*^9, 3.605003498249763*^9}, {3.6050035326277294`*^9, 3.605003535553897*^9}, { 3.6050035798534307`*^9, 3.605003582973609*^9}, {3.6050036200387287`*^9, 3.6050036223158593`*^9}, {3.6050036589419537`*^9, 3.605003661445097*^9}, { 3.6050037997470074`*^9, 3.605003808391502*^9}, {3.6050038710320845`*^9, 3.60500389297434*^9}, {3.605004143497669*^9, 3.6050042937262616`*^9}, { 3.6050043264391327`*^9, 3.605004361499138*^9}, {3.605004941832331*^9, 3.6050049681278353`*^9}, {3.605004998443569*^9, 3.6050050202008133`*^9}, { 3.605005063415285*^9, 3.605005063588295*^9}, {3.6050051951698213`*^9, 3.605005203853318*^9}, {3.6050052755684195`*^9, 3.60500528117074*^9}, { 3.6050053252582617`*^9, 3.60500533501882*^9}, {3.6050053700618243`*^9, 3.6050053833695855`*^9}, {3.605005445056114*^9, 3.6050054889126225`*^9}, 3.605005576093609*^9, 3.6050058960329084`*^9, {3.605006397421586*^9, 3.6050064904099045`*^9}, {3.6050066081726403`*^9, 3.6050067285655265`*^9}, {3.605006852322605*^9, 3.6050068947050295`*^9}, { 3.605006933732261*^9, 3.605006949239148*^9}, {3.605007036435136*^9, 3.6050070695980325`*^9}, {3.605007162599352*^9, 3.6050072141142983`*^9}, { 3.605007359305603*^9, 3.6050073602116547`*^9}, {3.605007775048382*^9, 3.605007781105728*^9}, {3.605008002581396*^9, 3.605008031954076*^9}, { 3.605008069345215*^9, 3.605008069713236*^9}, {3.605008108894477*^9, 3.605008118408021*^9}, {3.6050082425811234`*^9, 3.6050082952531357`*^9}, { 3.6050083641870785`*^9, 3.6050083776988516`*^9}, {3.6050085742260923`*^9, 3.6050085808524714`*^9}, {3.605008665410308*^9, 3.605008666179352*^9}, { 3.6050087114039383`*^9, 3.6050087714093704`*^9}, {3.605077629084798*^9, 3.6050776681440315`*^9}, {3.605077845359168*^9, 3.605077876936974*^9}, { 3.605078246059087*^9, 3.605078260337903*^9}, {3.605078414417716*^9, 3.6050784355559254`*^9}, 3.605078485626789*^9, 3.6050785411639657`*^9, { 3.6050786421737432`*^9, 3.605078679604884*^9}, {3.605079911231329*^9, 3.605079916880652*^9}, 3.6050799494085126`*^9, {3.605079987019664*^9, 3.6050799883147383`*^9}, {3.605080133593047*^9, 3.6050801746633964`*^9}, { 3.605080316359501*^9, 3.605080318373616*^9}, {3.6050805877330227`*^9, 3.6050805996647053`*^9}, {3.605080638610933*^9, 3.6050806559359236`*^9}, { 3.60508140469175*^9, 3.605081416262412*^9}, {3.605081540121496*^9, 3.60508158529608*^9}, {3.605082589951543*^9, 3.605082615543007*^9}, { 3.6050827164827805`*^9, 3.6050827459044633`*^9}, {3.6050828000025573`*^9, 3.6050828164925003`*^9}, {3.6050828962960653`*^9, 3.6050829170042496`*^9}, {3.605083103881938*^9, 3.6050832410637846`*^9}, { 3.605083359710571*^9, 3.605083400823922*^9}, 3.605083433545794*^9, { 3.6050834801854615`*^9, 3.6050835214428215`*^9}, {3.6050836354743433`*^9, 3.6050836617528467`*^9}, {3.6050837044472885`*^9, 3.6050837196891603`*^9}, {3.6050837611435313`*^9, 3.6050838515677032`*^9}, {3.6050838969062967`*^9, 3.6050839091759987`*^9}, {3.6050840306529465`*^9, 3.605084059222581*^9}, { 3.605084313331115*^9, 3.605084488766149*^9}, {3.60508742797095*^9, 3.605087448100978*^9}, {3.6050877522164197`*^9, 3.6050877663164396`*^9}, { 3.6050878256865225`*^9, 3.6050878708465858`*^9}, {3.6050881219521666`*^9, 3.6050881851042557`*^9}, {3.605088246754342*^9, 3.6050883777055254`*^9}, { 3.6050894073057303`*^9, 3.6050894116857367`*^9}, {3.605089586657984*^9, 3.6050896106380177`*^9}, {3.6050896502880726`*^9, 3.6050896524680758`*^9}, {3.6050896957291365`*^9, 3.6050897222291737`*^9}, {3.605091431617035*^9, 3.6050914511870623`*^9}, { 3.6050916812036095`*^9, 3.605091682773611*^9}, 3.605091873674879*^9, { 3.6050919048349223`*^9, 3.605091915034937*^9}, {3.6050920048370643`*^9, 3.6050920350771065`*^9}, {3.605092235948388*^9, 3.605092236988389*^9}, { 3.6050925618628464`*^9, 3.605092590310111*^9}, {3.605264111754253*^9, 3.60526411414739*^9}, {3.6052643447315784`*^9, 3.60526436014746*^9}, { 3.605264492273017*^9, 3.605264510795077*^9}, 3.605265467333788*^9, { 3.605265525226099*^9, 3.6052655498685083`*^9}, {3.605265591104867*^9, 3.6052655913598814`*^9}, {3.6052660289939127`*^9, 3.6052660449658265`*^9}, {3.6052662211219015`*^9, 3.6052662236340456`*^9}, 3.6052664784546204`*^9, {3.605266554163951*^9, 3.6052665738620777`*^9}, 3.605266862697598*^9, {3.605267133607093*^9, 3.6052671376723256`*^9}, { 3.6052671897053013`*^9, 3.6052672803164845`*^9}, {3.6052673377187676`*^9, 3.6052673781740813`*^9}, {3.605267435639368*^9, 3.6052674847241755`*^9}, { 3.6052675186231146`*^9, 3.605267527143602*^9}, {3.6052677942618804`*^9, 3.605267795111929*^9}, {3.6052678360272694`*^9, 3.6052679059542685`*^9}, { 3.6052680024127855`*^9, 3.6052680067230325`*^9}, {3.605268217384082*^9, 3.6052684382027116`*^9}, {3.6052685667270627`*^9, 3.6052685685301657`*^9}, {3.605268635892019*^9, 3.6052686768133593`*^9}, { 3.605268720609864*^9, 3.6052687813213367`*^9}, {3.605268813497177*^9, 3.6052688622729673`*^9}, {3.605268992169397*^9, 3.605268995932612*^9}, { 3.605269247580005*^9, 3.605269251301218*^9}, {3.6052694120374117`*^9, 3.605269456745969*^9}, {3.6052695590528207`*^9, 3.605269564686143*^9}, { 3.6052696262496643`*^9, 3.6052696646548605`*^9}, 3.605270874957086*^9, { 3.6052713559805984`*^9, 3.6052713570056577`*^9}, {3.605273688262998*^9, 3.6052736999336653`*^9}, {3.6052737406349936`*^9, 3.6052738999611063`*^9}, {3.605274061448343*^9, 3.6052740848966837`*^9}, { 3.6052741386707597`*^9, 3.6052741393798003`*^9}, {3.605274223209595*^9, 3.6052742424036927`*^9}, {3.6052742778517203`*^9, 3.6052743434044695`*^9}, 3.605274389227091*^9, {3.6052744207308927`*^9, 3.6052744356097436`*^9}, 3.6052744754480224`*^9, 3.6052745058057585`*^9, {3.6052745739556565`*^9, 3.6052745771188374`*^9}, {3.605330248192026*^9, 3.6053302712673464`*^9}, { 3.6053305006684675`*^9, 3.6053305236837835`*^9}, {3.6053308356956296`*^9, 3.6053309576226034`*^9}, {3.605330989288415*^9, 3.60533099531876*^9}, 3.6053314076823454`*^9, 3.605331470051913*^9, {3.6053317183421144`*^9, 3.6053317194061747`*^9}, {3.6053317593804617`*^9, 3.6053318000067854`*^9}, {3.6053326687834764`*^9, 3.605332726578782*^9}, { 3.605332762259823*^9, 3.605332769504237*^9}, {3.6053330234687634`*^9, 3.605333060965908*^9}, {3.6053332177468753`*^9, 3.605333220036006*^9}, { 3.6053334802578897`*^9, 3.6053334884333577`*^9}, {3.6053335193631268`*^9, 3.6053335537540936`*^9}, {3.605333583865816*^9, 3.605333587353016*^9}, { 3.605333620515912*^9, 3.6053336511466646`*^9}, {3.6053338855500717`*^9, 3.6053339500537605`*^9}, {3.605334028770263*^9, 3.6053340390478506`*^9}, { 3.6053344038457165`*^9, 3.605334414485325*^9}, 3.6053344503053737`*^9, { 3.6053345042364583`*^9, 3.605334523969587*^9}, {3.605334591039423*^9, 3.605334605623257*^9}, {3.6053347273162174`*^9, 3.6053348058347087`*^9}, { 3.6053348390676093`*^9, 3.60533488838243*^9}, {3.605334920150247*^9, 3.605334963230711*^9}, {3.6053352354292803`*^9, 3.6053352412396126`*^9}, { 3.605335624744548*^9, 3.605335628863783*^9}, {3.6053357133316145`*^9, 3.6053357226601477`*^9}, 3.605335758509198*^9, {3.6053358018676786`*^9, 3.605335803174753*^9}, {3.605335833490487*^9, 3.6053358666103816`*^9}, { 3.60533590505558*^9, 3.6053359750115814`*^9}, {3.605336045231598*^9, 3.605336116162655*^9}, {3.6053361854026155`*^9, 3.6053361886317997`*^9}, { 3.6053364153687687`*^9, 3.6053364223361673`*^9}, {3.6053465941999645`*^9, 3.605346605931636*^9}, {3.605347856808182*^9, 3.6053479277452393`*^9}, { 3.6053480457829905`*^9, 3.605348082176072*^9}, {3.6053481851239605`*^9, 3.6053483447930927`*^9}, {3.6053483908047247`*^9, 3.605348519856106*^9}, { 3.6053485527749887`*^9, 3.605348717051385*^9}, {3.6053487731875954`*^9, 3.6053489250932837`*^9}, {3.6053547367486916`*^9, 3.6053547421480007`*^9}, 3.6053549794565735`*^9, {3.605361176000996*^9, 3.605361177205065*^9}, { 3.60536992639849*^9, 3.6053700060470457`*^9}, {3.605370045198285*^9, 3.6053700635823364`*^9}, {3.6054400520682287`*^9, 3.605440074913535*^9}, { 3.605440130057689*^9, 3.6054401462046127`*^9}, {3.605440203111868*^9, 3.6054402760320387`*^9}, {3.6054404283827524`*^9, 3.6054404584994745`*^9}, {3.60544052066403*^9, 3.60544054844862*^9}, { 3.6054405804684515`*^9, 3.6054406775270023`*^9}, {3.6054476016520395`*^9, 3.6054476382061305`*^9}, {3.6054477288413143`*^9, 3.6054477642413397`*^9}, {3.605447821554618*^9, 3.605447823078705*^9}, { 3.6054478586927414`*^9, 3.6054479239724755`*^9}, {3.605447959738521*^9, 3.6054479897382374`*^9}, {3.6054480354028487`*^9, 3.6054480688707633`*^9}, {3.6054481629111423`*^9, 3.605448190094697*^9}, 3.605448229379944*^9, {3.605448282358974*^9, 3.6054483813666368`*^9}, { 3.6054484284063272`*^9, 3.605448667207986*^9}, {3.6054487141986737`*^9, 3.605448921377524*^9}, {3.6054489964118156`*^9, 3.605449001717119*^9}, { 3.605449034703006*^9, 3.605449071252096*^9}, {3.6054492648061666`*^9, 3.6054492666742735`*^9}, 3.6054989375325346`*^9, {3.60550063088424*^9, 3.6055006546566*^9}, {3.6055007920804605`*^9, 3.6055008460245457`*^9}, { 3.6055008790084324`*^9, 3.6055009114822893`*^9}, {3.605501075951697*^9, 3.605501161295578*^9}, {3.6055012050310793`*^9, 3.6055014200283766`*^9}, { 3.6055019222231007`*^9, 3.605501974439087*^9}, {3.60550202781114*^9, 3.605502080344145*^9}, {3.605502114492098*^9, 3.6055021280508733`*^9}, { 3.605505960575081*^9, 3.605505961814152*^9}, {3.6055060433098135`*^9, 3.605506053546399*^9}, {3.6055061146628942`*^9, 3.605506153680126*^9}, { 3.605506194617468*^9, 3.6055062171827583`*^9}, {3.6055169675396433`*^9, 3.6055170548536377`*^9}, {3.6120662612044735`*^9, 3.6120662615632744`*^9}}], Cell[BoxData[ RowBox[{ StyleBox[ RowBox[{"(*", " ", RowBox[{"Try", " ", "this", " ", "for", " ", "example"}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"g", "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", " ", RowBox[{"-", "1"}], ",", " ", "0"}], "}"}], ",", " ", RowBox[{"{", RowBox[{"0", ",", " ", "1", ",", " ", "1.84127"}], "}"}], ",", " ", RowBox[{"{", RowBox[{ RowBox[{"-", "1"}], ",", " ", "0", ",", " ", "1.84127"}], "}"}]}], "}"}]}], ";"}], " ", StyleBox[ RowBox[{"(*", " ", RowBox[{ "The", " ", "three", " ", "reciproc", " ", "lattice", " ", "vectors", " ", RowBox[{"(", RowBox[{"for", " ", "white", " ", "Tin"}], ")"}]}], " ", "*)"}], FontWeight->"Plain"], "\n", RowBox[{ RowBox[{"csn", " ", "=", " ", RowBox[{"{", RowBox[{"0", ",", " ", "1", ",", " ", "0"}], "}"}]}], ";", " ", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"Normal", " ", "vector", " ", "to", " ", "the", " ", "cross"}], "-", "section"}], " ", "*)"}], FontWeight->"Plain"], "\n", RowBox[{"csx", " ", "=", " ", RowBox[{"{", RowBox[{"1", ",", "0", ",", " ", "0"}], "}"}]}], ";", " ", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"Axis", " ", "x", " ", "of", " ", "the", " ", "cross"}], "-", "section"}], " ", "*)"}], FontWeight->"Plain"], "\n", RowBox[{"csl", " ", "=", " ", RowBox[{"{", RowBox[{"1.5", ",", "1"}], "}"}]}], ";", " ", StyleBox[ RowBox[{"(*", " ", RowBox[{"Cross", "-", RowBox[{"section", " ", "limits", " ", "in", " ", "x", " ", "and", " ", RowBox[{"y", ":", " ", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], ",", RowBox[{ "csl", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}]}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], ",", RowBox[{ "csl", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}]}], "}"}]}], "}"}]}]}]}], " ", "*)"}], FontWeight->"Plain"], "\n", RowBox[{"neworigin", " ", "=", " ", RowBox[{"{", RowBox[{"1.5", ",", "1", ",", "0"}], "}"}]}], ";", " ", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{ "A", " ", "new", " ", "origin", " ", "of", " ", "the", " ", "plot"}], ",", " ", RowBox[{"instead", " ", "of", " ", "\[CapitalGamma]"}]}], " ", "*)"}], FontWeight->"Plain"], "\n", "\n", StyleBox[ RowBox[{"(*", " ", RowBox[{ "Input", " ", "parameters", " ", "and", " ", "optional", " ", "arguments", " ", "with", " ", "their", " ", "default", " ", "value", " ", RowBox[{ RowBox[{"(", RowBox[{"except", " ", "for", " ", "the", " ", "origin"}], ")"}], "."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"myBZ", "[", RowBox[{"g", ",", " ", "csn", ",", " ", "csx", ",", " ", "csl", ",", " ", RowBox[{"origin", "\[Rule]", "neworigin"}], ",", " ", RowBox[{"join", "\[Rule]", RowBox[{"{", "}"}]}], ",", " ", RowBox[{"print", "\[Rule]", "True"}], ",", RowBox[{"kPoints", "\[Rule]", "True"}], ",", " ", RowBox[{"opacity", "\[Rule]", RowBox[{"-", "1"}]}], ",", " ", RowBox[{"resolution", "\[Rule]", "0.01"}], ",", " ", RowBox[{"hight", "\[Rule]", "350"}], ",", " ", RowBox[{"colors", "\[Rule]", "\"\\""}], ",", " ", RowBox[{"normLimit", "\[Rule]", RowBox[{"10", "$MachineEpsilon"}]}]}], "]"}]}]}]}]], "Input", CellChangeTimes->{{3.6054308015991316`*^9, 3.6054308867200003`*^9}, { 3.6054310051287727`*^9, 3.6054310216497183`*^9}, {3.6054311016412935`*^9, 3.6054311227485003`*^9}, {3.6054311671050377`*^9, 3.6054312041771584`*^9}, { 3.6054314622659197`*^9, 3.605431484964218*^9}, {3.605449445767517*^9, 3.605449464544591*^9}, {3.6120645287418613`*^9, 3.6120646033099923`*^9}, { 3.6120661155148177`*^9, 3.612066115842418*^9}}], Cell[TextData[{ StyleBox["\nBrillouin Zone Plotter", FontWeight->"Bold"], "\n\nOptional arguments:\n origin \[Rule] can be any point in k-space, but \ it is the \[CapitalGamma] point by default.\n join \[Rule] some other \ graphics to overlay the BZs. (If not specified otherwise, the opacity is 0.5 \ with a joined figure and 1 without that.)\n print \[Rule] the important \ parameters of the plot or not.\n kPoints \[Rule] plots the equivalent, \ in-plane \[CapitalGamma]-points in the figure with green.\n opacity \[Rule] \ of the plot. (If not specified otherwise, the opacity is 0.5 with a joined \ figure and 1 without that.)\n resolution \[Rule] of the k-point sampling in \ both directions within the plane.\n hight \[Rule] is the hight of the \ figure in pixels.\n colors \[Rule] define the colorscheme of the plot. For \ colorschemes, see the ", StyleBox["Mathematica", FontSlant->"Italic"], " manual.\n normLimit \[Rule] is supposed to be smaller than any number \ and distance that matters in the calculation (<< res), but large compared to \ any possible numerical inaccuracy so that these can be avoided. It is used at \ various places independently, and its value could be adjusted separately too, \ if needed.\n\nIf the plane of the plot coincides with a BZ border, the plot \ is framed with blue or red lines, meaning that the BZ index right under the \ surface is one less or one more respectively. (The Tooltip numbers (and those \ on the colorbar) give the BZI right above the plane.)\n\nThe out-of-plane BZ \ borders appear as lines in the plot. In some cases of high symmetry, several \ lines may coincide. If there is one or more among them, crossing which (when \ coming from the origin) would make the BZI decrease by one, then you see a \ red line. Otherwise the lines are black.\n\nFor technical reasons, Tooltips \ don\[CloseCurlyQuote]t work by default in new sessions of ", StyleBox["Mathematica", FontSlant->"Italic"], ". Some data has to be saved within the cell of the plot and re-loaded in \ the next session. This is taken care of by the script, all you need to do is \ to click on the colorbar whenever you start a new session.\n\nSometimes the \ plots need lots of storage, consider saving them in separate notebook files.\n" }], "Text", CellFrame->{{0, 0}, {3, 0}}, CellChangeTimes->{{3.599653243755994*^9, 3.5996532678722467`*^9}, { 3.5996533325667386`*^9, 3.599653414980171*^9}, {3.599653670777232*^9, 3.599653797483617*^9}, 3.5996538412421894`*^9, {3.6049243821474347`*^9, 3.6049243847674384`*^9}, {3.605370483740368*^9, 3.605370485469467*^9}, { 3.6054289089938807`*^9, 3.605428964906079*^9}, {3.605429020123237*^9, 3.605429632163244*^9}, {3.605429748048872*^9, 3.6054297772685432`*^9}, { 3.6054298106554527`*^9, 3.6054302805183277`*^9}, {3.6054303208456345`*^9, 3.605430337522588*^9}, {3.6054303856093383`*^9, 3.6054306528126216`*^9}, 3.6054306938629694`*^9, {3.605430737915489*^9, 3.6054307619148617`*^9}, { 3.605430914760604*^9, 3.6054309780922265`*^9}, {3.6054310440529995`*^9, 3.6054310454970818`*^9}, {3.6054315344260473`*^9, 3.60543156210363*^9}, { 3.6054494963694115`*^9, 3.6054496261658354`*^9}, {3.612071019131964*^9, 3.6120710201119795`*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"Options", "[", "myRed2Ext", "]"}], "=", RowBox[{"{", RowBox[{"maxRecursion", "\[Rule]", "3"}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"myRed2Ext", "[", RowBox[{"k_", ",", "bzi_", ",", "g_", ",", RowBox[{"OptionsPattern", "[", "]"}]}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", RowBox[{"gx0", ",", RowBox[{"gx0max", "=", RowBox[{"OptionValue", "[", "maxRecursion", "]"}]}], ",", RowBox[{"kSet", "=", RowBox[{"{", "}"}]}], ",", "gx", ",", "gPoints"}], "}"}], ",", "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"gx0", "=", "1"}], ",", RowBox[{"gx0", "\[LessEqual]", "gx0max"}], ",", RowBox[{"gx0", "++"}], ",", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{ "First", " ", "trying", " ", "to", " ", "find", " ", "the", " ", "solution", " ", "close", " ", "to", " ", "the", " ", "\[CapitalGamma]", " ", "point", " ", "and", " ", "later"}], ",", " ", RowBox[{ "we", " ", "progressively", " ", "increase", " ", "the", " ", "scope", " ", "of", " ", "the", " ", RowBox[{"search", "."}]}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{ RowBox[{"kSet", "=", RowBox[{"Complement", "[", RowBox[{ RowBox[{"Flatten", "[", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"k", "+", RowBox[{ RowBox[{"N", "[", RowBox[{"g", "\[Transpose]"}], "]"}], ".", RowBox[{"{", RowBox[{"i", ",", "j", ",", "l"}], "}"}]}]}], ",", RowBox[{"{", RowBox[{"i", ",", RowBox[{"-", "gx0"}], ",", "gx0"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", RowBox[{"-", "gx0"}], ",", "gx0"}], "}"}], ",", RowBox[{"{", RowBox[{"l", ",", RowBox[{"-", "gx0"}], ",", "gx0"}], "}"}]}], "]"}], ",", "2"}], "]"}], ",", "kSet"}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{"The", " ", "new", " ", "k"}], "-", RowBox[{"vectors", " ", "to", " ", "try"}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"gx", "=", RowBox[{"Ceiling", "[", RowBox[{"2", RowBox[{"Max", "[", RowBox[{"Norm", "/@", "kSet"}], "]"}], RowBox[{ RowBox[{"Max", "[", RowBox[{ RowBox[{ RowBox[{"Norm", "[", RowBox[{ RowBox[{"g", "\[LeftDoubleBracket]", RowBox[{ "#", "\[LeftDoubleBracket]", "1", "\[RightDoubleBracket]"}], "\[RightDoubleBracket]"}], "\[Cross]", RowBox[{"g", "\[LeftDoubleBracket]", RowBox[{ "#", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "\[RightDoubleBracket]"}]}], "]"}], "&"}], "/@", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "3"}], "}"}], ",", RowBox[{"{", RowBox[{"2", ",", "3"}], "}"}]}], "}"}]}], "]"}], "/", RowBox[{"Det", "[", "g", "]"}]}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{ "This", " ", "many", " ", "lattice", " ", "points", " ", "are", " ", "needed", " ", "in", " ", "each", " ", "directions", " ", "to", " ", "calculate", " ", "the", " ", "BZ", " ", "index", " ", "for", " ", "all", " ", "the", " ", "vectors", " ", "in", " ", RowBox[{"kSet", "."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{"gPoints", "=", RowBox[{"Complement", "[", RowBox[{ RowBox[{"Flatten", "[", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"N", "[", RowBox[{"g", "\[Transpose]"}], "]"}], ".", RowBox[{"{", RowBox[{"i", ",", "j", ",", "l"}], "}"}]}], ",", RowBox[{"{", RowBox[{"i", ",", RowBox[{"-", "gx"}], ",", "gx"}], "}"}], ",", RowBox[{"{", RowBox[{"j", ",", RowBox[{"-", "gx"}], ",", "gx"}], "}"}], ",", RowBox[{"{", RowBox[{"l", ",", RowBox[{"-", "gx"}], ",", "gx"}], "}"}]}], "]"}], ",", "2"}], "]"}], ",", RowBox[{"{", RowBox[{"{", RowBox[{"0.", ",", "0.", ",", "0."}], "}"}], "}"}]}], "]"}]}], ";", StyleBox[ RowBox[{"(*", " ", RowBox[{ "These", " ", "are", " ", "the", " ", "lattice", " ", "points", " ", "that", " ", "determine", " ", "the", " ", "BZ", " ", RowBox[{"borders", "."}]}], " ", "*)"}], FontWeight->"Plain"], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"Switch", "[", RowBox[{ RowBox[{"Length", "[", "#", "]"}], ",", "\[IndentingNewLine]", "0", ",", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{"gx0", "\[Equal]", "gx0max"}], ",", RowBox[{ RowBox[{"Print", "[", RowBox[{"Text", "[", "\[IndentingNewLine]", RowBox[{"Style", "[", RowBox[{ "\"\\"", ",", "Red", ",", "14"}], "]"}], "]"}], "]"}], ";"}]}], "]"}], ";"}], ",", "\[IndentingNewLine]", "1", ",", RowBox[{ RowBox[{"Return", "[", RowBox[{"#", "\[LeftDoubleBracket]", RowBox[{"1", ",", "1"}], "\[RightDoubleBracket]"}], "]"}], ";"}], ",", "\[IndentingNewLine]", "_", ",", RowBox[{ RowBox[{"Print", "[", RowBox[{ RowBox[{"Text", "[", RowBox[{"Style", "[", RowBox[{ "\"\\"", ",", "Red", ",", "14"}], "]"}], "]"}], ",", "\"\<\\n\>\"", ",", "#"}], "]"}], ";", RowBox[{"Return", "[", "Null", "]"}], ";"}]}], "]"}], ")"}], "&"}], "[", RowBox[{"Select", "[", RowBox[{ RowBox[{"Table", "[", RowBox[{ RowBox[{"{", RowBox[{"kp", ",", RowBox[{"Total", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"UnitStep", "[", RowBox[{"#", ".", RowBox[{"(", RowBox[{"kp", "-", RowBox[{"#", "/", "2"}]}], ")"}]}], "]"}], ")"}], "&"}], "/@", "gPoints"}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"kp", ",", "kSet"}], "}"}]}], "]"}], ",", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ "#", "\[LeftDoubleBracket]", "2", "\[RightDoubleBracket]"}], "\[Equal]", RowBox[{"bzi", "-", "1"}]}], ")"}], "&"}]}], "]"}], "]"}]}]}], "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", StyleBox[ RowBox[{"(*", " ", RowBox[{ RowBox[{ "If", " ", "one", " ", "of", " ", "the", " ", "vectors", " ", "in", " ", "kSet", " ", "has", " ", "the", " ", "right", " ", "BZ", " ", "index"}], ",", " ", RowBox[{ "then", " ", "we", " ", "are", " ", "done", " ", "and", " ", "return", " ", "with", " ", "the", " ", "new", " ", "vector"}], ",", " ", RowBox[{ "otherwise", " ", "we", " ", "go", " ", "on", " ", "with", " ", "the", " ", "search"}], ",", " ", RowBox[{"or", " ", "throw", " ", "an", " ", "error", " ", RowBox[{"message", "."}]}]}], " ", "*)"}], FontWeight->"Plain"]}], "\[IndentingNewLine]"}], "Input", CellChangeTimes->{{3.605510924688012*^9, 3.6055109807952213`*^9}, { 3.605511414224012*^9, 3.6055114590175743`*^9}, {3.605511523435259*^9, 3.605511733579278*^9}, {3.6055117789578733`*^9, 3.605511986338735*^9}, { 3.605512021794763*^9, 3.6055120451380987`*^9}, {3.6055178751475554`*^9, 3.6055179120306654`*^9}, {3.6055179509908934`*^9, 3.6055179542080774`*^9}, {3.605518016788657*^9, 3.6055180376818523`*^9}, { 3.6055181522654057`*^9, 3.6055181870313945`*^9}, {3.605518298214754*^9, 3.60551832123507*^9}, {3.6055183553410215`*^9, 3.6055183622684174`*^9}, { 3.6055183925701504`*^9, 3.605518470592613*^9}, {3.6055206523204007`*^9, 3.605520667876291*^9}, {3.605520983632351*^9, 3.6055210160952077`*^9}, { 3.6055212137295113`*^9, 3.6055212137755146`*^9}, {3.605521328869097*^9, 3.6055213599508753`*^9}, {3.6055214145359974`*^9, 3.605521478004627*^9}, { 3.6055215273764515`*^9, 3.605521550941799*^9}, 3.605521643518094*^9, { 3.6055216789731216`*^9, 3.6055216797861686`*^9}, {3.605521716818287*^9, 3.605521732749198*^9}, {3.605521808681541*^9, 3.6055218126077657`*^9}, { 3.605521872233176*^9, 3.6055218895131645`*^9}, {3.605521931425562*^9, 3.605521937800926*^9}, {3.6055222133466864`*^9, 3.6055222205680995`*^9}, { 3.6055223462422876`*^9, 3.605522389550765*^9}, {3.605522584734929*^9, 3.605522588709156*^9}, {3.6055226344157705`*^9, 3.6055226779152584`*^9}, 3.6055227226878195`*^9, {3.605522855018388*^9, 3.6055228787907476`*^9}, { 3.6055229120546503`*^9, 3.6055229204331293`*^9}, {3.6055232390413527`*^9, 3.6055232399804068`*^9}, {3.6055237082231884`*^9, 3.605523737391857*^9}, { 3.6055254706729946`*^9, 3.6055255096352234`*^9}, {3.605525539862952*^9, 3.6055256875634003`*^9}, {3.605525751689068*^9, 3.6055259942059393`*^9}, { 3.6055902092976217`*^9, 3.60559025571319*^9}, {3.605590297873249*^9, 3.6055903325332975`*^9}, {3.605590372283353*^9, 3.605590397153388*^9}, { 3.6055908521450253`*^9, 3.6055909082351046`*^9}, 3.612065571579057*^9}], Cell["\<\ myRed2Ext[k, bzi, g, maxRecursion \[Rule] 3] transformes the coordinates of \ the vector \[OpenCurlyQuote]k\[CloseCurlyQuote] to the Extended Zone Scheme \ from the Reduced Zone Scheme. \[OpenCurlyQuote]bzi\[CloseCurlyQuote] is the \ Brillouin Zone Index of the point \[OpenCurlyQuote]k\[CloseCurlyQuote] and \ \[OpenCurlyQuote]g\[CloseCurlyQuote] is a matrix composed by the basis \ vectors of the crystal lattice: g={r1,r2,r3}. If you increase the optional \ parameter \[OpenCurlyQuote]maxRecursion\[CloseCurlyQuote], you can find the \ solution even for larger BZ indeces, but at the same time, you get an error \ message later when entering a wrong input.\ \>", "Text", CellFrame->{{0, 0}, {3, 0}}, CellChangeTimes->{{3.6055249591197357`*^9, 3.6055251649965115`*^9}, { 3.605525268425427*^9, 3.605525392423519*^9}, {3.605525426963495*^9, 3.605525443435437*^9}, {3.612064739373431*^9, 3.612064739638632*^9}}] }, WindowSize->{1912, 989}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, FrontEndVersion->"8.0 for Microsoft Windows (64-bit) (October 6, 2011)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[557, 20, 658, 14, 76, "Text"], Cell[1218, 36, 115337, 2357, 1794, "Input"], Cell[116558, 2395, 4530, 117, 192, "Input"], Cell[121091, 2514, 3269, 49, 494, "Text"], Cell[124363, 2565, 11081, 246, 272, "Input"], Cell[135447, 2813, 927, 14, 58, "Text"] } ] *) (* End of internal cache information *)