[PYTHON] Bases de la théorie de l'information quantique: distance de trace

\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

En tant qu'indice pour mesurer la différence d'état quantique, "Fidelity" a été repris dans Article précédent, donc cette fois c'est un autre indice "Trace distance (https://qiita.com/SamN/items/634b11bcff1d713). J'étudierai la "distance de trace)". Après avoir expliqué sa définition et ses propriétés, je voudrais en fait calculer et confirmer ses propriétés importantes 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)

Qu'est-ce qu'une distance de trace?

Définition

Étant donné les états $ \ rho $ et $ \ sigma $, la distance de trace est définie comme:

D(\rho,\sigma) = \frac{1}{2} ||\rho-\sigma|| = \frac{1}{2} Tr|\rho-\sigma|  \tag{1}

$ \ rho- \ sigma $ est Elmeat (pas une valeur positive), donc

D(\rho,\sigma) = \frac{1}{2} Tr \sum_{i} |\lambda_{i}| \ket{i} \bra{i} = \frac{1}{2} \sum_{i} |\lambda_{i}|  \tag{2}

Il peut être calculé comme la somme des valeurs absolues des valeurs uniques de $ \ rho- \ sigma $, comme dans [^ 1].

[^ 1]: Si $ \ rho $ et $ \ sigma $ sont interchangeables, ils peuvent être diagonalisés en même temps, et leurs composantes diagonales sont des probabilités, donc elles sont égales à la distance entre les distributions de probabilités au sens classique. Je vais.

Vous pouvez également utiliser l'opérateur de projection ou l'opérateur de valeur positive $ P $ pour exprimer:

D(\rho,\sigma) = \max_{P} Tr(P(\rho-\sigma))  \tag{3}

A partir de cette formule, la distance de trace est la différence maximum entre les probabilités d'effectuer toutes les mesures possibles (projection ou POVM) lorsqu'il y a des états $ \ rho $ et state $ \ sigma $. L'interprétation physique qu'elle représente est valide. Cette équation (3) est une équation importante qui est utilisée plusieurs fois lors de la discussion des propriétés de la section suivante, je voudrais donc le prouver, mais avant cela, pour tout opérateur Hermeet $ A $, Il est nécessaire de prouver cela, donc je vais battre ce premier.

Tr(A_{+}) = \max_{0 \leq P \leq I} (PA)  \tag{4}

Ici, $ P $ est un opérateur de valeur positive dont la valeur est ~~ $ I $ ou moins, dont la valeur est 1 ou moins.

\begin{align}
A &= \sum_{i} a_{i} \ket{i} \bra{i} \\
A_{+} &= \sum_{i (a_i > 0)} a_{i} \ket{i} \bra{i} \\
A_{-} &= \sum_{i (a_i \leq 0)} |a_{i}| \ket{i} \bra{i} \tag{5}
\end{align}

est. $ A_ {+}, A_ {-} $ sont appelés la partie positive et la partie négative de l'opérateur Elmeat $ A $.

[Preuve]

\begin{align}
Tr(PA_{-}) &= Tr(P \sum_{i(a_i \leq 0)} |a_i| \ket{i} \bra{i}) \\
&= \sum_{i(a_i \leq 0),j} \bra{j} |a_i| P \ket{i} \braket{i}{j} \\
&= \sum_{i(a_i \leq 0)} |a_i| \bra{i} P \ket{i} \geq 0  \tag{6}
\end{align}

$ A = A_ {+} - A_ {-} $, donc

Tr(PA) = Tr(PA_{+}) - Tr(PA_{-}) \leq Tr(PA_{+}) \leq Tr(A_{+})  \tag{7}

Est établi. La dernière inégalité utilisée était $ Tr ((I-P) A_ {+}) \ geq 0 $ au lieu de $ I-P \ geq 0 $. Que ça,

Tr(A_{+}) = \max_{0 \leq P \leq I} Tr(PA)  \tag{8}

Est établi. Ici, la valeur maximale est prise lorsque $ P $ satisfait $ PA = A_ {+} $. (Fin de la certification)

