Skip to content

Instantly share code, notes, and snippets.

@splch
Created November 16, 2020 08:13
Show Gist options
  • Save splch/cb9b5b683f2e77c4e876afedeed30d8d to your computer and use it in GitHub Desktop.
Save splch/cb9b5b683f2e77c4e876afedeed30d8d to your computer and use it in GitHub Desktop.
Circuit for Quantum Teleportation
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/opt/conda/lib/python3.7/site-packages/qiskit/providers/ibmq/ibmqfactory.py:192: UserWarning: Timestamps in IBMQ backend properties, jobs, and job results are all now in local time instead of UTC.\n",
" warnings.warn('Timestamps in IBMQ backend properties, jobs, and job results '\n"
]
}
],
"source": [
"%matplotlib inline\n",
"# Importing standard Qiskit libraries and configuring account\n",
"from qiskit import QuantumCircuit, QuantumRegister, ClassicalRegister, execute, Aer, IBMQ\n",
"from qiskit.compiler import transpile, assemble\n",
"from qiskit.tools.jupyter import *\n",
"from qiskit.visualization import *\n",
"from qiskit_textbook.tools import random_state\n",
"from qiskit.extensions import Initialize\n",
"from random import choice\n",
"# Loading your IBM Q account(s)\n",
"IBMQ.load_account()\n",
"backend = Aer.get_backend('qasm_simulator')"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 808.997x325.08 with 1 Axes>"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"## SETUP\n",
"bowls = ['000', '111', '101']\n",
"bowl = choice(bowls)\n",
"qc = QuantumCircuit(len(bowl)+1, len(bowl))\n",
"\n",
"\n",
"## STEP 0\n",
"# Initalize porridge qubits to 1/√(2)|+> + 1/√(2)|->\n",
"qc.h(range(len(bowl)))\n",
"# Initalize DJ qubit to -|1>\n",
"qc.x(len(bowl))\n",
"qc.h(len(bowl))\n",
"qc.barrier()\n",
"\n",
"## STEP 1\n",
"# Encode bowl of porridge as a constant or balanced function\n",
"for qubit, spoonful in enumerate(bowl):\n",
" if spoonful == '1':\n",
" qc.x(qubit)\n",
"qc.barrier()\n",
"\n",
"# Check to apply C-NOT gates\n",
"if len(set(bowl)) == 1:\n",
" for qubit in range(len(bowl)):\n",
" qc.cx(qubit, len(bowl))\n",
" qc.barrier()\n",
"\n",
"## STEP 3\n",
"# Repeat step 1\n",
"for qubit, spoonful in enumerate(bowl):\n",
" if spoonful == '1':\n",
" qc.x(qubit)\n",
"qc.barrier()\n",
"\n",
"## STEP 4\n",
"# Apply H-gates\n",
"qc.h(range(len(bowl)))\n",
"qc.barrier()\n",
"\n",
"## STEP 5\n",
"# Measure\n",
"qc.measure(range(len(bowl)), range(len(bowl)))\n",
"\n",
"qc.draw()"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 504x360 with 1 Axes>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"results = execute(qc, backend=backend).result()\n",
"answer = results.get_counts()\n",
"plot_histogram(answer)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.8"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment