Created
January 12, 2022 02:56
-
-
Save cgranade/7c2a5a0827dddc4281666ad45763b1ec to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "d4eab2a5", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import qutip\n", | |
"from qutip.qinstrument import (\n", | |
" QInstrument,\n", | |
" basis_measurement,\n", | |
" pauli_measurement\n", | |
")" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "8f488f31", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"## Basics of instruments" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "9c0d3906", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"H = qutip.operations.hadamard_transform()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "4bc13109", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"ket_plus = H * qutip.basis(2, 0)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"id": "f686f39e", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190ff7e80 {\n", | |
" dims [[[2], [2]], [[2], [2]]]\n", | |
" outcomes Seq(0,) Seq(1,)\n", | |
"}" | |
] | |
}, | |
"execution_count": 4, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z_instrument = basis_measurement(2)\n", | |
"z_instrument" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"id": "bb07de40", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"(Seq(0,),\n", | |
" Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\n", | |
" Qobj data =\n", | |
" [[1. 0.]\n", | |
" [0. 0.]])" | |
] | |
}, | |
"execution_count": 5, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z_instrument.sample(ket_plus)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"id": "1d8ae9ef", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "-" | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"{Seq(0,): Outcome(probability=0.5000000000000002, output_state=Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\n", | |
" Qobj data =\n", | |
" [[0.5 0.5]\n", | |
" [0.5 0.5]]),\n", | |
" Seq(1,): Outcome(probability=0.5000000000000002, output_state=Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\n", | |
" Qobj data =\n", | |
" [[ 0.5 -0.5]\n", | |
" [-0.5 0.5]])}" | |
] | |
}, | |
"execution_count": 6, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"(H * z_instrument)(ket_plus)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "636196ae", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"## Combining instruments" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"id": "13b73f44", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190ff9d00 {\n", | |
" dims [[[2], [2]], [[2], [2]]]\n", | |
" outcomes Seq(0, 0) Seq(1, 1)\n", | |
"}" | |
] | |
}, | |
"execution_count": 7, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z_instrument * z_instrument" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 8, | |
"id": "c51d19d8", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190ff9460 {\n", | |
" dims [[[2, 2], [2, 2]], [[2, 2], [2, 2]]]\n", | |
" outcomes Seq(Par(0, 0),) Seq(Par(0, 1),) Seq(Par(1, 0),) Seq(Par(1, 1),)\n", | |
"}" | |
] | |
}, | |
"execution_count": 8, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"qutip.tensor([z_instrument] * 2)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 9, | |
"id": "8bee7008", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190ff3880 {\n", | |
" dims [[[2, 2], [2, 2]], [[2, 2], [2, 2]]]\n", | |
" outcomes Seq(Par(Seq(0, 0), 0),) Seq(Par(Seq(0, 0), 1),) Seq(Par(Seq(1, 0), 0),) Seq(Par(Seq(1, 0), 1),) Seq(Par(Seq(0, 1), 0),) Seq(Par(Seq(0, 1), 1),) Seq(Par(Seq(1, 1), 0),) Seq(Par(Seq(1, 1), 1),)\n", | |
"}" | |
] | |
}, | |
"execution_count": 9, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"qutip.tensor(z_instrument.with_finite_visibility(0.95) ** 2, z_instrument)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "2877bc44", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"## Eliminating impossible outcomes" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 10, | |
"id": "667488ad", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190ff3d90 {\n", | |
" dims [[[2], [2]], [[2], [2]]]\n", | |
" outcomes Seq(0, 0) Seq(1, 1)\n", | |
"}" | |
] | |
}, | |
"execution_count": 10, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z_instrument * z_instrument" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 11, | |
"id": "821761cc", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190fc7550 {\n", | |
" dims [[[2], [2]], [[2], [2]]]\n", | |
" outcomes Seq(0, 0) Seq(1, 0) Seq(0, 1) Seq(1, 1)\n", | |
"}" | |
] | |
}, | |
"execution_count": 11, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z_instrument.with_finite_visibility(0.95) ** 2" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "dd2fea77", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"## Arbitrary dims" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 12, | |
"id": "b8879dd3", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190fc79d0 {\n", | |
" dims [[[3], [3]], [[3], [3]]]\n", | |
" outcomes Seq(0,) Seq(1,) Seq(2,)\n", | |
"}" | |
] | |
}, | |
"execution_count": 12, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"basis_measurement(3)" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "88544446", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"## Incomplete instruments" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 13, | |
"id": "5ba4d69a", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190fc7b50 {\n", | |
" dims [[[4], [4]], [[4], [4]]]\n", | |
" outcomes Seq() Seq('⊥',)\n", | |
"}" | |
] | |
}, | |
"execution_count": 13, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"qutip.QInstrument(qutip.projection(4, 0, 0)).complete()" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 14, | |
"id": "66cd8660", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190fc7eb0 {\n", | |
" dims [[[4], [4]], [[4], [4]]]\n", | |
" outcomes Seq(0,) Seq(1,)\n", | |
"}" | |
] | |
}, | |
"execution_count": 14, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"qutip.QInstrument(qutip.projection(4, 0, 0)).complete().reindex()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "a467b7f5", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"## Arbitrary outcome labels" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 15, | |
"id": "43b73db9", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190fbc9d0 {\n", | |
" dims [[[2, 2], [2, 2]], [[2, 2], [2, 2]]]\n", | |
" outcomes Seq(+XX, +ZZ) Seq(-XX, +ZZ) Seq(+XX, -ZZ) Seq(-XX, -ZZ)\n", | |
"}" | |
] | |
}, | |
"execution_count": 15, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"pauli_measurement(\"ZZ\") * pauli_measurement(\"XX\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 16, | |
"id": "1a6fea6c", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190fbccd0 {\n", | |
" dims [[[2, 2], [2, 2]], [[2, 2], [2, 2]]]\n", | |
" outcomes Seq(+XX, +ZZ, +XX, +ZZ) Seq(-XX, +ZZ, -XX, +ZZ) Seq(+XX, -ZZ, +XX, -ZZ) Seq(-XX, -ZZ, -XX, -ZZ)\n", | |
"}" | |
] | |
}, | |
"execution_count": 16, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"(pauli_measurement(\"ZZ\") * pauli_measurement(\"XX\")) ** 2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 17, | |
"id": "b07ab3d7", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190fb1ac0 {\n", | |
" dims [[[2, 2], [2, 2]], [[2, 2], [2, 2]]]\n", | |
" outcomes Seq(+XX, +ZZ, +XX, +ZZ) Seq(-XX, +ZZ, +XX, +ZZ) Seq(+XX, -ZZ, +XX, +ZZ) Seq(-XX, -ZZ, +XX, +ZZ) Seq(+XX, +ZZ, -XX, +ZZ) Seq(-XX, +ZZ, -XX, +ZZ) Seq(+XX, -ZZ, -XX, +ZZ) Seq(-XX, -ZZ, -XX, +ZZ) Seq(+XX, +ZZ, +XX, -ZZ) Seq(-XX, +ZZ, +XX, -ZZ) Seq(+XX, -ZZ, +XX, -ZZ) Seq(-XX, -ZZ, +XX, -ZZ) Seq(+XX, +ZZ, -XX, -ZZ) Seq(-XX, +ZZ, -XX, -ZZ) Seq(+XX, -ZZ, -XX, -ZZ) Seq(-XX, -ZZ, -XX, -ZZ)\n", | |
"}" | |
] | |
}, | |
"execution_count": 17, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"(\n", | |
" pauli_measurement(\"ZZ\") * pauli_measurement(\"XX\")\n", | |
").with_finite_visibility(0.95) ** 2" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "98e1163a", | |
"metadata": {}, | |
"source": [ | |
"When using custom output labels, you can specify sequences of outcomes with `,` and parallel outcomes with `;`. Integers in strings are automatically converted, but other strings are preserved." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 18, | |
"id": "0a6f32a4", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190fb1f70 {\n", | |
" dims [[[4], [4]], [[4], [4]]]\n", | |
" outcomes Seq(Par(Seq(0, 1, 2), Seq(4, '⊥')),)\n", | |
"}" | |
] | |
}, | |
"execution_count": 18, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"QInstrument({\n", | |
" '0, 1, 2; 4, ⊥': qutip.projection(4, 0, 0)\n", | |
"})" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "391107b5", | |
"metadata": {}, | |
"source": [ | |
"For more complicated labels, `Seq` and `Par` can also be used directly. For example, the string `'0, 1, 2; 4, ⊥'` can also be written more explicitly as `Seq(Par(Seq(0, 1, 2), Seq(4, '⊥')),)`." | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 19, | |
"id": "a8c0c0ad", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"from qutip.qinstrument import Seq, Par" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 20, | |
"id": "c8545e5a", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=2319106e490 {\n", | |
" dims [[[4], [4]], [[4], [4]]]\n", | |
" outcomes Seq(Par(Seq(0, 1, 2), Seq(4, '⊥')),) Seq(Par(Seq(0, 1, 2), Seq(Par('A', 'B'), 'C')),)\n", | |
"}" | |
] | |
}, | |
"execution_count": 20, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"QInstrument({\n", | |
" Seq(Par(Seq(0, 1, 2), Seq(4, '⊥')),): qutip.projection(4, 0, 0),\n", | |
" Seq(Par(Seq(0, 1, 2), Seq(Par('A', 'B'), 'C')),): qutip.projection(4, 1, 1)\n", | |
"})" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "85704c93", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"## Nonselective processes" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 21, | |
"id": "c2d9fcd6", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"ins = (\n", | |
" pauli_measurement(\"ZZ\") * pauli_measurement(\"XX\")\n", | |
").with_finite_visibility(0.95) ** 2" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 22, | |
"id": "945bb514", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"Quantum object: dims=[[[2, 2], [2, 2]], [[2, 2], [2, 2]]], shape=(16, 16), type='super', isherm=True\\begin{equation*}\\left(\\begin{array}{*{11}c}0.501 & 0 & 0 & -2.082\\times10^{ -17 } & 0 & \\cdots & 0 & -2.082\\times10^{ -17 } & 0 & 0 & 0.499\\\\0 & 0.003 & 0 & 0 & 0 & \\cdots & 0 & 0 & 0 & 0 & 0\\\\0 & 0 & 0.003 & 0 & 0 & \\cdots & 0 & 0 & 0 & 0 & 0\\\\-2.082\\times10^{ -17 } & 0 & 0 & 0.501 & 0 & \\cdots & 0 & 0.499 & 0 & 0 & -2.082\\times10^{ -17 }\\\\0 & 0 & 0 & 0 & 0.003 & \\cdots & 0 & 0 & 0 & 0 & 0\\\\\\vdots & \\vdots & \\vdots & \\vdots & \\vdots & \\ddots & \\vdots & \\vdots & \\vdots & \\vdots & \\vdots\\\\0 & 0 & 0 & 0 & 0 & \\cdots & 0.003 & 0 & 0 & 0 & 0\\\\-2.082\\times10^{ -17 } & 0 & 0 & 0.499 & 0 & \\cdots & 0 & 0.501 & 0 & 0 & -2.082\\times10^{ -17 }\\\\0 & 0 & 0 & 0 & 0 & \\cdots & 0 & 0 & 0.003 & 0 & 0\\\\0 & 0 & 0 & 0 & 0 & \\cdots & 0 & 0 & 0 & 0.003 & 0\\\\0.499 & 0 & 0 & -2.082\\times10^{ -17 } & 0 & \\cdots & 0 & -2.082\\times10^{ -17 } & 0 & 0 & 0.501\\end{array}\\right)\\end{equation*}" | |
], | |
"text/plain": [ | |
"Quantum object: dims=[[[2, 2], [2, 2]], [[2, 2], [2, 2]]], shape=(16, 16), type='super', isherm=True\n", | |
"Qobj data =\n", | |
"[[ 5.01250000e-01 0.00000000e+00 0.00000000e+00 -2.08166817e-17\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" -2.08166817e-17 0.00000000e+00 0.00000000e+00 4.98750000e-01]\n", | |
" [ 0.00000000e+00 2.50000000e-03 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n", | |
" [ 0.00000000e+00 0.00000000e+00 2.50000000e-03 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n", | |
" [-2.08166817e-17 0.00000000e+00 0.00000000e+00 5.01250000e-01\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 4.98750000e-01 0.00000000e+00 0.00000000e+00 -2.08166817e-17]\n", | |
" [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 2.50000000e-03 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n", | |
" [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 5.01250000e-01 2.77555756e-17 0.00000000e+00\n", | |
" 0.00000000e+00 2.77555756e-17 4.98750000e-01 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n", | |
" [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 2.77555756e-17 5.01250000e-01 0.00000000e+00\n", | |
" 0.00000000e+00 4.98750000e-01 2.77555756e-17 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n", | |
" [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.50000000e-03\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n", | |
" [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 2.50000000e-03 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n", | |
" [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 2.77555756e-17 4.98750000e-01 0.00000000e+00\n", | |
" 0.00000000e+00 5.01250000e-01 2.77555756e-17 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n", | |
" [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 4.98750000e-01 2.77555756e-17 0.00000000e+00\n", | |
" 0.00000000e+00 2.77555756e-17 5.01250000e-01 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n", | |
" [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 2.50000000e-03\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00]\n", | |
" [-2.08166817e-17 0.00000000e+00 0.00000000e+00 4.98750000e-01\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 5.01250000e-01 0.00000000e+00 0.00000000e+00 -2.08166817e-17]\n", | |
" [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 2.50000000e-03 0.00000000e+00 0.00000000e+00]\n", | |
" [ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 2.50000000e-03 0.00000000e+00]\n", | |
" [ 4.98750000e-01 0.00000000e+00 0.00000000e+00 -2.08166817e-17\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", | |
" -2.08166817e-17 0.00000000e+00 0.00000000e+00 5.01250000e-01]]" | |
] | |
}, | |
"execution_count": 22, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ins.nonselective_process" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "e3bd961c", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"## Checking CP/TP/HP" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 23, | |
"id": "0db1c92c", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 23, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ins.iscptp" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 24, | |
"id": "8bb4f873", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 24, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ins.ishp" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 25, | |
"id": "895fe604", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 25, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ins.istp" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 26, | |
"id": "77cbd8dd", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"True" | |
] | |
}, | |
"execution_count": 26, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"ins.iscp" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "ecb2ad45", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"## Operator overloading" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 27, | |
"id": "affb2378", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=2319108d730 {\n", | |
" dims [[[2, 2], [2, 2]], [[2, 2], [2, 2]]]\n", | |
" outcomes Seq(Par(0, 0),) Seq(Par(0, 1),) Seq(Par(1, 0),) Seq(Par(1, 1),)\n", | |
"}" | |
] | |
}, | |
"execution_count": 27, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z_instrument & z_instrument.with_finite_visibility(0.95)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 28, | |
"id": "78b477fa", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=23190fc7df0 {\n", | |
" dims [[[2, 2, 2], [2, 2, 2]], [[2, 2, 2], [2, 2, 2]]]\n", | |
" outcomes Seq(Par(0, 0, 0),) Seq(Par(0, 0, 1),) Seq(Par(0, 1, 0),) Seq(Par(0, 1, 1),) Seq(Par(1, 0, 0),) Seq(Par(1, 0, 1),) Seq(Par(1, 1, 0),) Seq(Par(1, 1, 1),)\n", | |
"}" | |
] | |
}, | |
"execution_count": 28, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z_instrument ^ 3" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"id": "caa872a1", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"source": [ | |
"## Conditional processes" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 29, | |
"id": "d0b19014", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=2319108d4c0 {\n", | |
" dims [[[2], [2]], [[2], [2]]]\n", | |
" outcomes Seq(0,) Seq(1,)\n", | |
"}" | |
] | |
}, | |
"execution_count": 29, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"reset = z_instrument.if_({\n", | |
" 1: qutip.to_super(qutip.sigmax())\n", | |
"})\n", | |
"reset" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 30, | |
"id": "4c57edf0", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"Quantum object: dims=[[[2], [2]], [[2], [2]]], shape=(4, 4), type='super', isherm=False\\begin{equation*}\\left(\\begin{array}{*{11}c}1 & 0 & 0 & 1\\\\0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0\\end{array}\\right)\\end{equation*}" | |
], | |
"text/plain": [ | |
"Quantum object: dims=[[[2], [2]], [[2], [2]]], shape=(4, 4), type='super', isherm=False\n", | |
"Qobj data =\n", | |
"[[1. 0. 0. 1.]\n", | |
" [0. 0. 0. 0.]\n", | |
" [0. 0. 0. 0.]\n", | |
" [0. 0. 0. 0.]]" | |
] | |
}, | |
"execution_count": 30, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"reset.nonselective_process" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 31, | |
"id": "6a4c3637", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=2319108d490 {\n", | |
" dims [[[2], [2]], [[2], [2]]]\n", | |
" outcomes Seq(0,) Seq(1,)\n", | |
"}" | |
] | |
}, | |
"execution_count": 31, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"z_instrument.if_({\n", | |
" 1: qutip.QInstrument(qutip.to_super(qutip.sigmax()))\n", | |
"})" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 32, | |
"id": "b3e26192", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"outputs": [], | |
"source": [ | |
"V = (\n", | |
" (qutip.qeye(2) & qutip.qip.operations.cnot()) *\n", | |
" (qutip.qeye(2) & qutip.qip.operations.hadamard_transform() & qutip.qeye(2)) *\n", | |
" (qutip.qeye(2) & qutip.basis(2, 0) & qutip.basis(2, 0))\n", | |
")\n", | |
" \n", | |
"prepare_bell = qutip.sprepost(V, V.dag())" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 33, | |
"id": "f6f038d2", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"Quantum object: dims=[[[2, 2, 2], [2, 2, 2]], [[2], [2]]], shape=(64, 4), type='super', isherm=False\\begin{equation*}\\left(\\begin{array}{*{11}c}0.500 & 0 & 0 & 0\\\\0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0\\\\0.500 & 0 & 0 & 0\\\\0 & 0.500 & 0 & 0\\\\\\vdots & \\vdots & \\vdots & \\vdots\\\\0 & 0 & 0.500 & 0\\\\0 & 0 & 0 & 0.500\\\\0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0.500\\end{array}\\right)\\end{equation*}" | |
], | |
"text/plain": [ | |
"Quantum object: dims=[[[2, 2, 2], [2, 2, 2]], [[2], [2]]], shape=(64, 4), type='super', isherm=False\n", | |
"Qobj data =\n", | |
"[[0.5 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0.5 0. 0. 0. ]\n", | |
" [0. 0.5 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0.5 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0.5 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0.5 0. 0. 0. ]\n", | |
" [0. 0.5 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0.5 0. 0. ]\n", | |
" [0. 0. 0.5 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0.5 0. ]\n", | |
" [0. 0. 0. 0.5]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0.5]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0.5 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0.5 0. ]\n", | |
" [0. 0. 0. 0.5]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0.5]]" | |
] | |
}, | |
"execution_count": 33, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"prepare_bell" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 34, | |
"id": "29578328", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\\begin{equation*}\\left(\\begin{array}{*{11}c}1 & 0\\\\0 & 0\\end{array}\\right)\\end{equation*}" | |
], | |
"text/plain": [ | |
"Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\n", | |
"Qobj data =\n", | |
"[[1. 0.]\n", | |
" [0. 0.]]" | |
] | |
}, | |
"execution_count": 34, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"prepare_bell(qutip.basis(2, 0)).ptrace([0])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 35, | |
"id": "b269cf9f", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"Quantum object: dims=[[2, 2], [2, 2]], shape=(4, 4), type='oper', isherm=True\\begin{equation*}\\left(\\begin{array}{*{11}c}0.500 & 0 & 0 & 0.500\\\\0 & 0 & 0 & 0\\\\0 & 0 & 0 & 0\\\\0.500 & 0 & 0 & 0.500\\end{array}\\right)\\end{equation*}" | |
], | |
"text/plain": [ | |
"Quantum object: dims=[[2, 2], [2, 2]], shape=(4, 4), type='oper', isherm=True\n", | |
"Qobj data =\n", | |
"[[0.5 0. 0. 0.5]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0. 0. 0. 0. ]\n", | |
" [0.5 0. 0. 0.5]]" | |
] | |
}, | |
"execution_count": 35, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"prepare_bell(qutip.basis(2, 0)).ptrace([1, 2])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 36, | |
"id": "6fbd297f", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"outputs": [], | |
"source": [ | |
"bell_measurement = pauli_measurement(\"ZZ\") * pauli_measurement(\"XX\")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 37, | |
"id": "527c6716", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=2319108d6a0 {\n", | |
" dims [[[2, 2], [2, 2]], [[2, 2], [2, 2]]]\n", | |
" outcomes Seq(+XX, +ZZ) Seq(-XX, +ZZ) Seq(+XX, -ZZ) Seq(-XX, -ZZ)\n", | |
"}" | |
] | |
}, | |
"execution_count": 37, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"bell_measurement" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 38, | |
"id": "6254f6c0", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/plain": [ | |
"QInstrument id=231910999d0 {\n", | |
" dims [[[2, 2, 2], [2, 2, 2]], [[2], [2]]]\n", | |
" outcomes Seq(+XX, +ZZ) Seq(-XX, +ZZ) Seq(+XX, -ZZ) Seq(-XX, -ZZ)\n", | |
"}" | |
] | |
}, | |
"execution_count": 38, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"teleport_wo_correction = (\n", | |
" (bell_measurement & qutip.to_super(qutip.qeye(2))) *\n", | |
" prepare_bell\n", | |
")\n", | |
"teleport_wo_correction" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 39, | |
"id": "77ce500d", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"outputs": [], | |
"source": [ | |
"teleport = teleport_wo_correction.if_({\n", | |
" qutip.Seq(\"XX\", \"ZZ\"): qutip.to_super((qutip.qeye(2) ^ 2) & qutip.qeye(2)),\n", | |
" qutip.Seq(\"-XX\", \"ZZ\"): qutip.to_super((qutip.qeye(2) ^ 2) & qutip.sigmaz()),\n", | |
" qutip.Seq(\"XX\", \"-ZZ\"): qutip.to_super((qutip.qeye(2) ^ 2) & qutip.sigmax()),\n", | |
" qutip.Seq(\"-XX\", \"-ZZ\"): qutip.to_super((qutip.qeye(2) ^ 2) & qutip.sigmay()),\n", | |
"})" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 40, | |
"id": "7d5e9d0c", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\\begin{equation*}\\left(\\begin{array}{*{11}c}1 & 0\\\\0 & 0\\end{array}\\right)\\end{equation*}" | |
], | |
"text/plain": [ | |
"Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\n", | |
"Qobj data =\n", | |
"[[1. 0.]\n", | |
" [0. 0.]]" | |
] | |
}, | |
"execution_count": 40, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"teleport.nonselective_process(qutip.basis(2, 0)).ptrace([2])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 41, | |
"id": "bc075928", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\\begin{equation*}\\left(\\begin{array}{*{11}c}0 & 0\\\\0 & 1\\end{array}\\right)\\end{equation*}" | |
], | |
"text/plain": [ | |
"Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\n", | |
"Qobj data =\n", | |
"[[0. 0.]\n", | |
" [0. 1.]]" | |
] | |
}, | |
"execution_count": 41, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"teleport.nonselective_process(qutip.basis(2, 1)).ptrace([2])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 42, | |
"id": "049fdfe1", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\\begin{equation*}\\left(\\begin{array}{*{11}c}0.500 & 0.500\\\\0.500 & 0.500\\end{array}\\right)\\end{equation*}" | |
], | |
"text/plain": [ | |
"Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\n", | |
"Qobj data =\n", | |
"[[0.5 0.5]\n", | |
" [0.5 0.5]]" | |
] | |
}, | |
"execution_count": 42, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"teleport.nonselective_process(qutip.qip.operations.hadamard_transform() * qutip.basis(2, 0)).ptrace([2])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 43, | |
"id": "e27a077a", | |
"metadata": { | |
"slideshow": { | |
"slide_type": "slide" | |
} | |
}, | |
"outputs": [], | |
"source": [ | |
"teleport_wo_correction = (\n", | |
" (bell_measurement.with_finite_visibility(0.95) & qutip.to_super(qutip.qeye(2))) *\n", | |
" prepare_bell\n", | |
")" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 44, | |
"id": "13885daa", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"teleport = teleport_wo_correction.if_({\n", | |
" qutip.Seq(\"XX\", \"ZZ\"): qutip.to_super((qutip.qeye(2) ^ 2) & qutip.qeye(2)),\n", | |
" qutip.Seq(\"-XX\", \"ZZ\"): qutip.to_super((qutip.qeye(2) ^ 2) & qutip.sigmaz()),\n", | |
" qutip.Seq(\"XX\", \"-ZZ\"): qutip.to_super((qutip.qeye(2) ^ 2) & qutip.sigmax()),\n", | |
" qutip.Seq(\"-XX\", \"-ZZ\"): qutip.to_super((qutip.qeye(2) ^ 2) & qutip.sigmay()),\n", | |
"})" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 45, | |
"id": "8aa10550", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"data": { | |
"text/latex": [ | |
"Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\\begin{equation*}\\left(\\begin{array}{*{11}c}0.500 & 0.475\\\\0.475 & 0.500\\end{array}\\right)\\end{equation*}" | |
], | |
"text/plain": [ | |
"Quantum object: dims=[[2], [2]], shape=(2, 2), type='oper', isherm=True\n", | |
"Qobj data =\n", | |
"[[0.5 0.475]\n", | |
" [0.475 0.5 ]]" | |
] | |
}, | |
"execution_count": 45, | |
"metadata": {}, | |
"output_type": "execute_result" | |
} | |
], | |
"source": [ | |
"teleport.nonselective_process(qutip.qip.operations.hadamard_transform() * qutip.basis(2, 0)).ptrace([2])" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "60cbb857", | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"metadata": { | |
"celltoolbar": "Slideshow", | |
"kernelspec": { | |
"display_name": "Python 3 (ipykernel)", | |
"language": "python", | |
"name": "python3" | |
}, | |
"language_info": { | |
"codemirror_mode": { | |
"name": "ipython", | |
"version": 3 | |
}, | |
"file_extension": ".py", | |
"mimetype": "text/x-python", | |
"name": "python", | |
"nbconvert_exporter": "python", | |
"pygments_lexer": "ipython3", | |
"version": "3.9.7" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment