Užívateľ:Viliam: Rozdiel medzi revíziami
| Riadok 1: | Riadok 1: | ||
| https://arxiv.org/pdf/1803.05316.pdf | https://arxiv.org/pdf/1803.05316.pdf | ||
| + | An Invitation to Applied Category Theory | ||
| − | |||
| − | |||
| − | + | 	https://quantum.country/ | |
| + | 	https://michaelnielsen.org/blog/quantum-computing-for-the-determined/ | ||
| − | + | Slovo "superpozícia" znamená lineárna kombinácia stavov. | |
| − | |||
| − | |||
| − | + | Ak máme hodnotu "a*k0 + b*k1", nevieme zistiť čísla "a" a "b". | |
| + | Vieme však s pravdepodobnosťou "|a*a|" dostať hodnotu 0 (čím sa hodnota zmení na k0), a s pravdepodobnosťou "|b*b|" hodnotu 1 (čím sa hodnota zmení na k1). | ||
| − | + | Kvantová brána je komplexná matica 2×2, ktorá zachováva jednotkovú dĺžku vektorov. | |
| + | Aby to platilo, musí byť [[a b] [c d]] × [[a' c'][b' d']] = [[1 0] [0 1]]. | ||
| − | + | rotácia = [[cos q -sin q] [sin q cos q]] | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | CNOT × [|+> |->] = [|-> |->]  = ako je to možné? | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Toffoli gate | |
| + | 	t k00z = k00z | ||
| + | 	t k01z = k01z | ||
| + | 	t k10z = k10z | ||
| + | 	t k110 = k111 | ||
| + | 	t k111 = k110 | ||
| − | + | Toffoli gate sa dá poskladať z CNOT a jednoqubitových brán, konkrétne z [[1 0][0 0.7+0.7i]] a jeho daggeru. | |
| − | |||
| − | |||
| − | + | Uncomputation: | |
| − | + | 	kvantové brány sú reverzibilné | |
| − | + | 	dajú sa nimi simulovať klasické výpočty, ale potrebujeme pomocné bity, ktoré sa naplnia medzivýpočtami | |
| + | 	ak chceme výpočet opakovať, potrebujeme pomocné bity vyčistiť | ||
| + | 	postup: | ||
| + | 		urobíme výpočet | ||
| + | 		pomocou CNOT skopírujeme výsledok výpočtu do výstupných bitov | ||
| + | 		revertneme výpočet | ||
| − | + | Hľadanie: | |
| + | 	začíname v stave 000... | ||
| + | 	aplikujeme H na každý vstupný qubit, dostaneme rovnomerne pokryté všetky možnosti | ||
| + | 	klasicky vypočítame, či je riešenie dobré a podľa toho nastavíme "solution bit" | ||
| + | 	skopírujeme "solution bit" a revertneme výpočet | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Ak máme dva qubity v stave [a, b, c, d] a odmeriame prvý, | |
| − | + | dostaneme 0 s pravdepodobnosťou |a|^2 + |b|^2 | |
| − | + | 	druhý qubit je v stave [a / |a|^2 + |b|^2, b / |a|^2 + |b|^2] | |
| − | + | dostaneme 1 s pravdepodobnosťou |c|^2 + |d|^2, | |
| − | + | 	druhý qubit je v stave [c / |c|^2 + |d|^2, b / |c|^2 + |d|^2] | |
| − | |||
| − | |||
| − | |||
| − | + | Ak máme dva qubity v stave [a b c d] a odmeriame prvý v bázach e0 = [√½ √½] a e1 = [√½ -√½], | |
| + | [1 0] = √½(e0 + e1) | ||
| + | [0 1] = √½(e0 - e1) | ||
| + | takže [a, b, c, d] = √½(a+c)[e0 0] + √½(b+d)[e0 1] + √½(a-c)[e1 0] + √½(b-d)[e1 1] | ||
| + | pravdepodobnosť e0 je (a+c)^2+(b+d)^2 /2 | ||
| − | + | Ak máme bázy b0 = 00+11, b1 = 10+01, b2 = 00-11, b3 = 10-01 | |
| − | + | 00 = b0+b2 | |
| + | 01 = b1-b3 | ||
| + | 10 = b1+b3 | ||
| + | 11 = b0-b2 | ||
| + | 	https://www.youtube.com/watch?v=NZqRUH1uSlE | ||
| + | vývoj kvantového systému v čase | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | . | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | + | Pri modelovaní kvantového počítača potrebujeme vedieť amplitúdy všetkých možných stavov qubitov. | |
| − | + | Počítač s N qubitmi teda reprezentuje vektor s 2^N komplexnými číslami. | |
| − | + | Pri vektore nie je podstatné poradie čísel, je to skôr mapa z P(B) do C. | |
| − | + | Tradične je poradie stavov pre jeden qubit ["q0=0", "q0=1"], pre dva qubity ["q0=0 q1=0", "q0=0 q1=1", "q0=1 q1=0", "q0=1 q1=1"] čiže [|00> |01> |10> |11>], atď. | |
| − | + | 	[1 0]  =  |0>  = qubit je (klasicky) vypnutý | |
| − | + | 	[0 1]  =  |1>  = qubit je (klasicky) zapnutý | |
| − | + | 	[a b]  =  a|0> + b|1>  = qubit je v superpozícii; "a" a "b" sú komplexné čísla; "|a|^2 + |b|^2 = 1" | |
| − | + | Vektor "ket" je zvislý. | |
| − | + | Vektor "bra" je vodorovný a komplexné hodnoty majú otočené znamienko pri imaginárnej časti; čiže "<x| = |x>†". | |
| − | + | Kedže "x × x* = |x|^2", tak "<x|x> = <x| × |x> = | |x> |^2". | |
| − | |||
| + | Skrátené zápisy | ||
| + | 	[√½  √½] = |+> | ||
| + | 	[√½ -√½] = |-> | ||
| − | |||
| − | |||
| − | |||
| + | Fyzickú operáciu s qubitmi reprezentuje štvorcová matica komplexných čísel, mapa z P(B)×P(B) do C. | ||
| − | + | 	   ×  [p] | |
| − | + |           [q] | |
| − | + | 	[a b] [ap+bq] | |
| − | + | 	[c d] [cp+dq] | |
| − | |||
| − | |||
| + | Intuitívne, stĺpec v matici je východiskový stav, riadok v matici je cieľový stav. | ||
| + | Ak aplikujeme viac operácií, napríklad najprv A, potom B, nakoniec C, výsledok je: C(B(Ax)) = CBAx | ||
| − | prvý  | + | |
| − | + | Ak je prvý qubit [a b] a druhý [c d], spolu sú [ac ad bc bd]. | |
| − | 0 0 =  | + | Čiže ak máme stav [a b c d], kde ad = bc, sú to dva nepreviazané qubity. | 
| − | 0  | + | |
| − | + | Matica [[a b][c d]] aplikovaná na prvý alebo druhý z dvoch qubitov: | |
| − | + | 	[a 0 b 0]  [a b 0 0] | |
| − | + | 	[0 a 0 b]  [c d 0 0] | |
| − | + | 	[c 0 d 0]  [0 0 a b] | |
| − | + | 	[0 c 0 d]  [0 0 c d] | |
| − | + | aplikovaná na prvý, druhý, alebo tretí z troch qubitov: | |
| − | + | 	[a 0 0 0 b 0 0 0]  [a 0 b 0 0 0 0 0]  [a b 0 0 0 0 0 0] | |
| − | + | 	[0 a 0 0 0 b 0 0]  [0 a 0 b 0 0 0 0]  [c d 0 0 0 0 0 0] | |
| − | + | 	[0 0 a 0 0 0 b 0]  [c 0 d 0 0 0 0 0]  [0 0 a b 0 0 0 0] | |
| − | + | 	[0 0 0 a 0 0 0 b]  [0 c 0 d 0 0 0 0]  [0 0 c d 0 0 0 0] | |
| − | + | 	[c 0 0 0 d 0 0 0]  [0 0 0 0 a 0 b 0]  [0 0 0 0 a b 0 0] | |
| + | 	[0 c 0 0 0 d 0 0]  [0 0 0 0 0 a 0 b]  [0 0 0 0 c d 0 0] | ||
| + | 	[0 0 c 0 0 0 d 0]  [0 0 0 0 c 0 d 0]  [0 0 0 0 0 0 a b] | ||
| + | 	[0 0 0 c 0 0 0 d]  [0 0 0 0 0 c 0 d]  [0 0 0 0 0 0 c d] | ||
| + | |||
| + | Matica [[a b c d][e f g h][i j k l][m n o p]] aplikovaná v opačnom poradí: | ||
| + | 	[... | ||
| + | |||
| + | |||
| + | |||
| + | . | ||
| + | |||
| + | X[p q] = [q p] | ||
| + | X[1 0] = [0 1]  čiže  X|0> = |1> | ||
| + | X[0 1] = [1 0]  čiže  X|1> = |0> | ||
| + | |||
| + | Y[p q] = [-qi pi] | ||
| + | Y[1 0] = [0  i]  čiže  Y|0> = i|1> | ||
| + | Y[0 1] = [-i 0]  čiže  Y|1> = -i|0> | ||
| + | |||
| + | Z[p q] = [p -q] | ||
| + | Z[1 0] = [1  0]  čiže  Y|0> = |0> | ||
| + | Z[0 1] = [0 -1]  čiže  Y|1> = -|1> | ||
| + | |||
| + | H[p q] = [p+q p-q]÷√2 | ||
| + | H[1 0] = [1  1]÷√2  čiže  H|0> = √½|0> + √½|1> | ||
| + | H[0 1] = [1 -1]÷√2  čiže  H|0> = √½|0> - √½|1> | ||
| + | |||
| + | XX = I | ||
| + | YY = I | ||
| + | ZZ = I | ||
| + | HH = I | ||
| + | |||
| + | |H[p q]|^2 = |√½[p+q p-q]|^2 = ½((p+q)^2 + (p-q))^2) = ½(pp + 2pq + qq + pp - 2pq + qq) = pp + qq | ||
| + | |||
| + | . | ||
| + | H =	[1  1] | ||
| + | 	[1 -1]÷√2 | ||
| + | |||
| + | 	[√½  0  √½   0]  [√½  √½  0   0] | ||
| + | 	[ 0 √½   0  √½]  [√½ -√½  0   0] | ||
| + | 	[√½  0 -√½   0]  [ 0   0 √½  √½] | ||
| + | 	[ 0 √½   0 -√½]  [ 0   0 √½ -√½] | ||
| + | |||
| + | . | ||
| + | |||
| + | X =	[0 1] | ||
| + | 	[1 0] | ||
| + | |||
| + | 	[0 0 1 0]  [0 1 0 0] | ||
| + | 	[0 0 0 1]  [1 0 0 0] | ||
| + | 	[1 0 0 0]  [0 0 0 1] | ||
| + | 	[0 1 0 0]  [0 0 1 0] | ||
| + | |||
| + | . | ||
| + | |||
| + | Y =	[0 -i] | ||
| + | 	[i  0] | ||
| + | |||
| + | . | ||
| + | Z | ||
| + | 	[1  0] | ||
| + | 	[0 -1] | ||
| + | |||
| + | 	[1 0  0  0]  [1  0 0  0] | ||
| + | 	[0 1  0  0]  [0 -1 0  0] | ||
| + | 	[0 0 -1  0]  [0  0 1  0] | ||
| + | 	[0 0  0 -1]  [0  0 0 -1] | ||
| + | |||
| + | . | ||
| + | |||
| + | CNOT - CN, NC  | ||
| + | 	[1 0 0 0] [1 0 0 0] | ||
| + | 	[0 1 0 0] [0 0 0 1] | ||
| + | 	[0 0 0 1] [0 0 1 0] | ||
| + | 	[0 0 1 0] [0 1 0 0] | ||
| + | |||
| + | Toffoli | ||
| + | 	[1 0 0 0 0 0 0 0] | ||
| + | 	[0 1 0 0 0 0 0 0] | ||
| + | 	[0 0 1 0 0 0 0 0] | ||
| + | 	[0 0 0 1 0 0 0 0] | ||
| + | 	[0 0 0 0 1 0 0 0] | ||
| + | 	[0 0 0 0 0 1 0 0] | ||
| + | 	[0 0 0 0 0 0 0 1] | ||
| + | 	[0 0 0 0 0 0 1 0] | ||
| + | |||
| + | . | ||
| + | |||
| + | |||
| + | Superhusté kódovanie | ||
| + | 	https://www.youtube.com/watch?v=w5rCn593Dig | ||
| + | |||
| + | Vytvoríme dva previazané qubity, jeden pošleme Alici, druhý Bobovi | ||
| + |  0--[H]--[C]- | ||
| + |  0-------[N]- | ||
| + | [1] [√½] [√½] | ||
| + | [0] [ 0] [ 0] | ||
| + | [0] [√½] [ 0] | ||
| + | [0] [ 0] [√½] | ||
| + | |||
| + | Alica má dva klasické bity, a podľa ich hodnoty urobí so svojím qubitom nasledujúcu operáciu: 00 = I, 01 = X, 10 = Z, 11 = XZ (najprv Z, potom X), výsledok pošle Bobovi | ||
| + |  00   01   10    11 | ||
| + | [√½] [ 0] [ √½] [  0] | ||
| + | [ 0] [√½] [  0] [-√½] | ||
| + | [ 0] [√½] [  0] [ √½] | ||
| + | [√½] [ 0] [-√½] [  0] | ||
| + | |||
| + | Bob má dva qubity 00+11, 10+01, 00-11, 10-01 (všetky štyri možnosti sú na seba kolmé), revertne pôvodné previazanie, a odmeria ich. | ||
| + | -----[C]--[H] | ||
| + | -----[N]----- | ||
| + | [√½] [√½] [1] = 00 | ||
| + | [ 0] [ 0] [0] | ||
| + | [ 0] [√½] [0] | ||
| + | [√½] [ 0] [0] | ||
| + | |||
| + | [ 0] [ 0] [0] | ||
| + | [√½] [√½] [1] = 01 | ||
| + | [√½] [ 0] [0] | ||
| + | [ 0] [√½] [0] | ||
| + | |||
| + | [ √½] [ √½] [0] | ||
| + | [  0] [  0] [0] | ||
| + | [  0] [-√½] [1] = 10 | ||
| + | [-√½] [  0] [0] | ||
| + | |||
| + | [  0] [  0] [ 0] | ||
| + | [-√½] [-√½] [ 0] | ||
| + | [ √½] [  0] [ 0] | ||
| + | [  0] [ √½] [-1] = 11 | ||
| + | |||
| + | . | ||
| + | |||
| + | Alica má tajný qubit [a b]. | ||
| + | Vytvoríme dva previazané qubity [√½ 0 0 √½], jeden pošleme Alici, druhý Bobovi | ||
| + | [a√½ 0 0 a√½ b√½ 0 0 b√½] = a×000 + a×011 + b×100 + b×111 | ||
| + | |||
| + | see: https://www.youtube.com/watch?v=3wZ35c3oYUE | ||
| + | |||
| + | |||
| + | 	CNOT zo source qubitu na previazaný, Hadamard na source qubit | ||
| + | 	odmeriame previazaný qubit; ak je 1, povieme adresátovi, nech na svojom qubite spraví X | ||
| + | 	odmeriame source qubit; ak je 1, povieme adresátovi, nech na svojom qubite spraví Z | ||
| + | 	teraz je adresátov qubit v rovnakom stave, ako bol source qubit na začiatku | ||
| + | 	aj keby niekto odpočúal poslané informácie, nič mu to nepovie | ||
| + | |||
| + | . | ||
Verzia zo dňa a času 16:01, 12. máj 2023
https://arxiv.org/pdf/1803.05316.pdf An Invitation to Applied Category Theory
	https://quantum.country/
	https://michaelnielsen.org/blog/quantum-computing-for-the-determined/
