From c8689b2ebe8351b53cf65b129e5937cd3c39c772 Mon Sep 17 00:00:00 2001 From: Zachary Alexander Morrell Date: Mon, 4 Mar 2024 14:33:55 -0700 Subject: [PATCH 1/3] Add documentation to RuCl notebook, Pin pyLIQTR to version 1.0.0, add local field term for resource estimates --- notebooks/EmbeddedFigures/RuClLattice.jpg | Bin 0 -> 63556 bytes notebooks/RuClExample.ipynb | 132 +++++++++++++++++++--- pyproject.toml | 2 +- 3 files changed, 115 insertions(+), 19 deletions(-) create mode 100644 notebooks/EmbeddedFigures/RuClLattice.jpg diff --git a/notebooks/EmbeddedFigures/RuClLattice.jpg b/notebooks/EmbeddedFigures/RuClLattice.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3a891d74b7d10eebeb00b036b6b0f75cde44e96a GIT binary patch literal 63556 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 d0CjPuwDKOyu1}@eUR&R=1.0.0" + "pyLIQTR ==1.0.0" ] requires-python = ">=3.9" description = "Documentation of Applications for Quantum Computers" From a234f790da36fb6f84ce1fdb5ef771144abc1c6b Mon Sep 17 00:00:00 2001 From: Zachary Alexander Morrell Date: Mon, 4 Mar 2024 14:52:10 -0700 Subject: [PATCH 2/3] Add explanation of terms in table. Fix appearance of Heisenberg terms in VSCode --- notebooks/RuClExample.ipynb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/notebooks/RuClExample.ipynb b/notebooks/RuClExample.ipynb index f813c5b..b4786bf 100644 --- a/notebooks/RuClExample.ipynb +++ b/notebooks/RuClExample.ipynb @@ -18,7 +18,7 @@ "\\end{split}\n", "\\end{equation}\n", "\n", - "The terms $S^{x}_{i}$, $S^{y}_{i}$, and $S^{z}_{i}$ represent the Pauli operators acting on site $i$. The terms $K_{x}$, $K_{y}$, and $K_{z}$ represent the strength of the Kitaev interaction between two sites in a given direction. The bold terms $\\bf{S_i}$$ = [S^x_i, S^y_i, S^z_i]$ are useful for defining the Heisenberg interaction terms with strength $J$. The terms $\\Gamma$ represent the strength of off-diagonal symmetric exchange interactions between nearest neighboring sites, and the terms $\\Gamma'$ represent the effect of trigonal distortion. Lastly, the term $A$ represents the effect of single-ion anisotropy.\n", + "The terms $S^{x}_{i}$, $S^{y}_{i}$, and $S^{z}_{i}$ represent the Pauli operators acting on site $i$. The terms $K_{x}$, $K_{y}$, and $K_{z}$ represent the strength of the Kitaev interaction between two sites in a given direction. The bold terms $\\bf{S_i}$ $ = [S^x_i, S^y_i, S^z_i]$ are useful for defining the Heisenberg interaction terms with strength $J$. The terms $\\Gamma$ represent the strength of off-diagonal symmetric exchange interactions between nearest neighboring sites, and the terms $\\Gamma'$ represent the effect of trigonal distortion. Lastly, the term $A$ represents the effect of single-ion anisotropy.\n", "\n", "The connectivity of the Hamiltonian is defined directionally, as shown in Figure 1 (obtained from [[1]](https://doi.org/10.1038/s41535-019-0203-y)). As a result of the experiment being performed on the material, we need to include a time-varying Haimltonian component, corresponding to the time-varying transverse field of the magnet operating on the material. This Hamiltonian is\n", "\\begin{equation}\n", @@ -311,7 +311,7 @@ "id": "3263215d-b585-4728-a5f3-96baf4faf050", "metadata": {}, "source": [ - "Next, we need to define the directional labels for the hexagonal lattice and add next-nearest and next-next-nearest neighbor interactions to the graph so we can construct the Hamiltonian from the connectivity graph later on. This should match the connectivity defined in figure 1 above. Note that we only consider cross-plaquette next-next-nearest neighbor interactions." + "Next, we need to define the directional labels for the hexagonal lattice and add next-nearest and next-next-nearest neighbor interactions to the graph so we can construct the Hamiltonian from the connectivity graph later on. This should match the connectivity defined in figure 1 above. Note that we only consider cross-plaquette next-next-nearest neighbor interactions. For the sake of visualization, we a 3x3 lattice. For the actual simulations, we will use a much larger lattice, defined below." ] }, { @@ -371,7 +371,7 @@ "id": "3e1528a0-de81-4807-820f-d273871e7cfe", "metadata": {}, "source": [ - "With the connectivity defined, we can construct a variety of Hamiltonians using the terms defined in [[1]](https://doi.org/10.1038/s41535-019-0203-y). Some of the models contain more terms and thus take longer to run. For the purposes of demonstration, row 13 tends to have the shortest runtime, so we use that for demonstration purposes here. To run all rows, simply loop over all indices rather than just the 13th index." + "With the connectivity defined, we can construct a variety of Hamiltonians using the terms defined in [[1]](https://doi.org/10.1038/s41535-019-0203-y). Some of the models contain more terms and thus take longer to run. For the purposes of demonstration, row 13 tends to have the shortest runtime, so we use that for demonstration purposes here. To run all rows, simply loop over all indices rather than just the 13th index. The number after the terms in the following graph indicate how far away the interactions are. For example J1 represents the nearest neighbor Heisenberg interactions, J2 represents the next-nearest neighbor Heisenberg interactions, and J3 represents the next-next-nearest neighbor Heisenberg interactions. Any terms not present in the table that appear in the generic Hamiltonian defined above are treated as 0." ] }, { From 81d5d9aa21b916be0d4e6bc5a4b8ec6e0473a88b Mon Sep 17 00:00:00 2001 From: Zachary Alexander Morrell Date: Tue, 5 Mar 2024 08:40:26 -0700 Subject: [PATCH 3/3] Add Zeeman terms to Hamiltonian in RuCl, fix typos --- notebooks/RuClExample.ipynb | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/notebooks/RuClExample.ipynb b/notebooks/RuClExample.ipynb index b4786bf..b15efba 100644 --- a/notebooks/RuClExample.ipynb +++ b/notebooks/RuClExample.ipynb @@ -14,13 +14,13 @@ " &+ \\Gamma_z' \\sum_{ij} (S^{x}_{i} S^{z}_{j} + S^{z}_{i} S^{x}_{j}) + (S^{x}_{i} S^{y}_{j} + S^{y}_{i} S^{x}_{j}) \\\\\n", " &+ \\Gamma_y' \\sum_{ij} (S^{y}_{i} S^{x}_{j} + S^{x}_{i} S^{y}_{j}) + (S^{y}_{i} S^{z}_{j} + S^{z}_{i} S^{y}_{j}) \\\\\n", " &+ \\Gamma_x' \\sum_{ij} (S^{z}_{i} S^{x}_{j} + S^{x}_{i} S^{z}_{j}) + (S^{z}_{i} S^{y}_{j} + S^{y}_{i} S^{z}_{j}) \\\\\n", - " &+ A \\sum_{i} (S^{z}_i)^{2}\n", + " &+ A \\sum_{i} (S^{z}_i)^{2} + \\sum_{i} \\bf{S_i \\cdot H_i}\n", "\\end{split}\n", "\\end{equation}\n", "\n", - "The terms $S^{x}_{i}$, $S^{y}_{i}$, and $S^{z}_{i}$ represent the Pauli operators acting on site $i$. The terms $K_{x}$, $K_{y}$, and $K_{z}$ represent the strength of the Kitaev interaction between two sites in a given direction. The bold terms $\\bf{S_i}$ $ = [S^x_i, S^y_i, S^z_i]$ are useful for defining the Heisenberg interaction terms with strength $J$. The terms $\\Gamma$ represent the strength of off-diagonal symmetric exchange interactions between nearest neighboring sites, and the terms $\\Gamma'$ represent the effect of trigonal distortion. Lastly, the term $A$ represents the effect of single-ion anisotropy.\n", + "The terms $S^{x}_{i}$, $S^{y}_{i}$, and $S^{z}_{i}$ represent the Pauli operators acting on site $i$. The terms $K_{x}$, $K_{y}$, and $K_{z}$ represent the strength of the Kitaev interaction between two sites in a given direction. The bold terms $\\bf{S_i}$ $ = [S^x_i, S^y_i, S^z_i]$ are useful for defining the Heisenberg interaction terms with strength $J$. The terms $\\Gamma$ represent the strength of off-diagonal symmetric exchange interactions between nearest neighboring sites, and the terms $\\Gamma'$ represent the effect of trigonal distortion. Lastly, the term $A$ represents the effect of single-ion anisotropy. Finally, $\\bf{H}$ is a vector representing the strength of the Zeeman energy.\n", "\n", - "The connectivity of the Hamiltonian is defined directionally, as shown in Figure 1 (obtained from [[1]](https://doi.org/10.1038/s41535-019-0203-y)). As a result of the experiment being performed on the material, we need to include a time-varying Haimltonian component, corresponding to the time-varying transverse field of the magnet operating on the material. This Hamiltonian is\n", + "The connectivity of the Hamiltonian is defined directionally, as shown in Figure 1 (obtained from [[1]](https://doi.org/10.1038/s41535-019-0203-y)). As a result of the experiment being performed on the material, we need to include a time-varying Hamiltonian component, corresponding to the time-varying transverse field of the magnet operating on the material. This Hamiltonian is\n", "\\begin{equation}\n", " H_{field}(t) = t \\sum_i S^x_i\n", "\\end{equation}\n", @@ -71,7 +71,6 @@ ] }, { - "attachments": {}, "cell_type": "markdown", "id": "38dcb3a9-bdd1-4829-a07e-2528ddce2206", "metadata": {}, @@ -311,7 +310,7 @@ "id": "3263215d-b585-4728-a5f3-96baf4faf050", "metadata": {}, "source": [ - "Next, we need to define the directional labels for the hexagonal lattice and add next-nearest and next-next-nearest neighbor interactions to the graph so we can construct the Hamiltonian from the connectivity graph later on. This should match the connectivity defined in figure 1 above. Note that we only consider cross-plaquette next-next-nearest neighbor interactions. For the sake of visualization, we a 3x3 lattice. For the actual simulations, we will use a much larger lattice, defined below." + "Next, we need to define the directional labels for the hexagonal lattice and add next-nearest and next-next-nearest neighbor interactions to the graph so we can construct the Hamiltonian from the connectivity graph later on. This should match the connectivity defined in figure 1 above. Note that we only consider cross-plaquette next-next-nearest neighbor interactions. For the sake of visualization, we use a 3x3 lattice. For the actual simulations, we will use a much larger lattice, defined below." ] }, { @@ -1063,7 +1062,7 @@ ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -1077,7 +1076,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.8.8" } }, "nbformat": 4,