Ensuite, c'est la preuve de l'équation (3).

[Preuve]

Pour l'opérateur Elmeat $ A $

\begin{align}
A &= A_{+} - A_{-} \\
|A| &= A_{+} + A_{-} \tag{9}
\end{align}

Alors

\begin{align}
Tr(A_{+}) &= \frac{1}{2} (Tr|A| + Tr(A)) \\
Tr(A_{-}) &= \frac{1}{2} (Tr|A| - Tr(A)) \tag{10}
\end{align}

est. En utilisant l'équation (10) et la trace de $ \ rho- \ sigma $ étant 0,

\begin{align}
D(\rho,\sigma) &= \frac{1}{2} Tr|\rho-\sigma| \\
&= Tr(\rho-\sigma)_{+} - \frac{1}{2} Tr(\rho-\sigma) \\
&= Tr(\rho-\sigma)_{+}  \tag{11}
\end{align}

En remplaçant l'équation (8) par ceci,

D(\rho,\sigma) = \max_{0 \leq P \leq I} Tr(P(\rho-\sigma))  \tag{12}

Ce sera. (Fin de la certification)

la nature

La distance de trace a les propriétés suivantes [^ 2].

[^ 2]: Références Bien que la méthode de classification des propriétés soit différente, je les ai organisées en cinq dans cet article. Pour le moment, je compte couvrir (presque) les propriétés décrites dans toutes les références.

Ces (1), (2) et (3) sont les trois conditions que la «distance» doit remplir [^ 3]. (4) montre que la distance de trace diminue toujours dans le processus physique, c'est-à-dire que l'état devient progressivement indiscernable en raison de l'interaction avec l'environnement environnant.

[^ 3]: D'un autre côté, Fidelity ne répond pas à l'exigence de distance.

Vérifions dans l'ordre.

(1) Symétrie

D(\rho,\sigma) = D(\sigma,\rho)  \tag{13}

Est établi. Cela ressort clairement de la définition.

(2) Non négatif (la valeur maximale est 1)

0 \leq D(\rho,\sigma) \leq 1  \tag{14}

Est établi. En particulier, le maximum et le minimum sont dans les cas suivants.

\begin{align}
\rho = \sigma &\Leftrightarrow D(\rho,\sigma) = 0 \\
\rho \sigma = 0 &\Leftrightarrow D(\rho,\sigma) = 1 \tag{15}
\end{align}

[Preuve]

Premièrement, l'inégalité de gauche ressort clairement de la définition (voir l'équation (2)). De plus, l'égalité n'est valable que pour $ \ rho = \ sigma $.

Ensuite, à propos de l'inégalité du côté droit. Purifiez $ \ rho, \ sigma $ comme suit.

\begin{align}
\rho &\rightarrow \ket{\phi_{\rho}} \\
\sigma &\rightarrow \ket{\phi_{\sigma}} \tag{16}
\end{align}

En général, la distance de trace entre les états purifiés est plus grande que la distance de trace avant purification [^ 4],

[^ 4]: J'utilise avec désinvolture la contractilité de la propriété (4). De la propriété (4), on peut dire que la distance de trace du système partiel est plus petite que la distance de trace de tout le système (Référence: Neilsen Chan )).

\begin{align}
D(\rho,\sigma) &\leq  \frac{1}{2} || \ket{\phi_{\rho}} \bra{\phi_{\rho}} - \ket{\phi_{\sigma}} \bra{\phi_{\sigma}} || \\
&= \frac{1}{2} Tr | \ket{\phi_{\rho}} \bra{\phi_{\rho}} - \ket{\phi_{\sigma}} \bra{\phi_{\sigma}} |   \tag{17}
\end{align}

Peut être dit. Je veux calculer la trace sur le côté droit concrètement pour montrer que la limite supérieure est 1, mais je veux une sorte de système orthogonal normal pour cela. Nous utilisons donc la méthode d'orthogonalisation de Gram Schmidt. Le rang étant au plus égal à 2, il suffit d'obtenir les deux premiers systèmes orthogonaux. Alors je vais l'essayer.