Slovo "superpozícia" znamená lineárna kombinácia stavov.
Ak máme hodnotu "a*k0 + b*k1", nevieme zistiť čísla "a" a "b". Vieme však s pravdepodobnosťou "|a*a|" dostať hodnotu 0 (čím sa hodnota zmení na k0), a s pravdepodobnosťou "|b*b|" hodnotu 1 (čím sa hodnota zmení na k1).
Kvantová brána je komplexná matica 2×2, ktorá zachováva jednotkovú dĺžku vektorov. Aby to platilo, musí byť [[a b] [c d]] × [[a' c'][b' d']] = [[1 0] [0 1]].
rotácia = [[cos q -sin q] [sin q cos q]]
CNOT × [|+> |->] = [|-> |->]  = ako je to možné?
Toffoli gate
	t k00z = k00z
	t k01z = k01z
	t k10z = k10z
	t k110 = k111
	t k111 = k110
Toffoli gate sa dá poskladať z CNOT a jednoqubitových brán, konkrétne z [[1 0][0 0.7+0.7i]] a jeho daggeru.
Uncomputation:
	kvantové brány sú reverzibilné
	dajú sa nimi simulovať klasické výpočty, ale potrebujeme pomocné bity, ktoré sa naplnia medzivýpočtami
	ak chceme výpočet opakovať, potrebujeme pomocné bity vyčistiť
	postup:
		urobíme výpočet
		pomocou CNOT skopírujeme výsledok výpočtu do výstupných bitov
		revertneme výpočet
