Remove the circuit comparison notebook from the quimb support PR

This commit is contained in:
Liwei Yang
2023-02-07 11:54:05 +08:00
parent 2fbdfecb34
commit 9dc59cf14d

View File

@@ -1,301 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"quimb version: 1.4.0\n"
]
}
],
"source": [
"import argparse\n",
"from timeit import default_timer as timer\n",
"\n",
"import quimb as qu\n",
"from qiskit import QuantumCircuit\n",
"\n",
"from qibo import __version__, gates, tests\n",
"from qibo.models import Circuit, QFT\n",
"from qibo.tests.utils import random_state\n",
"\n",
"print('quimb version:', qu.__version__)"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Testing for 8 qubits\n",
"qibo QFT circuit:\n",
"q0: ─H─U1─U1─U1─U1─U1─U1─U1─────────────────────────────────────────────── ...\n",
"q1: ───o──|──|──|──|──|──|──H─U1─U1─U1─U1─U1─U1─────────────────────────── ...\n",
"q2: ──────o──|──|──|──|──|────o──|──|──|──|──|──H─U1─U1─U1─U1─U1────────── ...\n",
"q3: ─────────o──|──|──|──|───────o──|──|──|──|────o──|──|──|──|──H─U1─U1─U ...\n",
"q4: ────────────o──|──|──|──────────o──|──|──|───────o──|──|──|────o──|──| ...\n",
"q5: ───────────────o──|──|─────────────o──|──|──────────o──|──|───────o──| ...\n",
"q6: ──────────────────o──|────────────────o──|─────────────o──|──────────o ...\n",
"q7: ─────────────────────o───────────────────o────────────────o─────────── ...\n",
"\n",
"q0: ... ───────────────────────────────x───────\n",
"q1: ... ───────────────────────────────|─x─────\n",
"q2: ... ───────────────────────────────|─|─x───\n",
"q3: ... 1─U1───────────────────────────|─|─|─x─\n",
"q4: ... ──|──H─U1─U1─U1────────────────|─|─|─x─\n",
"q5: ... ──|────o──|──|──H─U1─U1────────|─|─x───\n",
"q6: ... ──|───────o──|────o──|──H─U1───|─x─────\n",
"q7: ... ──o──────────o───────o────o──H─x───────\n",
"\n",
"qiskit QFT circuit:\n"
]
},
{
"data": {
"text/html": [
"<pre style=\"word-wrap: normal;white-space: pre;background: #fff0;line-height: 1.1;font-family: &quot;Courier New&quot;,Courier,monospace\"> ┌───┐ »\n",
"q_0: ┤ H ├─■──────────────■───────────────────■───────────────────────»\n",
" └───┘ │U1(π/2) ┌───┐ │ │ »\n",
"q_1: ──────■────────┤ H ├─┼─────────■─────────┼──────────────■────────»\n",
" └───┘ │U1(π/4) │U1(π/2) │ ┌───┐ │ »\n",
"q_2: ─────────────────────■─────────■─────────┼────────┤ H ├─┼────────»\n",
" │U1(π/8) └───┘ │U1(π/4) »\n",
"q_3: ─────────────────────────────────────────■──────────────■────────»\n",
" »\n",
"q_4: ─────────────────────────────────────────────────────────────────»\n",
" »\n",
"q_5: ─────────────────────────────────────────────────────────────────»\n",
" »\n",
"q_6: ─────────────────────────────────────────────────────────────────»\n",
" »\n",
"q_7: ─────────────────────────────────────────────────────────────────»\n",
" »\n",
"« »\n",
"«q_0: ─■──────────────────────────────■───────────────────────────────────»\n",
"« │ │ »\n",
"«q_1: ─┼────────────────────■─────────┼─────────────────────────■─────────»\n",
"« │ │ │ │ »\n",
"«q_2: ─┼──────────■─────────┼─────────┼───────────────■─────────┼─────────»\n",
"« │ │U1(π/2) │ │ ┌───┐ │ │ »\n",
"«q_3: ─┼──────────■─────────┼─────────┼─────────┤ H ├─┼─────────┼─────────»\n",
"« │U1(π/16) │U1(π/8) │ └───┘ │U1(π/4) │ »\n",
"«q_4: ─■────────────────────■─────────┼───────────────■─────────┼─────────»\n",
"« │U1(π/32) │U1(π/16) »\n",
"«q_5: ────────────────────────────────■─────────────────────────■─────────»\n",
"« »\n",
"«q_6: ────────────────────────────────────────────────────────────────────»\n",
"« »\n",
"«q_7: ────────────────────────────────────────────────────────────────────»\n",
"« »\n",
"« »\n",
"«q_0: ─■─────────────────────────────────────────■─────────────────────────»\n",
"« │ │ »\n",
"«q_1: ─┼──────────────────────────────■──────────┼─────────────────────────»\n",
"« │ │ │ »\n",
"«q_2: ─┼────────────────────■─────────┼──────────┼─────────────────────────»\n",
"« │ │ │ │ »\n",
"«q_3: ─┼──────────■─────────┼─────────┼──────────┼────────────────■────────»\n",
"« │ │U1(π/2) │ │ │ ┌───┐ │ »\n",
"«q_4: ─┼──────────■─────────┼─────────┼──────────┼──────────┤ H ├─┼────────»\n",
"« │ │U1(π/8) │ │ └───┘ │U1(π/4) »\n",
"«q_5: ─┼────────────────────■─────────┼──────────┼────────────────■────────»\n",
"« │U1(π/64) │U1(π/32) │ »\n",
"«q_6: ─■──────────────────────────────■──────────┼─────────────────────────»\n",
"« │U1(π/128) »\n",
"«q_7: ───────────────────────────────────────────■─────────────────────────»\n",
"« »\n",
"« »\n",
"«q_0: ────────────────────────────────────────────────────────────────────»\n",
"« »\n",
"«q_1: ────────────■───────────────────────────────────────────────────────»\n",
"« │ »\n",
"«q_2: ─■──────────┼──────────────────────────────■────────────────────────»\n",
"« │ │ │ »\n",
"«q_3: ─┼──────────┼────────────────────■─────────┼────────────────────────»\n",
"« │ │ │ │ »\n",
"«q_4: ─┼──────────┼──────────■─────────┼─────────┼───────────────■────────»\n",
"« │ │ │U1(π/2) │ │ ┌───┐ │ »\n",
"«q_5: ─┼──────────┼──────────■─────────┼─────────┼─────────┤ H ├─┼────────»\n",
"« │U1(π/16) │ │U1(π/8) │ └───┘ │U1(π/4) »\n",
"«q_6: ─■──────────┼────────────────────■─────────┼───────────────■────────»\n",
"« │U1(π/64) │U1(π/32) »\n",
"«q_7: ────────────■──────────────────────────────■────────────────────────»\n",
"« »\n",
"« \n",
"«q_0: ──────────────────────────────────────────────────────────────X─\n",
"« │ \n",
"«q_1: ──────────────────────────────────────────────────────────X───┼─\n",
"« │ │ \n",
"«q_2: ──────────────────────────────────────────────────X───────┼───┼─\n",
"« │ │ │ \n",
"«q_3: ─■───────────────────────────────X────────────────┼───────┼───┼─\n",
"« │ │ │ │ │ \n",
"«q_4: ─┼────────────────────■──────────X────────────────┼───────┼───┼─\n",
"« │ │ │ │ │ \n",
"«q_5: ─┼──────────■─────────┼──────────────■────────────X───────┼───┼─\n",
"« │ │U1(π/2) │ ┌───┐ │ │ │ \n",
"«q_6: ─┼──────────■─────────┼────────┤ H ├─┼─────────■──────────X───┼─\n",
"« │U1(π/16) │U1(π/8) └───┘ │U1(π/4) │U1(π/2) ┌───┐ │ \n",
"«q_7: ─■────────────────────■──────────────■─────────■────────┤ H ├─X─\n",
"« └───┘ </pre>"
],
"text/plain": [
" ┌───┐ »\n",
"q_0: ┤ H ├─■──────────────■───────────────────■───────────────────────»\n",
" └───┘ │U1(π/2) ┌───┐ │ │ »\n",
"q_1: ──────■────────┤ H ├─┼─────────■─────────┼──────────────■────────»\n",
" └───┘ │U1(π/4) │U1(π/2) │ ┌───┐ │ »\n",
"q_2: ─────────────────────■─────────■─────────┼────────┤ H ├─┼────────»\n",
" │U1(π/8) └───┘ │U1(π/4) »\n",
"q_3: ─────────────────────────────────────────■──────────────■────────»\n",
" »\n",
"q_4: ─────────────────────────────────────────────────────────────────»\n",
" »\n",
"q_5: ─────────────────────────────────────────────────────────────────»\n",
" »\n",
"q_6: ─────────────────────────────────────────────────────────────────»\n",
" »\n",
"q_7: ─────────────────────────────────────────────────────────────────»\n",
" »\n",
"« »\n",
"«q_0: ─■──────────────────────────────■───────────────────────────────────»\n",
"« │ │ »\n",
"«q_1: ─┼────────────────────■─────────┼─────────────────────────■─────────»\n",
"« │ │ │ │ »\n",
"«q_2: ─┼──────────■─────────┼─────────┼───────────────■─────────┼─────────»\n",
"« │ │U1(π/2) │ │ ┌───┐ │ │ »\n",
"«q_3: ─┼──────────■─────────┼─────────┼─────────┤ H ├─┼─────────┼─────────»\n",
"« │U1(π/16) │U1(π/8) │ └───┘ │U1(π/4) │ »\n",
"«q_4: ─■────────────────────■─────────┼───────────────■─────────┼─────────»\n",
"« │U1(π/32) │U1(π/16) »\n",
"«q_5: ────────────────────────────────■─────────────────────────■─────────»\n",
"« »\n",
"«q_6: ────────────────────────────────────────────────────────────────────»\n",
"« »\n",
"«q_7: ────────────────────────────────────────────────────────────────────»\n",
"« »\n",
"« »\n",
"«q_0: ─■─────────────────────────────────────────■─────────────────────────»\n",
"« │ │ »\n",
"«q_1: ─┼──────────────────────────────■──────────┼─────────────────────────»\n",
"« │ │ │ »\n",
"«q_2: ─┼────────────────────■─────────┼──────────┼─────────────────────────»\n",
"« │ │ │ │ »\n",
"«q_3: ─┼──────────■─────────┼─────────┼──────────┼────────────────■────────»\n",
"« │ │U1(π/2) │ │ │ ┌───┐ │ »\n",
"«q_4: ─┼──────────■─────────┼─────────┼──────────┼──────────┤ H ├─┼────────»\n",
"« │ │U1(π/8) │ │ └───┘ │U1(π/4) »\n",
"«q_5: ─┼────────────────────■─────────┼──────────┼────────────────■────────»\n",
"« │U1(π/64) │U1(π/32) │ »\n",
"«q_6: ─■──────────────────────────────■──────────┼─────────────────────────»\n",
"« │U1(π/128) »\n",
"«q_7: ───────────────────────────────────────────■─────────────────────────»\n",
"« »\n",
"« »\n",
"«q_0: ────────────────────────────────────────────────────────────────────»\n",
"« »\n",
"«q_1: ────────────■───────────────────────────────────────────────────────»\n",
"« │ »\n",
"«q_2: ─■──────────┼──────────────────────────────■────────────────────────»\n",
"« │ │ │ »\n",
"«q_3: ─┼──────────┼────────────────────■─────────┼────────────────────────»\n",
"« │ │ │ │ »\n",
"«q_4: ─┼──────────┼──────────■─────────┼─────────┼───────────────■────────»\n",
"« │ │ │U1(π/2) │ │ ┌───┐ │ »\n",
"«q_5: ─┼──────────┼──────────■─────────┼─────────┼─────────┤ H ├─┼────────»\n",
"« │U1(π/16) │ │U1(π/8) │ └───┘ │U1(π/4) »\n",
"«q_6: ─■──────────┼────────────────────■─────────┼───────────────■────────»\n",
"« │U1(π/64) │U1(π/32) »\n",
"«q_7: ────────────■──────────────────────────────■────────────────────────»\n",
"« »\n",
"« \n",
"«q_0: ──────────────────────────────────────────────────────────────X─\n",
"« │ \n",
"«q_1: ──────────────────────────────────────────────────────────X───┼─\n",
"« │ │ \n",
"«q_2: ──────────────────────────────────────────────────X───────┼───┼─\n",
"« │ │ │ \n",
"«q_3: ─■───────────────────────────────X────────────────┼───────┼───┼─\n",
"« │ │ │ │ │ \n",
"«q_4: ─┼────────────────────■──────────X────────────────┼───────┼───┼─\n",
"« │ │ │ │ │ \n",
"«q_5: ─┼──────────■─────────┼──────────────■────────────X───────┼───┼─\n",
"« │ │U1(π/2) │ ┌───┐ │ │ │ \n",
"«q_6: ─┼──────────■─────────┼────────┤ H ├─┼─────────■──────────X───┼─\n",
"« │U1(π/16) │U1(π/8) └───┘ │U1(π/4) │U1(π/2) ┌───┐ │ \n",
"«q_7: ─■────────────────────■──────────────■─────────■────────┤ H ├─X─\n",
"« └───┘ "
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"num_qubits = 6\n",
"\n",
"print('Testing for {} qubits'.format(num_qubits))\n",
"\n",
"# generate the initial state\n",
"initial_state = random_state(num_qubits)\n",
"\n",
"# get the qibo circuit, convert it to a qasm circuit\n",
"start = timer()\n",
"qibo_qft_circuit = QFT(num_qubits)\n",
"final_state = qibo_qft_circuit(initial_state)\n",
"end = timer()\n",
"\n",
"# print(qibo_qft_circuit.summary())\n",
"print('qibo QFT circuit:')\n",
"print(qibo_qft_circuit.draw())\n",
"# print(final_state.state())\n",
"# print(\"qibo execution time is \" + str(end - start))\n",
"\n",
"# convert the circuit format from qibo to qasm\n",
"qasm_qft_circuit = qibo_qft_circuit.to_qasm()\n",
"\n",
"# convert the circuit format from qasm to qiskit\n",
"qiskit_qft_circuit = QuantumCircuit.from_qasm_str(qasm_qft_circuit)\n",
"print('\\nqiskit QFT circuit:')\n",
"qiskit_qft_circuit.draw()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.8.13 64-bit ('3.8.13')",
"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.8.13"
},
"orig_nbformat": 4,
"vscode": {
"interpreter": {
"hash": "ad6a7ef27ab1ef63a56400052d1dab463d164a7bc59eb0569183e19f112dd87c"
}
}
},
"nbformat": 4,
"nbformat_minor": 2
}