स्टेबलाइजर कोड

क्वांटम त्रुटि सुधार क्वांटम कम्प्यूटिंग और क्वांटम संचार उपकरणों के व्यावहारिक कार्यान्वयन और इंजीनियरिंग में प्रमुख भूमिका निभाता है। पहले क्वांटम त्रुटि-सुधार करने वाले कोड अपने संचालन और प्रदर्शन में चिरसम्मत ब्लॉक पीकोड के समान हैं। क्वांटम त्रुटि-सुधार करने वाले कोड एक रवयुक्त, स्पष्ट क्वांटम स्थिति को शुद्ध क्वांटम स्थिति में पुनर्स्थापित करते हैं। स्टेबलाइजर (स्थिरक) क्वांटम त्रुटि-सुधार करने वाला कोड एंसीला क्वैबिट को उन क्वैबिट में जोड़ता है जिन्हें हम सुरक्षित रखना चाहते हैं। एकात्मक एन्कोडिंग सर्किट वैश्विक स्थिति को एक बड़े हिल्बर्ट समष्टि के उप-समष्टि में घूर्णन करता है। यह अत्यधिक उलझी हुई, एन्कोडेड स्थिति स्थानीय रवयुक्त संबंधी त्रुटियों को ठीक करती है। क्वांटम त्रुटि-सुधार कोड प्रेषक और रिसीवर के लिए रवयुक्त रहित क्वबिट चैनल का अनुकरण करने का एक तरीका प्रदान करके क्वांटम गणना और क्वांटम संचार को व्यावहारिक बनाता है, जिसका रवयुक्त विशेष त्रुटि मॉडल के अनुरूप होता है।

क्वांटम त्रुटि सुधार का स्टेबलाइजर सिद्धांत किसी को क्वांटम कोड के रूप में उपयोग के लिए कुछ चिरसम्मत द्विआधारी या चतुर्धातुक कोड आयात करने की अनुमति देता है। चूंकि, चिरसम्मत कोड को आयात करते समय, इसे दोहरे-युक्त (या स्व-लंबकोणीयता) बाधा को पूरा करना होगा। शोधकर्ताओं ने इस बाधा को पूरा करने वाले चिरसम्मत कोड के कई उदाहरण पाए हैं, लेकिन अधिकांश चिरसम्मत कोड ऐसा नहीं करते हैं। फिर भी, इस तरह से चिरसम्मत कोड आयात करना अभी भी उपयोगी है (चूंकि, देखें कि उलझाव-सहायता वाली स्टेबलाइज़र औपचारिकता इस कठिनाई को कैसे दूर करती है)।

गणितीय पृष्ठभूमि
स्टेबलाइज़र औपचारिकता क्वांटम त्रुटि-सुधार कोड तैयार करने में पाउली समूह $$\Pi$$ के तत्वों का उपयोग करती है। सेट $$\Pi=\left\{ I,X,Y,Z\right\}  $$ में पाउली ऑपरेटर सम्मिलित हैं:

I\equiv \begin{bmatrix} 1 & 0\\ 0 & 1 \end{bmatrix} ,\ X\equiv \begin{bmatrix} 0 & 1\\ 1 & 0 \end{bmatrix} ,\ Y\equiv \begin{bmatrix} 0 & -i\\ i & 0 \end{bmatrix} ,\ Z\equiv \begin{bmatrix} 1 & 0\\ 0 & -1 \end{bmatrix} . $$ उपरोक्त ऑपरेटर एकल क्वबिट पर कार्य करते हैं - एक स्थिति जो द्वि-आयामी हिल्बर्ट समष्टि में सदिश द्वारा दर्शायी जाती है। $$\Pi$$ में ऑपरेटरों के पास अभिलक्षणिक मान $$\pm1$$ है और या तो कम्यूट या एंटी-कम्यूट है। सेट $$\Pi^{n}$$में पाउली ऑपरेटरों के $$n$$-फोल्ड प्रदिश गुणनफल सम्मिलित हैं:

\Pi^{n}=\left\{ \begin{array} [c]{c} e^{i\phi}A_{1}\otimes\cdots\otimes A_{n}:\forall j\in\left\{ 1,\ldots ,n\right\} A_{j}\in\Pi,\ \ \phi\in\left\{  0,\pi/2,\pi,3\pi/2\right\} \end{array} \right\}. $$ $$\Pi^{n}$$ के तत्व $$n$$ क्वबिट के क्वांटम रजिस्टर पर कार्य करते हैं। हम कभी-कभी निम्नलिखित में प्रदिश गुणनफल प्रतीकों प्रतीकों को छोड़ देते हैं जिससे कि
 * $$A_{1}\cdots A_{n}\equiv A_{1}\otimes\cdots\otimes A_{n}.$$

