[PYTHON] Bases de la théorie de l'information quantique: limites d'Horebaud

\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}}

introduction

Article précédent m'a aidé à comprendre les bases de «l'entropie quantique». Donc, j'ai pensé que j'allais avancer vers des technologies appliquées telles que la "cryptographie quantique" ensuite, mais il semble y avoir quelques points de base à garder à l'esprit, donc je vais continuer à étudier les bases pendant un certain temps (cela dit). Il n'y a pas de fin, mais il y a beaucoup de sujets intéressants, donc ça ne peut pas être aidé). Au fait, cette fois, je vais reprendre la "limite de Holebo". Après avoir expliqué le sens et la définition de la communication d'informations quantiques, j'aimerais réaliser la «limite» en utilisant le simulateur de calcul quantique qlazy.

Les documents suivants ont été utilisés comme références.

  1. Neilsen, Chan "Quantum Computer and Quantum Communication (3)" Ohm (2005)
  2. Ishizaka, Ogawa, Kawachi, Kimura, Hayashi "Introduction à la science de l'information quantique" Kyoritsu Publishing (2012)
  3. Tomita "Quantum Information Engineering" Morikita Publishing (2017)

Quelle est la limite Horevo?

Contrairement aux bits classiques, les bits quantiques peuvent exprimer l'état de superposition de 0 et de 1. En d'autres termes, comme il y a un degré infini de liberté dans un bit quantique, il semble en principe que des informations infinies puissent y être chargées. Ensuite, en utilisant ce bit quantique, je sens que la communication avec une énorme capacité de transmission peut être réalisée. Par exemple, Alice écrit en quelque sorte un bit de longueur infinie sur un bit quantique unique qu'elle possède et le transmet à Bob [^ 1]. Bob doit effectuer des mesures afin d'extraire des informations significatives des bits quantiques reçus, mais compte tenu des mesures généralisées (mesure POVM), il est possible d'obtenir n'importe quel nombre de résultats de mesure. Si vous pouvez concevoir un bon POVM afin de récupérer les informations de longueur infinie qui ont été préparées correctement, vous devriez être en mesure de réaliser la communication d'information de vos rêves!

[^ 1]: Par exemple, le coefficient $ a $ et / ou le coefficient $ b $ de l'état quantique $ \ ket {\ psi} = a \ ket {0} + b \ ket {1} $, ou les deux chiffres infinis (en fait) Est une très longue chaîne de bits. Plus précisément, avant la transmission, une sorte de grille de rotation est appliquée (par exemple, s'il s'agit d'un photon, il est polarisé à un certain angle), et une chaîne de bits est chargée à cet angle.

Cette histoire est-elle vraie?

Le monde n'est pas si doux. En fait, il y a une limite à la quantité d'informations qui peuvent être récupérées. Cette limite est appelée la «limite de Holebo». La triste conclusion est que la limite, c'est-à-dire la limite supérieure de la quantité d'informations qui peuvent être extraites d'un bit quantique, n'est en fait qu'un bit!

Théoriquement, il s'écrit [^ 2].

[^ 2]: Il est décrit comme "théorème" à la p.145 de Quantum Information Engineering.

"La source d'Alice renvoie le symbole $ \ {X_i \}, \ space i = 1, \ cdots, n $ avec une probabilité de $ p_i $. Il est représenté par $ \ rho_X $ selon cette série de symboles $ X $. Créez un état quantique $ Q $ et envoyez-le à Bob. Bob crée POVM $ \ {E_Y \} = \ {E_ {1}, \ cdots, E_ {m} \} pour l'état envoyé. Faites $ pour obtenir l'information classique $ Y $. À ce stade, la limite supérieure du montant d'information mutuelle $ I (X: Y) $ entre $ X $ et $ Y $ est donnée comme suit.

I(X:Y) \leq S(\rho) - \sum_{i=1}^{n} p_i S(\rho_i)  \tag{1}

cependant,

\rho = \sum_{i=1}^{n} p_i \rho_i  \tag{2}

Est. Cette limite supérieure est appelée «limite horebaud». "

Prouvons-le [^ 3].

[^ 3]: La preuve de Quantum Information Engineering était très facile à comprendre, donc je l'ai juste tracée. ..

[Preuve]