\begin{align}
\ket{u} &= \ket{\phi_{\rho}} \\
\ket{v} &= \frac{\ket{\phi_{\sigma}} - \braket{\phi_{\rho}}{\phi_{\sigma}} \ket{\phi_{\rho}}}{\sqrt{1-|\braket{\phi_{\rho}}{\phi_{\sigma}}|^{2}}}  \tag{18}
\end{align}

Donc,

\begin{align}
\ket{\phi_{\rho}} &= \ket{u} \\
\ket{\phi_{\sigma}} &= \braket{\phi_{\rho}}{\phi_{\sigma}} \ket{u} + \sqrt{1-|\braket{\phi_{\rho}}{\phi_{\sigma}}|^{2}} \ket{v} \tag{19}
\end{align}

A partir de là, le contenu de la trace de l'équation (17) est (calculé régulièrement),

\begin{align}
&\ket{\phi_{\rho}} \bra{\phi_{\rho}} - \ket{\phi_{\sigma}} \bra{\phi_{\sigma}} \\
&= (1-|\braket{\phi_{\rho}}{\phi_{\sigma}}|^{2}) \ket{u} \bra{u} - \sqrt{1-|\braket{\phi_{\rho}}{\phi_{\sigma}}|^{2}} \braket{\phi_{\rho}}{\phi_{\sigma}} \ket{u} \bra{v} - \sqrt{1-|\braket{\phi_{\rho}}{\phi_{\sigma}}|^{2}} \braket{\phi_{\sigma}}{\phi_{\rho}} \ket{v} \bra{u} - (1-|\braket{\phi_{\rho}}{\phi_{\sigma}}|^{2}) \ket{v} \bra{v}  \tag{20}
\end{align}

Ensuite, si vous définissez $ \ alpha = \ braket {\ phi_ {\ rho}} {\ phi_ {\ sigma}} $,

\begin{align}
&\ket{\phi_{\rho}} \bra{\phi_{\rho}} - \ket{\phi_{\sigma}} \bra{\phi_{\sigma}} \\
&= (1-|\alpha|^{2}) \ket{u}\bra{v} - \alpha \sqrt{1-|\alpha|^{2}} \ket{u}\bra{v} - \alpha^{*} \sqrt{1-|\alpha|^{2}} \ket{v}\bra{u} - (1-|\alpha|^{2}) \ket{v}\bra{v} \\
&=
\begin{pmatrix}
1-|\alpha|^{2} & - \alpha \sqrt{1-|\alpha|^{2}} \\
- \alpha^{*} \sqrt{1-|\alpha|^{2}} & - (1-|\alpha|^{2}) 
\end{pmatrix}  \tag{21}
\end{align}

est. Diagonaliser cette matrice (= résoudre le problème des valeurs propres) et calculer la somme des valeurs absolues des valeurs propres obtenues. Alors je vais l'essayer. Pour l'équation propre, la valeur propre que vous voulez trouver est $ \ lambda $.

\lambda^{2} - (1-|\alpha|^{2}) = 0  \tag{22}

Ce sera. Lorsque cela est résolu, les deux valeurs propres sont

\begin{align}
&\lambda_1 = \sqrt{1-|\alpha|^{2}} = \sqrt{1-|\braket{\phi_{\rho}}{\phi_{\sigma}}|^{2}} \\
&\lambda_2 = -\sqrt{1-|\alpha|^{2}} = -\sqrt{1-|\braket{\phi_{\rho}}{\phi_{\sigma}}|^{2}} \tag{23}
\end{align}

Et à la fin, l'équation (17)

D(\rho,\sigma) \leq \sqrt{1-|\braket{\phi_{\rho}}{\phi_{\sigma}}|^{2}} \leq 1 \tag{24}

Ce sera. Ici, l'égalité est valable pour $ \ braket {\ phi_ {\ rho}} {\ phi_ {\ sigma}} = 0 $, c'est-à-dire lorsque les états sont orthogonaux, c'est-à-dire $ \ rho \ sigma = Seulement quand il est de 0 $. (Fin de la certification)

