[PYTHON] Grundlagen der Quanteninformationstheorie: Datenkomprimierung (2)

\def\bra#1{\mathinner{\left\langle{#1}\right|}} \def\ket#1{\mathinner{\left|{#1}\right\rangle}} \def\braket#1#2{\mathinner{\left\langle{#1}\middle|#2\right\rangle}}

Einführung

Letztes Mal habe ich in der klassischen Informationstheorie "Shannons Codierungssatz in rauschfreien Kanälen" verstanden, diesmal also die Quantenversion von "Noise". Wir werden "Schumachers Codierungssatz in Quantenkanälen ohne" untersuchen. Shannons Theorem konnte mit dem Konzept der "typischen Reihe" bewiesen werden, aber Schumachers Theorem kann auch mit einem ähnlichen Konzept mit fast derselben logischen Erweiterung bewiesen werden. Nach dieser Erklärung simulieren wir die Codierung mit dem Quantenberechnungssimulator qlazy.

Die folgenden Dokumente wurden als Referenz verwendet.

  1. Neilsen, Chan "Quantencomputer und Quantenkommunikation (3)" Ohm (2005)
  2. Ishizaka, Ogawa, Kawachi, Kimura, Hayashi "Einführung in die Quanteninformationswissenschaft" Kyoritsu Publishing (2012)
  3. Tomita "Quanteninformationstechnik" Morikita Publishing (2017)

Verschränkungstreue

Schauen wir uns vorher die "Verschränkungstreue" an, die wir in einer späteren Diskussion verwenden werden. Ich habe es in früheren Artikeln nicht angesprochen, also werfen wir einen kurzen Blick auf seine Definition und Natur.

Die Wiedergabetreue ist ein Maß dafür, wie gut eine CPTP-Karte den Systemstatus beibehält. Angenommen, der Dichteoperator $ \ rho ^ {A} $ in einem Quantensystem A wird durch die CPTP-Karte zu $ \ Gamma (\ rho ^ {A}) $. Zu diesem Zeitpunkt, wenn die Reinigung von $ \ rho ^ {A} $ $ \ rho ^ {AR} = \ ket {\ Psi} ^ {AR} \ bra {\ Psi} ^ {AR} $ ist, Verschränkung Treue Grad $ F_ {e} ^ {2} $ verwendet die Wiedergabetreue $ F $ zwischen zwei Dichteoperatoren.

F_{e}^{2}(\rho^{A}, \Gamma) = F(\rho^{AR}, (\Gamma \otimes I^{R})(\rho^{AR}))^{2} = \bra{\Psi}^{AR} (\Gamma \otimes I^{R})(\rho^{AR}) \ket{\Psi}^{AR}  \tag{1}
F_{e}^{2}(\rho^{A}, \Gamma) = \sum_{k} |Tr(\rho^{A} M_k)|^{2}  \tag{2}
\begin{align}
F_{e}^{2}(\rho^{A}, \Gamma) &= \bra{\Psi}^{AR} \sum_{k} (M_k \otimes I_k) \rho^{AR} (M_{k}^{\dagger} \otimes I_k) \ket{\Psi}^{AR} \\
&= \sum_{k} \bra{\Psi}^{AR} (M_k \otimes I_k) \ket{\Psi}^{AR} \bra{\Psi}^{AR} (M_{k}^{\dagger} \otimes I_k) \ket{\Psi}^{AR}  \\
&= \sum_{k} Tr(\rho^{AR} (M_k \otimes I_k)) Tr(\rho^{AR} (M_{k}^{\dagger} \otimes I_k)) \\
&= \sum_{k} Tr(\rho^{A} M_k) Tr(\rho^{A} M_{k}^{\dagger}) \\
&= \sum_{k} |Tr(\rho^{A} M_k)|^{2}  \tag{3}
\end{align}

[^ 1]: $ F_ {e} ^ {2} in Einführung in die Quanteninformationswissenschaft mit einer detaillierten Erklärung der Verschränkungstreue. Das $ -Symbol wurde verwendet. Es scheint Brauch zu sein, 2 auf die Schulter von $ F_ {e} $ zu setzen, um zu bedeuten, dass es das Quadrat der Treue ist. Außerdem verwenden CPTP-Karten den Claus-Operator $ \ {M_k \} $, um $ \ Gamma (\ rho) = \ sum_ {k} M_ {k} \ rho M_ {k} ^ {\ dagger} $ zu verwenden Ich konnte es ausdrücken. Dann kann die Verschränkungstreue auch als geschrieben werden. Dies ist aus dem Folgenden ersichtlich. Problemstellung Na dann, das Hauptthema.

Dieses Mal ist das Ziel nicht "klassische Information", sondern "Quanteninformation". Mit anderen Worten wird "klassische Information" auf dem "Quantenzustand" (= codiert) übertragen, und der Quantenzustand selbst wird übertragen, anstatt "klassische Information" zu erhalten, die auf der Empfangsseite gemessen (= decodiert) wird. .. Zu diesem Zeitpunkt werden wir überlegen, wie der "Quantenzustand" komprimiert werden kann. Es mag leicht klingen, es in Worten zu sagen, aber lassen Sie uns zunächst überprüfen, was Sie tatsächlich physisch versuchen.

In der Quanteninformationstheorie ist der Quantenzustand der Dichteoperator $ \ rho $. Was vom Dichteoperator beschrieben wird, ist im Allgemeinen ein gemischter Zustand. Der gemischte Zustand manifestierte sich als probabilistisches Ensemble reiner Zustände oder als große Teilmenge reiner Zustände. Ersteres ist beispielsweise ein Zustand, der auftritt, wenn Alice einen Photonenwerfer hat, der den reinen Zustand willkürlich einstellen und ihn wahrscheinlich auf Feuer umschalten kann, und letzterer ist Teil des Quantenbits eines Quantencomputers. Es ist ein Zustand, der durch Herausnehmen erscheint (zum Beispiel).

Überlegen Sie, ob Sie nacheinander mit dem von diesem Dichteoperator beschriebenen Zustand als eine Einheit senden möchten. Im Fall der klassischen Informationstheorie wurde die Übertragung von englischen Alphabeten in chronologischer Reihenfolge durch die Folge der stochastischen Variablen $ X_1, X_2, \ cdots $ modelliert, aber in ähnlicher Weise sind die zu übertragenden Quantenzustände dicht. Modellieren Sie als eine Reihe von Operatoren $ \ rho_1, \ rho_2, \ cdots $. In Alices Beispiel führt Alice zuerst eine Photonenfeueraktion aus, die $ \ rho_1 $ entspricht, macht dann eine Verschnaufpause, führt dann eine Photonenfeueraktion aus, die $ \ rho_2 $ entspricht, und so weiter. Oder es kann tatsächlich mehrere Alice (!) Geben, Alice 1 ist verantwortlich für $ \ rho_1 $, Alice 2 ist verantwortlich für $ \ rho_2 $ und alle Alice schießt Photonen gleichzeitig ab. Vielleicht. Im Beispiel eines Quantencomputers nehmen wir ein bestimmtes Teilquantenbit des durch eine bestimmte Quantenschaltung erhaltenen Quantenzustands heraus, betrachten es als $ \ rho_1 $, senden es an den Quantenkommunikationspfad aus, machen eine Pause und machen dasselbe. Es ist ein Bild, das eine Dichteoperatorserie generiert, indem wiederholt $ \ rho_2 $ usw. freigegeben wird. Alternativ können Sie eine große Quantenschaltung verwenden, um eine Reihe von $ \ rho_1, \ rho_2, \ cdots $ parallel zu erstellen, wie im Fall mehrerer früherer Alices [^ 2]. ].