Soit le système A le système d'Alice, qui est la source d'information, le système Q le système d'états quantiques préparés en fonction des informations générées et le système B le système de l'instrument de mesure qui mesure l'état quantique reçu par Bob. A partir de la source du système A, l'information classique $ \ {X_i \} $ apparaît avec la probabilité $ \ {p_i \} $, mais $ X_i $ est l'état propre de la bulle d'observateur $ X $ Puisqu'elle peut être considérée comme une valeur unique pour {i} ^ A $, l'occurrence de $ X_i $ est la même que l'occurrence de l'état quantique $ \ ket {i} ^ {A} \ bra {i} ^ {A} $. C'est. Ensuite, nous attribuerons l'état quantique $ \ rho_i $ en fonction du $ X_i $ généré. Au départ, rien n'est venu à Bob, donc si vous dites $ \ ket {0} ^ {B} \ bra {0} ^ {B} $, tout le système est $ \ rho ^ {total} $ L'état initial de

\rho^{total} = \sum_{i} p_i \ket{i}^{A} \bra{i}^{A} \otimes \rho_i \otimes \ket{0}^{B} \bra{0}^{B}  \tag{3}

Peut être écrit. Ici, Bob mesure. Si la carte CPTP correspondant à cette mesure est $ \ Gamma $ et que l'opérateur Kraus qui obtient le résultat de la mesure $ y $ est $ M_y $,

\Gamma(\rho^{total}) = \sum_{i} p_i \ket{i}^{A} \bra{i}^{A} \otimes (\sum_{y} M_y \rho_i M_y^{\dagger} \otimes \ket{y}^{B} \bra{y}^{B})  \tag{4}

Ce sera.

La quantité d'informations mutuelles $ I (A: Q) $ entre le système A et le système Q dans l'état initial ne change pas même si le système B, qui est dans un état produit indépendant d'eux, est ajouté.

I(A:Q) = I(A:Q,B)  \tag{5}

est. En supposant que les systèmes après la mesure sont respectivement $ A ^ {\ prime}, Q ^ {\ prime}, B ^ {\ prime} $, la quantité d'informations mutuelles diminue en fonction du canal quantique [^ 4].

[^ 4]: Voir «Propriétés (13)» dans Article précédent.

I(A:Q,B) \geq I(A^{\prime}:Q^{\prime},B^{\prime})  \tag{6}

Est établi. Si le système $ Q ^ {\ prime} $ après la mesure est rejeté, la quantité d'informations mutuelles diminuera [^ 5].

[^ 5]: Voir «Propriétés (12)» dans Article précédent.

I(A^{\prime}:Q^{\prime},B^{\prime}) \geq I(A^{\prime}:B^{\prime})  \tag{7}

Ce sera. Lorsque les équations (5), (6) et (7) sont combinées,

I(A^{\prime}:B^{\prime}) \leq I(A:Q)  \tag{8}

Est établi. Ici, $ I (A ^ {\ prime}: B ^ {\ prime}) $ est une quantité classique d'informations mutuelles, vous pouvez donc l'écrire comme $ I (X: Y) $. Ensuite, l'équation (8)

I(X:Y) \leq I(A:Q)  \tag{9}

Ce sera. $ I (A: Q) $ est

\begin{align}
I(A:Q) &= S(A) + S(Q) - S(A,Q) \\
&= H(A) + S(\rho) - S(A,Q)  \tag{10}
\end{align}

Il peut être écrit ainsi, si vous le remplacez dans l'équation (9),

I(X:Y) \leq H(A) + S(\rho) - S(A,Q)  \tag{11}

Ce sera.

Considérons maintenant $ S (A, Q) $. Maintenant, segmentez $ \ rho_i $ et

\rho_i = \sum_{j} q_{i}^{j} \ket{e_{i}^{j}} \bra{e_{i}^{j}}  \tag{12}

Supposons que vous puissiez faire quelque chose comme Alors $ S (A, Q) $ sera

\begin{align}
S(A,Q) &= S(Tr_{B}(\rho^{total})) \\
&= -Tr((\sum_{i,j} p_i \ket{i}^{A} \bra{i}^{A} \otimes q_{i}^{j} \ket{e_{i}^{j}} \bra{e_{i}^{j}}) \log(\sum_{i,j} p_i \ket{i}^{A} \bra{i}^{A} \otimes q_{i}^{j} \ket{e_{i}^{j}} \bra{e_{i}^{j}})) \\
&= - \sum_{i,j} p_{i} q_{i}^{j} \log(p_{i} q_{i}^{j}) \\
&= - \sum_{i} p_{i} \log p_{i} - \sum_{i} p_i \sum_{j} q_{i}^{j} \log q_{i}^{j} \\
&= H(A) + \sum_{i} p_{i} S(\rho_{i})  \tag{13}
\end{align}