$$n$$-फोल्ड पाउली समूह $$\Pi^{n}$$ एन्कोडिंग सर्किट और $$n$$ क्वबिट पर क्वांटम स्टेबलाइज़र कोड की त्रुटि-सुधार प्रक्रिया दोनों के लिए महत्वपूर्ण भूमिका निभाता है।

परिभाषा
आइए हम $$k$$ तार्किक क्वबिट में $$n$$ भौतिक क्वबिट में एन्कोड करने के लिए $$\left[ n,k\right]  $$ स्टेबलाइज़र क्वांटम त्रुटि-सुधार को परिभाषित करें। ऐसे कोड की दर $$k/n$$ है। इसका स्टेबलाइज़र $$\mathcal{S}$$, $$n$$-फोल्ड पाउली समूह $$\Pi^{n}$$ का एबेलियन समूह उपसमूह है। $$\mathcal{S}$$ में ऑपरेटर $$-I^{\otimes n}$$ सम्मिलित नहीं है। ऑपरेटरों का एक साथ$$+1$$- अभिलाक्षणिक समष्टि कोडस्पेस का गठन करता है। कोडस्पेस का आयाम $$2^{k}$$ है जिससे कि हम इसमें $$k$$ क्वबिट को एन्कोड कर सकें। $$n-k$$ स्वतंत्र जनरेटर के संदर्भ में स्टेबलाइजर $$\mathcal{S}$$ का प्रतिनिधित्व (गणित) न्यूनतम है
 * $$\left\{ g_{1},\ldots,g_{n-k}\ |\ \forall i\in\left\{

1,\ldots,n-k\right\} ,\ g_{i}\in\mathcal{S}\right\} .$$ जनरेटर इस अर्थ में स्वतंत्र हैं कि उनमें से कोई भी अन्य दो (वैश्विक कला तक) का उत्पाद नहीं है। ऑपरेटर $$g_{1},\ldots,g_{n-k}$$ उसी तरह कार्य करते हैं जैसे समता जाँच मैट्रिक्स चिरसम्मत रैखिक ब्लॉक कोड के लिए करता है।

स्टेबलाइज़र त्रुटि-सुधार की स्थिति
क्वांटम त्रुटि सुधार सिद्धांत में मूलभूत धारणाओं में से एक यह है कि यह पाउली समूह $$\Pi^{n}$$ में समर्थन (गणित) के साथ सेट की गई असतत त्रुटि को ठीक करने के लिए पर्याप्त है। मान लीजिए कि एन्कोडेड क्वांटम स्थिति को प्रभावित करने वाली त्रुटियां पाउली समूह $$\Pi^{n}$$ का एक उपसमुच्चय गणित $$\mathcal{E}$$ हैं:
 * $$\mathcal{E}\subset\Pi^{n}.$$

चूँकि $$\mathcal{E}$$ और $$\mathcal{S}$$ के दोनों $$\Pi^{n}$$ के सबसेट हैं, एक त्रुटि $$E\in\mathcal{E}$$ जो एन्कोडेड क्वांटम स्थिति को प्रभावित करती है या तो किसी विशेष तत्व $$\mathcal{S}$$ में $$g$$ के साथ कम्यूट या एंटीकम्यूट (प्रतिगमन) करती है। त्रुटि $$E$$ सुधार योग्य है यदि यह एक तत्व $$\mathcal{S}$$ के साथ एंटीकम्यूट करता है। एंटीकम्यूटिंग त्रुटि $$E$$ को प्रत्येक तत्व $$\mathcal{S}$$ को को मापकर और $$E$$ की पहचान करने वाले सिंड्रोम $$\mathbf{r}$$ की गणना करके पता लगाया जा सकता है। सिंड्रोम एक द्विआधारी सदिश $$\mathbf{r}$$ है जिसकी लंबाई $$n-k$$ है जिसके तत्व पहचानते हैं कि क्या त्रुटि है $$E$$ प्रत्येक $$g\in\mathcal{S}$$ के साथ कम्यूट या एंटीकम्यूट करता है। एक त्रुटि$$E$$ जो प्रत्येक तत्व $$g$$ के साथ $$\mathcal{S}$$ में आती है, उसे सुधारा जा सकता है यदि और केवल तभी जब वह $$\mathcal{S}$$ में हो। यदि यह एन्कोडेड स्थिति को विकृत करता है यदि यह $$\mathcal{S}$$ के प्रत्येक तत्व के साथ कम्यूट करता है लेकिन $$\mathcal{S} $$ में स्थित नहीं होता है। इसलिए हम स्टेबलाइज़र त्रुटि-सुधार स्थितियों को संक्षेप में सारांशित करते हैं: एक स्टेबलाइज़र कोड किसी भी त्रुटि को ठीक कर सकता है $$E_{1},E_{2}$$ में $$\mathcal{E}$$ यदि
 * $$E_{1}^{\dagger}E_{2}\notin\mathcal{Z}\left( \mathcal{S}\right)  $$