[^ 2]: Nun habe ich zwei Bilder illustriert, eines dient dazu, die vom Dichteoperator beschriebenen Zustände nacheinander in chronologischer Reihenfolge freizugeben, und das andere besteht darin, mehrere Zustände gleichzeitig freizugeben. Handelt es sich um eine einheitliche Konvertierung, die sich über mehrere Zustände erstreckt, dh, sie verwickelt sich ineinander (wird später beschrieben). Daher ist es besser, mehrere Bilder gleichzeitig im Kopf zu haben. Es kann einfach sein. Technisch gesehen spielt es keine Rolle, welche Sie verwickeln können.

Hier wird der erzeugte Quantenzustand über einen Übertragungsweg übertragen. Alices Photonen können über eine optische Faser an Bob geliefert werden, und die von einem Quantencomputer emittierten Quantenzustände können über das Quanteninternet an einen anderen Quantencomputer geliefert werden [^ 3]. In jedem Fall handelt es sich um eine Geschichte, die ein physikalisches System beinhaltet. Es ist daher besser, nicht zu glauben, dass ein unendlich dimensionaler Quantenzustand sofort übertragen werden kann. Jedes $ \ rho_i $ ist ein Dichteoperator, der im Hilbert-Raum der Dimension $ d $ definiert ist (daher beträgt die Anzahl der Quantenbits $ \ log d $). Wenn Sie $ n $ in großen Mengen senden möchten, beträgt die Anzahl der zum Generieren von Informationen erforderlichen Quantenbits natürlich $ n \ log d $. Da es physikalische Einschränkungen für den Übertragungsweg geben muss, wird eine Zustandsumwandlung angewendet, um in einer Form zu senden, die die Anzahl der Quantenbits so weit wie möglich reduziert, und die Empfangsseite führt eine gewisse Umwandlung in den empfangenen Quantenzustand durch, um den ursprünglichen Quantenzustand zu erhalten. Ich möchte so wenig Fehler wie möglich wiederherstellen.

[^ 3]: Ich denke, die Realisierung des Quanteninternets wird einige Jahrzehnte später sein, aber es macht Spaß, sich vorzustellen (Täuschung?), In welcher Zukunft Quantencomputer auf der ganzen Welt so verbunden sind!

Gibt es zu diesem Zeitpunkt eine Begrenzung für die Anzahl der Quantenbits, die komprimiert werden können? Wenn ja, wie wird es quantifiziert? Die Antwort darauf ist das "Schumacher-Codierungs-Theorem", das wir dieses Mal untersuchen werden.

Typischer Unterraum

Modellieren Sie zunächst, wie im Fall von Shannons Theorem, einfach die Quelle. Es wird angenommen, dass jedes $ \ rho_i $ die gleiche Wahrscheinlichkeitsverteilung hat (= hat die gleichen Elemente, wenn es in einer Matrix ausgedrückt wird) und $ \ rho_i $, die zu verschiedenen $ i $ gehören, unabhängig voneinander sind (= nicht korreliert). Eine solche Quanteninformationsquelle wird "i. D. Quanteninformationsquelle" genannt. Nachfolgende Diskussionen setzen dies voraus.

Betrachten Sie nun die Dichteoperatorreihe $ \ {\ rho_i \} $ als ein zusammengesetztes System $ \ sigma $. Das ist,

\sigma = \rho_1 \otimes \rho_2 \cdots  \tag{4}

ist. Dieses $ \ rho_1, \ rho_2, \ cdots $ hat einen Index zur Unterscheidung, aber die Substanz hat die gleiche Form. Wenn Sie es mit dem Symbol $ \ rho $ darstellen und das Spektrum zerlegen,

\rho = \sum_{x} p(x) \ket{x} \bra{x}  \tag{5}

Kann geschrieben werden. Da $ \ rho $ ein einzelner Quantenzustand ist, ist seine spektrale Zerlegung für zwei orthogonale Zustände linear, z. B. $ \ ket {up} \ bra {up} $ und $ \ ket {down} \ bra {down} $. Es wird eine Summe und sein Koeffizient p (x) kann als die Wahrscheinlichkeit interpretiert werden, dass der Zustand $ \ ket {x} $ auftritt. Mit anderen Worten, die Wahrscheinlichkeit, dass der Zustand $ \ ket {up} $ ist, ist p (up), die Wahrscheinlichkeit, dass der Zustand $ \ ket {down} $ ist, ist p (down) und die Summe der beiden ist 1. Außerdem ist die Quantenentropie $ S (\ rho) $ zu diesem Zeitpunkt gleich der klassischen Entropie $ H (p (x)) $ für p (x) = {p (auf), p (ab)}. Dann ist die Wahrscheinlichkeit, dass $ n $ Stücke aus der unendlichen Anzahl von $ \ rho $ -Serien herausgenommen werden und dass der Zustand $ \ ket {x_1} \ ket {x_2} \ cdots \ ket {x_n} $ ist Man kann es sich genau so vorstellen wie bei der klassischen Theorie [^ 4]. Das heißt, es gibt ein typisches Muster, das sehr wahrscheinlich auftritt, und die Wahrscheinlichkeit ist $ p (x_1, x_2, \ cdots, x_n) = p (x_1) p (x_2) \ cdots p (x_n) \ ca. 2 Sie kann durch ^ {-nS (p)} $ angenähert werden.

[^ 4]: Wenn Sie sich beispielsweise $ \ ket {up} $ als "Vorderseite" und $ \ ket {down} $ als "Rückseite" vorstellen, können Sie viele Male Münzen werfen. Sie können genauso denken.

Und die Wahrscheinlichkeit, dass das typische Muster auftritt, kann quantitativ wie folgt mit einer Breite von $ \ epsilon $ charakterisiert werden.

2^{-n(S(\rho)+\epsilon)} \leq p(x_1)p(x_2) \cdots p(x_n) \leq 2^{-n(S(\rho)-\epsilon)}  \tag{6}

Das ist auch

|\frac{1}{n} \log \frac{1}{p(x_1) \cdots p(x_n)} - S(\rho) | \leq \epsilon  \tag{7}

Kann als [^ 5] umgeschrieben werden.

[^ 5]: Vorheriger Artikel Bitte beachten Sie die Formeln (3) (8) (9).