Peut être calculé comme. Substituer ceci dans l'équation (11)

I(X:Y) \leq S(\rho) - \sum_{i} p_{i} S(\rho_{i})  \tag{14}

Est établi. (Fin de la certification)

Ici, la limite supérieure du côté droit de l'équation (1),

\chi \equiv S(\rho) - \sum_{i} p_i S(\rho_i)  \tag{15}

C'est ce qu'on appelle la "quantité de vo de trou". Cette quantité d'informations horebo est calculée en utilisant l'entropie relative quantique.

\chi = \sum_{i} p_i S(\rho_i||\rho)  \tag{16}

Il peut également être exprimé sous la forme. C'est,

\begin{align}
\sum_{i} p_{i} S(\rho_i || \rho) &= \sum_{i} p_{i} Tr(\rho_{i} \log \rho_{i} - \rho_{i} \log \rho) \\
&= \sum_{i} p_{i} Tr(\rho_{i} \log \rho_{i}) - \sum_{i} p_{i} Tr(\rho_{i} \log \rho) \\
&= - \sum_{i} p_{i} S(\rho_{i}) - Tr(\sum_{i} p_{i} \rho_{i} \log \rho) \\
&= S(\rho) - \sum_{i} p_{i} S(\rho_{i})  \tag{17}
\end{align}

Vous pouvez dire de cela.

Maintenant, la limite supérieure de la quantité d'informations que Bob peut recevoir (c'est-à-dire la quantité d'informations qui peuvent être transmises sur ce canal de communication) est donnée comme dans l'équation (15), mais examinons cette limite avec un exemple un peu plus concret. Je vais.

Maintenant, Alice a M types d'états quantiques $ \ {\ ket {\ phi_1}, \ ket {\ phi_2}, \ cdots, \ ket {\ phi_M} \} $ pour un bit quantique. On suppose que vous disposez d'un appareil qui peut régler n'importe lequel des éléments ci-dessus et le déclencher sur Bob. Alice utilise cet appareil pour envoyer un message de M alphabets différents à Bob. Maintenant, combien d'informations Bob peut-il recevoir d'Alice? Il vous suffit de calculer le "montant d'informations Holebo" qui vient d'être expliqué. J'essaierai.

\rho_i = \ket{\phi_i} \bra{\phi_i}  \tag{18}

Ensuite, l'état quantique généré par Alice dans son ensemble

\rho = \sum_{i}^{M} p_i \ket{\phi_i} \bra{\phi_i}  \tag{19}

Ce sera. Utilisez ceci pour calculer la quantité d'informations sur l'horebo. Puisque l'équation (18) est à l'état pur, le deuxième terme (du côté droit) de l'équation (15) est zéro. Donc,

\chi = S(\rho)  \tag{20}

Ce sera. Ici, $ \ rho $ est un opérateur de densité pour 1 bit quantique (la dimension d'espace de Hilbert est 2), donc l'entropie ne dépasse pas $ \ log 2 = 1 $. Cela signifie que même le message important qu'Alice a essayé d'envoyer à Bob ne peut être reconnu par Bob que comme une série de nombres binaires (= 1 bit). Ce n'est pas à cause du manque d'effort de Bob, mais à cause des limites d'Horevo. Bob a un mur qui ne peut être surmonté, peu importe ses efforts (peu importe comment il conçoit la mesure POVM) [^ 6].

[^ 6]: On peut plutôt dire qu'Alice construit ce mur car un seul bit quantique peut être préparé, mais c'est un secret (rires).

Mais que se passerait-il si le dispositif d'Alice évoluait pour permettre le déclenchement simultané de deux bits quantiques? Dans ce cas, la valeur de $ S (\ rho) $ indiquée dans l'équation (20) sera de 2, donc Bob pourra recevoir 2 bits d'information s'il travaille dur. De plus, Bob pourra recevoir N bits lorsqu'il pourra tirer N bits quantiques en même temps.

Par conséquent, la réalité selon laquelle la "communication d'informations de rêve" consistant à charger une chaîne de bits de longueur infinie dans un bit quantique et à la transmettre est impossible est clairement présentée ici [^ 7](Je suis désolé!).

[^ 7]: [Exercice pratique 12.3] de Neilsen Chan est un classique de n bits ou plus utilisant n q bits. Discutez en utilisant les limites de Holevo selon lesquelles les informations ne peuvent pas être transmises. »Je pense donc que c'est la réponse.

Exemple spécifique de canal de communication quantique

Eh bien, j'aimerais réaliser cette "limite" à l'aide d'un simulateur, mais quand j'espérais un exemple concret, juste Neilsen Chan Il y avait un bon sujet dans "Practice Exercise 12.4" de .jp / book / 9784274200090 /), donc je vais l'essayer avec le canal de communication quantique décrit ici. Voici à quoi ça ressemble.