(3) Inégalité triangulaire

D(\rho,\sigma) \leq D(\rho,\tau) + D(\tau,\sigma)  \tag{25}

Est établi.

[Preuve]

À partir de l'équation (3)

D(\rho,\sigma) = Tr(P(\rho-\sigma))  \tag{26}

Il y a $ P $ qui se rencontre. En utilisant le $ \ tau $ approprié,

D(\rho,\sigma) = Tr(P(\rho-\sigma)) = Tr(P(\rho-\tau)) + Tr(P(\tau-\sigma))  \tag{27}

Peut être fait. Encore une fois, en utilisant l'équation (3),

D(\rho,\sigma) \leq D(\rho,\tau) + D(\tau,\sigma)  \tag{25}

Est établi. (Fin de la certification)

(4) rétrécissement

D(\rho,\sigma) \geq D(\Gamma(\rho),\Gamma(\sigma))  \tag{28}

Est établi.

[Preuve]

Pour l'état $ \ rho, \ sigma $ dans le système d'attention A, l'état $ \ tau_ {R} $ dans le système de référence R est utilisé pour purifier comme suit.

\rho_{AR} = \rho \otimes \tau_{R}, \space \sigma_{AR} = \sigma \otimes \tau_{R}  \tag{29}

Notez que la distance de trace est invariante lorsqu'elle est purifiée en utilisant le même $ \ tau_ {R} $ de cette manière. C'est,

\begin{align}
D(\rho_{AR}, \sigma_{AR}) &= \frac{1}{2} ||\rho_{AR}-\sigma_{AR}|| = \frac{1}{2} ||(\rho-\sigma) \otimes \tau_{R}|| \\
&= \frac{1}{2} ||\rho-\sigma|| \cdot ||\tau_{R}|| = \frac{1}{2} ||\rho-\sigma|| \\
&= D(\rho,\sigma)  \tag{30}
\end{align}

est. De plus, les cartes CPTP pour $ \ rho, \ sigma $ peuvent être faites en utilisant n'importe quel opérateur unitaire $ U $.

\begin{align}
\Gamma(\rho) &= Tr_{R} (U \rho_{AR} U^{\dagger})  \\
\Gamma(\sigma) &= Tr_{R} (U \sigma_{AR} U^{\dagger})  \tag{31}
\end{align}

Peut être écrit. Puis

\begin{align}
||\rho-\sigma|| &= ||\rho_{AR}-\sigma_{AR}|| = ||U(\rho_{AR}-\sigma_{AR})U^{\dagger}|| \\
&= \max_{V} |Tr(U(\rho_{AR}-\sigma_{AR})U^{\dagger}V)| \\
&\geq \max_{V_A} |Tr(U(\rho_{AR}-\sigma_{AR})U^{\dagger}(V_A \otimes I_R))| \\
&= \max_{V_A} |Tr((Tr_{R}(U\rho_{AR}U^{\dagger}) - Tr_{R}(U\sigma_{AR}U^{\dagger}))V_A)| \\
&= \max_{V_A} |Tr((\Gamma(\rho)-\Gamma(\sigma))V_A)| \\
&= ||\Gamma(\rho)-\Gamma(\sigma)||  \tag{32}
\end{align}

Ce sera.

Ici, pour l'opérateur linéaire $ A $ et tous les opérateurs unitaires $ V $,

||A|| = \max_{V} |Tr(AV)|  \tag{33}

A été utilisé pour tenir. Après tout, de l'équation (32)

D(\rho,\sigma) \geq D(\Gamma(\rho),\Gamma(\sigma))  \tag{28}

Vous pouvez voir que c'est vrai. (Fin de la certification)

(5) forte convexité

D(\sum_{i} p_{i} \rho_{i}, \sum_{i} q_{i} \sigma_{i}) \leq D(p_{i},q_{i}) + \sum_{i} D(\rho_{i},\sigma_{i})  \tag{34}

Est établi.

[Preuve]

