diff --git a/notebooks/hamiltonian_simulation.ipynb b/notebooks/hamiltonian_simulation.ipynb
index 06dadff..cb111e8 100644
--- a/notebooks/hamiltonian_simulation.ipynb
+++ b/notebooks/hamiltonian_simulation.ipynb
@@ -19,7 +19,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
@@ -155,7 +155,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
@@ -231,7 +231,7 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 7,
"metadata": {},
"outputs": [
{
@@ -240,7 +240,7 @@
"(32, 32)"
]
},
- "execution_count": 11,
+ "execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
@@ -271,7 +271,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 8,
"metadata": {},
"outputs": [
{
@@ -298,7 +298,7 @@
"<body>\n",
"\n",
"\n",
- " <div id="circuit-display-vue-container-f23df532-0321-4c2e-bdbf-65a9fdd96c08" class="pytket-circuit-display-container">\n",
+ " <div id="circuit-display-vue-container-9c17259e-ebee-49ac-b22d-3f7e94a858e3" class="pytket-circuit-display-container">\n",
" <div style="display: none">\n",
" <div id="circuit-json-to-display">{"bits": [], "commands": [{"args": [["q", [0]], ["q", [1]]], "op": {"type": "CX"}}, {"args": [["q", [1]]], "op": {"params": ["2*t*Delta"], "type": "Rz"}}, {"args": [["q", [0]], ["q", [1]]], "op": {"type": "CX"}}], "created_qubits": [], "discarded_qubits": [], "implicit_permutation": [[["q", [0]], ["q", [0]]], [["q", [1]], ["q", [1]]]], "phase": "0.0", "qubits": [["q", [0]], ["q", [1]]]}</div>\n",
" </div>\n",
@@ -309,7 +309,7 @@
" ></circuit-display-container>\n",
" </div>\n",
" <script type="application/javascript">\n",
- " const circuitRendererUid = "f23df532-0321-4c2e-bdbf-65a9fdd96c08";\n",
+ " const circuitRendererUid = "9c17259e-ebee-49ac-b22d-3f7e94a858e3";\n",
" const displayOptions = JSON.parse('{"zxStyle": false, "cropParams": false}');\n",
"\n",
" // Script to initialise the circuit renderer app\n",
@@ -377,7 +377,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 9,
"metadata": {},
"outputs": [
{
@@ -404,7 +404,7 @@
"<body>\n",
"\n",
"\n",
- " <div id="circuit-display-vue-container-8acfcd43-2c08-4b50-99e8-86ccc20a4f4c" class="pytket-circuit-display-container">\n",
+ " <div id="circuit-display-vue-container-d3ee3e6b-2003-405d-8b29-02eba145a891" class="pytket-circuit-display-container">\n",
" <div style="display: none">\n",
" <div id="circuit-json-to-display">{"bits": [], "commands": [{"args": [["q", [0]], ["q", [1]]], "op": {"type": "CX"}}, {"args": [["q", [1]], ["q", [2]]], "op": {"type": "CX"}}, {"args": [["q", [2]]], "op": {"params": ["2*t*Delta"], "type": "Rz"}}, {"args": [["q", [1]], ["q", [2]]], "op": {"type": "CX"}}, {"args": [["q", [0]], ["q", [1]]], "op": {"type": "CX"}}], "created_qubits": [], "discarded_qubits": [], "implicit_permutation": [[["q", [0]], ["q", [0]]], [["q", [1]], ["q", [1]]], [["q", [2]], ["q", [2]]]], "phase": "0.0", "qubits": [["q", [0]], ["q", [1]], ["q", [2]]]}</div>\n",
" </div>\n",
@@ -415,7 +415,7 @@
" ></circuit-display-container>\n",
" </div>\n",
" <script type="application/javascript">\n",
- " const circuitRendererUid = "8acfcd43-2c08-4b50-99e8-86ccc20a4f4c";\n",
+ " const circuitRendererUid = "d3ee3e6b-2003-405d-8b29-02eba145a891";\n",
" const displayOptions = JSON.parse('{"zxStyle": false, "cropParams": false}');\n",
"\n",
" // Script to initialise the circuit renderer app\n",
@@ -508,10 +508,105 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 10,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from pytket import Circuit\n",
+ "from sympy import symbols\n",
+ "from pytket.circuit.display import render_circuit_jupyter as draw\n",
+ "import numpy as np\n",
+ "n=4\n",
+ "circ = Circuit(n)\n",
+ "delta, t = symbols(\"Delta, t\")\n",
+ "\n",
+ "for i in range (n-1):\n",
+ " circ.XXPhase(2*t/np.pi,i, i+1) # Implements e^(-i * alpha * X ⊗ X)\n",
+ " circ.YYPhase(2*t/np.pi,i, i+1)\n",
+ " circ.CX(i, i+1)\n",
+ " circ.Rz(2*delta * t, i+1)\n",
+ " circ.CX(i, i+1)\n",
+ "draw(circ)"
+ ]
},
{
"cell_type": "markdown",
@@ -524,13 +619,6 @@
"Each section contains a list of tasks which you can work on. However, you can also get creative and explore other related directions or tasks which might be interesting. After working on those paths, you can of course also try to come up with interesting ideas how to combine concepts from both sections."
]
},
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
{
"cell_type": "markdown",
"metadata": {},
@@ -597,10 +685,59 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 12,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "{(Zq[0], Zq[1]): -1.20000000000000, (Zq[1], Zq[2]): -1.20000000000000, (Zq[2], Zq[3]): -1.20000000000000, (Xq[0]): 1.00000000000000, (Xq[1]): 1.00000000000000, (Xq[2]): 1.00000000000000, (Xq[3]): 1.00000000000000}\n",
+ "(16, 16)\n",
+ "(16, 16)\n"
+ ]
+ }
+ ],
+ "source": [
+ "from pytket import Circuit\n",
+ "from sympy import symbols\n",
+ "from pytket.circuit.display import render_circuit_jupyter as draw\n",
+ "import numpy as np\n",
+ "from pytket.utils import QubitPauliOperator\n",
+ "from pytket.pauli import Pauli, QubitPauliString\n",
+ "import networkx as nx\n",
+ "from pytket.circuit import Qubit\n",
+ "\n",
+ "from scipy.linalg import expm\n",
+ "\n",
+ "\n",
+ "def get_Ising_hamiltonian(n_qubits: int, J: float, g: float) -> QubitPauliOperator: \n",
+ " sites = nx.path_graph(n_qubits)\n",
+ " qpo_dict = {}\n",
+ " for e in sites.edges:\n",
+ " zz_term = QubitPauliString([Qubit(e[0]), Qubit(e[1])], [Pauli.Z, Pauli.Z])\n",
+ " qpo_dict[zz_term] = -J\n",
+ " for i in range(n_qubits):\n",
+ " x_term = QubitPauliString([Qubit(i)], [Pauli.X])\n",
+ " qpo_dict[x_term] = g\n",
+ " return QubitPauliOperator(qpo_dict)\n",
+ "\n",
+ "# classical simulation of the Ising model\n",
+ "n_qubits = 4\n",
+ "J = 1.2\n",
+ "g = 1.0\n",
+ "t = 1\n",
+ "ising_ham = get_Ising_hamiltonian(n_qubits=n_qubits, J=J, g=g)\n",
+ "print(ising_ham._dict)\n",
+ "\n",
+ "ising_ham_matrix = ising_ham.to_sparse_matrix(qubits=[Qubit(i) for i in range(n_qubits)]).todense()\n",
+ "\n",
+ "print(ising_ham_matrix.shape)\n",
+ "# print (ising_ham_matrix)\n",
+ "\n",
+ "ising_exp_matrix = expm(-1j*t*ising_ham_matrix)\n",
+ "print(ising_exp_matrix.shape)"
+ ]
},
{
"cell_type": "markdown",
@@ -635,56 +772,689 @@
},
{
"cell_type": "code",
- "execution_count": 10,
- "metadata": {},
- "outputs": [],
- "source": [
- "t = 1\n",
- "n_trotter_steps = list(range(1, 202, 20))"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": [
- "### Task 3: Do the same for the XXZ model\n",
- "\n",
- "What would you expect. Why is there no Trotter error?"
- ]
- },
- {
- "cell_type": "code",
- "execution_count": null,
- "metadata": {},
- "outputs": [],
- "source": []
- },
- {
- "cell_type": "markdown",
+ "execution_count": 13,
"metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ " \n",
+ "
\n",
+ "\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[-0.12370508-0.498449j -0.12126923+0.32101366j -0.03640503+0.05516362j\n",
+ " 0.29074163-0.10886486j -0.03640503+0.05516362j 0.02795492+0.0719043j\n",
+ " -0.11423202-0.05993728j -0.16874318+0.00370248j -0.12126923+0.32101366j\n",
+ " 0.24968178-0.13328999j 0.02795492+0.0719043j -0.15842504+0.02760852j\n",
+ " 0.29074163-0.10886486j -0.15842504+0.02760852j -0.16874318+0.00370248j\n",
+ " -0.02077362+0.28539701j]\n",
+ "(16,)\n",
+ "[-0.06100121-5.36323148e-01j -0.0356564 +3.37975795e-01j\n",
+ " -0.00740993+4.61843574e-02j 0.23217355-2.14710399e-01j\n",
+ " -0.00740993+4.61843574e-02j 0.07520985-4.51343989e-17j\n",
+ " -0.09218904+3.95581002e-02j -0.14484724+6.98620805e-02j\n",
+ " -0.0356564 +3.37975795e-01j 0.08564503-2.54268499e-01j\n",
+ " 0.07520985-2.20651310e-17j -0.08284189+1.19842369e-01j\n",
+ " 0.23217355-2.14710399e-01j -0.08284189+1.19842369e-01j\n",
+ " -0.14484724+6.98620805e-02j 0.01045855+2.92584750e-01j]\n",
+ "(16,)\n",
+ "Trotter error = 0.3972520195282076\n"
+ ]
+ }
+ ],
"source": [
- "### Task 4: Influence of noise\n",
+ "from pytket import Circuit\n",
+ "from pytket.extensions.qiskit import AerStateBackend\n",
"\n",
- "As a next step, we study the influence of noise. Using Quantinuum noise models, we can simulate the circuit under approximately realistic conditions. We focus on the transverse field Ising model in the following.\n",
+ "from pytket.utils.symbolic import circuit_to_symbolic_unitary\n",
+ "from sympy import symbols\n",
+ "import numpy as np\n",
"\n",
- "In general, there will be a trade-off between Trotter error and noise. Smaller Trotter steps will reduce the Trotter error but also increase the circuit complexity, e.g. the number of two-qubit gates. This will generally increase errors coming from the noisy hardware.\n",
+ "# Test first order Trotterization with single p (trotter step)\n",
+ "t = 1\n",
"\n",
- "Explore this trade-off by simulating the Trotter circuit for varied Trotter step sizes and noise parameters."
+ "n_qubits = 4\n",
+ "J = 1.2\n",
+ "p = 3\n",
+ "g = 1\n",
+ "circ1 = Circuit(n)\n",
+ "for step in range(p):\n",
+ " for i in range(n-1):\n",
+ " circ1.CX(i, i+1)\n",
+ " circ1.Rz(-2 * J * t/(np.pi * p), i+1)\n",
+ " circ1.CX(i, i+1)\n",
+ " for j in range(n):\n",
+ " circ1.Rx(2 * g * t / (np.pi * p), j)\n",
+ "draw(circ1)\n",
+ "\n",
+ "\n",
+ "backend = AerStateBackend()\n",
+ "compiled_circ = backend.get_compiled_circuit(circ1)\n",
+ "state_vector = backend.run_circuit(circ1).get_state()\n",
+ "\n",
+ "print(state_vector)\n",
+ "print(state_vector.shape)\n",
+ "\n",
+ "initial_vector = [0 for _ in range (2**n_qubits)]\n",
+ "initial_vector[0] = 1\n",
+ "\n",
+ "#classical\n",
+ "classical_vector = ising_exp_matrix @ (initial_vector)\n",
+ "print(classical_vector)\n",
+ "print(classical_vector.shape)\n",
+ "\n",
+ "print(\"Trotter error = \" + str(np.linalg.norm(classical_vector-state_vector)))"
]
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ "\n",
+ " \n",
+ "
\n",
+ "\n"
+ ],
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from pytket.circuit.display import render_circuit_jupyter as draw\n",
+ "\n",
+ "#draw circuit diagram for first order trotterization with symbols\n",
+ "t = 1\n",
+ "\n",
+ "n_qubits = 4\n",
+ "g = 1\n",
+ "\n",
+ "J, t, pi, p = symbols(\"J, t, pi, p\")\n",
+ "circ1 = Circuit(n_qubits)\n",
+ "for step in range(1):\n",
+ " for i in range(n_qubits-1):\n",
+ " circ1.CX(i, i+1)\n",
+ " circ1.Rz(-2 * J * t/(pi*p), i+1)\n",
+ " circ1.CX(i, i+1)\n",
+ " for j in range(n_qubits):\n",
+ " circ1.Rx(2 * g * t / (pi*p), j)\n",
+ "\n",
+ "draw(circ1)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[]"
+ ]
+ },
+ "execution_count": 17,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "from matplotlib import pyplot as plt\n",
+ "\n",
+ "# first order Trotterization for different number of Trotter steps\n",
+ "t = 1\n",
+ "n_trotter_steps = list(range(1, 202, 20))\n",
+ "# n_trotter_steps = [1,5,10,20,40]\n",
+ "\n",
+ "trotter_errors = []\n",
+ "\n",
+ "n_qubits = 4\n",
+ "J = 1.2\n",
+ "g = 1\n",
+ "\n",
+ "# initial state vector\n",
+ "initial_vector = [0 for _ in range(2**n_qubits)]\n",
+ "initial_vector[0] = 1\n",
+ "\n",
+ "# state vector prepared with the numerically exact classical numpy method\n",
+ "classical_vector = ising_exp_matrix @ (initial_vector)\n",
+ "\n",
+ "# compute trotter error for different numbers of trotter steps\n",
+ "for p in n_trotter_steps:\n",
+ " # 1st order trotterization\n",
+ " circ1 = Circuit(n_qubits)\n",
+ " for step in range(p):\n",
+ " # implement ZZ term in the Hamiltonian\n",
+ " for i in range(n_qubits-1):\n",
+ " circ1.CX(i, i+1)\n",
+ " circ1.Rz(-2 * J * t/(np.pi*p), i+1)\n",
+ " circ1.CX(i, i+1)\n",
+ " # implement X term in the Hamiltonian\n",
+ " for j in range(n_qubits):\n",
+ " circ1.Rx(2 * g * t / (np.pi*p), j)\n",
+ "\n",
+ " backend = AerStateBackend()\n",
+ " compiled_circ = backend.get_compiled_circuit(circ1)\n",
+ " state_vector = backend.run_circuit(circ1).get_state()\n",
+ " # compute and store trotter error for given p\n",
+ " trotter_errors.append(np.linalg.norm(classical_vector-state_vector))\n",
+ "\n",
+ "# plot results\n",
+ "plt.title(\"Ising Model (First Order Trotterization)\")\n",
+ "plt.xlabel(\"Log of Number of Trotter Steps\")\n",
+ "plt.ylabel(\"Log of Trotter Error\")\n",
+ "plt.plot(np.log(n_trotter_steps), np.log(trotter_errors))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[]"
+ ]
+ },
+ "execution_count": 18,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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lopJkyaJpk2bCo1GI7p37y5+/fVXo/cAN8wTNHr0aJPylJQUq74fXl5eYtWqVTUeX69evUxiMPj555/FfffdJ1xcXESLFi3EpEmTRGFhobQ8LCxMzJ8/Xzz++OPCzc1NBAcHi/fff19artfrxZw5c0RISIhQq9WiWbNmYtKkSbW+30QNGS9LETUgKpUKb7zxBt577z38/ffft7WtnTt34tKlS9i7dy+WLl2KOXPmYNCgQfDx8cGhQ4cwfvx4jBs3zmQ/L730EqZNm4ajR48iNjYWgwcPlloPcnNzcf/996NLly44fPgwtmzZgszMTAwfPtxoG6tXr4Zarcb+/fuxYsUKs/G98847eOutt/Dmm2/ijz/+QFxcHB5++GGcOXMGQGWrTPv27TFt2jRcvnwZ06dPv6X3YebMmVi4cCH++usvdOrUCS+//DI2bNiA1atXIykpCa1atUJcXBxycnIQEhKCDRs2AABOnTqFy5cv45133sE777yD2NhYPPvss7h8+TIuX76MkJAQq74fQUFB2Lx5MwoKCswu//bbb9GiRQvMnz9figGobN168MEHMWzYMPzxxx9Yt24d9u3bh4kTJxqtv2TJEkRFReHo0aOYOXMmpkyZgm3btgEANmzYgLfffhsfffQRzpw5g02bNqFjx4639H4TNQhyZ1dEVMnQ2iKEEPfcc4946qmnhBC33nITFhYmdDqdVHbnnXeKHj16SK+1Wq1wd3cXa9euFUJcb7VYuHChVKeiokK0aNFCLFq0SAghxIIFC0T//v2N9p2enm40E3mvXr1Ely5dbnq8wcHB4vXXXzcqu/vuu8ULL7wgvY6Kirppi41BTS03mzZtksoKCwuFs7Oz+PLLL6Wy8vJyERwcLBYvXmy03rVr14y236tXLzFlyhSjMmu+H3v27BEtWrQQzs7OomvXrmLq1Kli3759RnXCwsLE22+/bVT29NNPi+eee86o7OeffxZKpVKUlJRI6z344INGdUaMGCEGDBgghBDirbfeEnfccYcoLy+/aZxEjQFbbogaoEWLFmH16tX466+/bnkb7du3h1J5/SseGBho9L9xlUoFPz8/XLlyxWi92NhY6bmTkxO6du0qxfH7779j165d8PDwkB5t2rQBUNmCYBAdHV1rbPn5+bh06RK6d+9uVN69e/fbOmZzunbtKj0/d+4cKioqjPbr7OyMbt263dJ+rfV+AEDPnj1x/vx57NixA48++iiOHz+OHj16YMGCBTeNYdWqVUYxxMXFQa/XIyUlRapX/bwaXhuO+bHHHkNJSQlatmyJZ599Fhs3boRWq63z+0DU0LBDMVED1LNnT8TFxSEhIQFjxowxWqZUKiGEMCqrqKgw2Yazs7PRa4VCYbZMr9fXOa7CwkIMHjwYixYtMlnWrFkz6bm7u3udt2lrtozF2u+Hs7MzevTogR49emDGjBl47bXXMH/+fMyYMaPGTtmFhYUYN24cJk+ebLIsNDS0TvsNCQnBqVOnsH37dmzbtg0vvPAClixZgj179ph8ZogaAyY3RA3UwoUL0blzZ9x5551G5U2bNkVGRgaEENIQcWvem+aXX35Bz549AQBarRZHjhyR+m/cdddd2LBhA8LDw29r1JGnpyeCg4Oxf/9+9OrVSyrfv38/unXrdnsHUIvIyEip74thBFZFRQV+++03aZi3IYnQ6XRG66rVapMya70fNWnXrh20Wi1KS0uhVqtrjOHEiRNo1apVrdv65ZdfTF63bdtWeu3q6orBgwdj8ODBmDBhAtq0aYNjx47hrrvust4BEdUTXpYiaqA6duyIkSNH4t133zUq7927N65evYrFixfj3LlzWL58Of73v/9Zbb/Lly/Hxo0bcfLkSUyYMAHXrl3DU089BQCYMGECcnJy8MQTT+C3337DuXPnsHXrVowdO9bkR/dmXnrpJSxatAjr1q3DqVOnMHPmTCQnJ2PKlClWO5Ybubu74/nnn8dLL72ELVu24MSJE3j22WdRXFyMp59+GgAQFhYGhUKBH374AVevXkVhYSGAynvMHDp0CKmpqcjKyoJer7fq+9G7d2989NFHOHLkCFJTU7F582a88sor6NOnDzw9PaUY9u7di4sXLyIrKwsAMGPGDBw4cAATJ05EcnIyzpw5g++++86kQ/H+/fuxePFinD59GsuXL8f69eul93rVqlX4+OOP8eeff+L8+fP44osv4OrqWuMQfKKGjskNUQM2f/58k8tGbdu2xQcffIDly5cjKioKv/766y2PJDJn4cKFWLhwIaKiorBv3z58//338Pf3BwCptUWn06F///7o2LEjpk6dCm9vb6P+PXUxefJkxMfHY9q0aejYsSO2bNmC77//Hq1bt7basZizcOFCDBs2DP/6179w11134ezZs9i6dat0X6HmzZtj3rx5mDlzJgIDA6UkYfr06VCpVGjXrh2aNm2KtLQ0q74fcXFxWL16Nfr374+2bdti0qRJiIuLw9dffy3VmT9/PlJTUxEZGYmmTZsCADp16oQ9e/bg9OnT6NGjB7p06YLZs2cjODjYaPvTpk3D4cOH0aVLF7z22mtYunQp4uLiAADe3t5YuXIlunfvjk6dOmH79u3473//Cz8/v1t+n4nkpBA3XrwnIiK7Eh4ejqlTp9r0DstEDQlbboiIiMiuMLkhIiIiu8LLUkRERGRX2HJDREREdoXJDREREdkVJjdERERkV5jcEBERkV1hckNERER2hckNERER2RUmN0RERGRXmNwQERGRXWFyQ0RERHbl/wHtIgAI53+l4gAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# plot results\n",
+ "plt.title(\"Ising Model (First Order Trotterization)\")\n",
+ "plt.xlabel(\"Number of Trotter Steps\")\n",
+ "plt.ylabel(\"Trotter Error\")\n",
+ "plt.plot(n_trotter_steps, trotter_errors)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[]"
+ ]
+ },
+ "execution_count": 19,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# second order Trotterization\n",
+ "t = 1\n",
+ "n_trotter_steps = list(range(1, 202, 20))\n",
+ "# n_trotter_steps = [1,5,10,20,40]\n",
+ "\n",
+ "trotter_errors = []\n",
+ "\n",
+ "n_qubits = 4\n",
+ "J = 1.2\n",
+ "g = 1\n",
+ "\n",
+ "# initial state vector\n",
+ "initial_vector = [0 for _ in range(2**n_qubits)]\n",
+ "initial_vector[0] = 1\n",
+ "\n",
+ "# state vector prepared with the numerically exact classical numpy method\n",
+ "classical_vector = ising_exp_matrix @ (initial_vector)\n",
+ "\n",
+ "# compute trotter error for different numbers of trotter steps\n",
+ "for p in n_trotter_steps:\n",
+ " # 1st order trotterization\n",
+ " circ2 = Circuit(n_qubits)\n",
+ " for step in range(p):\n",
+ " for i in range(n-1):\n",
+ " circ2.CX(i, i+1)\n",
+ " circ2.Rz(-J*t/(np.pi*p), i+1)\n",
+ " circ2.CX(i, i+1)\n",
+ " for i in range(n):\n",
+ " circ2.Rx(2*g*t/(np.pi*p), i) \n",
+ " for i in range(n-1):\n",
+ " circ2.CX(i, i+1)\n",
+ " circ2.Rz(-J*t/(np.pi*p), i+1)\n",
+ " circ2.CX(i, i+1)\n",
+ "\n",
+ " backend = AerStateBackend()\n",
+ " compiled_circ = backend.get_compiled_circuit(circ2)\n",
+ " state_vector = backend.run_circuit(circ2).get_state()\n",
+ " # compute and store trotter error for given p\n",
+ " trotter_errors.append(np.linalg.norm(classical_vector-state_vector))\n",
+ "\n",
+ "# plot results\n",
+ "plt.title(\"Ising Model (Second Order Trotterization)\")\n",
+ "plt.xlabel(\"Log of Number of Trotter Steps\")\n",
+ "plt.ylabel(\"Log of Trotter Error\")\n",
+ "plt.plot(np.log(n_trotter_steps), np.log(trotter_errors))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Task 3: Do the same for the XXZ model\n",
+ "\n",
+ "What would you expect. Why is there no Trotter error?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "We expect the error to be 0 because when the initial state is |0,...,0>, then the XX, YY and ZZ operators commute and the total error becomes 0."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "(16, 16)"
+ ]
+ },
+ "execution_count": 21,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# classical simulation\n",
+ "n_qubits = 4\n",
+ "Delta_ZZ = 0.5\n",
+ "\n",
+ "xxz_ham = get_xxz_chain_hamiltonian(n_qubits=n_qubits, Delta_ZZ=Delta_ZZ)\n",
+ "xxz_ham_matrix = xxz_ham.to_sparse_matrix(qubits=[Qubit(i) for i in range(n_qubits)]).todense()\n",
+ "xxz_ham_matrix.shape"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Average error: 5.8013144429836956e-15\n"
+ ]
+ }
+ ],
+ "source": [
+ "t = 1\n",
+ "n_trotter_steps = [1,5,10,20,40]\n",
+ "\n",
+ "trotter_errors_xxz = []\n",
+ "\n",
+ "# first order approximation\n",
+ "n_qubits = 4\n",
+ "Delta_ZZ = 0.5\n",
+ "\n",
+ "# initial state vector\n",
+ "initial_vector = [0 for _ in range(2**n_qubits)]\n",
+ "initial_vector[0] = 1\n",
+ "\n",
+ "# state vector prepared with the numerically exact classical numpy method\n",
+ "classical_vector_xxz = expm(-1j*t*xxz_ham_matrix) @ (initial_vector)\n",
+ "\n",
+ "\n",
+ "Delta_ZZ = 0.5\n",
+ "# compute trotter error for different numbers of trotter steps\n",
+ "for p in n_trotter_steps:\n",
+ " # 1st order trotterization\n",
+ " circ_xxz_trotter = Circuit(n_qubits)\n",
+ " for step in range(p):\n",
+ " for i in range(n_qubits-1):\n",
+ " circ_xxz_trotter.XXPhase(2*t/(np.pi*p), i, i+1) # Implements e^(-i * alpha * X ⊗ X)\n",
+ " circ_xxz_trotter.YYPhase(2*t/(np.pi*p), i, i+1)\n",
+ " circ_xxz_trotter.CX(i, i+1)\n",
+ " circ_xxz_trotter.Rz(2*Delta_ZZ*t/(p*np.pi), i+1)\n",
+ " circ_xxz_trotter.CX(i, i+1)\n",
+ "\n",
+ " backend = AerStateBackend()\n",
+ " compiled_circ = backend.get_compiled_circuit(circ_xxz_trotter)\n",
+ " state_vector_xxz = backend.run_circuit(circ_xxz_trotter).get_state()\n",
+ " # compute and store trotter error for given p\n",
+ " trotter_errors_xxz.append(np.linalg.norm(classical_vector_xxz-state_vector_xxz))\n",
+ "\n",
+ "# plot results\n",
+ "# plt.title(\"XXZ model: Trotter Error vs Number of Trotter Steps\")\n",
+ "# plt.xlabel(\"Number of Trotter Steps\")\n",
+ "# plt.ylabel(\"Trotter Error\")\n",
+ "# plt.plot(n_trotter_steps, trotter_errors_xxz)\n",
+ "\n",
+ "print(\"Average error: \", np.mean(trotter_errors_xxz))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[4.518280359883027e-16, 1.0169985703317642e-15, 5.1078219435663596e-15, 6.553290809335972e-15, 1.5876632855696077e-14]\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(trotter_errors_xxz)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Task 4: Influence of noise\n",
+ "\n",
+ "As a next step, we study the influence of noise. Using Quantinuum noise models, we can simulate the circuit under approximately realistic conditions. We focus on the transverse field Ising model in the following.\n",
+ "\n",
+ "In general, there will be a trade-off between Trotter error and noise. Smaller Trotter steps will reduce the Trotter error but also increase the circuit complexity, e.g. the number of two-qubit gates. This will generally increase errors coming from the noisy hardware.\n",
+ "\n",
+ "Explore this trade-off by simulating the Trotter circuit for varied Trotter step sizes and noise parameters."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "from pytket.extensions.qiskit import AerDensityMatrixBackend\n",
+ "from qiskit_aer.noise import NoiseModel, depolarizing_error\n",
+ "\n",
+ "# H1-Emulator didn't work so we're using AerDensityMatrixBackend instead\n",
+ "\n",
+ "# --------------------------------------------------\n",
+ "# 1. Define Parameters and Build the 4-qubit Circuit\n",
+ "\n",
+ "n_qubits = 4 \n",
+ "p = 2 \n",
+ "J = 1.2\n",
+ "t = 1.0\n",
+ "g = 1.0\n",
+ "\n",
+ "circ1 = Circuit(n_qubits)\n",
+ "for step in range(p):\n",
+ " for i in range(n_qubits - 1):\n",
+ " # Apply a two-qubit block:\n",
+ " circ1.CX(i, i + 1)\n",
+ " circ1.Rz(-2 * J * t / (np.pi * p), i + 1)\n",
+ " circ1.CX(i, i + 1)\n",
+ " for j in range(n_qubits):\n",
+ " # Apply a single-qubit rotation on every qubit:\n",
+ " circ1.Rx(2 * g * t / (np.pi * p), j)\n",
+ "\n",
+ "# 2. Create a Noise Model\n",
+ "noise_model = NoiseModel()\n",
+ "\n",
+ "# Define depolarizing errors:\n",
+ "one_qubit_error = depolarizing_error(0.6, 1) # error for 1-qubit gates\n",
+ "two_qubit_error = depolarizing_error(0.6, 2) # error for 2-qubit gates\n",
+ "# three_qubit_error = depolarizing_error(0.4, 3)\n",
+ "# four_qubit_error = depolarizing_error(0.4, 4) \n",
+ "\n",
+ "# For one-qubit gates: assume the circuit will be decomposed to the Qiskit native\n",
+ "# gates \"u1\", \"u2\", \"u3\". Loop over all qubits.\n",
+ "for gate in [\"u1\", \"u2\", \"u3\"]:\n",
+ " for qubit in range(n_qubits):\n",
+ " noise_model.add_quantum_error(one_qubit_error, gate, [qubit])\n",
+ "\n",
+ "# For two-qubit CX gates: add errors for every adjacent pair used in the circuit.\n",
+ "for i in range(n_qubits - 1):\n",
+ " noise_model.add_quantum_error(two_qubit_error, \"cx\", [i, i + 1])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [
+ {
+ "ename": "InvalidResultType",
+ "evalue": "BackendResult cannot produce result of type state.",
+ "output_type": "error",
+ "traceback": [
+ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
+ "\u001b[0;31mInvalidResultType\u001b[0m Traceback (most recent call last)",
+ "Cell \u001b[0;32mIn[27], line 35\u001b[0m\n\u001b[1;32m 33\u001b[0m backend \u001b[38;5;241m=\u001b[39m AerDensityMatrixBackend(noise_model\u001b[38;5;241m=\u001b[39mnoise_model)\n\u001b[1;32m 34\u001b[0m compiled_circ \u001b[38;5;241m=\u001b[39m backend\u001b[38;5;241m.\u001b[39mget_compiled_circuit(circ1)\n\u001b[0;32m---> 35\u001b[0m state_vector \u001b[38;5;241m=\u001b[39m \u001b[43mbackend\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mrun_circuit\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcompiled_circ\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget_state\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 37\u001b[0m \u001b[38;5;66;03m# compute and store trotter error for given p\u001b[39;00m\n\u001b[1;32m 38\u001b[0m trotter_errors\u001b[38;5;241m.\u001b[39mappend(np\u001b[38;5;241m.\u001b[39mlinalg\u001b[38;5;241m.\u001b[39mnorm(classical_vector\u001b[38;5;241m-\u001b[39mstate_vector))\n",
+ "File \u001b[0;32m/opt/conda/lib/python3.10/site-packages/pytket/backends/backendresult.py:452\u001b[0m, in \u001b[0;36mBackendResult.get_state\u001b[0;34m(self, qbits, basis)\u001b[0m\n\u001b[1;32m 450\u001b[0m state: np\u001b[38;5;241m.\u001b[39mndarray \u001b[38;5;241m=\u001b[39m res\u001b[38;5;241m.\u001b[39munitary[:, \u001b[38;5;241m0\u001b[39m]\n\u001b[1;32m 451\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m state\n\u001b[0;32m--> 452\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m InvalidResultType(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mstate\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n",
+ "\u001b[0;31mInvalidResultType\u001b[0m: BackendResult cannot produce result of type state."
+ ]
+ }
+ ],
+ "source": [
+ "# simulating the Trotter circuit of the Ising model using AerDensityMatrixBackend\n",
+ "\n",
+ "t = 1\n",
+ "# n_trotter_steps = list(range(1, 202, 20))\n",
+ "n_trotter_steps = [1,25,50,100,200]\n",
+ "\n",
+ "trotter_errors = []\n",
+ "\n",
+ "# first order approximation\n",
+ "n_qubits = 4\n",
+ "J = 1.2\n",
+ "g = 1\n",
+ "\n",
+ "# initial state vector\n",
+ "initial_vector = [0 for _ in range(2**n_qubits)]\n",
+ "initial_vector[0] = 1\n",
+ "\n",
+ "# state vector prepared with the numerically exact classical numpy method\n",
+ "classical_vector = ising_exp_matrix @ (initial_vector)\n",
+ "\n",
+ "# compute trotter error for different numbers of trotter steps\n",
+ "for p in n_trotter_steps:\n",
+ " # 1st order trotterization\n",
+ " circ1 = Circuit(n_qubits)\n",
+ " for step in range(p):\n",
+ " for i in range(n_qubits-1):\n",
+ " circ1.CX(i, i+1)\n",
+ " circ1.Rz(-2 * J * t/(np.pi*p), i+1)\n",
+ " circ1.CX(i, i+1)\n",
+ " for j in range(n_qubits):\n",
+ " circ1.Rx(2 * g * t / (np.pi* p), j)\n",
+ " # compile and execute with noise model\n",
+ " backend = AerDensityMatrixBackend(noise_model=noise_model)\n",
+ " compiled_circ = backend.get_compiled_circuit(circ1)\n",
+ " state_vector = backend.run_circuit(compiled_circ).get_state()\n",
+ "\n",
+ " # compute and store trotter error for given p\n",
+ " trotter_errors.append(np.linalg.norm(classical_vector-state_vector))\n",
+ "\n",
+ "# plot results\n",
+ "plt.title(\"Ising Model with Noise: Trotter Error vs Number of Trotter Steps\")\n",
+ "plt.xlabel(\"Number of Trotter Steps\")\n",
+ "plt.ylabel(\"Trotter Error\")\n",
+ "plt.plot(n_trotter_steps, trotter_errors)"
+ ]
},
{
"cell_type": "markdown",
@@ -697,10 +1467,60 @@
},
{
"cell_type": "code",
- "execution_count": null,
+ "execution_count": 28,
"metadata": {},
- "outputs": [],
- "source": []
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Final Quantum State Vector:\n",
+ "[-8.81617917e-01-4.71963821e-01j 5.55111512e-17-5.55111512e-17j\n",
+ " 5.55111512e-17-5.55111512e-17j ... 0.00000000e+00+0.00000000e+00j\n",
+ " 0.00000000e+00+0.00000000e+00j 0.00000000e+00+0.00000000e+00j]\n"
+ ]
+ }
+ ],
+ "source": [
+ "# here, we implement an extension of the Ising model to include long-range interactions, which dies off as the distance squared. \n",
+ "# the hamiltonian is given by H = \\sum_{i]"
+ ]
+ },
+ "execution_count": 37,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA2OElEQVR4nO3deXgUVb7/8U9n64SsECAQCKuACoiIwA9wRa6AiIIjuKCyOK4gAzoojAPIdUGEq14dLjpcIcwVcBtxGQcQGcCRRUAYERxWWQTZY1bM2uf3B6RNJ52ts3QfeL+ep5+kT1Wd/lZXmvpQdaraYYwxAgAAsFCQvwsAAADwFUEGAABYiyADAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQZAleXn5+vJJ59UUlKSgoKCNGjQoCr1N2LECLVo0aJaaqusFi1aaMSIEX55bV8cOHBADodDycnJ/i4F8AuCDFCG5ORkORyOUh8bNmzwd4kBYd68eZo5c6Zuv/12LViwQOPHj/d3SdXm+++/1zPPPKMDBw5Ua7/r1q3TM888o9TU1ArNv2jRIr366qvVWkNN+Z//+R+CFWqNg+9aAkqXnJyskSNH6j//8z/VsmXLEtP79eun+vXr+6GywHLnnXfqq6++0uHDh6ulv7y8PLlcLjmdzmrprzJycnIUFBSk0NBQSdIHH3ygIUOGaNWqVbruuuuq7XVmzZqlCRMmaP/+/RU6+nTzzTdr+/btJQKVMUY5OTkKDQ1VcHBwtdVXFR06dFD9+vW1evVqf5eCC0CIvwsAbNC/f39deeWV/i5DWVlZioyM9HcZJZw4cUJxcXHV1l9hiChLfn6+XC6XwsLCqu11JfklPFWFw+FQeHi4v8sA/IZTS0A1KBynMGvWLP35z39W69at5XQ61bVrV23atKnE/Dt37tTtt9+uevXqKTw8XFdeeaU++eQTj3kKT2utWbNGjz76qBo2bKimTZu6p8+ePVutWrVSRESEunXrpn/+85+67rrr3EcNMjMzFRkZqd/97nclXv/w4cMKDg7W9OnTy1yvrKwsPfHEE0pKSpLT6VS7du00a9YsFR7ILVzvVatWaceOHe5TbuX9T3zp0qW69tprFR0drZiYGHXt2lWLFi1yTy8+Rqbo+/vqq6+639/vv//e/X4OHTpUDRo0UEREhNq1a6enn3661P4KPfPMM3I4HB5tRcfIJCcna8iQIZKk66+/vkLrt23bNo0YMUKtWrVSeHi4GjVqpFGjRun06dMerzthwgRJUsuWLd39lnb66rrrrtNnn32mgwcPuuctXB9vY2RGjBihqKgoHTp0SDfffLOioqLUpEkTzZ49W5L03XffqXfv3oqMjFTz5s093vtCqampGjdunHvbX3TRRZoxY4ZcLlep6174/u3YsUNr1qxx11qdR7KA4jgiA1RAWlqaTp065dHmcDgUHx/v0bZo0SJlZGTooYceksPh0EsvvaTbbrtNP/zwg/sow44dO9SrVy81adJEEydOVGRkpN577z0NGjRIf/3rXzV48GCPPh999FE1aNBAU6ZMUVZWliRpzpw5GjNmjK6++mqNHz9eBw4c0KBBg1S3bl132ImKitLgwYP17rvv6uWXX/Y47bB48WIZYzRs2LBS19kYo1tuuUWrVq3S/fffr8svv1zLly/XhAkTdOTIEb3yyitq0KCB/u///k/PP/+8MjMz3cHokksuKbXf5ORkjRo1Su3bt9ekSZMUFxenrVu3atmyZbr77rvL3A7z589Xdna2HnzwQTmdTtWrV0/btm3T1VdfrdDQUD344INq0aKF9u3bp08//VTPP/98mf2V55prrtHYsWP12muv6Q9/+IN7vcpavxUrVuiHH37QyJEj1ahRI+3YsUN//vOftWPHDm3YsEEOh0O33Xabdu/ercWLF+uVV15xn55s0KCB1z6ffvpppaWl6fDhw3rllVcknd2+ZSkoKFD//v11zTXX6KWXXtLChQs1ZswYRUZG6umnn9awYcN022236Y033tB9992nHj16uE+fnjlzRtdee62OHDmihx56SM2aNdO6des0adIkHT16tMyxOq+++qoee+wxRUVFucNkQkJCmbUCVWIAlGr+/PlGkteH0+l0z7d//34jycTHx5uUlBR3+8cff2wkmU8//dTddsMNN5iOHTua7Oxsd5vL5TI9e/Y0bdq0KfHaV111lcnPz3e35+TkmPj4eNO1a1eTl5fnbk9OTjaSzLXXXutuW758uZFkli5d6rFel112mcd83nz00UdGknnuuec82m+//XbjcDjM3r173W3XXnutad++fZn9GWNMamqqiY6ONt27dze//PKLxzSXy+X+ffjw4aZ58+bu54Xvb0xMjDlx4oTH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D9eVV16pbt266dVXX1VWVpZGjhzp79IAAICfBXyQueOOO3Ty5ElNmTJFx44d0+WXX65ly5aVGAAMAAAuPAEfZCRpzJgxpZ5KwllOp1NTp04tcVrtfHQhrat0Ya0v63r+upDWl3WtXQ5T3nVNAAAAASqgb4gHAABQFoIMAACwFkEGAABYiyADAACsRZCxwPTp09W1a1dFR0erYcOGGjRokHbt2lXmMsnJyXI4HB6P8PDwWqq4ap555pkStV988cVlLvP+++/r4osvVnh4uDp27Ki///3vtVRt1bRo0aLEujocDo0ePdrr/DZt1y+//FIDBw5UYmKiHA6HPvroI4/pxhhNmTJFjRs3VkREhPr06aM9e/aU2+/s2bPVokULhYeHq3v37tq4cWMNrUHllLW+eXl5euqpp9SxY0dFRkYqMTFR9913n3766acy+/Tls1Abytu2I0aMKFF3v379yu03ELdteevq7fPrcDg0c+bMUvsM1O1akX1Ndna2Ro8erfj4eEVFRek3v/lNibvvF+frZ72iCDIWWLNmjUaPHq0NGzZoxYoVysvL04033qisrKwyl4uJidHRo0fdj4MHD9ZSxVXXvn17j9q/+uqrUuddt26d7rrrLt1///3aunWrBg0apEGDBmn79u21WLFvNm3a5LGeK1askCQNGTKk1GVs2a5ZWVnq1KmTZs+e7XX6Sy+9pNdee01vvPGGvv76a0VGRqpv377Kzs4utc93331Xjz/+uKZOnaotW7aoU6dO6tu3r06cOFFTq1FhZa3vmTNntGXLFk2ePFlbtmzRhx9+qF27dumWW24pt9/KfBZqS3nbVpL69evnUffixYvL7DNQt21561p0HY8ePap58+bJ4XDoN7/5TZn9BuJ2rci+Zvz48fr000/1/vvva82aNfrpp5902223ldmvL5/1SjGwzokTJ4wks2bNmlLnmT9/vomNja29oqrR1KlTTadOnSo8/9ChQ82AAQM82rp3724eeuihaq6s5v3ud78zrVu3Ni6Xy+t0W7erJLNkyRL3c5fLZRo1amRmzpzpbktNTTVOp9MsXry41H66detmRo8e7X5eUFBgEhMTzfTp02ukbl8VX19vNm7caCSZgwcPljpPZT8L/uBtXYcPH25uvfXWSvVjw7atyHa99dZbTe/evcucx4btakzJfU1qaqoJDQ0177//vnuef//730aSWb9+vdc+fP2sVwZHZCyUlpYmSapXr16Z82VmZqp58+ZKSkrSrbfeqh07dtRGedViz549SkxMVKtWrTRs2DAdOnSo1HnXr1+vPn36eLT17dtX69evr+kyq1Vubq7efvttjRo1qswvOLV5uxbav3+/jh075rHdYmNj1b1791K3W25urr755huPZYKCgtSnTx/rtrV09nPscDjK/S64ynwWAsnq1avVsGFDtWvXTo888ohOnz5d6rzny7Y9fvy4PvvsM91///3lzmvDdi2+r/nmm2+Ul5fnsZ0uvvhiNWvWrNTt5MtnvbIIMpZxuVwaN26cevXqpQ4dOpQ6X7t27TRv3jx9/PHHevvtt+VyudSzZ08dPny4Fqv1Tffu3ZWcnKxly5Zpzpw52r9/v66++mplZGR4nf/YsWMlvrIiISFBx44dq41yq81HH32k1NRUjRgxotR5bN6uRRVum8pst1OnTqmgoOC82NbZ2dl66qmndNddd5X5RXuV/SwEin79+ukvf/mLVq5cqRkzZmjNmjXq37+/CgoKvM5/vmzbBQsWKDo6utxTLTZsV2/7mmPHjiksLKxE+C5rO/nyWa8sK76iAL8aPXq0tm/fXu751B49eqhHjx7u5z179tQll1yiN998U88++2xNl1kl/fv3d/9+2WWXqXv37mrevLnee++9Cv1Px1ZvvfWW+vfvX+ZX1tu8XXFWXl6ehg4dKmOM5syZU+a8tn4W7rzzTvfvHTt21GWXXabWrVtr9erVuuGGG/xYWc2aN2+ehg0bVu4AfBu2a0X3NYGAIzIWGTNmjP72t79p1apVatq0aaWWDQ0NVefOnbV3794aqq7mxMXFqW3btqXW3qhRoxKj5o8fP65GjRrVRnnV4uDBg/riiy/029/+tlLL2bpdC7dNZbZb/fr1FRwcbPW2LgwxBw8e1IoVK8o8GuNNeZ+FQNWqVSvVr1+/1LrPh237z3/+U7t27ar0Z1gKvO1a2r6mUaNGys3NVWpqqsf8ZW0nXz7rlUWQsYAxRmPGjNGSJUv0j3/8Qy1btqx0HwUFBfruu+/UuHHjGqiwZmVmZmrfvn2l1t6jRw+tXLnSo23FihUeRy4C3fz589WwYUMNGDCgUsvZul1btmypRo0aeWy39PR0ff3116Vut7CwMHXp0sVjGZfLpZUrV1qxrQtDzJ49e/TFF18oPj6+0n2U91kIVIcPH9bp06dLrdv2bSudPaLapUsXderUqdLLBsp2LW9f06VLF4WGhnpsp127dunQoUOlbidfPuu+FI4A98gjj5jY2FizevVqc/ToUffjzJkz7nnuvfdeM3HiRPfzadOmmeXLl5t9+/aZb775xtx5550mPDzc7Nixwx+rUClPPPGEWb16tdm/f79Zu3at6dOnj6lfv745ceKEMabkuq5du9aEhISYWbNmmX//+99m6tSpJjQ01Hz33Xf+WoVKKSgoMM2aNTNPPfVUiWk2b9eMjAyzdetWs3XrViPJvPzyy2br1q3uq3RefPFFExcXZz7++GOzbds2c+utt5qWLVuaX375xd1H7969zeuvv+5+/s477xin02mSk5PN999/bx588EETFxdnjh07VuvrV1xZ65ubm2tuueUW07RpU/Ovf/3L43Ock5Pj7qP4+pb3WfCXstY1IyPD/P73vzfr1683+/fvN1988YW54oorTJs2bUx2dra7D1u2bXl/x8YYk5aWZurUqWPmzJnjtQ9btmtF9jUPP/ywadasmfnHP/5hNm/ebHr06GF69Ojh0U+7du3Mhx9+6H5ekc96VRBkLCDJ62P+/Pnuea699lozfPhw9/Nx48aZZs2ambCwMJOQkGBuuukms2XLltov3gd33HGHady4sQkLCzNNmjQxd9xxh9m7d697evF1NcaY9957z7Rt29aEhYWZ9u3bm88++6yWq/bd8uXLjSSza9euEtNs3q6rVq3y+ndbuD4ul8tMnjzZJCQkGKfTaW644YYS70Hz5s3N1KlTPdpef/1193vQrVs3s2HDhlpao7KVtb779+8v9XO8atUqdx/F17e8z4K/lLWuZ86cMTfeeKNp0KCBCQ0NNc2bNzcPPPBAiUBiy7Yt7+/YGGPefPNNExERYVJTU732Yct2rci+5pdffjGPPvqoqVu3rqlTp44ZPHiwOXr0aIl+ii5Tkc96VTjOvSgAAIB1GCMDAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQZAQBsxYoQGDRrk7zIABCi+/RqA3zgcjjKnT506Vf/93/8t7tsJoDQEGQB+c/ToUffv7777rqZMmaJdu3a526KiohQVFeWP0gBYglNLAPymUaNG7kdsbKwcDodHW1RUVIlTS9ddd50ee+wxjRs3TnXr1lVCQoLmzp2rrKwsjRw5UtHR0brooou0dOlSj9favn27+vfvr6ioKCUkJOjee+/VqVOnanmNAVQ3ggwA6yxYsED169fXxo0b9dhjj+mRRx7RkCFD1LNnT23ZskU33nij7r33Xp05c0aSlJqaqt69e6tz587avHmzli1bpuPHj2vo0KF+XhMAVUWQAWCdTp066Y9//KPatGmjSZMmKTw8XPXr19cDDzygNm3aaMqUKTp9+rS2bdsmSfrTn/6kzp0764UXXtDFF1+szp07a968eVq1apV2797t57UBUBWMkQFgncsuu8z9e3BwsOLj49WxY0d3W0JCgiTpxIkTkqRvv/1Wq1at8jreZt++fWrbtm0NVwygphBkAFgnNDTU47nD4fBoK7wayuVySZIyMzM1cOBAzZgxo0RfjRs3rsFKAdQ0ggyA894VV1yhv/71r2rRooVCQvhnDzifMEYGwHlv9OjRSklJ0V133aVNmzZp3759Wr58uUaOHKmCggJ/lwegCggyAM57iYmJWrt2rQoKCnTjjTeqY8eOGjdunOLi4hQUxD+DgM0chltmAgAAS/FfEQAAYC2CDAAAsBZBBgAAWIsgAwAArEWQAQAA1iLIAAAAaxFkAACAtQgyAADAWgQZAABgLYIMAACwFkEGAABYiyADAACs9f8BXkT+IILHwfsAAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# plot energy - time\n",
+ "plt.title(\"Energy of circuit at time t\")\n",
+ "plt.xlabel(\"Time\")\n",
+ "plt.ylabel(\"Energy\")\n",
+ "plt.ylim(0, 10) # Set the y-axis scale from 0 to 10\n",
+ "\n",
+ "plt.plot(all_times, all_energies)"
+ ]
},
{
"cell_type": "markdown",
@@ -871,12 +1770,127 @@
"Compute time dependent expectation values for other observable, for example $X^{(i)}$ for one of the qubits $i$, or a correlator $X^{(i)} X^{(j)}$. Would you expect these expectation values to vary in time?"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 38,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"Accoding to the Heisenberg equations of motion, only operators that commute with the Hamiltonian are conserved in time (in terms of expectation value). \n",
+ "Since $X^{(i)}$ and $X^{(i)} X^{(j)}$ clearly do not commute with the Hamiltonian, we would expect their expectation values to change with time. We can verify this numerically according to the following simulations:\"\"\"\n",
+ "\n",
+ "# defines the X^(i) operator as QubitPauliOperator object\n",
+ "def get_x_operator(site: int) -> QubitPauliOperator:\n",
+ " qpo_dict = {}\n",
+ " x_term = QubitPauliString([Qubit(site)], [Pauli.X])\n",
+ " qpo_dict[x_term] = 1.0\n",
+ " return QubitPauliOperator(qpo_dict)\n",
+ "\n",
+ "# defines the X^(i)X^(j) operator as QubitPauliOperator object\n",
+ "def get_xx_operator(site_i: int, site_j: int) -> QubitPauliOperator:\n",
+ " qpo_dict = {}\n",
+ " xx_term = QubitPauliString([Qubit(site_i), Qubit(site_j)], [Pauli.X, Pauli.X])\n",
+ " qpo_dict[xx_term] = 1.0\n",
+ " return QubitPauliOperator(qpo_dict)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/opt/conda/lib/python3.10/site-packages/matplotlib/cbook.py:1762: ComplexWarning: Casting complex values to real discards the imaginary part\n",
+ " return math.isfinite(val)\n",
+ "/opt/conda/lib/python3.10/site-packages/matplotlib/cbook.py:1398: ComplexWarning: Casting complex values to real discards the imaginary part\n",
+ " return np.asarray(x, float)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "execution_count": 39,
+ "metadata": {},
+ "output_type": "execute_result"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAHHCAYAAABTMjf2AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACewUlEQVR4nOzdd3hUZfYH8O+dnt57QhJCM4ReAiqiUhcERFRUULGLIvpD1xV3V4yuBUXsguIq64qCiAWQDUSKFIHQIZTQEtJ7mbTJtPv7Y3InmWSSzEzunXo+z8Ojmbkz8+Zmypn3Pe85DMuyLAghhBBCPJDI0QMghBBCCHEUCoQIIYQQ4rEoECKEEEKIx6JAiBBCCCEeiwIhQgghhHgsCoQIIYQQ4rEoECKEEEKIx6JAiBBCCCEeiwIhQgghhHgsCoQIcRFr164FwzDIzc119FB6zJ1+F0+VkJCABQsWOHoYhPQYBUKECOTMmTO48847ER8fD4VCgZiYGEyaNAkff/yxo4dmtTfffBO//PKLoI/x2WefYe3atbzfb2ZmJp566imMGDECUqkUDMPw/hjuYM+ePWAYxqJ/hLgThnqNEcK/P//8E7fccgt69eqFBx98EJGRkcjPz8ehQ4dw5coVXL582er71Ol00Gg0kMvldv8w8vX1xZ133slboGLud0lJSUFoaCj27NnDy2NwXn31Vbz55psYPHgw6urqcPHiRdDbXkelpaXIyMgwuWzp0qXw9fXF3//+d5PL58+fj+bmZohEIkilUnsOkxDeUSBEiACmT5+OI0eO4OLFiwgMDDS5rqysDOHh4Y4ZmI34DoTMESoQKi0thb+/P7y8vLBo0SJ8+umnThUIsSwLlUoFLy8vRw+lA6H+JoQ4E1oaI0QAV65cwcCBAzsEQQA6BEEMw2DRokVYt24d+vfvD4VCgREjRmDv3r0mx5nLq0lISMBtt92G/fv3Y/To0VAoFOjduze++eYbi8a5YsUKXH/99QgJCYGXlxdGjBiBH3/8scP4Ghoa8J///Me4NNJdbsjHH3+MgQMHwtvbG0FBQRg5ciS+++67Tn+XhIQEnD17Fn/88YfxMW6++Wbj8TU1NXjuuecQFxcHuVyOPn36YPny5dDr9d3+jhERETYHGSkpKbjllls6XK7X6xETE4M777zT5LIPPvgAAwcOhEKhQEREBJ544glUV1eb3Jb7m23fvh0jR46El5cXPv/8cwBARkYGbrzxRgQGBsLX1xf9+/fHyy+/bLxtZ7lV3LJW24Dl0qVLmDNnDiIjI6FQKBAbG4t77rkHtbW1Np2L9trnCHFj279/PxYvXoywsDAEBgbiiSeegFqtRk1NDR544AEEBQUhKCgIL774YoeA1NJzSAifJI4eACHuKD4+HgcPHkRWVhZSUlK6Pf6PP/7Ahg0bsHjxYsjlcnz22WeYOnUqMjMzu7395cuXceedd+KRRx7Bgw8+iK+++goLFizAiBEjMHDgwC5v++GHH2LmzJmYN28e1Go11q9fj7vuugtbt27F9OnTAQD//e9/8eijj2L06NF4/PHHAQBJSUmd3ueaNWuwePFi3HnnnXj22WehUqlw+vRpHD58GPfdd5/Z23zwwQd45plnTJZhIiIiAACNjY0YP348CgsL8cQTT6BXr174888/sXTpUhQXF+ODDz7o8nfsiblz5+LVV19FSUkJIiMjjZfv378fRUVFuOeee4yXPfHEE1i7di0eeughLF68GDk5Ofjkk09w4sQJHDhwwGQJKTs7G/feey+eeOIJPPbYY+jfvz/Onj2L2267DYMHD8Zrr70GuVyOy5cv48CBA1aPW61WY8qUKWhubsYzzzyDyMhIFBYWYuvWraipqUFAQEDPTkwXuMdLS0vDoUOH8MUXXyAwMBB//vknevXqhTfffBPbtm3Du+++i5SUFDzwwAPG21pzDgnhDUsI4d2OHTtYsVjMisViduzYseyLL77Ibt++nVWr1R2OBcACYI8ePWq87Nq1a6xCoWBnz55tvOzrr79mAbA5OTnGy+Lj41kA7N69e42XlZWVsXK5nH3++ee7HWdjY6PJz2q1mk1JSWFvvfVWk8t9fHzYBx98sNv7Y1mWnTVrFjtw4MAujzH3uwwcOJAdP358h2Nff/111sfHh7148aLJ5S+99BIrFovZvLw8i8bFsiz79NNPs9a87WVnZ7MA2I8//tjk8qeeeor19fU1nr99+/axANh169aZHJeent7hcu5vlp6ebnLs+++/zwJgy8vLOx2PufPGsiy7e/duFgC7e/dulmVZ9sSJEywAduPGjRb/ruZ09jdhWcPv0fY5wY1typQprF6vN14+duxYlmEY9sknnzReptVq2djYWJP7tuYcEsInWhojRACTJk3CwYMHMXPmTJw6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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# we compute the expectation value of the spin(Hamiltonian) of site 1 at a variety of different times and make plot\n",
+ "t_max = 500\n",
+ "n_shots = 100\n",
+ "times = np.linspace(1, t_max, 25)\n",
+ "trotter_step_size = 3\n",
+ "n_qubits = 4\n",
+ "\n",
+ "paupau = get_x_operator(1)\n",
+ "\n",
+ "spinx_initial = get_operator_expectation_value(initial_state_circtuit, paupau, aer_sim, n_shots=1000)\n",
+ "\n",
+ "spinx_list = []\n",
+ "for time in times:\n",
+ " time_op = trotter_time_operator(n_qubits, trotter_step_size, time)\n",
+ " time_op_compiled = aer_sim.get_compiled_circuit(time_op, optimisation_level=2)\n",
+ " spinx = get_operator_expectation_value(time_op_compiled, paupau, aer_sim, n_shots=100)\n",
+ " spinx_list.append(spinx)\n",
+ "\n",
+ "import matplotlib.pyplot as plt\n",
+ "plt.plot(times, spinx_list, marker = \"o\")\n",
+ "plt.xlabel(\"Time\")\n",
+ "plt.ylabel(\"Spin at site 1 Expectation Value\")\n",
+ "plt.title(\"Spin at site 1 versus Time\")\n",
+ "plt.grid()\n",
+ "plt.axhline(y=np.real(spinx_initial), color='r', linestyle='--', linewidth=2, label = \"initial value\")\n",
+ "plt.legend()"
+ ]
+ },
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
- "source": []
+ "source": [
+ "# we compute the expectation value of X^(1)X^(2) at a variety of different times and make plot\n",
+ "t_max = 500\n",
+ "n_shots = 100\n",
+ "times = np.linspace(1, t_max, 25)\n",
+ "trotter_step_size = 3\n",
+ "n_qubits = 4\n",
+ "\n",
+ "paupau = get_xx_operator(1, 2)\n",
+ "\n",
+ "spinxx_initial = get_operator_expectation_value(initial_state_circtuit, paupau, aer_sim, n_shots=1000)\n",
+ "\n",
+ "spinxx_list = []\n",
+ "for time in times:\n",
+ " time_op = trotter_time_operator(n_qubits, trotter_step_size, time)\n",
+ " time_op_compiled = aer_sim.get_compiled_circuit(time_op, optimisation_level=2)\n",
+ " spinxx = get_operator_expectation_value(time_op_compiled, paupau, aer_sim, n_shots=100)\n",
+ " spinxx_list.append(spinxx)\n",
+ "\n",
+ "plt.plot(times, spinxx_list, marker = \"o\")\n",
+ "plt.xlabel(\"Time\")\n",
+ "plt.ylabel(\"Spin correlator between 1 and 2 Expectation Value\")\n",
+ "plt.title(\"Spin correlator between 1 and 2 versus Time\")\n",
+ "plt.grid()\n",
+ "plt.axhline(y=np.real(spinxx_initial), color='r', linestyle='--', linewidth=2, label = \"initial value\")\n",
+ "plt.legend()"
+ ]
},
{
"cell_type": "markdown",
@@ -929,9 +1943,9 @@
],
"metadata": {
"kernelspec": {
- "display_name": ".venv",
+ "display_name": "Python [conda env:base] *",
"language": "python",
- "name": "python3"
+ "name": "conda-base-py"
},
"language_info": {
"codemirror_mode": {
@@ -943,9 +1957,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
- "version": "3.11.4"
+ "version": "3.10.11"
}
},
"nbformat": 4,
- "nbformat_minor": 2
+ "nbformat_minor": 4
}