L'état quantique d'un bit quantique qu'Alice, l'expéditeur, peut préparer est

\begin{align}
\ket{X_1} &= \ket{0} \\
\ket{X_2} &= \frac{1}{3} (\ket{0} + \sqrt{2} \ket{1}) \\
\ket{X_3} &= \frac{1}{3} (\ket{0} + \sqrt{2} e^{2\pi i/3} \ket{1}) \\
\ket{X_4} &= \frac{1}{3} (\ket{0} + \sqrt{2} e^{4\pi i/3} \ket{1}) \tag{21}
\end{align}

Il existe quatre types, sélectionnez-en un en fonction de la chaîne de caractères (informations classiques) que vous souhaitez envoyer et lancez-le sur Bob l'un après l'autre. Bob qui le reçoit est un canal de communication quantique qui obtient des informations classiques en mesurant un certain POVM. Afin d'évaluer la nature de cette communication quantique, nous demanderons à Alice de sélectionner au hasard ces quatre et de les déclencher. D'après la discussion précédente, puisqu'il n'y a qu'un seul bit quantique, il est possible de transmettre jusqu'à 1 bit. En d'autres termes, si vous calculez la quantité d'informations Holebaud à partir de l'opérateur de densité de l'état déclenché par Alice, elle sera (devrait) être 1. Cependant, en réalité, si Bob ne conçoit pas un POVM approprié, les informations qui peuvent être récupérées (= quantité d'informations mutuelles) ne seront pas de 1 bit. Neilsen Chan déclare que «les POVM qui atteignent 0,415 bits sont connus». Qu'est-ce que le POVM à ce moment-là? Telle est la question de cet exercice.

Alors, prenons le point de vue de Bob et concevons un POVM avec l'objectif de "0,415" pour le moment.

La première chose qui me vient à l'esprit est une opération de projection utilisant les quatre bases de l'équation (21). En d'autres termes

【POVM #1】

\begin{align}
E_1 &= \frac{1}{2} \ket{X_1} \bra{X_1} \\
E_2 &= \frac{1}{2} \ket{X_2} \bra{X_2} \\
E_3 &= \frac{1}{2} \ket{X_3} \bra{X_3} \\
E_4 &= \frac{1}{2} \ket{X_4} \bra{X_4} \tag{22}
\end{align}

est. Ici, nous avons multiplié le coefficient $ 1/2 $ sur tous les POVM de sorte que $ \ sum_ {i} E_i = I $.

Le modèle suivant qui vient à l'esprit est la base qui est orthogonale à chaque base dans l'équation (21).

\begin{align}
\ket{\tilde{X}_1} &= \ket{1} \\
\ket{\tilde{X}_2} &= \sqrt{\frac{1}{3}} (\sqrt{2} \ket{0} - \ket{1}) \\
\ket{\tilde{X}_3} &= \sqrt{\frac{1}{3}} (\sqrt{2} \ket{0} - e^{2 \pi i/3} \ket{1}) \\
\ket{\tilde{X}_4} &= \sqrt{\frac{1}{3}} (\sqrt{2} \ket{0} - e^{4 \pi i/3} \ket{1}) \tag{23}
\end{align}

C'est une opération de projection utilisant. En d'autres termes

【POVM #2】

\begin{align}
\tilde{E}_1 &= \frac{1}{2} \ket{\tilde{X}_1} \bra{\tilde{X}_1} \\
\tilde{E}_2 &= \frac{1}{2} \ket{\tilde{X}_2} \bra{\tilde{X}_2} \\
\tilde{E}_3 &= \frac{1}{2} \ket{\tilde{X}_3} \bra{\tilde{X}_3} \\
\tilde{E}_4 &= \frac{1}{2} \ket{\tilde{X}_4} \bra{\tilde{X}_4} \tag{24}
\end{align}

est. Simulons avec ces deux modèles et vérifions ce qui arrive à la quantité d'informations horebo et à la quantité d'informations mutuelles.

Vérifiez avec le simulateur

Le code Python complet est ci-dessous.

import random
import cmath
import numpy as np
import pandas as pd
from qlazypy import QState, DensOp

MIN_DOUBLE = 0.000001

def classical_joint_entropy(A,B):

    code_num_A = max(A) + 1
    code_num_B = max(B) + 1

    prob = np.zeros((code_num_A,code_num_B))
    for i in range(len(A)):
        prob[A[i]][B[i]] += 1
    prob = prob / sum(map(sum, prob))

    ent = 0.0
    for i in range(code_num_A):
        for j in range(code_num_B):
            if abs(prob[i][j]) < MIN_DOUBLE:
                ent -= 0.0
            else:
                ent -= prob[i][j] * np.log2(prob[i][j])

    return ent
    
def classical_entropy(A):

    code_num = max(A) + 1

    prob = np.zeros(code_num)
    for a in A:
        prob[a] += 1.0
    prob = prob / sum(prob)

    ent = 0.0
    for p in prob:
        if abs(p) < MIN_DOUBLE:
            ent -= 0.0
        else:
            ent -= p * np.log2(p)

    return ent

def classical_mutual_information(A,B):

    ent_A = classical_entropy(A)
    ent_B = classical_entropy(B)
    ent_AB = classical_joint_entropy(A,B)

    return ent_A + ent_B - ent_AB
    
def holevo_quantity(X,de):

    samp_num = len(X)
    code_num = len(de)

    prob = np.zeros(code_num)
    for x in X:
        prob[x] += 1.0
    prob = prob / sum(prob)
    
    de_total = DensOp.mix(densop=de, prob=prob)

    holevo = de_total.entropy()
    for i in range(code_num):
        holevo -= prob[i]*de[i].entropy()

    de_total.free()
    
    return holevo

def transmit(X,de,povm):

    samp_num = len(X)
    dim_X = len(de)
    dim_Y = len(povm)

    Y = np.array([0]*samp_num)
    
    prob_list = [None]*len(X)
    for i in range(samp_num):
        prob_list[i] = de[X[i]].probability(povm=povm)
        r = random.random()
        p = 0.0
        mes = dim_Y - 1
        for k in range(dim_Y-1):
            p += prob_list[i][k]
            if r < p:
                mes = k
                break
        Y[i] = mes
        
    return Y

def make_densop(basis):

    qs = [QState(vector=b) for b in basis]
    de = [DensOp(qstate=[q], prob=[1.0]) for q in qs]

    for n in range(len(qs)):
        qs[n].free()
    
    return de
    
def make_povm(vec):

    return [np.outer(v,v.conjugate())/2.0 for v in vec]

def random_sample(code_num,samp_num):

    return np.array([random.randint(0,code_num-1) for _ in range(samp_num)])

if __name__ == '__main__':

    SQRT1      = cmath.sqrt(1/3)
    SQRT2      = cmath.sqrt(2/3)
    EXT2       = cmath.exp(2*cmath.pi*1j/3)
    EXT4       = cmath.exp(4*cmath.pi*1j/3)

    basis      = [np.array([1.0, 0.0]),
                  np.array([SQRT1, SQRT2]),
                  np.array([SQRT1, SQRT2*EXT2]),
                  np.array([SQRT1, SQRT2*EXT4])]
    
    basis_orth = [np.array([0.0, 1.0]),
                  np.array([SQRT2, -SQRT1]),
                  np.array([SQRT2, -SQRT1*EXT2]),
                  np.array([SQRT2, -SQRT1*EXT4])]

    de = make_densop(basis)

    code_num = 4
    samp_num = 100
    trial = 100

    povm_name  = ['#1','#2']
    povm_basis = [basis, basis_orth]
    
    for b in povm_basis:

        povm = make_povm(b)
    
        mutual = []
        holevo = []
        for _ in range(trial):
    
            X = random_sample(code_num,samp_num)
            Y = transmit(X, de, povm)

            mutual.append(classical_mutual_information(X,Y))
            holevo.append(holevo_quantity(X,de))

        df = pd.DataFrame({'holevo quantity':holevo,'mutual information':mutual})
        holevo_mean = df['holevo quantity'].mean()
        holevo_std  = df['holevo quantity'].std()
        mutual_mean = df['mutual information'].mean()
        mutual_std  = df['mutual information'].std()

        print("== povm: {:} ==".format(povm_name.pop(0)))
        print("[holevo quantity]")
        print("- mean = {0:.4f} (std = {1:.4f})".format(holevo_mean, holevo_std))
        print("[mutual information]")
        print("- mean = {0:.4f} (std = {1:.4f})".format(mutual_mean, mutual_std))
        print()
        
    for n in range(len(de)):
        de[n].free()

Je vais expliquer brièvement ce que vous faites. Regardez la section de traitement principale. Tout d'abord, les quatre premières lignes définissent simplement les constantes numériques sur les variables SQRT1, SQRT2, EXT2 et EXT4 pour faciliter les calculs ultérieurs.

La base des variables et la variable base_orth sont la base pour créer les POVM # 1 et # 2. En d'autres termes, la base des équations (21) et (23) est définie ici.

Puisque la base est également un état quantique pour attribuer le code que vous souhaitez envoyer,

de = make_densop(basis)

Donc, je fais une liste d'opérateurs de densité correspondant à l'état quantique.

code_num = 4
samp_num = 100
trial = 100

code_num est le nombre de types de code (4 cette fois), samp_num est le code généré aléatoirement = nombre de données et trial est le nombre d'essais pour obtenir l'écart moyen ou standard.

povm_name  = ['#1','#2']
povm_basis = [basis, basis_orth]

for b in povm_basis:

    povm = make_povm(b)
    ...

Ensuite, tournez la boucle extérieure pour (POVM # 1, # 2). make_povm est une fonction qui crée un POVM à partir de la base.

La boucle for intérieure est

mutual = []
holevo = []
for _ in range(trial):

    X = random_sample(code_num,samp_num)
    Y = transmit(X, de, povm)

    mutual.append(classical_mutual_information(X,Y))
    holevo.append(holevo_quantity(X,de))
    ...

Donc, c'est pour essayer à plusieurs reprises (100 fois cette fois).

La fonction random_sample crée une séquence de code aléatoire (données), et la fonction émission simule la transmission. La mesure POVM est simulée à l'intérieur de la fonction, et la série de données est extraite et sortie. La fonction classical_mutual_information calcule la quantité d'informations mutuelles à partir des données d'entrée et des données de sortie. La fonction holevo_quantity calcule la quantité d'informations Holevo à partir des données d'entrée et de la liste des opérateurs de densité. Cela vous donnera la quantité d'informations mutuelles et la quantité d'informations horebo pour le nombre d'essais. Après cela, j'utilise des pandas pour calculer la valeur moyenne et l'écart type de chacun. Le programme est presque terminé.

Maintenant, le résultat de l'exécution est le suivant.

== povm: #1 ==
[holevo quantity]
- mean = 0.9921 (std = 0.0066)
[mutual information]
- mean = 0.2714 (std = 0.0748)

== povm: #2 ==
[holevo quantity]
- mean = 0.9923 (std = 0.0057)
[mutual information]
- mean = 0.4547 (std = 0.0244)

Où average est la valeur moyenne et std est l'écart type.

Tout d'abord, regardons la quantité de vo du trou. La quantité d'informations horebo est définie comme la distribution de probabilité de la source d'informations et l'ensemble d'états quantiques utilisé pour le codage sont déterminés, ce sera donc la même valeur, peu importe la façon dont vous choisissez POVM. Dans le programme, il est implémenté pour générer de manière aléatoire avec la fonction aléatoire, et la valeur est légèrement sur 1 en raison de l'effet que la distribution de probabilité n'est pas exactement égale. Cependant, la valeur limite 1 a été confirmée.

D'autre part, qu'en est-il des informations mutuelles? Puisqu'il s'agit d'une hypothèse selon laquelle une source d'informations générée de manière pratiquement aléatoire est codée avec des bits quantiques et que Bob effectue des mesures POVM, les résultats varient considérablement en fonction du POVM. Comme vous pouvez le voir, "POVM # 2" est un meilleur résultat (plus proche de 1). Il est proche de la valeur cible "0,415" de Neilsen Chan. Ou plutôt, ça va au-delà ... Cela semble être une erreur en raison du fait que la fonction aléatoire est utilisée et que le nombre d'échantillons et le nombre d'essais ne sont pas définis si grands. En tout cas, j'estime que ce "POVM # 2" est la bonne réponse.

Une question ici. Il y a une différence entre parallèle et orthogonal, mais pourquoi la différence est-elle ressortie alors que nous avons préparé un POVM similaire? Pour "POVM # 1", par exemple, lorsque le résultat de mesure de Bob était "1", il est fort probable que le signe d'Alice était "1", mais il y a une certaine probabilité que "2" ou "3" ou Il comprend également le cas où il était "4". Par contre, dans le cas de "POVM # 2", si le résultat de mesure de Bob est "1", la possibilité que le signe d'Alice soit "1" disparaît. Il doit être "2", "3" ou "4". En d'autres termes, «POVM # 2» a moins d'incertitude sur les informations que Bob reçoit. Je pense que c'est la différence entre les deux [^ 8].

[^ 8]: Dans Article précédent qui expliquait la mesure généralisée, Quantum Information Engineering J'ai simulé la mesure POVM selon l'exemple publié dans / books / book / 3109), mais à cette époque, lorsque POVM était construit à l'aide de bases orthogonales aux bits quantiques à transmettre, "sans ambiguïté" Il s'est avéré que la "discrimination étatique" peut être réalisée. Je pense que c'est lié à ça.

Cependant, la valeur d'environ "0,415" semble trop petite par rapport à la valeur limite de 1. L'exercice de Nielsen Chan demande: "Pouvons-nous construire une mesure qui atteigne encore mieux les limites de Holevo?" Permettez-moi de laisser cela comme une tâche future.

Confirmé par calcul théorique

Eh bien, je peux terminer l'histoire avec ceci, mais je n'ai pas encore prouvé théoriquement si "POVM # 2" donne vraiment la quantité d'informations mutuelles "0.415". C'est juste expérimentalement trouvé comme ça par simulation. De plus, c'est une erreur considérable (elle est déjà désactivée dans le deuxième chiffre après la virgule décimale). Par conséquent, je voudrais confirmer que la quantité d'informations mutuelles est cette valeur par calcul théorique (ou plutôt calcul manuel).

La définition du montant d'information mutuelle est

\begin{align}
I(X:Y) &= H(X) + H(Y) - H(X,Y) \\
&= \sum_{i,j} p(X_i, Y_j) \log \frac{p(X_i,Y_j)}{p(X_i) p(Y_j)} \tag{25}
\end{align}

était. Donc, si vous connaissez $ p (X_i, Y_j) $, alors $ p (X_i), p (Y_j) $ peut être marginalisé avec chaque variable de probabilité, vous pouvez donc calculer la quantité d'informations mutuelles. .. $ p (X_i, Y_j) $ est une distribution de probabilité simultanée dans laquelle $ X_i $ est généré à partir de la source et $ Y_j $ est décodé côté réception. Actuellement, $ i $ et $ j $ ont chacun 4 modèles de 1 à 4, vous n'avez donc besoin de connaître qu'un total de 16 valeurs.

Essayons. Comme il est gênant d'écrire $ p (X_i, Y_j) $ un par un, définissez-le comme $ p_ {ij} \ equiv p (X_i, Y_j) $.

\begin{align}
p_{ij} &= Tr(\tilde{E}_{j} \rho_{i}) \\
&= Tr(\frac{1}{2} \ket{\tilde{X}_j} \braket{\tilde{X}_j}{X_i} \bra{X_i}) \\
&= \frac{1}{2} \braket{\tilde{X}_j}{X_i} Tr(\ket{\tilde{X}_j}  \bra{X_i}) \tag{26}
\end{align}

Remplacez-y les équations (21) et (23) pour un calcul constant. La normalisation en tant que distribution de probabilité simultanée ne devrait pas être possible avec cela, donc à la fin, normalisez de sorte que la somme soit 1.

Premièrement, lorsque $ i = 1 $.

p_{11} = 0, \space p_{12} = \frac{1}{3}, \space p_{13} = \frac{1}{3}, \space p_{14} = \frac{1}{3}  \tag{27}

De même, si $ i = 2 $,

p_{21} = \frac{1}{3}, \space p_{22} = 0, \space p_{23} = \frac{2}{9} (1-\cos \frac{2\pi}{3}), \space p_{24} = \frac{2}{9} (1-\cos \frac{4\pi}{3}) \tag{28}

Si $ i = 3 $,

p_{31} = \frac{1}{3}, \space p_{32} = \frac{2}{9} (1-\cos \frac{2\pi}{3}), \space p_{33} = 0, \space p_{34} = \frac{2}{9} (1-\cos \frac{2\pi}{3}) \tag{29}

Si $ i = 4 $,

p_{41} = \frac{1}{3}, \space p_{42} = \frac{2}{9} (1-\cos \frac{4\pi}{3}), \space p_{43} = \frac{2}{9} (1-\cos \frac{2\pi}{3}), \space p_{44} = 0 \tag{30}

Peut être calculé comme. ici,

\begin{align}
\frac{2}{9} (1-\cos \frac{2\pi}{3}) &= \frac{2}{9} (1 - (-\frac{1}{2})) = \frac{1}{3} \\
\frac{2}{9} (1-\cos \frac{4\pi}{3}) &= \frac{2}{9} (1 - (-\frac{1}{2})) = \frac{1}{3} \tag{31}
\end{align}

Donc $ p_ {ij} $ est

\begin{pmatrix}
p_{11} & p_{12} & p_{13} & p_{14} \\
p_{21} & p_{22} & p_{23} & p_{24} \\
p_{31} & p_{32} & p_{33} & p_{34} \\
p_{41} & p_{42} & p_{43} & p_{44}
\end{pmatrix}
= \frac{1}{12}
\begin{pmatrix}
0 & 1 & 1 & 1 \\
1 & 0 & 1 & 1 \\
1 & 1 & 0 & 1 \\
1 & 1 & 1 & 0
\end{pmatrix}  \tag{32}

C'est donc une forme très simple (ici nous avons normalisé la somme des distributions de probabilités simultanées à 1).

\begin{align}
& p(X_i,Y_j) = p_{ij} \\
\\
& p(X_i) = \sum_{j} p_{ij} \\
& p(Y_j) = \sum_{i} p_{ij} \tag{33}
\end{align}

Au lieu de l'équation (25),

I(X:Y) = 12 \times \frac{1}{12} \log \frac{\frac{1}{12}}{\frac{1}{4} \times \frac{1}{4}} = \log \frac{4}{3} = 2 - \log 3 = 0.415037\cdots  \tag{34}

Il a été confirmé que la quantité d'informations mutuelles serait de "0,415". Félicitations, félicitations.

en conclusion

Grâce à la connaissance de base de l'entropie quantique, je sens que je peux comprendre l'histoire de la communication d'informations quantiques assez facilement (bien que ce ne soit qu'une partie tactile). Je vais à Zunsun dans cet état!