या


 * $$E_{1}^{\dagger}E_{2}\in\mathcal{S}$$

जहाँ $$\mathcal{Z}\left( \mathcal{S} \right)  $$, $$\mathcal{S}$$ का केंद्रीकरणकर्ता है (अर्थात, तत्वों का उपसमूह जो $$\mathcal{S}$$ सभी सदस्यों के साथ कम्यूट करता है, जिसे कम्यूटेंट के रूप में भी जाना जाता है)।

स्टेबलाइजर कोड का सरल उदाहरण
स्टेबलाइजर कोड का एक सरल उदाहरण तीन क्विबिट $$\left 3,1,3\right  $$ स्टेबलाइजर कोड है। यह $$k=1$$ तार्किक क्वबिट  में $$n=3$$ भौतिक क्वैबिट में एन्कोड करता है और सेट में $$\left\{ X_{i}\right\}$$ एकल-बिट फ्लिप त्रुटि से बचाता है। यह अन्य पाउली त्रुटियों जैसे सेट $$\left\{ Y_{i}\right\}$$।या $$\left\{ Z_{i}\right\}$$ में कला फ़्लिप त्रुटियों से रक्षा नहीं करता है। इसका कोड दूरी है $$d=3$$। इसके स्टेबलाइज़र में$$n-k=2$$ पाउली ऑपरेटर सम्मिलित हैं:

\begin{array} [c]{ccc} g_{1} & = & Z & Z & I\\ g_{2} & = & I & Z & Z\\ \end{array} $$ यदि कोई बिट-फ़्लिप त्रुटियाँ नहीं हैं, तो दोनों ऑपरेटर $$g_{1}$$ और $$g_{2}$$ कम्यूट, सिंड्रोम +1,+1 है, और कोई त्रुटि नहीं पाई गई है।

यदि पहले एन्कोडेड क्वबिट पर बिट-फ्लिप त्रुटि है, तो ऑपरेटर $$g_{1}$$ एंटी-कम्यूट करेगा और $$g_{2}$$ कम्यूट करेगा, सिंड्रोम -1,+1 है, और त्रुटि का पता लगाया जाता है। यदि दूसरे एन्कोडेड क्वबिट पर बिट-फ्लिप त्रुटि है, तो ऑपरेटर $$g_{1}$$ टी-कम्यूट करेगा और $$g_{2}$$ एंटी-कम्यूट करेगा, सिंड्रोम -1,-1 है, और त्रुटि का पता लगाया जाता है। यदि तीसरे एन्कोडेड क्वबिट पर बिट-फ्लिप त्रुटि है, तो ऑपरेटर $$g_{1}$$ कम्यूट करेगा और $$g_{2}$$ एंटी-कम्यूट करेगा, सिंड्रोम +1,-1 है, और त्रुटि का पता लगाया जाता है।

स्टेबिलाइजर कोड का उदाहरण
स्टेबलाइज़र कोड का एक उदाहरण पाँच क्वबिट $$\left 5,1,3\right  $$ स्टेबलाइज़र कोड है। यह $$k=1$$ तार्किक क्वबिट को $$n=5$$ भौतिक क्वैबिट में एन्कोड करता है और एक यादृच्छिक सिंगल-क्विबिट से बचाता है। इसमें कोड दूरी $$d=3$$ है। इसके स्टेबलाइज़र $$n-k=4$$ पाउली ऑपरेटर सम्मिलित हैं:

\begin{array} [c]{ccccccc} g_{1} & = & X & Z & Z & X & I\\ g_{2} & = & I & X & Z & Z & X\\ g_{3} & = & X & I & X & Z & Z\\ g_{4} & = & Z & X & I & X & Z \end{array} $$ उपरोक्त ऑपरेटर कम्यूट करते हैं। इसलिए, कोडस्पेस एक साथ +1- ईजेनस्पेस है। मान लीजिए कि एन्कोडेड क्वांटम रजिस्टर पर एकल-क्विबिट त्रुटि होती है। एकल-क्विबिट त्रुटि सेट $$\left\{ X_{i},Y_{i},Z_{i}\right\}$$ में है जहाँ $$A_{i}$$ क्वैबिट$$i$$ पर एक पाउली त्रुटि को दर्शाता है। यह सत्यापित करना सीधा है कि किसी भी यादृच्छिक सिंगल-क्विबिट त्रुटि में एक अद्वितीय सिंड्रोम होता है। रिसीवरसमता माप के माध्यम से सिंड्रोम की पहचान करके और सुधारात्मक ऑपरेशन लागू करके किसी भी एकल-क्विबिट त्रुटि को ठीक करता है।

पाउली समूह और द्विआधारी सदिश के बीच संबंध
$$\Pi$$ के तत्वों और द्विआधार सदिश समष्टि $$\left( \mathbb{Z}_{2}\right)  ^{2}$$ के बीच एक सरल लेकिन उपयोगी मैपिंग सम्मिलित है। यह मैपिंग क्वांटम त्रुटि सुधार सिद्धांत का सरलीकरण देती है।यह क्रमशः पाउली ऑपरेटरों और मैट्रिक्स ऑपरेशंस के अतिरिक्त द्विआधारी सदिश और मैट्रिक्स ऑपरेशन के साथ क्वांटम कोड का प्रतिनिधित्व करता है।

हम सबसे पहले वन-क्विबिट स्थिति के लिए मैपिंग देते हैं। मान लीजिए $$\left[ A\right]  $$ ऑपरेटर (भौतिकी) $$A$$ के समतुल्य वर्गों का एक सेट है जिनका कला (तरंगें) समान है:

\left[ A\right]  =\left\{  \beta A\ |\ \beta\in\mathbb{C},\ \left\vert \beta\right\vert =1\right\}. $$ मान लीजिए कि $$\left[ \Pi\right]  $$ कला-मुक्त पाउली ऑपरेटरों का सेट है जहाँ $$\left[  \Pi\right]  =\left\{  \left[  A\right]  \ |\ A\in\Pi\right\}  $$मैप को परिभाषित करें $$N:\left(  \mathbb{Z}_{2}\right)  ^{2}\rightarrow\Pi$$ जैसा

00 \to I, \,\, 01 \to X, \,\, 11 \to Y, \,\, 10 \to Z $$ मान लीजिए $$u,v\in\left( \mathbb{Z}_{2}\right)  ^{2}$$। आइए हम आशुलिपि का उपयोग करें $$u=\left(  z|x\right)  $$ और $$v=\left(  z^{\prime}|x^{\prime }\right)  $$ जहाँ $$z$$, $$x$$, $$z^{\prime}$$, $$x^{\prime}\in\mathbb{Z}_{2}$$। उदाहरण के लिए, मान लीजिए $$u=\left(  0|1\right)  $$। तब $$N\left(  u\right)  =X$$। मैप $$N$$ एक समरूपता उत्पन्न करता है $$\left[  N\right]  :\left(  \mathbb{Z} _{2}\right)  ^{2}\rightarrow\left[  \Pi\right]  $$ क्योंकि $$\left(  \mathbb{Z}_{2}\right)  ^{2}$$ में सदिशों की संख्या वैश्विक चरण तक पाउली ऑपरेटरों के गुणन के बराबर है:

\left[ N\left(  u+v\right)  \right]  =\left[  N\left(  u\right)  \right] \left[ N\left(  v\right)  \right]. $$ मान लीजिए कि $$\odot$$ दो तत्वों $$u,v\in\left( \mathbb{Z}_{2}\right) ^{2}$$ के बीच सिम्प्लेक्टिक उत्पाद को निरूपित करें:

u\odot v\equiv zx^{\prime}-xz^{\prime}. $$ सिंपलेक्टिक उत्पाद $$\odot$$ $$\Pi$$ के तत्वों का क्रमविनिमेय गुण संबंध देता है:

N\left( u\right)  N\left(  v\right)  =\left(  -1\right)  ^{\left(  u\odot v\right)  }N\left(  v\right)  N\left(  u\right). $$ इस प्रकार सिंपलेक्टिक उत्पाद और मैपिंग $$N$$ बूलियन बीजगणित (तर्क) के संदर्भ में पाउली संबंधों को वाक्यांशित करने का एक उपयोगी तरीका देते हैं। उपरोक्त परिभाषाओं का विस्तार और $$N$$ एकाधिक क्वबिट में मैप करना सीधा है। मान लीजिए कि $$\mathbf{A}=A_{1}\otimes\cdots\otimes A_{n}$$ $$\Pi^{n}$$का एक यादृच्छिक तत्व दर्शाता है। हम इसी तरह चरण-मुक्त $$n$$-क्विबिट पाउली समूह को परिभाषित कर सकते हैं $$\left[ \Pi^{n}\right]  =\left\{  \left[ \mathbf{A}\right] \ |\ \mathbf{A}\in\Pi^{n}\right\}  $$ जहाँ

\left[ \mathbf{A}\right]  =\left\{  \beta\mathbf{A}\ |\ \beta\in \mathbb{C},\ \left\vert \beta\right\vert =1\right\}. $$ समूह संचालन $$\ast$$ उपरोक्त तुल्यता वर्ग के लिए इस प्रकार है:
 * $$ \left[ \mathbf{A}\right]  \ast\left[  \mathbf{B}\right]    \equiv\left[

A_{1}\right] \ast\left[  B_{1}\right]  \otimes\cdots\otimes\left[ A_{n}\right] \ast\left[  B_{n}\right]  =\left[  A_{1}B_{1}\right]  \otimes\cdots\otimes\left[  A_{n}B_{n}\right] =\left[ \mathbf{AB}\right]. $$ तुल्यता वर्ग $$\left[ \Pi^{n}\right]  $$ ऑपरेशन $$\ast$$ के अनुसार क्रमविनिमेय समूह बनाता है। $$2n$$-आयामी सदिश समष्टि पर विचार करें

\left( \mathbb{Z}_{2}\right)  ^{2n}=\left\{  \left(  \mathbf{z,x}\right)
 * \mathbf{z},\mathbf{x}\in\left( \mathbb{Z}_{2}\right)  ^{n}\right\}.

$$ यह ऑपरेशन $$+$$ को द्विआधारी सदिश जोड़ के रूप में परिभाषित करते हुए क्रमविनिमेय समूह $$(\left( \mathbb{Z}_{2}\right)  ^{2n},+)$$ बनाता है। हम अंकन $$\mathbf{u}=\left(  \mathbf{z}|\mathbf{x}\right)  ,\mathbf{v}=\left( \mathbf{z}^{\prime}|\mathbf{x}^{\prime}\right)  $$ किसी भी सदिश का प्रतिनिधित्व करने के लिए $$\mathbf{u,v}\in\left(  \mathbb{Z}_{2}\right)  ^{2n}$$ क्रमश का उपयोग करते हैं। प्रत्येक सदिश $$\mathbf{z}$$ और $$\mathbf{x}$$ में तत्व $$\left(  z_{1},\ldots ,z_{n}\right)  $$ और $$\left(  x_{1},\ldots,x_{n}\right)  $$  $$\mathbf{z}^{\prime}$$ और $$\mathbf{x}^{\prime}$$के लिए समान निरूपण के साथ क्रमशः है। सिंपलेक्टिक उत्पाद $$\odot$$ का $$\mathbf{u}$$ और $$\mathbf{v}$$ है

\mathbf{u}\odot\mathbf{v\equiv}\sum_{i=1}^{n}z_{i}x_{i}^{\prime}-x_{i} z_{i}^{\prime}, $$ या

\mathbf{u}\odot\mathbf{v\equiv}\sum_{i=1}^{n}u_{i}\odot v_{i}, $$ जहाँ $$u_{i}=\left( z_{i}|x_{i}\right)  $$ और $$v_{i}=\left(  z_{i}^{\prime }|x_{i}^{\prime}\right)  $$, आइए मैप को परिभाषित करें $$\mathbf{N}:\left( \mathbb{Z}_{2}\right)  ^{2n}\rightarrow\Pi^{n}$$ निम्नलिखित नुसार:

\mathbf{N}\left( \mathbf{u}\right)  \equiv N\left(  u_{1}\right) \otimes\cdots\otimes N\left( u_{n}\right). $$ मान लीजिए कि

\mathbf{X}\left( \mathbf{x}\right)   \equiv X^{x_{1}}\otimes\cdots\otimes X^{x_{n}}, \,\,\,\,\,\,\, \mathbf{Z}\left( \mathbf{z}\right)     \equiv Z^{z_{1}}\otimes\cdots\otimes Z^{z_{n}}, $$ जिससे कि $$\mathbf{N}\left( \mathbf{u}\right)  $$ और $$\mathbf{Z}\left( \mathbf{z}\right)  \mathbf{X}\left(  \mathbf{x}\right)  $$ उसी के तुल्यता वर्ग  हैं:

\left[ \mathbf{N}\left(  \mathbf{u}\right)  \right]  =\left[  \mathbf{Z} \left( \mathbf{z}\right)  \mathbf{X}\left(  \mathbf{x}\right)  \right]. $$ वो मैप $$\left[ \mathbf{N}\right]  :\left(  \mathbb{Z}_{2}\right) ^{2n}\rightarrow\left[ \Pi^{n}\right]  $$ उसी के लिए एक समरूपता है पिछले स्थिति की तरह ही कारण दिया गया:

\left[ \mathbf{N}\left(  \mathbf{u+v}\right)  \right]  =\left[ \mathbf{N}\left( \mathbf{u}\right)  \right]  \left[  \mathbf{N}\left( \mathbf{v}\right)  \right]  , $$ जहाँ $$\mathbf{u,v}\in\left( \mathbb{Z}_{2}\right)  ^{2n}$$, सिंपलेक्टिक उत्पाद किसी भी ऑपरेटर के कम्यूटेशन संबंधों को कैप्चर करता है $$\mathbf{N}\left( \mathbf{u}\right)  $$ और $$\mathbf{N}\left(  \mathbf{v}\right)  $$:

\mathbf{N\left( \mathbf{u}\right)  N}\left(  \mathbf{v}\right)  =\left( -1\right)  ^{\left(  \mathbf{u}\odot\mathbf{v}\right)  }\mathbf{N}\left( \mathbf{v}\right)  \mathbf{N}\left(  \mathbf{u}\right). $$ उपरोक्त द्विआधारी निरूपण और सिंपलेक्टिक बीजगणित चिरसम्मत रैखिक त्रुटि सुधार और क्वांटम त्रुटि सुधार के बीच संबंध अधिक स्पष्ट बनाने में उपयोगी हैं।

इस भाषा में क्वांटम त्रुटि सुधार कोड की तुलना सिम्प्लेक्टिक सदिश समष्टि से करके, हम निम्नलिखित देख सकते हैं। एक सिंपलेक्टिक उप-समष्टि पाउली बीजगणित (अर्थात, एन्कोडेड क्वैबिट) के प्रत्यक्ष योग से मेल खाता है, जबकि समानुवर्ती उप-समष्टि स्टेबलाइजर्स के सेट से मेल खाता है।

संदर्भ

 * D. Gottesman, "Stabilizer codes and quantum error correction," quant-ph/9705052, Caltech Ph.D. thesis. https://arxiv.org/abs/quant-ph/9705052
 * A. Calderbank, E. Rains, P. Shor, and N. Sloane, “Quantum error correction via codes over GF(4),” IEEE Trans. Inf. Theory, vol. 44, pp. 1369–1387, 1998. Available at https://arxiv.org/abs/quant-ph/9608006
 * A. Calderbank, E. Rains, P. Shor, and N. Sloane, “Quantum error correction via codes over GF(4),” IEEE Trans. Inf. Theory, vol. 44, pp. 1369–1387, 1998. Available at https://arxiv.org/abs/quant-ph/9608006
 * A. Calderbank, E. Rains, P. Shor, and N. Sloane, “Quantum error correction via codes over GF(4),” IEEE Trans. Inf. Theory, vol. 44, pp. 1369–1387, 1998. Available at https://arxiv.org/abs/quant-ph/9608006
 * A. Calderbank, E. Rains, P. Shor, and N. Sloane, “Quantum error correction via codes over GF(4),” IEEE Trans. Inf. Theory, vol. 44, pp. 1369–1387, 1998. Available at https://arxiv.org/abs/quant-ph/9608006