Hľadanie: začíname v stave 000... aplikujeme H na každý vstupný qubit, dostaneme rovnomerne pokryté všetky možnosti klasicky vypočítame, či je riešenie dobré a podľa toho nastavíme "solution bit" skopírujeme "solution bit" a revertneme výpočet
Ak máme dva qubity v stave [a, b, c, d] a odmeriame prvý,
dostaneme 0 s pravdepodobnosťou |a|^2 + |b|^2
	druhý qubit je v stave [a / |a|^2 + |b|^2, b / |a|^2 + |b|^2]
dostaneme 1 s pravdepodobnosťou |c|^2 + |d|^2,
	druhý qubit je v stave [c / |c|^2 + |d|^2, b / |c|^2 + |d|^2]
Ak máme dva qubity v stave [a b c d] a odmeriame prvý v bázach e0 = [√½ √½] a e1 = [√½ -√½], [1 0] = √½(e0 + e1) [0 1] = √½(e0 - e1) takže [a, b, c, d] = √½(a+c)[e0 0] + √½(b+d)[e0 1] + √½(a-c)[e1 0] + √½(b-d)[e1 1] pravdepodobnosť e0 je (a+c)^2+(b+d)^2 /2
Ak máme bázy b0 = 00+11, b1 = 10+01, b2 = 00-11, b3 = 10-01 00 = b0+b2 01 = b1-b3 10 = b1+b3 11 = b0-b2
https://www.youtube.com/watch?v=NZqRUH1uSlE vývoj kvantového systému v čase
.
Pri modelovaní kvantového počítača potrebujeme vedieť amplitúdy všetkých možných stavov qubitov.
Počítač s N qubitmi teda reprezentuje vektor s 2^N komplexnými číslami.
Pri vektore nie je podstatné poradie čísel, je to skôr mapa z P(B) do C.
Tradične je poradie stavov pre jeden qubit ["q0=0", "q0=1"], pre dva qubity ["q0=0 q1=0", "q0=0 q1=1", "q0=1 q1=0", "q0=1 q1=1"] čiže [|00> |01> |10> |11>], atď.
[1 0] = |0> = qubit je (klasicky) vypnutý [0 1] = |1> = qubit je (klasicky) zapnutý [a b] = a|0> + b|1> = qubit je v superpozícii; "a" a "b" sú komplexné čísla; "|a|^2 + |b|^2 = 1"
Vektor "ket" je zvislý. Vektor "bra" je vodorovný a komplexné hodnoty majú otočené znamienko pri imaginárnej časti; čiže "<x| = |x>†". Kedže "x × x* = |x|^2", tak "<x|x> = <x| × |x> = | |x> |^2".
Skrátené zápisy [√½ √½] = |+> [√½ -√½] = |->
Fyzickú operáciu s qubitmi reprezentuje štvorcová matica komplexných čísel, mapa z P(B)×P(B) do C.
× [p]
[q]
[a b] [ap+bq] [c d] [cp+dq]
Intuitívne, stĺpec v matici je východiskový stav, riadok v matici je cieľový stav. Ak aplikujeme viac operácií, napríklad najprv A, potom B, nakoniec C, výsledok je: C(B(Ax)) = CBAx
Ak je prvý qubit [a b] a druhý [c d], spolu sú [ac ad bc bd].
Čiže ak máme stav [a b c d], kde ad = bc, sú to dva nepreviazané qubity.
Matica [[a b][c d]] aplikovaná na prvý alebo druhý z dvoch qubitov: [a 0 b 0] [a b 0 0] [0 a 0 b] [c d 0 0] [c 0 d 0] [0 0 a b] [0 c 0 d] [0 0 c d] aplikovaná na prvý, druhý, alebo tretí z troch qubitov: [a 0 0 0 b 0 0 0] [a 0 b 0 0 0 0 0] [a b 0 0 0 0 0 0] [0 a 0 0 0 b 0 0] [0 a 0 b 0 0 0 0] [c d 0 0 0 0 0 0] [0 0 a 0 0 0 b 0] [c 0 d 0 0 0 0 0] [0 0 a b 0 0 0 0] [0 0 0 a 0 0 0 b] [0 c 0 d 0 0 0 0] [0 0 c d 0 0 0 0] [c 0 0 0 d 0 0 0] [0 0 0 0 a 0 b 0] [0 0 0 0 a b 0 0] [0 c 0 0 0 d 0 0] [0 0 0 0 0 a 0 b] [0 0 0 0 c d 0 0] [0 0 c 0 0 0 d 0] [0 0 0 0 c 0 d 0] [0 0 0 0 0 0 a b] [0 0 0 c 0 0 0 d] [0 0 0 0 0 c 0 d] [0 0 0 0 0 0 c d]
Matica [[a b c d][e f g h][i j k l][m n o p]] aplikovaná v opačnom poradí: [...
.
X[p q] = [q p] X[1 0] = [0 1] čiže X|0> = |1> X[0 1] = [1 0] čiže X|1> = |0>
Y[p q] = [-qi pi] Y[1 0] = [0 i] čiže Y|0> = i|1> Y[0 1] = [-i 0] čiže Y|1> = -i|0>
Z[p q] = [p -q] Z[1 0] = [1 0] čiže Y|0> = |0> Z[0 1] = [0 -1] čiže Y|1> = -|1>
H[p q] = [p+q p-q]÷√2 H[1 0] = [1 1]÷√2 čiže H|0> = √½|0> + √½|1> H[0 1] = [1 -1]÷√2 čiže H|0> = √½|0> - √½|1>
XX = I YY = I ZZ = I HH = I
|H[p q]|^2 = |√½[p+q p-q]|^2 = ½((p+q)^2 + (p-q))^2) = ½(pp + 2pq + qq + pp - 2pq + qq) = pp + qq
. H = [1 1] [1 -1]÷√2
[√½ 0 √½ 0] [√½ √½ 0 0] [ 0 √½ 0 √½] [√½ -√½ 0 0] [√½ 0 -√½ 0] [ 0 0 √½ √½] [ 0 √½ 0 -√½] [ 0 0 √½ -√½]
.
X = [0 1] [1 0]
[0 0 1 0] [0 1 0 0] [0 0 0 1] [1 0 0 0] [1 0 0 0] [0 0 0 1] [0 1 0 0] [0 0 1 0]
.
Y = [0 -i] [i 0]
. Z [1 0] [0 -1]
[1 0 0 0] [1 0 0 0] [0 1 0 0] [0 -1 0 0] [0 0 -1 0] [0 0 1 0] [0 0 0 -1] [0 0 0 -1]
.
CNOT - CN, NC [1 0 0 0] [1 0 0 0] [0 1 0 0] [0 0 0 1] [0 0 0 1] [0 0 1 0] [0 0 1 0] [0 1 0 0]
Toffoli [1 0 0 0 0 0 0 0] [0 1 0 0 0 0 0 0] [0 0 1 0 0 0 0 0] [0 0 0 1 0 0 0 0] [0 0 0 0 1 0 0 0] [0 0 0 0 0 1 0 0] [0 0 0 0 0 0 0 1] [0 0 0 0 0 0 1 0]
.
Superhusté kódovanie
	https://www.youtube.com/watch?v=w5rCn593Dig
