(* Content-type: application/vnd.wolfram.mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 9.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 157, 7] NotebookDataLength[ 89726, 1831] NotebookOptionsPosition[ 88946, 1799] NotebookOutlinePosition[ 89289, 1814] CellTagsIndexPosition[ 89246, 1811] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["\<\ Test of Error Correction on Spin Chain\ \>", "Title", CellChangeTimes->{{3.6635838107820797`*^9, 3.663583817973772*^9}}], Cell["\<\ Implement a spin chain of length 15 that performs perfect transfer. Encode a \ random qubit state in an error correcting code for up to 2 X errors and 1 Z \ error. Do the evolution, and then perform the error correction & decoding. \ Verify that the output is always the same as the input.\ \>", "Text", CellChangeTimes->{{3.6635838279579*^9, 3.663583910888563*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{"basic", " ", "parameters", " ", "of", " ", "simulation"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Xcode", "=", "5"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Zcode", "=", "3"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"BlockLength", "=", RowBox[{"Xcode", " ", "Zcode"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ChainLength", "=", "BlockLength"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"basis", "=", RowBox[{"Append", "[", RowBox[{ RowBox[{"Permutations", "[", RowBox[{"PadRight", "[", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", "BlockLength"}], "]"}], "]"}], ",", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", "BlockLength", "}"}]}], "]"}]}], "]"}]}], ";"}], " ", RowBox[{"(*", RowBox[{"X", " ", "syndromes"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"basis2", "=", RowBox[{"Append", "[", RowBox[{ RowBox[{"Permutations", "[", RowBox[{"PadRight", "[", RowBox[{ RowBox[{"{", "1", "}"}], ",", "Zcode"}], "]"}], "]"}], ",", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", "Zcode", "}"}]}], "]"}]}], "]"}]}], ";", " ", RowBox[{"(*", RowBox[{"Z", " ", "syndromes"}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "make", " ", "the", " ", "Hamiltonian", " ", "for", " ", "perfect", " ", RowBox[{"transfer", ".", " ", "transfer"}], " ", "time", " ", RowBox[{"\[Pi]", "/", "2"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"Hamiltonian", "=", RowBox[{"Sum", "[", RowBox[{ RowBox[{ SqrtBox[ RowBox[{"n", RowBox[{"(", RowBox[{"ChainLength", "-", "n"}], ")"}]}]], RowBox[{"KroneckerProduct", "[", RowBox[{ RowBox[{"SparseArray", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"i_", ",", "i_"}], "}"}], "\[Rule]", "1"}], ",", RowBox[{"{", RowBox[{ RowBox[{"2", "^", RowBox[{"(", RowBox[{"n", "-", "1"}], ")"}]}], ",", RowBox[{"2", "^", RowBox[{"(", RowBox[{"n", "-", "1"}], ")"}]}]}], "}"}]}], "]"}], ",", RowBox[{"SparseArray", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "1", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "1", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}], "]"}], ",", RowBox[{"SparseArray", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"i_", ",", "i_"}], "}"}], "\[Rule]", "1"}], ",", RowBox[{"{", RowBox[{ RowBox[{"2", "^", RowBox[{"(", RowBox[{"ChainLength", "-", "n", "-", "1"}], ")"}]}], ",", RowBox[{"2", "^", RowBox[{"(", RowBox[{"ChainLength", "-", "n", "-", "1"}], ")"}]}]}], "}"}]}], "]"}]}], "]"}]}], ",", RowBox[{"{", RowBox[{"n", ",", "1", ",", RowBox[{"ChainLength", "-", "1"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"ParallelTable", "[", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "configure", " ", "the", " ", "single", " ", "random", " ", "error"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"PhaseErrorTime", "=", RowBox[{"RandomReal", "[", "\[Pi]", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"PhaseErrorLocation", "=", RowBox[{"RandomInteger", "[", RowBox[{"{", RowBox[{"1", ",", "ChainLength"}], "}"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"Zk", "=", RowBox[{"KroneckerProduct", "[", RowBox[{ RowBox[{"SparseArray", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"i_", ",", "i_"}], "}"}], "\[Rule]", "1"}], ",", RowBox[{"{", RowBox[{ RowBox[{"2", "^", RowBox[{"(", RowBox[{"PhaseErrorLocation", "-", "1"}], ")"}]}], ",", RowBox[{"2", "^", RowBox[{"(", RowBox[{"PhaseErrorLocation", "-", "1"}], ")"}]}]}], "}"}]}], "]"}], ",", RowBox[{"SparseArray", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", "1"}]}], "}"}]}], "}"}], "]"}], ",", RowBox[{"SparseArray", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"i_", ",", "i_"}], "}"}], "\[Rule]", "1"}], ",", RowBox[{"{", RowBox[{ RowBox[{"2", "^", RowBox[{"(", RowBox[{"ChainLength", "-", "PhaseErrorLocation"}], ")"}]}], ",", RowBox[{"2", "^", RowBox[{"(", RowBox[{"ChainLength", "-", "PhaseErrorLocation"}], ")"}]}]}], "}"}]}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "choose", " ", "a", " ", "random", " ", "qubit", " ", "state", " ", "to", " ", "encode"}], "*)"}], "\[IndentingNewLine]", RowBox[{"state", "=", RowBox[{"RandomReal", "[", "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ RowBox[{"encode", " ", "in", " ", "the", " ", "Z", " ", "code"}], " ", "|", RowBox[{"0", ">"}]}], "->", RowBox[{"|", RowBox[{ RowBox[{"++", "+"}], ">"}]}]}], ",", " ", RowBox[{ RowBox[{"|", RowBox[{"1", ">"}]}], "\[Rule]", RowBox[{ RowBox[{"|", "--"}], "->"}]}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"input", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"state", "*", RowBox[{"Table", "[", RowBox[{"1", ",", RowBox[{"{", RowBox[{"2", "^", "Zcode"}], "}"}]}], "]"}]}], "+", RowBox[{ SqrtBox[ RowBox[{"1", "-", RowBox[{"state", "^", "2"}]}]], " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"-", "1"}], ")"}], "^", RowBox[{"Total", "[", RowBox[{"IntegerDigits", "[", RowBox[{"n", ",", "2"}], "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"n", ",", "0", ",", RowBox[{ RowBox[{"2", "^", "Zcode"}], "-", "1"}]}], "}"}]}], "]"}]}]}], ")"}], "/", RowBox[{"2", "^", RowBox[{"(", RowBox[{"Zcode", "/", "2"}], ")"}]}]}]}], ";", "\[IndentingNewLine]", RowBox[{"fullinput", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"2", "^", "BlockLength"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Now", " ", "perform", " ", "X", " ", "encoding"}], " ", "|", RowBox[{"0", ">"}]}], "\[Rule]", RowBox[{"|", RowBox[{"00000", ">"}]}]}], ",", " ", RowBox[{ RowBox[{"|", "1", "|"}], "\[Rule]", RowBox[{"|", RowBox[{"11111", ">"}]}]}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"For", "[", RowBox[{ RowBox[{"idx", "=", "1"}], ",", RowBox[{"idx", "\[LessEqual]", RowBox[{"2", "^", "Zcode"}]}], ",", RowBox[{"idx", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"fullinput", "[", RowBox[{"[", RowBox[{ RowBox[{"FromDigits", "[", RowBox[{ RowBox[{"Flatten", "[", RowBox[{"Transpose", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"IntegerDigits", "[", RowBox[{ RowBox[{"idx", "-", "1"}], ",", "2", ",", "Zcode"}], "]"}], ",", RowBox[{"{", "Xcode", "}"}]}], "]"}], "]"}], "]"}], ",", "2"}], "]"}], "+", "1"}], "]"}], "]"}], "=", RowBox[{"input", "[", RowBox[{"[", "idx", "]"}], "]"}]}], ";"}]}], "\[IndentingNewLine]", "]"}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "do", " ", "the", " ", "time", " ", "evolution", " ", "including", " ", "the", " ", "error"}], "*)"}], "\[IndentingNewLine]", RowBox[{"NoisyState", "=", RowBox[{"Chop", "[", RowBox[{"MatrixExp", "[", RowBox[{ RowBox[{ RowBox[{"-", " ", "\[ImaginaryI]"}], RowBox[{"(", RowBox[{"\[Pi]", "-", "PhaseErrorTime"}], ")"}], RowBox[{"N", "[", "Hamiltonian", "]"}]}], ",", RowBox[{"Zk", ".", RowBox[{"MatrixExp", "[", RowBox[{ RowBox[{ RowBox[{"-", "\[ImaginaryI]"}], " ", "PhaseErrorTime", " ", RowBox[{"N", "[", "Hamiltonian", "]"}]}], ",", "fullinput"}], "]"}]}]}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"NoisyState", "=", RowBox[{"Chop", "[", RowBox[{"err", ".", RowBox[{"MatrixExp", "[", RowBox[{ RowBox[{ RowBox[{"-", " ", "\[ImaginaryI]"}], " ", "\[Pi]", " ", RowBox[{"N", "[", "Hamiltonian", "]"}]}], ",", "fullinput"}], "]"}]}], "]"}]}], ";"}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"specify", " ", "syndrome", " ", RowBox[{"extraction", ".", " ", "Note"}], " ", "that", " ", "syndrome", " ", "has", " ", "exactly", " ", "2", " ", "X", " ", "errors"}], ",", " ", RowBox[{"or", " ", "none"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"ECMatrixX", "=", RowBox[{"Table", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"FullString", "=", RowBox[{"Mod", "[", RowBox[{ RowBox[{"el", "+", RowBox[{"Flatten", "[", RowBox[{"KroneckerProduct", "[", RowBox[{ RowBox[{"{", RowBox[{"IntegerDigits", "[", RowBox[{"dec", ",", "2", ",", "Zcode"}], "]"}], "}"}], ",", RowBox[{"{", RowBox[{"Table", "[", RowBox[{"1", ",", RowBox[{"{", "Xcode", "}"}]}], "]"}], "}"}]}], "]"}], "]"}]}], ",", "2"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"NoisyState", "[", RowBox[{"[", RowBox[{ RowBox[{"FromDigits", "[", RowBox[{"FullString", ",", "2"}], "]"}], "+", "1"}], "]"}], "]"}], "*", RowBox[{ RowBox[{"(", RowBox[{"-", "1"}], ")"}], "^", RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{"2", "-", RowBox[{"Accumulate", "[", "el", "]"}]}], ")"}], ".", "FullString"}], ")"}]}]}]}], "\[IndentingNewLine]", ",", RowBox[{"{", RowBox[{"dec", ",", "0", ",", RowBox[{ RowBox[{"2", "^", "Zcode"}], "-", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"el", ",", "basis"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"output", " ", "after", " ", "X"}], "-", RowBox[{ "syndrome", " ", "extraction", " ", "is", " ", "one", " ", "of", " ", "the", " ", "rows", " ", "of", " ", "ECMatrixX"}]}], ",", " ", RowBox[{ "probability", " ", "determined", " ", "by", " ", "norm", " ", "of", " ", "row"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"select", " ", "one", " ", "at", " ", "random"}], "*)"}], "\[IndentingNewLine]", RowBox[{"out", "=", RowBox[{ RowBox[{"RandomSample", "[", RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Normal", "[", RowBox[{"Diagonal", "[", RowBox[{ RowBox[{"ConjugateTranspose", "[", "ECMatrixX", "]"}], ".", "ECMatrixX"}], "]"}], "]"}], "]"}], "\[Rule]", RowBox[{"Table", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"n", ",", "1", ",", RowBox[{ RowBox[{"Binomial", "[", RowBox[{"BlockLength", ",", "2"}], "]"}], "+", "1"}]}], "}"}]}], "]"}]}], ",", "1"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"result", "=", RowBox[{"ECMatrixX", "[", RowBox[{"[", RowBox[{"All", ",", "out"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ "the", " ", "full", " ", "X", " ", "correction", " ", "has", " ", "now", " ", "been", " ", RowBox[{"completed", ".", " ", "Next"}]}], ",", " ", RowBox[{"Z", " ", "correction"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"ECState", "=", RowBox[{"Chop", "[", RowBox[{ RowBox[{"HadamardMatrix", "[", RowBox[{"8", ",", RowBox[{"SequencyOrdered", "\[Rule]", "False"}]}], "]"}], ".", "result"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", "renormalise", "*)"}], "\[IndentingNewLine]", RowBox[{"ECState", "=", RowBox[{"ECState", "/", SqrtBox[ RowBox[{ RowBox[{"Conjugate", "[", "ECState", "]"}], ".", "ECState"}]]}]}], ";", "\[IndentingNewLine]", RowBox[{"ECMatrixZ", "=", RowBox[{"Table", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"FullString", "=", RowBox[{"Mod", "[", RowBox[{ RowBox[{"el", "+", "dec"}], ",", "2"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"ECState", "[", RowBox[{"[", RowBox[{ RowBox[{"FromDigits", "[", RowBox[{"FullString", ",", "2"}], "]"}], "+", "1"}], "]"}], "]"}]}], "\[IndentingNewLine]", ",", RowBox[{"{", RowBox[{"dec", ",", "0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"el", ",", "basis2"}], "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"output", " ", "after", " ", "Z"}], "-", RowBox[{ "syndrome", " ", "extraction", " ", "is", " ", "one", " ", "of", " ", "the", " ", "rows", " ", "of", " ", "ECMatrixZ"}]}], ",", " ", RowBox[{ "probability", " ", "determined", " ", "by", " ", "norm", " ", "of", " ", "row"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"select", " ", "one", " ", "at", " ", "random"}], "*)"}], "\[IndentingNewLine]", RowBox[{"out2", "=", RowBox[{ RowBox[{"RandomSample", "[", RowBox[{ RowBox[{ RowBox[{"Chop", "[", RowBox[{"Normal", "[", RowBox[{"Diagonal", "[", RowBox[{ RowBox[{"ConjugateTranspose", "[", "ECMatrixZ", "]"}], ".", "ECMatrixZ"}], "]"}], "]"}], "]"}], "\[Rule]", RowBox[{"Table", "[", RowBox[{"n", ",", RowBox[{"{", RowBox[{"n", ",", "1", ",", RowBox[{"Zcode", "+", "1"}]}], "}"}]}], "]"}]}], ",", "1"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"result", "=", RowBox[{"ECMatrixZ", "[", RowBox[{"[", RowBox[{"All", ",", "out2"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", "renormalise", "*)"}], "\[IndentingNewLine]", RowBox[{"result", "=", RowBox[{ RowBox[{"result", "/", SqrtBox[ RowBox[{ RowBox[{"Conjugate", "[", "result", "]"}], ".", "result"}]]}], "//", "Normal"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"remove", " ", "global", " ", "phase"}], "*)"}], "\[IndentingNewLine]", RowBox[{"result", "=", RowBox[{"Chop", "[", RowBox[{"result", " ", RowBox[{"Exp", "[", RowBox[{ RowBox[{"-", RowBox[{"Arg", "[", RowBox[{"result", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}]}], " ", "\[ImaginaryI]"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ "If", " ", "the", " ", "Z", " ", "error", " ", "is", " ", "not", " ", "detected", " ", "in", " ", "the", " ", "same", " ", "blocks", " ", "as", " ", "where", " ", "the", " ", "X", " ", "errors", " ", "occurred"}], ",", " ", RowBox[{ RowBox[{"we", " ", "actually", " ", "had", " ", "2", " ", "Z", " ", RowBox[{"errors", ".", " ", "Net"}], " ", "correction", " ", "is", " ", "a", " ", "bit"}], "-", "flip"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Total", "[", RowBox[{"basis", "[", RowBox[{"[", "out", "]"}], "]"}], "]"}], ">", "0"}], "&&", RowBox[{ RowBox[{ RowBox[{"basis2", "[", RowBox[{"[", "out2", "]"}], "]"}], ".", RowBox[{"Partition", "[", RowBox[{ RowBox[{"basis", "[", RowBox[{"[", "out", "]"}], "]"}], ",", "Xcode"}], "]"}], ".", RowBox[{"Table", "[", RowBox[{"1", ",", RowBox[{"{", "Xcode", "}"}]}], "]"}]}], "\[Equal]", "0"}], "&&", RowBox[{ RowBox[{"Total", "[", RowBox[{"basis2", "[", RowBox[{"[", "out2", "]"}], "]"}], "]"}], ">", "0"}]}], ",", RowBox[{"result", "=", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}]}], "}"}], ".", "result"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "output", " ", "the", " ", "inner", " ", "product", " ", "of", " ", "input", " ", "and", " ", "output", " ", RowBox[{"state", ".", " ", "1"}], " ", "indicates", " ", "success"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"{", RowBox[{"state", ",", SqrtBox[ RowBox[{"1", "-", RowBox[{"state", "^", "2"}]}]]}], "}"}], ".", "result"}]}], "\[IndentingNewLine]", ",", RowBox[{"{", "1024", "}"}]}], "]"}]}]}]], "Input", CellChangeTimes->{{3.647072604135642*^9, 3.6470726126230574`*^9}, { 3.6470729187735615`*^9, 3.6470730474049187`*^9}, {3.6470730990928755`*^9, 3.6470733545706778`*^9}, {3.647073405357582*^9, 3.6470734614367895`*^9}, { 3.64707357753543*^9, 3.64707368959184*^9}, {3.647073741043782*^9, 3.6470737582347655`*^9}, {3.64707405448071*^9, 3.6470741110699463`*^9}, { 3.647074241948618*^9, 3.6470742560474243`*^9}, {3.6470743919351964`*^9, 3.6470744614671736`*^9}, {3.6470752648011217`*^9, 3.6470753255685973`*^9}, {3.6470754121845512`*^9, 3.6470755610630665`*^9}, {3.6470755961510735`*^9, 3.647075615948206*^9}, { 3.647075742893467*^9, 3.647075771653112*^9}, {3.6470760686831007`*^9, 3.6470761721940217`*^9}, {3.647076207903064*^9, 3.647076325218774*^9}, { 3.647076371594426*^9, 3.6470764590424285`*^9}, {3.647076743999727*^9, 3.6470768582952642`*^9}, {3.647076889138028*^9, 3.6470769376048*^9}, 3.647077000269385*^9, {3.6470770316301785`*^9, 3.6470770339333105`*^9}, { 3.6470770681172657`*^9, 3.6470770878543944`*^9}, {3.647077898403755*^9, 3.6470779074382715`*^9}, {3.647078391034932*^9, 3.6470783913759513`*^9}, { 3.6470784243548374`*^9, 3.6470784278820395`*^9}, {3.6470786026350346`*^9, 3.6470786383070755`*^9}, {3.6470786870018606`*^9, 3.647078874017557*^9}, { 3.647080995544491*^9, 3.647081250823339*^9}, {3.647081290743809*^9, 3.6470812908842096`*^9}, {3.6470813216786633`*^9, 3.6470813993668003`*^9}, {3.647081444404079*^9, 3.647081446588083*^9}, { 3.647081493341365*^9, 3.6470815004861774`*^9}, {3.6470837878377953`*^9, 3.6470838303790703`*^9}, {3.647083993914158*^9, 3.6470840138041925`*^9}, { 3.6471491908544717`*^9, 3.6471492027104716`*^9}, 3.6471502126038256`*^9, { 3.6471502739430256`*^9, 3.6471503035518255`*^9}, {3.6471504397146273`*^9, 3.64715044057266*^9}, 3.6471505835305605`*^9, {3.6471507520289917`*^9, 3.6471507589554806`*^9}, {3.663325813231691*^9, 3.663325892762352*^9}, { 3.6633261619264774`*^9, 3.663326168213318*^9}, {3.663326210161987*^9, 3.663326212876404*^9}, {3.6633262497862406`*^9, 3.663326271423579*^9}, { 3.66332633862881*^9, 3.6633264188445244`*^9}, 3.6633264618227997`*^9, { 3.6633265203541393`*^9, 3.663326577808939*^9}, {3.6633266195864563`*^9, 3.6633266312399554`*^9}, {3.663326677557543*^9, 3.6633266779163523`*^9}, { 3.6633882864072137`*^9, 3.663388292990425*^9}, {3.6633885420136623`*^9, 3.663388559360893*^9}, {3.6633887731124687`*^9, 3.6633887835020866`*^9}, { 3.6633890135244904`*^9, 3.663389017018897*^9}, {3.663389558667448*^9, 3.66338955999345*^9}, {3.6633895935803094`*^9, 3.663389928232097*^9}, { 3.6633899997582226`*^9, 3.663390085698774*^9}, {3.6633901504856873`*^9, 3.6633901652277136`*^9}, {3.6633902421358485`*^9, 3.663390483811473*^9}, 3.663390602293681*^9, {3.663390694692643*^9, 3.663390700308653*^9}, { 3.6633907470151353`*^9, 3.663390750103941*^9}, {3.6633907914908133`*^9, 3.663390796295622*^9}, 3.663390894341794*^9, {3.663391123365796*^9, 3.6633911263142014`*^9}, {3.6633912486496162`*^9, 3.663391249351618*^9}, { 3.663391306915719*^9, 3.663391310378925*^9}, {3.6633918439310617`*^9, 3.6633919080315742`*^9}, {3.663392476154372*^9, 3.663392566603331*^9}, { 3.6633927113711853`*^9, 3.6633927922105274`*^9}, {3.663392831163796*^9, 3.663392857917843*^9}, {3.6633928881974964`*^9, 3.6633929073699303`*^9}, { 3.663392976166051*^9, 3.6633929891296735`*^9}, {3.663393556478818*^9, 3.663393696457864*^9}, {3.6633937474231534`*^9, 3.6633937724923973`*^9}, { 3.66339455486911*^9, 3.6633946710269146`*^9}, {3.663394715674193*^9, 3.663394734160225*^9}, {3.663394799898741*^9, 3.663394823345582*^9}, { 3.6633949758202496`*^9, 3.6633949828558617`*^9}, {3.6633950327915497`*^9, 3.663395039608762*^9}, {3.663395157420169*^9, 3.663395157576169*^9}, { 3.6633954463170757`*^9, 3.6633954525414867`*^9}, {3.6633955923021326`*^9, 3.6633956079187603`*^9}, {3.663395741969795*^9, 3.663395754449817*^9}, { 3.663395830577951*^9, 3.6633958331831555`*^9}, {3.6633959281249228`*^9, 3.6633960282770987`*^9}, {3.6633960815823917`*^9, 3.663396102158828*^9}, { 3.663396150581313*^9, 3.6633961643717375`*^9}, {3.663396233635859*^9, 3.663396262189109*^9}, {3.663396428251401*^9, 3.6633964840214987`*^9}, { 3.6633966032993083`*^9, 3.663396621925741*^9}, {3.663396722077917*^9, 3.6633967358215413`*^9}, {3.663397057764507*^9, 3.663397110320999*^9}, { 3.663397271952883*^9, 3.6633973682674522`*^9}, {3.6633974500583954`*^9, 3.663397455955206*^9}, {3.6633978978789825`*^9, 3.663397952541478*^9}, { 3.6633982218603516`*^9, 3.663398232858371*^9}, {3.6633984174222946`*^9, 3.6633984177966957`*^9}, {3.663398506342451*^9, 3.6633986956955833`*^9}, { 3.663398748798077*^9, 3.6633988310258217`*^9}, {3.66339886451908*^9, 3.663398890025125*^9}, {3.663399109803511*^9, 3.663399163732806*^9}, { 3.663399216133298*^9, 3.6633992221705084`*^9}, {3.6633992828702154`*^9, 3.663399333461104*^9}, {3.663399406344432*^9, 3.663399408029235*^9}, { 3.663399458183323*^9, 3.6633994625513306`*^9}, {3.6633994984781938`*^9, 3.6633995029242015`*^9}, {3.6633995778823333`*^9, 3.66339968397812*^9}, { 3.663399749201834*^9, 3.6633997511050377`*^9}, {3.663399825470368*^9, 3.663399881193666*^9}, {3.663399942236573*^9, 3.6633999423769736`*^9}, { 3.6633999823182435`*^9, 3.663400049601162*^9}, {3.663400223662408*^9, 3.6634002243176093`*^9}, {3.663400399693117*^9, 3.66340040137792*^9}, { 3.663400473325247*^9, 3.663400488987674*^9}, {3.6634006057382793`*^9, 3.6634006104962873`*^9}, {3.6634007471681275`*^9, 3.6634007499917326`*^9}, {3.663401526717097*^9, 3.6634015640947623`*^9}, { 3.663401652032117*^9, 3.6634016568837256`*^9}, {3.66340173349546*^9, 3.663401786395153*^9}, {3.6634019516670437`*^9, 3.663401953663847*^9}, { 3.66340208648248*^9, 3.663402167009822*^9}, {3.6634024965704007`*^9, 3.6634025066588182`*^9}, {3.663402598277779*^9, 3.663402606296193*^9}, { 3.6634026942491474`*^9, 3.6634027276332064`*^9}, {3.663402786039709*^9, 3.66340278677291*^9}, {3.6634031695819826`*^9, 3.663403171282386*^9}, { 3.6634033732247405`*^9, 3.6634033743947425`*^9}, {3.663403724216776*^9, 3.6634037341383934`*^9}, {3.6634037722336607`*^9, 3.6634037777716703`*^9}, {3.663403844898588*^9, 3.663403889530267*^9}, { 3.6634039446607637`*^9, 3.6634040478081446`*^9}, {3.663404101035438*^9, 3.6634041200674715`*^9}, {3.6634066911775875`*^9, 3.663406966986072*^9}, { 3.663407009511747*^9, 3.663407141739579*^9}, {3.6634071736884356`*^9, 3.6634071755292387`*^9}, 3.6634072249189253`*^9, {3.663407268162201*^9, 3.663407321186694*^9}, {3.6634073604051633`*^9, 3.663407397018428*^9}, { 3.6634076461352654`*^9, 3.663407646306865*^9}, {3.6634081508595514`*^9, 3.663408186396414*^9}, {3.663408220451274*^9, 3.6634082205760736`*^9}, { 3.6634082765333724`*^9, 3.663408299059812*^9}, {3.6634084184000216`*^9, 3.663408419913224*^9}, {3.663408478726328*^9, 3.6634085117671857`*^9}, { 3.6634085919981265`*^9, 3.663408602621745*^9}, {3.663408690387499*^9, 3.6634087065335274`*^9}, {3.6634089726699953`*^9, 3.663408987257021*^9}, { 3.6634091529615116`*^9, 3.663409181587562*^9}, {3.6634093048745785`*^9, 3.6634093672902884`*^9}, {3.6634098344643087`*^9, 3.6634098653367634`*^9}, {3.663409900514825*^9, 3.6634099529933167`*^9}, { 3.663409997515795*^9, 3.663410024628643*^9}, {3.6634100658957157`*^9, 3.6634101050673847`*^9}, {3.6634101637390876`*^9, 3.6634101952667427`*^9}, {3.663410262456061*^9, 3.6634102754352837`*^9}, { 3.6634103094901433`*^9, 3.6634103150281534`*^9}, {3.663410477674039*^9, 3.66341047803284*^9}, {3.6634105171733084`*^9, 3.6634105178441095`*^9}, { 3.6634105724754057`*^9, 3.663410612817076*^9}, {3.663410705512439*^9, 3.6634107407217007`*^9}, {3.663410777397365*^9, 3.663410805118614*^9}, { 3.6634108469422874`*^9, 3.6634108714343305`*^9}, {3.6634109385300484`*^9, 3.6634110217717943`*^9}, {3.6634110767150908`*^9, 3.6634110780098934`*^9}, {3.663411114014756*^9, 3.663411117087962*^9}, { 3.6634118837991085`*^9, 3.6634118849847107`*^9}, {3.663411983561284*^9, 3.6634119885376925`*^9}, {3.663412169934811*^9, 3.6634122062204747`*^9}, { 3.663412239690534*^9, 3.66341224313814*^9}, {3.663412624981011*^9, 3.6634126622494764`*^9}, {3.6634127163825717`*^9, 3.6634127914655037`*^9}, {3.663413448659658*^9, 3.663413550107636*^9}, { 3.663413627982973*^9, 3.6634137000082994`*^9}, {3.663413747541583*^9, 3.6634137497879868`*^9}, {3.663413812047696*^9, 3.663413814980501*^9}, { 3.663413858676178*^9, 3.6634138862570267`*^9}, {3.663414622158119*^9, 3.663414864192544*^9}, {3.663414959742712*^9, 3.663415011956004*^9}, { 3.663415084901732*^9, 3.6634150862901344`*^9}, {3.6634151499548464`*^9, 3.663415176693293*^9}, {3.6634152415582075`*^9, 3.6634152421978083`*^9}, { 3.6634157692263837`*^9, 3.663415809131254*^9}, 3.6634158754240866`*^9, { 3.66341590576614*^9, 3.6634159447818084`*^9}, {3.6634161531207743`*^9, 3.6634161568647814`*^9}, {3.663583482191351*^9, 3.6635837166504726`*^9}, 3.66358396527086*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{ "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999997`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999977`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999992`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999998`", ",", "0.9999999999999997`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999994`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999507`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "0.9999999999999989`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999918`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999981`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.999999999999995`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999993`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999905`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999972`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.999999999999983`", ",", "0.9999999999999584`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999971`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999996`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.0000000000000002`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.0000000000000002`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.0000000000000002`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "0.9999999999999999`", ",", "1.`", ",", "1.`", ",", "0.9999999999999998`", ",", "1.`"}], "}"}]], "Output", CellChangeTimes->{3.6634160149045315`*^9, 3.663418302322466*^9}] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Test of Timing Errors on Spin Chain\ \>", "Title", CellChangeTimes->{{3.6635838107820797`*^9, 3.663583817973772*^9}, { 3.6639280496952643`*^9, 3.6639280561381884`*^9}}], Cell["\<\ Implement a spin chain of length 15 that performs perfect transfer. Encode a \ qubit state in an error correcting code for up to 2 X errors and 1 Z error. \ Do the evolution for a slightly faulty time, and then perform the error \ correction & decoding. By tracking every possible syndrome measurement, find \ the probability that error correction succeeds.\ \>", "Text", CellChangeTimes->{{3.6635838279579*^9, 3.663583910888563*^9}, { 3.663659255697147*^9, 3.6636592599247465`*^9}, {3.663927221035546*^9, 3.6639272534527617`*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", RowBox[{"basic", " ", "parameters", " ", "of", " ", "simulation"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Xcode", "=", "5"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Zcode", "=", "3"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"BlockLength", "=", RowBox[{"Xcode", " ", "Zcode"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"ChainLength", "=", "BlockLength"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"basis", "=", RowBox[{"Append", "[", RowBox[{ RowBox[{"Permutations", "[", RowBox[{"PadRight", "[", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "1"}], "}"}], ",", "BlockLength"}], "]"}], "]"}], ",", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", "BlockLength", "}"}]}], "]"}]}], "]"}]}], ";"}], " ", RowBox[{"(*", RowBox[{"X", " ", "syndromes"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"basis2", "=", RowBox[{"Append", "[", RowBox[{ RowBox[{"Permutations", "[", RowBox[{"PadRight", "[", RowBox[{ RowBox[{"{", "1", "}"}], ",", "Zcode"}], "]"}], "]"}], ",", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", "Zcode", "}"}]}], "]"}]}], "]"}]}], ";"}], " ", RowBox[{"(*", RowBox[{"Z", " ", "syndromes"}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "choose", " ", "a", " ", "qubit", " ", "state", " ", "which", " ", "is", " ", "not", " ", "an", " ", "eigenstate", " ", "of", " ", "a", " ", "Pauli", " ", "matrix"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"state", "=", "0.1"}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ RowBox[{"encode", " ", "in", " ", "the", " ", "Z", " ", "code"}], " ", "|", RowBox[{"0", ">"}]}], "->", RowBox[{"|", RowBox[{ RowBox[{"++", "+"}], ">"}]}]}], ",", " ", RowBox[{ RowBox[{"|", RowBox[{"1", ">"}]}], "\[Rule]", RowBox[{ RowBox[{"|", "--"}], "->"}]}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"input", "=", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"state", "*", RowBox[{"Table", "[", RowBox[{"1", ",", RowBox[{"{", RowBox[{"2", "^", "Zcode"}], "}"}]}], "]"}]}], "+", RowBox[{ SqrtBox[ RowBox[{"1", "-", RowBox[{"state", "^", "2"}]}]], " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"-", "1"}], ")"}], "^", RowBox[{"Total", "[", RowBox[{"IntegerDigits", "[", RowBox[{"n", ",", "2"}], "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"n", ",", "0", ",", RowBox[{ RowBox[{"2", "^", "Zcode"}], "-", "1"}]}], "}"}]}], "]"}]}]}], ")"}], "/", RowBox[{"2", "^", RowBox[{"(", RowBox[{"Zcode", "/", "2"}], ")"}]}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"fullinput", "=", RowBox[{"Table", "[", RowBox[{"0", ",", RowBox[{"{", RowBox[{"2", "^", "BlockLength"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Now", " ", "perform", " ", "X", " ", "encoding"}], " ", "|", RowBox[{"0", ">"}]}], "\[Rule]", RowBox[{"|", RowBox[{"00000", ">"}]}]}], ",", " ", RowBox[{ RowBox[{"|", "1", "|"}], "\[Rule]", RowBox[{"|", RowBox[{"11111", ">"}]}]}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"For", "[", RowBox[{ RowBox[{"idx", "=", "1"}], ",", RowBox[{"idx", "\[LessEqual]", RowBox[{"2", "^", "Zcode"}]}], ",", RowBox[{"idx", "++"}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"fullinput", "[", RowBox[{"[", RowBox[{ RowBox[{"FromDigits", "[", RowBox[{ RowBox[{"Flatten", "[", RowBox[{"Transpose", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"IntegerDigits", "[", RowBox[{ RowBox[{"idx", "-", "1"}], ",", "2", ",", "Zcode"}], "]"}], ",", RowBox[{"{", "Xcode", "}"}]}], "]"}], "]"}], "]"}], ",", "2"}], "]"}], "+", "1"}], "]"}], "]"}], "=", RowBox[{"input", "[", RowBox[{"[", "idx", "]"}], "]"}]}], ";"}]}], "\[IndentingNewLine]", "]"}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "make", " ", "the", " ", "Hamiltonian", " ", "for", " ", "perfect", " ", RowBox[{"transfer", ".", " ", "transfer"}], " ", "time", " ", RowBox[{"\[Pi]", "/", "2"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Hamiltonian", "=", RowBox[{"Sum", "[", RowBox[{ RowBox[{ SqrtBox[ RowBox[{"n", RowBox[{"(", RowBox[{"ChainLength", "-", "n"}], ")"}]}]], RowBox[{"KroneckerProduct", "[", RowBox[{ RowBox[{"SparseArray", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"i_", ",", "i_"}], "}"}], "\[Rule]", "1"}], ",", RowBox[{"{", RowBox[{ RowBox[{"2", "^", RowBox[{"(", RowBox[{"n", "-", "1"}], ")"}]}], ",", RowBox[{"2", "^", RowBox[{"(", RowBox[{"n", "-", "1"}], ")"}]}]}], "}"}]}], "]"}], ",", RowBox[{"SparseArray", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "1", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "1", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "0", ",", "0"}], "}"}]}], "}"}], "]"}], ",", RowBox[{"SparseArray", "[", RowBox[{ RowBox[{ RowBox[{"{", RowBox[{"i_", ",", "i_"}], "}"}], "\[Rule]", "1"}], ",", RowBox[{"{", RowBox[{ RowBox[{"2", "^", RowBox[{"(", RowBox[{"ChainLength", "-", "n", "-", "1"}], ")"}]}], ",", RowBox[{"2", "^", RowBox[{"(", RowBox[{"ChainLength", "-", "n", "-", "1"}], ")"}]}]}], "}"}]}], "]"}]}], "]"}]}], ",", RowBox[{"{", RowBox[{"n", ",", "1", ",", RowBox[{"ChainLength", "-", "1"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"pre", "-", RowBox[{ "calculate", " ", "the", " ", "effect", " ", "of", " ", "the", " ", "X", " ", "syndrome", " ", "extraction"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ "which", " ", "matrix", " ", "element", " ", "do", " ", "you", " ", "need"}], ",", " ", RowBox[{"and", " ", RowBox[{"what", "'"}], "s", " ", "the", " ", "phase", " ", "correction", " ", "applied"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Xmapping", "=", RowBox[{"ParallelTable", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"FullString", "=", RowBox[{"Mod", "[", RowBox[{ RowBox[{"el", "+", RowBox[{"Flatten", "[", RowBox[{"KroneckerProduct", "[", RowBox[{ RowBox[{"{", RowBox[{"IntegerDigits", "[", RowBox[{"dec", ",", "2", ",", "Zcode"}], "]"}], "}"}], ",", RowBox[{"{", RowBox[{"Table", "[", RowBox[{"1", ",", RowBox[{"{", "Xcode", "}"}]}], "]"}], "}"}]}], "]"}], "]"}]}], ",", "2"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"FromDigits", "[", RowBox[{"FullString", ",", "2"}], "]"}], "+", "1"}], ",", RowBox[{ RowBox[{"(", RowBox[{"-", "1"}], ")"}], "^", RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{"2", "-", RowBox[{"Accumulate", "[", "el", "]"}]}], ")"}], ".", "FullString"}], ")"}]}]}], "}"}]}], " ", "\[IndentingNewLine]", ",", RowBox[{"{", RowBox[{"dec", ",", "0", ",", RowBox[{ RowBox[{"2", "^", "Zcode"}], "-", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"el", ",", "basis"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"pre", "-", RowBox[{ "calculate", " ", "the", " ", "effect", " ", "of", " ", "the", " ", "Z", " ", "syndrome", " ", "extraction"}], " ", "-", " ", RowBox[{ "which", " ", "matrix", " ", "element", " ", "do", " ", "you", " ", RowBox[{"need", "?"}]}]}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Zmapping", "=", RowBox[{"Table", "[", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"FullString", "=", RowBox[{"Mod", "[", RowBox[{ RowBox[{"el", "+", "dec"}], ",", "2"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{ RowBox[{"FromDigits", "[", RowBox[{"FullString", ",", "2"}], "]"}], "+", "1"}]}], "\[IndentingNewLine]", ",", RowBox[{"{", RowBox[{"dec", ",", "0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"el", ",", "basis2"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{"sol", "=", RowBox[{"ParallelTable", "[", RowBox[{ RowBox[{"{", RowBox[{"factor", ",", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "do", " ", "the", " ", "time", " ", "evolution", " ", "including", " ", "the", " ", "error"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"NoisyState", "=", RowBox[{"MatrixExp", "[", RowBox[{ RowBox[{ RowBox[{"-", "\[ImaginaryI]"}], " ", "\[Pi]", "*", "factor", " ", RowBox[{"N", "[", "Hamiltonian", "]"}]}], ",", "fullinput"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"specify", " ", "syndrome", " ", RowBox[{"extraction", ".", " ", "Note"}], " ", "that", " ", "syndrome", " ", "has", " ", "exactly", " ", "2", " ", "X", " ", "errors"}], ",", " ", RowBox[{ RowBox[{"or", " ", RowBox[{"none", ".", " ", "Apply"}], " ", "Hadamard", " ", "ready", " ", "for", " ", "Z"}], "-", "correction"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"ECMatrixX", "=", RowBox[{"Chop", "[", RowBox[{ RowBox[{"HadamardMatrix", "[", RowBox[{"8", ",", RowBox[{"SequencyOrdered", "\[Rule]", "False"}]}], "]"}], ".", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"NoisyState", "[", RowBox[{"[", RowBox[{"#", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}], "]"}], RowBox[{"#", "[", RowBox[{"[", "2", "]"}], "]"}]}], "&"}], ",", "Xmapping", ",", RowBox[{"{", "2", "}"}]}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"output", " ", "after", " ", "X"}], "-", RowBox[{ "syndrome", " ", "extraction", " ", "is", " ", "one", " ", "of", " ", "the", " ", "rows", " ", "of", " ", "ECMatrixX"}]}], ",", " ", RowBox[{ "probability", " ", "determined", " ", "by", " ", "norm", " ", "of", " ", "row"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"test", " ", "every", " ", "row"}], "*)"}], "\[IndentingNewLine]", RowBox[{"PX", "=", RowBox[{"Chop", "[", RowBox[{"Normal", "[", RowBox[{"Diagonal", "[", RowBox[{ RowBox[{"ConjugateTranspose", "[", "ECMatrixX", "]"}], ".", "ECMatrixX"}], "]"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "remove", " ", "all", " ", "events", " ", "that", " ", "do", " ", "not", " ", "happen"}], "*)"}], "\[IndentingNewLine]", RowBox[{"pos", "=", RowBox[{"Position", "[", RowBox[{"PX", ",", "0"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"ECMatrixX", "=", RowBox[{"Delete", "[", RowBox[{ RowBox[{"Transpose", "[", "ECMatrixX", "]"}], ",", "pos"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"PX", "=", RowBox[{"Delete", "[", RowBox[{"PX", ",", "pos"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", "renormalise", "*)"}], "\[IndentingNewLine]", RowBox[{"ECMatrixX", "=", RowBox[{"ECMatrixX", "/", RowBox[{"Sqrt", "[", "PX", "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ "the", " ", "full", " ", "X", " ", "correction", " ", "has", " ", "now", " ", "been", " ", RowBox[{"completed", ".", " ", "Next"}]}], ",", " ", RowBox[{"Z", " ", "correction"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"basis3", "=", RowBox[{"Delete", "[", RowBox[{"basis", ",", "pos"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"PX", ".", RowBox[{"Table", "[", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"for", " ", "each", " ", "X"}], "-", "syndrome"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"result", "=", RowBox[{"ECMatrixX", "[", RowBox[{"[", "jdx", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"ECMatrixZ", "=", RowBox[{"Map", "[", RowBox[{ RowBox[{ RowBox[{"result", "[", RowBox[{"[", "#", "]"}], "]"}], "&"}], ",", "Zmapping", ",", RowBox[{"{", "2", "}"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"output", " ", "after", " ", "Z"}], "-", RowBox[{ "syndrome", " ", "extraction", " ", "is", " ", "one", " ", "of", " ", "the", " ", "rows", " ", "of", " ", "ECMatrixZ"}]}], ",", " ", RowBox[{ "probability", " ", "determined", " ", "by", " ", "norm", " ", "of", " ", "row"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"test", " ", "all"}], "*)"}], "\[IndentingNewLine]", RowBox[{"PZ", "=", RowBox[{"Chop", "[", RowBox[{"Normal", "[", RowBox[{"Diagonal", "[", RowBox[{ RowBox[{"ConjugateTranspose", "[", "ECMatrixZ", "]"}], ".", "ECMatrixZ"}], "]"}], "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "delete", " ", "events", " ", "that", " ", "do", " ", "not", " ", "happen"}], "*)"}], "\[IndentingNewLine]", RowBox[{"pos", "=", RowBox[{"Position", "[", RowBox[{"PZ", ",", "0"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"ECMatrixZ", "=", RowBox[{"Delete", "[", RowBox[{ RowBox[{"Transpose", "[", "ECMatrixZ", "]"}], ",", "pos"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"PZ", "=", RowBox[{"Delete", "[", RowBox[{"PZ", ",", "pos"}], "]"}]}], ";", " ", RowBox[{"(*", RowBox[{ RowBox[{ "these", " ", "are", " ", "conditional", " ", "probabilities", " ", "given", " ", "the", " ", "X"}], "-", "syndrome"}], "*)"}], "\[IndentingNewLine]", RowBox[{"(*", "renormalise", "*)"}], "\[IndentingNewLine]", RowBox[{"ECMatrixZ", "=", RowBox[{"ECMatrixZ", "/", RowBox[{"Sqrt", "[", "PZ", "]"}]}]}], ";", "\[IndentingNewLine]", RowBox[{"basis4", "=", RowBox[{"Delete", "[", RowBox[{"basis2", ",", "pos"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"out", "=", RowBox[{"basis3", "[", RowBox[{"[", "jdx", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"PZ", ".", RowBox[{"Table", "[", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"for", " ", "each", " ", "Z"}], "-", "syndrome"}], "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"res", "=", RowBox[{"ECMatrixZ", "[", RowBox[{"[", "idx", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"remove", " ", "global", " ", "phase"}], "*)"}], "\[IndentingNewLine]", RowBox[{"res2", "=", RowBox[{"Chop", "[", RowBox[{"res", " ", RowBox[{"Exp", "[", RowBox[{ RowBox[{"-", RowBox[{"Arg", "[", RowBox[{"res", "[", RowBox[{"[", "1", "]"}], "]"}], "]"}]}], " ", "\[ImaginaryI]"}], "]"}]}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"out2", "=", RowBox[{"basis4", "[", RowBox[{"[", "idx", "]"}], "]"}]}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ "If", " ", "the", " ", "Z", " ", "error", " ", "is", " ", "not", " ", "detected", " ", "in", " ", "the", " ", "same", " ", "blocks", " ", "as", " ", "where", " ", "the", " ", "X", " ", "errors", " ", "occurred"}], ",", " ", RowBox[{ RowBox[{ "we", " ", "actually", " ", "had", " ", "2", " ", "Z", " ", RowBox[{"errors", ".", " ", "Net"}], " ", "correction", " ", "is", " ", "a", " ", "bit"}], "-", "flip"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Total", "[", "out", "]"}], ">", "0"}], "&&", RowBox[{ RowBox[{"out2", ".", RowBox[{"Partition", "[", RowBox[{"out", ",", "Xcode"}], "]"}], ".", RowBox[{"Table", "[", RowBox[{"1", ",", RowBox[{"{", "Xcode", "}"}]}], "]"}]}], "\[Equal]", "0"}], "&&", RowBox[{ RowBox[{"Total", "[", "out2", "]"}], ">", "0"}]}], ",", RowBox[{"res2", "=", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"1", ",", "0"}], "}"}]}], "}"}], ".", "res2"}]}]}], "]"}], ";", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ "output", " ", "the", " ", "inner", " ", "product", " ", "of", " ", "input", " ", "and", " ", "output", " ", RowBox[{"state", ".", " ", "1"}], " ", "indicates", " ", RowBox[{"success", ".", " ", "Tolerate"}], " ", "a", " ", "mild", " ", "numerical", " ", "inaccuracy"}], " ", "-", " ", RowBox[{ "necessary", " ", "to", " ", "get", " ", "symmetry", " ", "about", " ", "the", " ", "perfect", " ", "transfer", " ", "time"}]}], "*)"}], "\[IndentingNewLine]", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{ RowBox[{"res2", "[", RowBox[{"[", "1", "]"}], "]"}], "-", "0.1"}], "]"}], "<", RowBox[{"10", "^", RowBox[{"(", RowBox[{"-", "8"}], ")"}]}]}], ",", "1", ",", "0"}], "]"}]}], ",", RowBox[{"{", RowBox[{"idx", ",", "1", ",", RowBox[{"Length", "[", "PZ", "]"}]}], "}"}]}], "]"}]}]}], "\[IndentingNewLine]", ",", RowBox[{"{", RowBox[{"jdx", ",", "1", ",", RowBox[{"Length", "[", "PX", "]"}]}], "}"}]}], "]"}]}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"factor", ",", "0.9", ",", "1.1", ",", "0.01"}], "}"}]}], "]"}]}]}]}]], "Input", CellChangeTimes->{{3.647072604135642*^9, 3.6470726126230574`*^9}, { 3.6470729187735615`*^9, 3.6470730474049187`*^9}, {3.6470730990928755`*^9, 3.6470733545706778`*^9}, {3.647073405357582*^9, 3.6470734614367895`*^9}, { 3.64707357753543*^9, 3.64707368959184*^9}, {3.647073741043782*^9, 3.6470737582347655`*^9}, {3.64707405448071*^9, 3.6470741110699463`*^9}, { 3.647074241948618*^9, 3.6470742560474243`*^9}, {3.6470743919351964`*^9, 3.6470744614671736`*^9}, {3.6470752648011217`*^9, 3.6470753255685973`*^9}, {3.6470754121845512`*^9, 3.6470755610630665`*^9}, {3.6470755961510735`*^9, 3.647075615948206*^9}, { 3.647075742893467*^9, 3.647075771653112*^9}, {3.6470760686831007`*^9, 3.6470761721940217`*^9}, {3.647076207903064*^9, 3.647076325218774*^9}, { 3.647076371594426*^9, 3.6470764590424285`*^9}, {3.647076743999727*^9, 3.6470768582952642`*^9}, {3.647076889138028*^9, 3.6470769376048*^9}, 3.647077000269385*^9, {3.6470770316301785`*^9, 3.6470770339333105`*^9}, { 3.6470770681172657`*^9, 3.6470770878543944`*^9}, {3.647077898403755*^9, 3.6470779074382715`*^9}, {3.647078391034932*^9, 3.6470783913759513`*^9}, { 3.6470784243548374`*^9, 3.6470784278820395`*^9}, {3.6470786026350346`*^9, 3.6470786383070755`*^9}, {3.6470786870018606`*^9, 3.647078874017557*^9}, { 3.647080995544491*^9, 3.647081250823339*^9}, {3.647081290743809*^9, 3.6470812908842096`*^9}, {3.6470813216786633`*^9, 3.6470813993668003`*^9}, {3.647081444404079*^9, 3.647081446588083*^9}, { 3.647081493341365*^9, 3.6470815004861774`*^9}, {3.6470837878377953`*^9, 3.6470838303790703`*^9}, {3.647083993914158*^9, 3.6470840138041925`*^9}, { 3.6471491908544717`*^9, 3.6471492027104716`*^9}, 3.6471502126038256`*^9, { 3.6471502739430256`*^9, 3.6471503035518255`*^9}, {3.6471504397146273`*^9, 3.64715044057266*^9}, 3.6471505835305605`*^9, {3.6471507520289917`*^9, 3.6471507589554806`*^9}, {3.663325813231691*^9, 3.663325892762352*^9}, { 3.6633261619264774`*^9, 3.663326168213318*^9}, {3.663326210161987*^9, 3.663326212876404*^9}, {3.6633262497862406`*^9, 3.663326271423579*^9}, { 3.66332633862881*^9, 3.6633264188445244`*^9}, 3.6633264618227997`*^9, { 3.6633265203541393`*^9, 3.663326577808939*^9}, {3.6633266195864563`*^9, 3.6633266312399554`*^9}, {3.663326677557543*^9, 3.6633266779163523`*^9}, { 3.6633882864072137`*^9, 3.663388292990425*^9}, {3.6633885420136623`*^9, 3.663388559360893*^9}, {3.6633887731124687`*^9, 3.6633887835020866`*^9}, { 3.6633890135244904`*^9, 3.663389017018897*^9}, {3.663389558667448*^9, 3.66338955999345*^9}, {3.6633895935803094`*^9, 3.663389928232097*^9}, { 3.6633899997582226`*^9, 3.663390085698774*^9}, {3.6633901504856873`*^9, 3.6633901652277136`*^9}, {3.6633902421358485`*^9, 3.663390483811473*^9}, 3.663390602293681*^9, {3.663390694692643*^9, 3.663390700308653*^9}, { 3.6633907470151353`*^9, 3.663390750103941*^9}, {3.6633907914908133`*^9, 3.663390796295622*^9}, 3.663390894341794*^9, {3.663391123365796*^9, 3.6633911263142014`*^9}, {3.6633912486496162`*^9, 3.663391249351618*^9}, { 3.663391306915719*^9, 3.663391310378925*^9}, {3.6633918439310617`*^9, 3.6633919080315742`*^9}, {3.663392476154372*^9, 3.663392566603331*^9}, { 3.6633927113711853`*^9, 3.6633927922105274`*^9}, {3.663392831163796*^9, 3.663392857917843*^9}, {3.6633928881974964`*^9, 3.6633929073699303`*^9}, { 3.663392976166051*^9, 3.6633929891296735`*^9}, {3.663393556478818*^9, 3.663393696457864*^9}, {3.6633937474231534`*^9, 3.6633937724923973`*^9}, { 3.66339455486911*^9, 3.6633946710269146`*^9}, {3.663394715674193*^9, 3.663394734160225*^9}, {3.663394799898741*^9, 3.663394823345582*^9}, { 3.6633949758202496`*^9, 3.6633949828558617`*^9}, {3.6633950327915497`*^9, 3.663395039608762*^9}, {3.663395157420169*^9, 3.663395157576169*^9}, { 3.6633954463170757`*^9, 3.6633954525414867`*^9}, {3.6633955923021326`*^9, 3.6633956079187603`*^9}, {3.663395741969795*^9, 3.663395754449817*^9}, { 3.663395830577951*^9, 3.6633958331831555`*^9}, {3.6633959281249228`*^9, 3.6633960282770987`*^9}, {3.6633960815823917`*^9, 3.663396102158828*^9}, { 3.663396150581313*^9, 3.6633961643717375`*^9}, {3.663396233635859*^9, 3.663396262189109*^9}, {3.663396428251401*^9, 3.6633964840214987`*^9}, { 3.6633966032993083`*^9, 3.663396621925741*^9}, {3.663396722077917*^9, 3.6633967358215413`*^9}, {3.663397057764507*^9, 3.663397110320999*^9}, { 3.663397271952883*^9, 3.6633973682674522`*^9}, {3.6633974500583954`*^9, 3.663397455955206*^9}, {3.6633978978789825`*^9, 3.663397952541478*^9}, { 3.6633982218603516`*^9, 3.663398232858371*^9}, {3.6633984174222946`*^9, 3.6633984177966957`*^9}, {3.663398506342451*^9, 3.6633986956955833`*^9}, { 3.663398748798077*^9, 3.6633988310258217`*^9}, {3.66339886451908*^9, 3.663398890025125*^9}, {3.663399109803511*^9, 3.663399163732806*^9}, { 3.663399216133298*^9, 3.6633992221705084`*^9}, {3.6633992828702154`*^9, 3.663399333461104*^9}, {3.663399406344432*^9, 3.663399408029235*^9}, { 3.663399458183323*^9, 3.6633994625513306`*^9}, {3.6633994984781938`*^9, 3.6633995029242015`*^9}, {3.6633995778823333`*^9, 3.66339968397812*^9}, { 3.663399749201834*^9, 3.6633997511050377`*^9}, {3.663399825470368*^9, 3.663399881193666*^9}, {3.663399942236573*^9, 3.6633999423769736`*^9}, { 3.6633999823182435`*^9, 3.663400049601162*^9}, {3.663400223662408*^9, 3.6634002243176093`*^9}, {3.663400399693117*^9, 3.66340040137792*^9}, { 3.663400473325247*^9, 3.663400488987674*^9}, {3.6634006057382793`*^9, 3.6634006104962873`*^9}, {3.6634007471681275`*^9, 3.6634007499917326`*^9}, {3.663401526717097*^9, 3.6634015640947623`*^9}, { 3.663401652032117*^9, 3.6634016568837256`*^9}, {3.66340173349546*^9, 3.663401786395153*^9}, {3.6634019516670437`*^9, 3.663401953663847*^9}, { 3.66340208648248*^9, 3.663402167009822*^9}, {3.6634024965704007`*^9, 3.6634025066588182`*^9}, {3.663402598277779*^9, 3.663402606296193*^9}, { 3.6634026942491474`*^9, 3.6634027276332064`*^9}, {3.663402786039709*^9, 3.66340278677291*^9}, {3.6634031695819826`*^9, 3.663403171282386*^9}, { 3.6634033732247405`*^9, 3.6634033743947425`*^9}, {3.663403724216776*^9, 3.6634037341383934`*^9}, {3.6634037722336607`*^9, 3.6634037777716703`*^9}, {3.663403844898588*^9, 3.663403889530267*^9}, { 3.6634039446607637`*^9, 3.6634040478081446`*^9}, {3.663404101035438*^9, 3.6634041200674715`*^9}, {3.6634066911775875`*^9, 3.663406966986072*^9}, { 3.663407009511747*^9, 3.663407141739579*^9}, {3.6634071736884356`*^9, 3.6634071755292387`*^9}, 3.6634072249189253`*^9, {3.663407268162201*^9, 3.663407321186694*^9}, {3.6634073604051633`*^9, 3.663407397018428*^9}, { 3.6634076461352654`*^9, 3.663407646306865*^9}, {3.6634081508595514`*^9, 3.663408186396414*^9}, {3.663408220451274*^9, 3.6634082205760736`*^9}, { 3.6634082765333724`*^9, 3.663408299059812*^9}, {3.6634084184000216`*^9, 3.663408419913224*^9}, {3.663408478726328*^9, 3.6634085117671857`*^9}, { 3.6634085919981265`*^9, 3.663408602621745*^9}, {3.663408690387499*^9, 3.6634087065335274`*^9}, {3.6634089726699953`*^9, 3.663408987257021*^9}, { 3.6634091529615116`*^9, 3.663409181587562*^9}, {3.6634093048745785`*^9, 3.6634093672902884`*^9}, {3.6634098344643087`*^9, 3.6634098653367634`*^9}, {3.663409900514825*^9, 3.6634099529933167`*^9}, { 3.663409997515795*^9, 3.663410024628643*^9}, {3.6634100658957157`*^9, 3.6634101050673847`*^9}, {3.6634101637390876`*^9, 3.6634101952667427`*^9}, {3.663410262456061*^9, 3.6634102754352837`*^9}, { 3.6634103094901433`*^9, 3.6634103150281534`*^9}, {3.663410477674039*^9, 3.66341047803284*^9}, {3.6634105171733084`*^9, 3.6634105178441095`*^9}, { 3.6634105724754057`*^9, 3.663410612817076*^9}, {3.663410705512439*^9, 3.6634107407217007`*^9}, {3.663410777397365*^9, 3.663410805118614*^9}, { 3.6634108469422874`*^9, 3.6634108714343305`*^9}, {3.6634109385300484`*^9, 3.6634110217717943`*^9}, {3.6634110767150908`*^9, 3.6634110780098934`*^9}, {3.663411114014756*^9, 3.663411117087962*^9}, { 3.6634118837991085`*^9, 3.6634118849847107`*^9}, {3.663411983561284*^9, 3.6634119885376925`*^9}, {3.663412169934811*^9, 3.6634122062204747`*^9}, { 3.663412239690534*^9, 3.66341224313814*^9}, {3.663412624981011*^9, 3.6634126622494764`*^9}, {3.6634127163825717`*^9, 3.6634127914655037`*^9}, {3.663413448659658*^9, 3.663413550107636*^9}, { 3.663413627982973*^9, 3.6634137000082994`*^9}, {3.663413747541583*^9, 3.6634137497879868`*^9}, {3.663413812047696*^9, 3.663413814980501*^9}, { 3.663413858676178*^9, 3.6634138862570267`*^9}, {3.663414622158119*^9, 3.663414864192544*^9}, {3.663414959742712*^9, 3.663415011956004*^9}, { 3.663415084901732*^9, 3.6634150862901344`*^9}, {3.6634151499548464`*^9, 3.663415176693293*^9}, {3.6634152415582075`*^9, 3.6634152421978083`*^9}, { 3.6634157692263837`*^9, 3.663415809131254*^9}, 3.6634158754240866`*^9, { 3.66341590576614*^9, 3.6634159447818084`*^9}, {3.6634161531207743`*^9, 3.6634161568647814`*^9}, {3.663583482191351*^9, 3.6635837166504726`*^9}, 3.66358396527086*^9, {3.663659275899147*^9, 3.6636593842723465`*^9}, { 3.663659415456747*^9, 3.663659500929147*^9}, {3.663659588429547*^9, 3.663659604216747*^9}, {3.663659837842347*^9, 3.6636598548931465`*^9}, { 3.6636599696155467`*^9, 3.663659980504347*^9}, {3.663909660155407*^9, 3.663909773241043*^9}, {3.663909830778824*^9, 3.663909882441764*^9}, { 3.663909915226062*^9, 3.663910214076552*^9}, {3.663910245006297*^9, 3.6639104192705045`*^9}, {3.663910467640833*^9, 3.6639104729130583`*^9}, 3.66391056521142*^9, {3.663910603976426*^9, 3.6639106084535117`*^9}, { 3.663910661351755*^9, 3.663910674939007*^9}, {3.66391074033253*^9, 3.6639108159593906`*^9}, {3.663910868718049*^9, 3.6639108784367867`*^9}, { 3.6639109550322957`*^9, 3.663910962567047*^9}, {3.6639110323142004`*^9, 3.6639110681939707`*^9}, {3.6639111203444357`*^9, 3.6639111934615965`*^9}, {3.6639112235695963`*^9, 3.66391127222447*^9}, { 3.6639113501097784`*^9, 3.6639114469685493`*^9}, {3.663911516898418*^9, 3.6639115283792086`*^9}, {3.663911636312394*^9, 3.6639119006034737`*^9}, { 3.663912082234274*^9, 3.663912084418274*^9}, {3.663912222665474*^9, 3.663912223258274*^9}, {3.663912408383474*^9, 3.663912414467474*^9}, { 3.663912512248274*^9, 3.663912523324274*^9}, {3.663912570685874*^9, 3.663912573010274*^9}, {3.663912690072674*^9, 3.663912694237874*^9}, { 3.6639127656546736`*^9, 3.663912772456274*^9}, {3.663912814794674*^9, 3.663912819521474*^9}, {3.663912971091074*^9, 3.6639129869718738`*^9}, { 3.663913557705307*^9, 3.6639136056127377`*^9}, {3.6639136412119374`*^9, 3.6639136431307373`*^9}, {3.663913747307537*^9, 3.6639137485243373`*^9}, { 3.6639138323119373`*^9, 3.6639138358219376`*^9}, {3.6639139141807375`*^9, 3.663913940997137*^9}, {3.663927286712388*^9, 3.6639273717961884`*^9}, { 3.6639274135119257`*^9, 3.663927490999609*^9}, {3.663927526319141*^9, 3.6639275806556826`*^9}, {3.6639276587049456`*^9, 3.663927695521653*^9}, { 3.6639277662066126`*^9, 3.6639277665810204`*^9}, {3.6639278670625525`*^9, 3.663927888902972*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0.9`", ",", "0.26039492050867435`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.91`", ",", "0.3347485599370742`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.92`", ",", "0.4243312761842276`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.93`", ",", "0.5291548482980708`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.9400000000000001`", ",", "0.6458537496803682`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.9500000000000001`", ",", "0.7651138431573747`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.96`", ",", "0.8712794433103868`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.97`", ",", "0.947822333491638`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.98`", ",", "0.9875424666174836`"}], "}"}], ",", RowBox[{"{", RowBox[{"0.99`", ",", "0.9991229833446309`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.`", ",", "1.0000000000000018`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.01`", ",", "0.99912292429806`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.02`", ",", "0.9875432014161107`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.03`", ",", "0.947821360061923`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.04`", ",", "0.8712861357264762`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.05`", ",", "0.7651216313619933`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.06`", ",", "0.6458024736652801`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.07`", ",", "0.5291559677777916`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.08`", ",", "0.424331255371502`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.09`", ",", "0.3347485244640847`"}], "}"}], ",", RowBox[{"{", RowBox[{"1.1`", ",", "0.2603949319606289`"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.663912705610274*^9, 3.6639127914882736`*^9, 3.663912829786274*^9, 3.6639130144746737`*^9, 3.6639135762535877`*^9, 3.6639136144111376`*^9, 3.663913658902337*^9, 3.6639137637187376`*^9, 3.6639138511879377`*^9, 3.663913932058337*^9, 3.6639139651001377`*^9, 3.6639277165820584`*^9, 3.663927788015832*^9, 3.6639279572478867`*^9, 3.663927999977108*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ListPlot", "[", RowBox[{"sol", ",", RowBox[{"FrameStyle", "\[Rule]", RowBox[{"Directive", "[", RowBox[{"Thick", ",", RowBox[{"FontSize", "\[Rule]", "28"}]}], "]"}]}], ",", RowBox[{"PlotStyle", "\[Rule]", RowBox[{"Directive", "[", RowBox[{"PointSize", "[", "0.02", "]"}], "]"}]}], ",", RowBox[{"FrameLabel", "\[Rule]", RowBox[{"{", RowBox[{ "\"\\"", ",", "\"\\""}], "}"}]}], ",", RowBox[{"Frame", "\[Rule]", "True"}]}], "]"}]], "Input", CellChangeTimes->{{3.6636598946731467`*^9, 3.663659898136347*^9}, { 3.6636699883017797`*^9, 3.663670122016352*^9}, {3.6636701551293*^9, 3.6636701718104925`*^9}, {3.6639129509046736`*^9, 3.663912952105874*^9}, { 3.6639134139586415`*^9, 3.663913414411039*^9}, {3.6639134724738665`*^9, 3.663913477980631*^9}, {3.6639138564139376`*^9, 3.6639138576775374`*^9}, { 3.6639140370317373`*^9, 3.6639140377337375`*^9}, {3.66392758556984*^9, 3.6639275858038473`*^9}}], Cell[BoxData[ GraphicsBox[{{}, {RGBColor[0.24720000000000014`, 0.24, 0.6], PointSize[0.02], PointBox[CompressedData[" 1:eJxTTMoPSmViYGAQBWIQffYMCLyx53d7UeK/6oK9fOvrwB1yb+3TWEMsW3Ou 2hfacl1fXPDWflZqRZydxm37w181YvoPvbU/tuOf6rV3D+xF17k/rBJ5Z1/A Oaf66qon9ulpIPDOPqj2ENuF6hf2O+RABr6z57MPy219+NoeZJot13v7c1Uz GvpD3tkDDQOa+N6+XmDjik8z39uDjVv33j5lq8vhCz/e2zOAwQd7DiitCdbw wf5+xsTFIPkgsAUf7M+x6Bt/AeqvFgGZ8MG+KfBvaS/Q/CUFIA98sH/9wqds MtB+iH8/2LfpscY8ALrvG8g7Xz/YR+gzfc4Euh/i/4/2F68z1d8A+s8D5Bz3 j/a2BfIeIP9DwuOj/Vp3W2FQ+MyaCQIf7XdomjSCwg8A4RGsDg== "]]}, {}}, AspectRatio->NCache[GoldenRatio^(-1), 0.6180339887498948], Axes->True, AxesOrigin->{0.9, 0.26039492050867435`}, Frame->True, FrameLabel->{{ FormBox["\"Probability of Successful Correction\"", TraditionalForm], None}, { FormBox["\"Fraction of Perfect Revival Time\"", TraditionalForm], None}}, FrameStyle->Directive[ Thickness[Large], FontSize -> 28], ImageSize->{1011.2567610931073`, Automatic}, Method->{}, PlotRange->{{0.9, 1.1}, {0.26039492050867435`, 1.0000000000000018`}}, PlotRangeClipping->True, PlotRangePadding->{{0.004000000000000002, 0.004000000000000002}, { 0.014792101589826547`, 0.014792101589826547`}}]], "Output", CellChangeTimes->{ 3.6636598993687468`*^9, 3.6636699505796337`*^9, {3.6636700094416847`*^9, 3.6636700368643184`*^9}, {3.6636700882486286`*^9, 3.663670122749078*^9}, { 3.6636701595880113`*^9, 3.66367017224701*^9}, 3.6639129531354737`*^9, 3.6639134149726353`*^9, 3.6639134801490173`*^9, 3.6639138583951373`*^9, 3.6639140424137373`*^9, 3.663928012301345*^9}] }, Open ]] }, Open ]] }, WindowSize->{1314, 952}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, FrontEndVersion->"9.0 for Microsoft Windows (64-bit) (January 25, 2013)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[579, 22, 131, 3, 101, "Title"], Cell[713, 27, 377, 6, 49, "Text"], Cell[CellGroupData[{ Cell[1115, 37, 29320, 649, 1297, "Input"], Cell[30438, 688, 18943, 258, 572, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[49430, 952, 181, 4, 101, "Title"], Cell[49614, 958, 547, 9, 49, "Text"], Cell[CellGroupData[{ Cell[50186, 971, 33844, 710, 1557, "Input"], Cell[84033, 1683, 2157, 50, 72, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[86227, 1738, 1075, 22, 52, "Input"], Cell[87305, 1762, 1613, 33, 669, "Output"] }, Open ]] }, Open ]] } ] *) (* End of internal cache information *)