Cependant, le sujet suivant est indécis comme d'habitude.

c'est tout

Recommended Posts

Bases de la théorie de l'information quantique: limites d'Horebaud
Bases de la théorie de l'information quantique: Entropie (2)
Bases de la théorie de l'information quantique: compression de données (1)
Bases de la théorie de l'information quantique: distance de trace
Bases de la théorie de l'information quantique: tomographie d'état quantique
Bases de la théorie de l'information quantique: compression de données (2)
Bases de la théorie de l'information quantique: codes de surface topologique
Bases de la théorie de l'information quantique: calcul quantique tolérant aux pannes
Bases de la théorie de l'information quantique: correction d'erreur quantique (code Shor)
Bases de la théorie de l'information quantique: correction d'erreur quantique (code du stabilisateur: 4)
Bases de la théorie de l'information quantique: correction d'erreur quantique (code linéaire classique)
Bases de la théorie de l'information quantique: calcul quantique universel par code de surface (1)
Bases de la théorie de l'information quantique: opération logique par code de surface (Brading)
Lire "Principes de base du recuit quantique" Jour 5
Lire "Les bases du recuit quantique" Jour 6
Principes de base de Tableau (visualisation à l'aide d'informations géographiques)
Les bases de Python ①
Principes de base du grattage Python
# 4 [python] Bases des fonctions
Bases des programmes réseau?
La fondation de la fondation Perceptron
Bases de l'analyse de régression
Bases de python: sortie