\begin{align}
&D(\sum_{i} p_{i} \rho_{i}, \sum_{i} q_{i} \sigma_{i}) \\
&= \frac{1}{2} Tr|\sum_{i} p_{i} \rho_{i} - \sum_{i} q_{i} \sigma_{i}| \\
&= \max_{0 \leq P \leq I} Tr(P(\sum_{i} p_{i} \rho_{i} - \sum_{i} q_{i} \sigma_{i})) \tag{35}
\end{align}

Ici, en choisissant $ P $ de manière appropriée, vous pouvez procéder comme suit.

\begin{align}
&D(\sum_{i} p_{i} \rho_{i}, \sum_{i} q_{i} \sigma_{i}) \\
&= Tr(P(\sum_{i} p_{i} \rho_{i} - \sum_{i} q_{i} \sigma_{i})) \\
&= Tr(P \sum_{i} p_{i} \rho_{i}) - Tr(P \sum_{i} q_{i} \sigma_{i}) \\
&= \sum_{i} p_{i} Tr(P\rho_{i}) - \sum_{i} q_{i} Tr(P\sigma_{i}) \\
&= \sum_{i} p_{i} Tr(P(\rho_{i}-\sigma_{i})) + \sum_{i} (p_i - q_i) Tr(P\sigma_{i})  \\
&\leq \sum_{i} p_{i} D(\rho_{i},\sigma_{i}) + \sum_{i} (p_i - q_i) Tr(P\sigma_{i})  \tag{36}
\end{align}

Maintenant, pour relier le deuxième terme de la dernière ligne à la distance inter-distribution de la distribution de probabilité classique, considérons la distance de trace lorsque $ \ rho, \ sigma $ sont commutatifs. Comme il est interchangeable, une diagonalisation simultanée est possible comme indiqué ci-dessous.

\begin{align}
\rho &= \sum_{i} p_{i} \ket{i} \bra{i} \\
\sigma &= \sum_{i} q_{i} \ket{i} \bra{i} \tag{37}
\end{align}

Lors du calcul de la distance de trace dans cette condition,

\begin{align}
D(\rho,\sigma) &= \frac{1}{2} Tr|\sum_{i} (p_i - q_i) \ket{i} \bra{i}| \\
&= \frac{1}{2} \sum_{i} |p_i - q_i| \equiv D(p_i,q_i) \\
&= \max_{P} Tr(P(\rho-\sigma)) \\
&= \max_{P} Tr(P(\sum_{i} p_{i} \ket{i} \bra{i} - \sum_{i} q_{i} \ket{i} \bra{i})) \\
&= \max_{P} \sum_{i} (p_i - q_i) Tr (P \ket{i} \bra{i}) \\
&= \max_{P} \sum_{i} (p_i - q_i) Tr (P \sigma_{i}) \\
&\geq \sum_{i} (p_i -q_i) Tr(P\sigma_{i})  \tag{38}
\end{align}

Peut mener. Où $ D (p_i, q_i) $ est la distance inter-distribution de la distribution de probabilité classique. Substituer l'équation (38) dans l'équation (36)

D(\sum_{i} p_{i} \rho_{i}, \sum_{i} q_{i} \sigma_{i}) \leq D(p_i,q_i) + \sum_{i} p_{i} D(\rho_{i},\sigma_{i}) \tag{34}

Vous pouvez voir que c'est vrai. (Fin de la certification)

Au fait, si $ p_i = q_i $,

D(\sum_{i} p_{i} \rho_{i}, \sum_{i} p_{i} \sigma_{i}) \leq \sum_{i} p_{i} D(\rho_{i},\sigma_{i})  \tag{39}

Est établi, et cela s'appelle «convexité conjointe».

Vérifiez avec le simulateur

Maintenant, concentrons-nous sur la quatrième "rétrécissement" des propriétés de distance de trace montrées ci-dessus et vérifions avec le simulateur si elle est vraie ou non. Plus précisément, deux opérateurs de densité sont créés aléatoirement, un canal quantique créé aléatoirement (système de référence + système d'environnement est ajouté, et une transformation unitaire aléatoire est effectuée sur l'état purifié, et finalement tracée. À la suite du passage (défini dans le sens de sortie), voyons que la distance de trace est certainement une contraction (= diminution).

Le code Python complet est ci-dessous.

import random
import math
import numpy as np
from scipy.stats import unitary_group
from qlazypy import QState, DensOp

def random_densop(qnum_tar,qnum_ref,qnum_env):

    dim_pur = 2**(qnum_tar+qnum_ref)
    vec_pur = np.array([0.0]*dim_pur)
    vec_pur[0] = 1.0
    mat_pur = unitary_group.rvs(dim_pur)
    vec_pur = np.dot(mat_pur, vec_pur)

    dim_env = 2**qnum_env
    vec_env = np.array([0.0]*dim_env)
    vec_env[0] = 1.0

    vec_whole = np.kron(vec_pur,vec_env)

    qs = QState(vector=vec_whole)
    de = DensOp(qstate=[qs],prob=[1.0])

    qs.free()
    return de

def random_unitary(qnum):

    dim = 2**qnum
    mat = unitary_group.rvs(dim)
    
    return mat
    
if __name__ == '__main__':

    # settings
    qnum_tar = 2  # system A : target system
    qnum_ref = 2  # system R : reference system
    qnum_env = 2  # system E : environment system
    qnum_whole = qnum_tar + qnum_ref + qnum_env

    # two random states in system A+R+E (A+R:set randomly, E:set |0> initialy)
    de1_whole = random_densop(qnum_tar,qnum_ref,qnum_env)
    de2_whole = random_densop(qnum_tar,qnum_ref,qnum_env)

    # two states in system A (trace out R+E)
    de1_ini = de1_whole.partial(id=list(range(qnum_tar)))
    de2_ini = de2_whole.partial(id=list(range(qnum_tar)))

    # trace distance for initial states
    dis_ini = de1_ini.distance(de2_ini)

    # unitary transformation for whole system
    U = random_unitary(qnum_whole)
    de1_whole.apply(U)
    de2_whole.apply(U)

    # two states in system A (trace out R+E)
    de1_fin = de1_whole.partial(id=list(range(qnum_tar)))
    de2_fin = de2_whole.partial(id=list(range(qnum_tar)))
    
    # trace distance for final states
    dis_fin = de1_fin.distance(de2_fin)

    # result
    print("* trace distance(ini) =", dis_ini)
    print("* trace distance(fin) =", dis_fin)

    if dis_ini >= dis_fin:
        print("OK!")
    else:
        print("NG!")

    # free memory
    de1_whole.free()
    de2_whole.free()
    de1_ini.free()
    de2_ini.free()
    de1_fin.free()
    de2_fin.free()

Je viens de remplacer la méthode qui calcule la fidélité dans Article précédent par la méthode distance qui calcule la distance de trace, donc je ne l'expliquerai pas en détail.

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

* trace distance(ini) = 0.5235122473095817
* trace distance(fin) = 0.26385081827631107
OK!

Ainsi, vous pouvez voir que la distance de trace diminue. Je l'ai utilisé plusieurs fois, mais il s'est toujours contracté (diminué).

en conclusion

Cet article est devenu assez long en raison du développement minutieux et de la preuve de la formule. Dans les références, les points clés sont prouvés, mais beaucoup sont omis. Ce qui est important à mon avis, c'est que j'essaie moi-même de combler l'espace entre les lignes, mais cette fois, il est arrivé que le montant ait augmenté. C'est presque les bases de l'algèbre linéaire, mais j'ai beaucoup appris (j'aurais dû le faire quand j'étais à l'université, mais je transpire).

Au fait, je prévois la prochaine fois, mais pour l'instant je pense que c'est une question d'entropie. C'est un sujet qui ne peut être exclu des bases de la théorie de l'information quantique. Ainsi, nous entrons enfin dans le domaine de la théorie de l'information.

c'est tout

Recommended Posts

Bases de la théorie de l'information quantique: distance de trace
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: limites d'Horebaud
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 CSS)
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: 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 ①
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