Vytvoríme dva previazané qubity, jeden pošleme Alici, druhý Bobovi
0--[H]--[C]- 0-------[N]-
[1] [√½] [√½] [0] [ 0] [ 0] [0] [√½] [ 0] [0] [ 0] [√½]
Alica má dva klasické bity, a podľa ich hodnoty urobí so svojím qubitom nasledujúcu operáciu: 00 = I, 01 = X, 10 = Z, 11 = XZ (najprv Z, potom X), výsledok pošle Bobovi
00 01 10 11
[√½] [ 0] [ √½] [ 0] [ 0] [√½] [ 0] [-√½] [ 0] [√½] [ 0] [ √½] [√½] [ 0] [-√½] [ 0]
Bob má dva qubity 00+11, 10+01, 00-11, 10-01 (všetky štyri možnosti sú na seba kolmé), revertne pôvodné previazanie, a odmeria ich.
[C]--[H]
[N]-----
[√½] [√½] [1] = 00 [ 0] [ 0] [0] [ 0] [√½] [0] [√½] [ 0] [0]
[ 0] [ 0] [0] [√½] [√½] [1] = 01 [√½] [ 0] [0] [ 0] [√½] [0]
[ √½] [ √½] [0] [ 0] [ 0] [0] [ 0] [-√½] [1] = 10 [-√½] [ 0] [0]
[ 0] [ 0] [ 0] [-√½] [-√½] [ 0] [ √½] [ 0] [ 0] [ 0] [ √½] [-1] = 11
.
Alica má tajný qubit [a b]. Vytvoríme dva previazané qubity [√½ 0 0 √½], jeden pošleme Alici, druhý Bobovi [a√½ 0 0 a√½ b√½ 0 0 b√½] = a×000 + a×011 + b×100 + b×111
see: https://www.youtube.com/watch?v=3wZ35c3oYUE
	CNOT zo source qubitu na previazaný, Hadamard na source qubit
	odmeriame previazaný qubit; ak je 1, povieme adresátovi, nech na svojom qubite spraví X
	odmeriame source qubit; ak je 1, povieme adresátovi, nech na svojom qubite spraví Z
	teraz je adresátov qubit v rovnakom stave, ako bol source qubit na začiatku
	aj keby niekto odpočúal poslané informácie, nič mu to nepovie
.