Hier ist die Menge der Zustände $ \ ket {x_i} \ ket {x_2} \ cdots \ ket {x_n} $, die dem typischen Reihenmuster entspricht, das mit der durch dieses $ \ epsilon $ gekennzeichneten Wahrscheinlichkeit auftritt, "$ ". Wir nennen es "epsilon $ typischer Unterraum ($ \ epsilon $ -typischer Unterraum)" und schreiben es als $ T (n, \ epsilon) $.

Anschließend können Sie auch einen Projektionsoperator $ P (n, \ epsilon) $ im typischen Unterraum von $ \ epsilon $ definieren.

P(n,\epsilon) = \sum_{x \in T(n,\epsilon)} \ket{x_1}\bra{x_1} \otimes \ket{x_2}\bra{x_2} \otimes \cdots \otimes \ket{x_n}\bra{x_n}  \tag{8}

Es kann geschrieben werden als (dies ist ein Konzept, das in der klassischen Theorie nicht zu finden ist).

Nachdem wir fertig sind, schauen wir uns drei Sätze an, die für typische Teilräume gelten.

Typischer Subraumsatz (1)

Die Beschreibung von Neilsen, Chan wird so wie sie ist zitiert.

"Fix $ \ epsilon> 0 $. Für jedes $ \ delta> 0 $ und $ n $ groß genug

Tr(P(n,\epsilon)\rho^{\otimes n}) \geq 1-\delta  \tag{9}

Der Inhalt ist fast der gleiche wie der "Typische Reihensatz (1)" in der klassischen Informationstheorie. Im vorherigen Artikel (https://qiita.com/SamN/items/12cc4f3057b36381e474) habe ich erklärt, was der eindeutige Wortlaut von $ \ epsilon- \ delta $ bedeutet, daher werde ich ihn hier nicht wiederholen. Der Unterschied besteht darin, dass die Wahrscheinlichkeit, ein $ \ epsilon $ typischer Unterraum zu sein, durch $ Tr $ dargestellt wird. Ist das okay? Da wir den ursprünglichen Dichteoperator durch Projektion auf den typischen Unterraum $ \ epsilon $ abgebildet und verfolgt haben, ist dies die Wahrscheinlichkeit, dass es sich um den typischen Unterraum $ \ epsilon $ handelt.

Lass es uns beweisen.

[Beweis]

\begin{align}
Tr(P(n,\epsilon) \rho^{\otimes n}) &= Tr(\sum_{x \in T(n,\epsilon)} p(x_1) \ket{x_1}\bra{x_1} \otimes p(x_2) \ket{x_2}\bra{x_2} \otimes \cdots \otimes p(x_n) \ket{x_n}\bra{x_n}) \\
&= \sum_{x \in T(n,\epsilon)} p(x_1) \cdots p(x_n) Tr(\ket{x_1}\bra{x_1} \otimes \cdots \otimes \ket{x_n}\bra{x_n}) \\
&= \sum_{x \in T(n,\epsilon)} p(x_1) \cdots p(x_n)  \tag{10}
\end{align}

Daher ist die linke Seite von Gleichung (9) gleich der "Wahrscheinlichkeit, eine typische Reihe zu sein" in der klassischen Informationstheorie. Daher kann es sofort aus dem typischen Reihensatz (1) bewiesen werden, der in Vorheriger Artikel bewiesen wurde. (Ende der Zertifizierung)

Typischer Subraumsatz (2)

Die Beschreibung von Neilsen, Chan wird zitiert.

"Irgendwelche behoben\epsilon>0Wann\delta>0GegenT(n,\epsilon)Abmessungen|T(n,\epsilon)|=Tr(P(n,\epsilon))Erfüllt die folgende Gleichung.

(1-\delta) 2^{n(S(\rho)-\epsilon)} \leq |T(n,\epsilon)| \leq 2^{n(S(\rho)+\epsilon)}  \tag{11}

Hier,T(n,\epsilon)Bitte beachten Sie, dass wir uns eher auf "Maße" als auf "Zahlen" beziehen. In der klassischen Information|T(n,\epsilon)|Ist\epsilon典型系列の「数」を表していましたが、量子情報でIst、T(n,\epsilon)Ist、\epsilon典型部分空間、すなわち全体のヒルベルト空間に対する部分空間なので、数でIstなく次元と呼ぶのが適切です。この部分空間へIst射影演算子P(n,\epsilon)Es kann durch Bewerbung erreicht werden. Und der ProjektionsoperatorP(n,\epsilon)Ist、式(8)Wurde definiert in. Das\sumの中身Ist各々が直交する軸への射影であり、それを典型的になっているxの分だけ足し合わせる格好になっています。従って、古典情報の典型系列の数に相当するものIst、量子情報においてIst、状態xのバリエーションの数、つまり、典型部分空間の次元|T(n,\epsilon)|ということになります。また、典型部分空間の次元Ist、式(8)Wie Sie sehen können, nehmen Sie die Spuren auf beiden Seiten vonTr(P(n,\epsilon))Entspricht Dieser Satz(2)の記述に関する注意ポイントIst以上です。それでIst、証明します。

[Beweis]

Durch Ersetzen von $ H (X) $ im typischen Reihensatz (2), der in Vorheriger Artikel durch $ S (\ rho) $ bewiesen wurde Sie können es sofort beweisen. (Ende der Zertifizierung)

Typischer Subraumsatz (3)

Die Beschreibung von Neilsen, Chan wird zitiert.

"$ S (n) $ ist höchstens eine $ 2 ^ {nR} $ Dimension $ H ^ {\ otimes n} $ Projektionsoperator in einen beliebigen Unterraum, in dem $ R \ <S (\ rho) $ Ist behoben. Zu diesem Zeitpunkt ist für jedes $ \ delta > 0 $ und $ n $ groß genug,

Tr(S(n)\rho^{\otimes n}) \leq \delta  \tag{12}

Vorheriger Artikel Wie der typische Reihensatz (3) ist die Behauptung dieses Satzes ausreichend, egal wie klein $ \ delta $ genommen wird. Wenn wir ein großes $ n $ nehmen, können wir Gleichung (12) gelten lassen. Kurz gesagt heißt es, dass die Grenze von $ n \ bis \ infty $ $ Tr (S (n) \ rho ^ {\ otimes n}) \ bis 0 $ ist. Lass es uns beweisen.

[Beweis]

Teilen Sie die Projektionsspur mit $ S (n) $ (dh der Summe der Wahrscheinlichkeiten) in eine Spur für typische und atypische Teilräume.

Tr(S(n)\rho^{\otimes n}) = Tr(S(n) \rho^{\otimes n} P(n,\epsilon)) + Tr(S(n) \rho^{\otimes n} (I-P(n,\epsilon)))  \tag{13}

Wo $ P (n, \ epsilon) $ und $ \ rho ^ {\ otimes n} $ austauschbar sind, d. H.

\begin{align}
\rho^{\otimes n} P(n,\epsilon) &= \sum_{x \in T(n,\epsilon)} p(x_1) \cdots p(x_n) \ket{x_1}\bra{x_1} \cdots \ket{x_n}\bra{x_n} \\
&= P(n,\epsilon) \rho^{\otimes n}  \tag{14}
\end{align}

Und da $ (P (n, \ epsilon)) ^ 2 = P (n, \ epsilon) $ (weil es eine Projektion ist), ist der erste Term auf der rechten Seite von Gleichung (13)

Tr(S(n) P(n,\epsilon) \rho^{\otimes n} P(n,\epsilon))  \tag{15}

Es wird sein. Hier ist der eindeutige Wert von $ P (n, \ epsilon) \ rho ^ {\ otimes n} P (n, \ epsilon) $ $ p (x_1) p (x_2) \ cdots p (x_n) $ und der Ausdruck Ab (6) beträgt die Obergrenze $ 2 ^ {-n (S (\ rho) - \ epsilon)} $. $ S (n) $ in der Spur von Gleichung (15) entspricht der Operation des Extrahierens von $ 2 ^ {nR} $ eindeutigen Werten [^ 6], und sie werden in der Spur addiert, so dass am Ende

[^ 6]: $ P (n, \ epsilon) \ rho ^ {\ otimes n} P (n, \ epsilon) $ ist die Basis eines typischen Unterraums $ \ ket {x_1} \ cdots \ ket {x_n} $ Bei Diagonalisierung mit werden die eindeutigen Werte $ p (x_1) \ cdots p (x_n) $ und andere in einer Reihe angeordnet. Sie können sich $ S (n) $ als eine Projektion vorstellen, die $ 2 ^ {nR} $ daraus entnimmt und den Rest auf Null setzt.

Tr(S(n) P(n,\epsilon) \rho^{\otimes n} P(n,\epsilon)) \leq 2^{nR} 2^{-n(S(\rho)-\epsilon)} \approx 2^{-n(S(\rho)-R)}  \tag{16}

Da die Ungleichung festgestellt wurde und angenommen wurde, dass $ R <S (\ rho) $ ist, konvergiert der erste Term auf der rechten Seite von Gleichung (13) an der Grenze von $ n \ bis \ infty $ gegen 0.

Als nächstes betrachten wir den zweiten Term auf der rechten Seite von Gleichung (13). Da $ S (n) \ leq I $ und $ S (n) $ und $ \ rho ^ {\ otimes n} (I-P (n, \ epsilon)) $ beide positive Werte sind,

0 \leq Tr(S(n)\rho^{\otimes n} (I-P(n,\epsilon))) \leq Tr(\rho^{\otimes n} (I-P(n,\epsilon)))  \tag{17}

Hält [^ 7]. $ IP (n, \ epsilon) \ bis 0 $ an der Grenze von $ n \ bis \ infty $, also $ Tr (S (n) \ rho ^ {\ otimes n} (IP (n, \ epsilon))) \ bis \ infty 0 $, dh der zweite Term auf der rechten Seite von Gleichung (13) konvergiert ebenfalls gegen 0.

Daher konvergiert Gleichung (13) an der Grenze von $ n \ bis \ infty $ gegen 0. (Ende der Zertifizierung)

[^ 7]: Der Hermeet-Operator $ A $ ist positiv für alle $ \ ket {\ psi} $, $ \ bra {\ psi} A \ ket {\ psi} \ geq 0 Es heißt, dass $ gilt. Auch wenn $ \ bra {\ psi} (AB) \ ket {\ psi} \ geq 0 $ für die Elmeet-Operatoren $ A, B $ und $ \ ket {\ psi} $ gilt, $ Schreiben Sie A \ geq B $. Unter der Voraussetzung, dass für die positiven Elmeat-Operatoren $ A und B $ auch $ AB $ ein positiver Wert ist und $ Tr (AB) \ geq 0 $ gilt, und wenn Sie sich $ B = I $ ansehen , $ Tr (A) \ geq 0 $. Die Gleichheit gilt nur, wenn $ A = 0 $, dh $ A = 0 \ Leftrightarrow Tr (A) = 0 $. Dann gilt $ A \ geq B \ Rightarrow Tr (A) \ geq Tr (B) $, und $ A \ geq B, C \ geq 0 \ Rightarrow Tr (AC) \ geq Tr (BC) $ kann bewiesen werden. Ich werde. Und so weiter werden hinter den Kulissen eingesetzt.

Schumachers Codierungssatz in rauschfreien Kanälen

Jetzt sind wir bereit, den Satz von Schumacher zu beweisen, der das heutige Hauptereignis ist. Ich werde noch einmal die Beschreibung von [Neilsen, Chan] zitieren (https://www.ohmsha.co.jp/book/9784274200090/).

"$ \ {H, \ rho \} $ ist eine iid-Quantenquelle. Wenn $ R> S (\ rho) $, dann Quelle $ \ {H, \ rho \} $ Andererseits gibt es eine zuverlässige Komprimierungsmethode mit einer Rate von $ R $. Wenn $ R <S (\ rho) $ ist, ist jede Komprimierungsmethode mit einer Rate von $ R $ unzuverlässig. "

$ \ {H, \ rho \} $ ist eine Reihe von Zuständen (Dichteoperator) $ \ rho $, die in einem bestimmten Hilbert-Raum $ H $ definiert sind, und wird als iid-Quanteninformationsquelle verwendet. Die Voraussetzung ist, dass Sie es sich zuerst vorstellen sollten. Wenn zu diesem Zeitpunkt die Übertragungsrate $ R $ auf einen Wert eingestellt wird, der geringfügig größer als die Quantenentropie $ S (\ rho) $ ist, wird behauptet, dass ein zuverlässiges Komprimierungsverfahren existiert. Lass es uns beweisen.

[Beweis]

Erstens, wenn $ R> S (\ rho) $.

Betrachten Sie $ \ epsilon> 0 $, das $ S (\ rho) + \ epsilon \ leq R $ erfüllt. Aus dem typischen Subraumsatz (2)

|T(n,\epsilon)| \leq 2^{n(S(\rho)+\epsilon)} \leq 2^{nR}  \tag{18}

Ist festgelegt. Hier ist $ H_ {c} ^ {n} $ ein Hilbert-Raum beliebiger $ 2 ^ {nR} $ -Dimension und enthält $ T (n, \ epsilon) $ [^ 8].

[^ 8]: Der Hilbert-Raum, der die ursprüngliche Quanteninformationsquelle $ \ rho_1 \ otimes \ cdots \ rho_n $ beschreibt, ist $ H ^ {\ otimes n} $, und der Hilbert-Raum, der die codierte Quanteninformationsquelle beschreibt. Der Unterraum von wird geschrieben als $ H_ {c} ^ {n} (\ Teilmenge H ^ {\ otimes n}) $. Dann wird bestimmt, dass $ H_ {c} ^ {n} $ $ \ epsilon $ typischen Unterraum $ T (n, \ epsilon) $ enthält. Da Gleichung (18) gilt, ist es möglich, dies zu entscheiden.

Die Codierung erfolgt wie folgt. Messen Sie die aus der Quanteninformationsquelle erzeugten Quanteninformationen $ \ sigma \ equiv \ rho_1 \ otimes \ cdots \ rho_n $ mit den zueinander orthogonalen Projektionsoperatoren $ P (n, \ epsilon), IP (n, \ epsilon) $. Ich werde. Wenn das erhaltene Ergebnis als "0", "1" ausgedrückt wird, wenn "0" erhalten wird, bedeutet dies, dass es sich in einem typischen Unterraumzustand befindet, und wenn es "1" ist, bedeutet dies, dass es sich in einem Zustand in einem typischen Unterraum befindet. Stattdessen wird es als Zustand in einem atypischen Unterraum interpretiert. Wenn es "0" ist, wird der Quantenzustand so gesendet, wie er ist, und wenn er "1" ist, wird er durch einen geeigneten Zustand ersetzt und gesendet (z. B. $ \ ket {00 \ cdots 0} $).

Infolgedessen wird der ursprüngliche Quantenzustand wie folgt transformiert.

C^{n}(\sigma) \equiv P(n,\epsilon) \sigma P(n,\epsilon) + \sum_{i} A_i \sigma A_i^{\dagger} \tag{19}

Wo $ C ^ {n} $ ist

C^{n}: H^{\otimes n} \rightarrow H_{c}^{n}  \tag{20}

Es ist eine Operation, wie man sie abbildet. Darüber hinaus beschreibt der zweite Term auf der rechten Seite den Effekt, beispielsweise den atypischen Unterraum durch einen geeigneten Zustand zu ersetzen.

A_i \equiv \ket{0}\bra{i}  \tag{21}

Sie können sich das so etwas wie vorstellen ($ \ ket {i} $ ist die Basis für den orthogonalen komplementären Raum des typischen Unterraums).

Die Entschlüsselungsoperation $ D ^ {n} $ ist eine gleiche Operation [^ 9].

D^{n}(\sigma) = \sigma  \tag{22}

[^ 9]: Beim Codieren habe ich es so gesendet, wie es ist, ohne etwas für den Status im typischen Unterraum zu tun, daher ist es richtig, beim Decodieren nichts zu tun. Wenn es sich in einem Zustand in einem atypischen Unterraum befindet, habe ich aufgegeben, weil ich auf einen Fehler vorbereitet bin, und lasse es so, wie es ist, ohne beim Decodieren etwas Besonderes zu tun.

Bewerten Sie, wie stark sich der ursprüngliche Zustand während des Codierungs- und Decodierungsprozesses mit der Verschränkungstreue $ F_ {e} ^ {2} $ geändert hat. Aus der Tatsache, dass der Maximalwert der Verschränkungstreue 1 ist, unter Verwendung von Gleichung (2) durch den Klaus-Operator und aus dem Satz (1) typischer Teilräume,

\begin{align}
1 &\geq F_{e}^{2}(\rho^{\otimes n}, D^{n} \circ C^{n}) \\
&\geq |Tr(\rho^{\otimes n} P(n,\epsilon))|^{2} \\
&\geq |1-\delta|^{2} \geq 1-2\delta  \tag{23}
\end{align}

Ist festgelegt. Unabhängig davon, wie klein $ \ delta> 0 $ ist, kann die obige Gleichung aufgestellt werden, wenn Sie ein ausreichend großes $ n $ mitbringen. Das heißt, an der Grenze von $ n \ bis \ infty $ konvergiert die Verschränkungstreue gegen 1. Mit anderen Worten, es gibt eine zuverlässige Komprimierungsmethode mit einer Rate von $ R $.

Als nächstes ist der Fall von $ R <S (\ rho) $.

Die Codierungsoperation kann vom Projektionsoperator $ S (n) $ als Abbildung von $ H ^ {\ otimes n} $ auf einen Unterraum der Dimension $ 2 ^ {nR} $ betrachtet werden.

Der Claus-Operator für die Codierungsoperation $ C ^ {n} $ ist $ \ {C_j \} $, und der Claus-Operator für die Decodierungsoperation $ D ^ {n} $ ist $ \ {D_k \} $. Stellen. Das heißt, die Codierung ist

\begin{align}
&\rho_1 \otimes \cdots \otimes \rho_n \\
&\rightarrow \rho_{1}^{\prime} \otimes \cdots \otimes \rho_{n}^{\prime} \\
&= C_{1} \rho_1 C_{1}^{\dagger} \otimes \cdots \otimes C_{n} \rho_n C_{n}^{\dagger} = \sum_{j} C_{j} \rho^{\otimes n} C_{j}^{\dagger}  \tag{24}
\end{align}

Die Entschlüsselung ist also

\begin{align}
&\rho_{1}^{\prime} \otimes \cdots \otimes \rho_{n}^{\prime} \\
&\rightarrow \rho_{1}^{\prime\prime} \otimes \cdots \otimes \rho_{n}^{\prime\prime} \\
&= D_{1} \rho_{1}^{\prime} D_{1}^{\dagger} \otimes \cdots \otimes D_{n} \rho_{n}^{\prime} D_{n}^{\dagger} = \sum_{k} D_{k} \rho^{\prime \otimes n} D_{k}^{\dagger}  \tag{25}
\end{align}

ist. Dann ist die Verschränkungstreue durch Codieren / Decodieren

F_{e}^{2}(\rho^{\otimes n}, D^{n} \circ C^{n}) = \sum_{j,k} |Tr(D_{k} C_{j} \rho^{\otimes n})|^{2}  \tag{26}

Es wird sein. Da $ C_j $ eine Projektionsoperation auf demselben Unterraum wie der von $ S (n) $ projizierte Unterraum $ 2 ^ {nR} $ ist,

C_j = S(n) C_j  \tag{27}

ist. Außerdem setzt der Hilbert-Raum der Dimension $ 2 ^ {nR} $, der durch $ S (n) $ abgebildet wird, den Projektionsoperator auf den Unterraum, der durch $ D_k $ als $ S ^ {k} (n) $ abgebildet wird. Dann

S^{k}(n) D_{k} S(n) = D_{k} S(n)  \tag{28}

Ist festgelegt. Aus den Gleichungen (27) und (28)

D_{k} C_{j} = D_{k} S(n) C_{j} = S^{k}(n) D_{k} S(n) C_{j} = S^{k}(n) D_{k} C_{j} \tag{29}

Einsetzen in Gleichung (26)

F_{e}^{2}(\rho^{\otimes n}, D^{n} \circ C^{n}) = \sum_{j,k} |Tr(D_{k} C_{j} \rho^{\otimes n} S^{k}(n))|^{2}  \tag{30}

Es wird sein. Darüber hinaus aus der Cauchy-Schwartz-Ungleichung,

F_{e}^{2}(\rho^{\otimes n}, D^{n} \circ C^{n}) \leq \sum_{j,k} Tr(D_{k} C_{j} \rho^{\otimes n} C_{j}^{\dagger} D_{k}^{\dagger}) Tr(S^{k}(n) \rho^{\otimes n}) \tag{31}

Hält [^ 10].

[^ 10]: Es ist jedoch ein Rätsel, wie diese Formeltransformation durchgeführt wird. Ich möchte es ergänzen, wenn ich es verstehe.

Nach dem typischen Subraumsatz (3) gilt die zweite Kurve auf der rechten Seite für jedes $ \ delta> 0 $.

Tr(S^{k}(n) \rho^{\otimes n}) \leq \delta  \tag{32}

Kann gemacht werden. Daher ist Gleichung (31)

F_{e}^{2}(\rho^{\otimes n}, D^{n} \circ C^{n}) \leq \delta \sum_{j,k} Tr(D_{k} C_{j} \rho^{\otimes n} C_{j}^{\dagger} D_{k}^{\dagger}) = \delta \tag{33}

Es wird sein. Hier besteht die letzte Gleichheit darin, die Spur des Dichteoperators durch $ C ^ {n}, D ^ {n} $ zu speichern. Aus Gleichung (33) geht hervor, dass an der Grenze von $ n \ bis \ infty $ die Verschränkungstreue gegen 0 konvergiert. Wenn also $ R <S (\ rho) $ ist, ist jede Komprimierungsmethode unzuverlässig. Das wurde bewiesen. (Ende der Zertifizierung)

Codierungssimulation

Ein Beispiel für die Schumacher-Codierung finden Sie in "Spalte 12.4" von Neilsen, Chan, daher möchte ich es implementieren. Als ein Quantenbitzustand

\rho = \frac{1}{4}
\begin{pmatrix}
3 & 1 \\
1 & 1
\end{pmatrix}  \tag{34}

Betrachten Sie den Dichteoperator. Vier davon werden zusammen übertragen. Mit anderen Worten, $ \ rho ^ {\ otimes 4} $ wird als eine Reihe übertragen. Nach dem Kodierungssatz von Schumacher hätten wir berücksichtigen müssen, dass die Übertragungsrate geringfügig höher ist als die Quantenentropie $ S (\ rho) $. Im Fall von Gleichung (34) beträgt $ S (\ rho) $ bei der Berechnung ungefähr 0,6, so dass angenommen wird, dass die Übertragungsrate $ R = 0,75 $ beträgt und 4 Quantenbits auf 3 Quantenbits komprimiert werden. Daher möchte ich versuchen, den 4-Quantenbit-Zustand auf der Decodierungsseite wieder herzustellen.

Wenn wir Schumacher codieren, wird es auf einen typischen Unterraum projiziert, aber vorher müssen wir über die Basis nachdenken, die $ \ rho $ diagonalisiert. Das heißt, das $ \ rho $ wird spektral zerlegt (wie in Gleichung (5)).

\rho = p \ket{\bar{0}} \bra{\bar{0}} +(1-p) \ket{\bar{1}} \bra{\bar{1}}  \tag{35}

Es wird sein. Hier,

\begin{align}
\ket{\bar{0}} &= \cos \frac{\pi}{8} \ket{0} + \sin \frac{\pi}{8} \ket{1}  \\
\ket{\bar{1}} &= -\sin \frac{\pi}{8} \ket{0} + \cos \frac{\pi}{8} \ket{1}  \tag{36}
\end{align}
p = \frac{1}{4} (3 + \tan \frac{\pi}{8}) = 0.85..  \tag{37}

Ist [^ 11].

[^ 11]: Gleichung (34) kann leicht abgeleitet werden, indem die Gleichungen (36) und (37) in Gleichung (35) eingesetzt werden. Durch Diagonalisieren von Gleichung (34) (Lösen des Eigenwertproblems) können auch Gleichungen (35) (36) (37) abgeleitet werden. Es ist eine einfache Übung in linearer Algebra.

Basierend auf dieser Basis hat $ \ rho $ eine Wahrscheinlichkeit, sich im Zustand $ \ ket {\ bar {0}} $ p \ ca. 0,85 $, $ \ ket {\ bar {1}} $ zu befinden. Es ist eine Mischung aus reinen Zuständen mit einer Wahrscheinlichkeit von $ 1-p \ ca. 0,15 $. Die ursprüngliche $ \ rho $ -Gleichung (34) wird durch die Basis $ \ ket {0}, \ ket {1} $ dargestellt. Das erste, was Sie bei der Codierung von Schumacher tun müssen, ist dies. Es ist eine einheitliche Umwandlung, die einer solchen Basisumwandlung entspricht.

Wie Sie aus Gleichung (36) leicht ersehen können, ist die einheitliche Transformation ein rotierendes Tor, das sich um $ - \ pi / 4 $ um die Y-Achse dreht. Sie können es für jedes der 4 Quantenbits separat anwenden.

Dann ist die Wahrscheinlichkeit, dass $ \ ket {\ bar {0}} $ auftritt, $ p \ ca. 0,85 $, also der Zustand des Ergebnisses der Anwendung dieses rotierenden Gates

\sum_{x_1=\bar{0}}^{\bar{1}} \sum_{x_2=\bar{0}}^{\bar{1}} \sum_{x_3=\bar{0}}^{\bar{1}} \sum_{x_4=\bar{0}}^{\bar{1}} C(x_1,x_2,x_3,x_4) \ket{x_1 x_2 x_3 x_4}  \tag{38}

Je größer die Anzahl von $ \ bar {0} $ in $ \ ket {x_1 x_2 x_3 x_4} $ ist, desto größer ist die Wahrscheinlichkeit [^ 12].

[^ 12]: Um genau zu sein, $ 4 \ mal 0,85 = 3,4 $, daher ist die kombinierte Wahrscheinlichkeit, dass die Anzahl von $ \ bar {0} $ bei $ 3,4 $ liegt, im Vergleich zu den anderen sehr hoch. Es sollte wachsen. Ich sage das.

Dieser Zustand mit einer großen Anzahl von $ \ bar {0} $ ist ein Zustand, der einen typischen Unterraum darstellt. Es reicht also aus, diesen zu bestimmen und einen geeigneten Quantenzustand für die Übertragung zuzuweisen, aber diese Operation ist einheitlich. Die Schwierigkeit der Quanteninformationstheorie besteht darin, dass sie als Transformation ausgeführt werden muss. Die Idee ist, sie in aufsteigender Reihenfolge der Anzahl von $ \ bar {1} $ anzuordnen und sie in eine lexikalische Reihenfolge umzuwandeln. Die spezifische Liste lautet wie folgt (ich habe sie hier weggelassen, weil es schwierig ist, einen Balken über jede Zahl zu setzen).

\begin{align}
& \ket{0000} \rightarrow \ket{0000} \\
& \ket{0001} \rightarrow \ket{0001} \\
& \ket{0010} \rightarrow \ket{0010} \\
& \ket{0100} \rightarrow \ket{0011} \\
& \ket{1000} \rightarrow \ket{0100} \\
& \ket{0011} \rightarrow \ket{0101} \\
& \ket{0101} \rightarrow \ket{0110} \\
& \ket{0110} \rightarrow \ket{0111} \\ 
& \ket{1001} \rightarrow \ket{1000} \\
& \ket{1010} \rightarrow \ket{1001} \\
& \ket{1100} \rightarrow \ket{1010} \\
& \ket{0111} \rightarrow \ket{1011} \\
& \ket{1011} \rightarrow \ket{1100} \\
& \ket{1101} \rightarrow \ket{1101} \\
& \ket{1110} \rightarrow \ket{1110} \\
& \ket{1111} \rightarrow \ket{1111} \tag{39}
\end{align}

Sie müssen nur die Konvertierung durchführen. Wie wär es damit. Je kleiner die Anzahl von $ \ bar {1} $ ist, desto höher ist die Reihenfolge, dh die Wahrscheinlichkeitszustände sind oben und ein bestimmtes Quantenbit (die rechte Seite der vier) zusammengefasst. Die Umwandlung erfolgt so, dass viele Zustände mit nur 3 Quantenbits ausgedrückt werden können. Dies ist einheitlich, da es sich um eine Ersatzoperation als Ganzes handelt. Mit anderen Worten, nach dem Anwenden der Basistransformation auf jedes Quantenbit sollte die dieser Substitution entsprechende einheitliche Transformation durchgeführt werden.

Da die Übertragungsrate auf 3 Quantenbits eingestellt ist, wird das am weitesten links stehende Quantenbit verworfen und nur die rechten 3 Quantenbits bleiben für die Übertragung übrig.

Addieren Sie beim Decodieren zuerst die verworfenen Quantenbits mit $ \ ket {0} $, um sie in einen 4-Quantenbit-Zustand zu versetzen, und führen Sie die inverse Umwandlung der Ersetzung in Gleichung (39) aus. Schließlich wird die inverse Transformation der Basistransformation für jedes der 4 Quantenbits durchgeführt. Dies sollte fast den ursprünglichen Zustand wiederherstellen.

Implementierung

Ich habe tatsächlich den obigen Ablauf versucht. Hier ist der gesamte Python-Code.

import numpy as np
from qlazypy import QState,DensOp

PERM = {'0000':'0000', '0001':'0001', '0010':'0010', '0100':'0011',
        '1000':'0100', '0011':'0101', '0101':'0110', '0110':'0111', 
        '1001':'1000', '1010':'1001', '1100':'1010', '0111':'1011',
        '1011':'1100', '1101':'1101', '1110':'1110', '1111':'1111'}

def perm_matrix(PERM):

    dim = len(PERM)
    perm_mat = np.zeros((dim,dim))
    iperm_mat = np.zeros((dim,dim))

    for k,v in PERM.items():
        col = int(k,2)
        row = int(v,2)
        perm_mat[row][col] = 1
        iperm_mat[col][row] = 1

    return (perm_mat, iperm_mat)

def create_densop():

    mat_1 = np.array([[0.75,0.25],[0.25,0.25]])
    de_1 = DensOp(matrix=mat_1)
    de_ini = de_1.composite(num=4)
    de_1.free()

    return de_ini

def coder(de_ini, id_all, id_comp, theta, perm_mat):

    de_tmp = de_ini.clone()
    [de_tmp.ry(i, phase=-theta) for i in id_all]
    de_tmp.apply(perm_mat)
    de_comp = de_tmp.partial(id_comp)  # 4-qubit -> 3-qubit state
    de_tmp.free()

    return de_comp

def decoder(de_comp, id_all, theta, iperm_mat):

    qs_0 = QState(1)
    de_0 = DensOp(qstate=[qs_0])
    de_fin = de_0.tenspro(de_comp)  # add 1-qubit (|0>)
    de_fin.apply(iperm_mat)
    [de_fin.ry(i, phase=theta) for i in id_all]

    qs_0.free()
    de_0.free()

    return de_fin
    
if __name__ == '__main__':

    # settings
    id_all = [0,1,2,3]
    id_comp = [1,2,3]
    theta = 0.25
    (perm_mat,iperm_mat) = perm_matrix(PERM)

    # initial state (4-qubit state)
    de_ini = create_densop()

    # coding (4-qubit -> 3-qubit state)
    de_comp = coder(de_ini, id_all, id_comp, theta, perm_mat)

    # decoding (3-qubit -> 4-qubit state)
    de_fin = decoder(de_comp, id_all, theta, iperm_mat)

    # fidelity
    print("fidelity = {:.6f}".format(de_fin.fidelity(de_ini)))

    de_ini.free()
    de_comp.free()
    de_fin.free()

Ich werde kurz erklären, was Sie tun. Schauen Sie sich den Hauptverarbeitungsabschnitt an.

# settings
id_all = [0,1,2,3]
id_comp = [1,2,3]
theta = 0.25
(perm_mat,iperm_mat) = perm_matrix(PERM)

Setzen Sie dann die Liste aller Quantenbitnummern (id_all) und die Liste der zu komprimierenden Quantenbitnummern (id_comp) und den Winkel (Theta) für die Basiskonvertierung auf $ 0,25 \ pi $ [^ 13]. .. Zusätzlich erstellt die Funktion perm_matrix eine Transformationsmatrix für die Substitutionsoperation und ihre inverse Transformationsmatrix. Zu diesem Zeitpunkt wird auf die oben definierten Wörterbuchdaten PERM Bezug genommen (das Wörterbuch, das Gleichung (39) entspricht). Informationen zum Verarbeitungsinhalt finden Sie in der Funktionsdefinition. Sie werden diese Substitutionsmatrix später verwenden, um eine einheitliche Transformation zu erstellen, die Sie auf den Status anwenden werden.

[^ 13]: qlazy verwendet $ \ pi $ radian als Einheit aller Drehwinkel. Wenn Sie also $ 0,25 $ angeben, beträgt dies $ 0,25 \ pi. Repräsentiert $. Ich dachte, es wäre mühsam, jedes Mal $ \ pi $ in das Programm zu schreiben, also habe ich diese Spezifikation gemacht, aber es war die richtige Antwort. Es ist ziemlich bequem.

# initial state (4-qubit state)
de_ini = create_densop()

Erstellen Sie den Anfangszustand (Dichteoperator) mit. In der Funktion create_densop wird der Prozess des Erzeugens des Produktzustands durch Sammeln von vier 1-Quantendichteoperatoren entsprechend Gleichung (34) ausgeführt.

de_ini = de_1.composite(num=4)

Diese eine Zeile ist der Prozess. Durch Angabe von Argument 4 mit der zusammengesetzten Methode (hinzugefügt in v0.0.31) wird der Produktzustand von 4 Quantum zurückgegeben.

# coding (4-qubit -> 3-qubit state)
de_comp = coder(de_ini, id_all, id_comp, theta, perm_mat)

Und kodiere es. Komprimiert den Zustand von 4 Quantenbits auf 3 Quantenbits. Schauen Sie sich den Inhalt des Funktionscodierers an.

def coder(de_ini, id_all, id_comp, theta, perm_mat):

    de_tmp = de_ini.clone()
    [de_tmp.ry(i, phase=-theta) for i in id_all]
    de_tmp.apply(perm_mat)
    de_comp = de_tmp.partial(id_comp)  # 4-qubit -> 3-qubit state
    de_tmp.free()

    return de_comp

Kopieren Sie in der ersten Zeile den Anfangszustand (de_ini) mit der Klonmethode in temporär (de_tmp) und führen Sie den Prozess dafür aus. In der zweiten Zeile wird die Basis durch das rotierende Gate konvertiert (in v0.0.30 wurde die Gate-Operationsverarbeitung für den Dichteoperator hinzugefügt. Für das Quantentor $ U $ ist $ U \ rho U ^ {\ dagger} $ Ausführen). Wenn Sie die Einschlussnotation verwenden, benötigen Sie nur eine Zeile. Die dritte Zeile führt die einheitliche Konvertierung durch, die dem Austausch entspricht. Wenn Sie die Substitutionsmatrix mit der Methode apply angeben, ist auch nur eine Zeile erforderlich. Ich würde es wirklich gerne mit einer Kombination von Quantentoren machen, aber ich habe es gebrochen, Schweiß [^ 14]. Schließlich wird in der 4. Zeile das am weitesten links stehende Quantenbit (0. Quantenbit im Programm) verworfen (Teilverfolgung wird durchgeführt), um es in einen 3-Quantenbit-Zustand (de_comp) zu bringen. Ich werde das zurückgeben.

[^ 14]: Eigentlich ist dies "Übungsübung 12.6" von Neilsen, Chan. Es wird derzeit geprüft, daher werde ich es ergänzen, wenn ich es verstehe.

Kehren Sie zum Hauptverarbeitungsabschnitt zurück.

# decoding (3-qubit -> 4-qubit state)
de_fin = decoder(de_comp, id_all, theta, iperm_mat)

Geben Sie dann den 3-Quantenbit-Zustand ein und geben Sie den decodierten 4-Quantenbit-Zustand aus. Schauen Sie sich den Inhalt des Funktionsdecoders an.

def decoder(de_comp, id_all, theta, iperm_mat):

    qs_0 = QState(1)
    de_0 = DensOp(qstate=[qs_0])
    de_fin = de_0.tenspro(de_comp)  # add 1-qubit (|0>)
    de_fin.apply(iperm_mat)
    [de_fin.ry(i, phase=theta) for i in id_all]

    qs_0.free()
    de_0.free()

    return de_fin

Bereiten Sie den Dichteoperator für den Quantenzustand $ \ ket {0} $ vor, der in der ersten und zweiten Zeile (de_0) hinzugefügt werden soll. In der dritten Zeile wird der Produktzustand des Quantenzustands (de_0) und des komprimierten Quantenzustands (de_comp) erzeugt (de_fin). In Zeile 4 wird die Umkehrung des Austauschvorgangs durchgeführt. Zeile 5 kehrt die Basistransformation für jedes Quantenbit um. Schließlich wird das Ergebnis (de_fin) zurückgegeben.

Kehren Sie zum Hauptverarbeitungsabschnitt zurück.

# fidelity
print("fidelity = {:.6f}".format(de_fin.fidelity(de_ini)))

Berechnet und zeigt die Wiedergabetreue des ursprünglichen Zustands (de_ini) und des Entschlüsselungsergebniszustands (de_fin) an. das ist alles.

Funktionsprüfung

Das Ausführungsergebnis wird angezeigt. Es ist sehr einfach, weil es nur die Wiedergabetreue zeigt. Wenn die Wiedergabetreue 1,0 beträgt, bedeutet dies, dass die Komprimierung fehlerfrei erreicht wird.

fidelity = 0.970213

Und es gab einen kleinen Fehler.

Wie Sie aus Gleichung (39) sehen können, ist es umso unwahrscheinlicher, je tiefer Sie gehen. Es sollte jedoch einen endlichen Wahrscheinlichkeitswert haben. Da die Komprimierung so erfolgt, dass die untere Hälfte gelöscht wird, tritt natürlich ein Fehler auf. Schumachers Codierungssatz argumentiert, dass dieser Fehler an der Grenze von $ n \ bis \ infty $ klein genug ist. Wenn Sie also den Wert von $ n $ in $ 40.400.4000, \ cdots $ ändern, können Sie sehen, wie der Fehler unendlich klein wird. Ich kann jedoch nicht so viele Quantenbits im Simulator ausprobieren. Nehmen wir also an, dass die Schumacher-Codierungssimulation mit dem Ergebnis möglich war, wenn $ n = 4 $.

abschließend

Da ich dieses Mal "wenn es kein Rauschen gibt" studiert habe, würde ich gerne das nächste Mal zu "wenn es kein Rauschen gibt" gehen, aber vorher ist es wahrscheinlich besser, "Quantenfehlerkorrektur" zu verstehen, also beim nächsten Mal Ich würde diese Richtung gerne angreifen. Es scheint eine Menge Themen zu geben, also denke ich, dass ich einige Zeit damit verbringen werde. Danach habe ich vor zu sagen "wenn es Rauschen gibt" oder "Quantenkryptographie".

das ist alles

Recommended Posts

Grundlagen der Quanteninformationstheorie: Datenkomprimierung (1)
Grundlagen der Quanteninformationstheorie: Datenkomprimierung (2)
Grundlagen der Quanteninformationstheorie: Entropie (2)
Grundlagen der Quanteninformationstheorie: Horebaud-Grenzen
Grundlagen der Quanteninformationstheorie: Quantenzustands-Tomographie
Grundlagen der Quanteninformationstheorie: Fehlertolerante Quantenberechnung
Grundlagen der Quanteninformationstheorie: Quantenfehlerkorrektur (Shor Code)
Grundlagen der Quanteninformationstheorie: Quantenfehlerkorrektur (CSS-Code)
Grundlagen der Quanteninformationstheorie: Quantenfehlerkorrektur (Stabilisatorcode: 4)
Grundlagen der Quanteninformationstheorie: Universelle Quantenberechnung durch Oberflächencode (1)
Grundlagen der Quanteninformationstheorie: Logische Operation durch Oberflächencode (Brading)
Lesen Sie "Grundlagen des Quantenglühens", Tag 5
Lesen Sie "Grundlagen des Quantenglühens", Tag 6
Grundlagen der Tableau-Grundlagen (Visualisierung mit geografischen Informationen)
[Einführung in Data Scientist] Grundlagen von Python ♬
[Pandas] Grundlagen der Verarbeitung von Datumsdaten mit dt
Python-Grundlagen ①
Grundlagen von Python ①
Pandas-Grundlagen für Anfänger ② Übersicht über die Daten
[Grundlagen der Datenwissenschaft] Sammeln von Daten aus RSS mit Python
Grundlagen der Python-Scraping-Grundlagen
# 4 [Python] Grundlagen der Funktionen
Grundlagen von Netzwerkprogrammen?
Die Gründung der Perceptron-Stiftung
Vorverarbeitung von Präfekturdaten
Grundlagen der Regressionsanalyse
Auswahl der Messdaten
Grundlagen von Python: Ausgabe
Komprimierung / Dekomprimierung von Zipfile
Lassen Sie uns die Eisenbahndaten der nationalen Landnummern verwenden
Datenverarbeitung, die die Auswirkungen von Verschränkungsfaktoren eliminiert (Theorie)
[Einführung in Data Scientists] Grundlagen von Python ♬ Funktionen und Klassen