Orbital rotations and quadratic Hamiltonians

-

In this page, we discuss orbital rotations and how they can be used to implement time evolution by a quadratic Hamiltonian.

+

This page discusses orbital rotations and how they can be used to implement time evolution by a quadratic Hamiltonian.

Orbital rotations

The orbital rotation is a fundamental operation in the simulation of a system of fermionic modes. An orbital rotation is described by an \(N \times N\) unitary matrix \(\mathbf{W}\) (here \(N\) is the number spatial orbitals), and we denote the corresponding operator as \(\mathcal{W}\). This operator has the following action on the fermionic creation operators \(\set{a^\dagger_{\sigma, i}}\):

diff --git a/explanations/orbital-rotation.ipynb b/explanations/orbital-rotation.ipynb index 8aad74446..aa96276e9 100644 --- a/explanations/orbital-rotation.ipynb +++ b/explanations/orbital-rotation.ipynb @@ -6,7 +6,7 @@ "source": [ "# Orbital rotations and quadratic Hamiltonians\n", "\n", - "In this page, we discuss orbital rotations and how they can be used to implement time evolution by a quadratic Hamiltonian.\n", + "This page discusses orbital rotations and how they can be used to implement time evolution by a quadratic Hamiltonian.\n", "\n", "## Orbital rotations\n", "\n", @@ -62,10 +62,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:14.729266Z", - "iopub.status.busy": "2024-04-24T06:38:14.729074Z", - "iopub.status.idle": "2024-04-24T06:38:15.361173Z", - "shell.execute_reply": "2024-04-24T06:38:15.360495Z" + "iopub.execute_input": "2024-04-24T07:11:38.021734Z", + "iopub.status.busy": "2024-04-24T07:11:38.021535Z", + "iopub.status.idle": "2024-04-24T07:11:38.638847Z", + "shell.execute_reply": "2024-04-24T07:11:38.638242Z" } }, "outputs": [], diff --git a/explanations/state-vectors-and-gates.ipynb b/explanations/state-vectors-and-gates.ipynb index b0353f367..525a3b2fd 100644 --- a/explanations/state-vectors-and-gates.ipynb +++ b/explanations/state-vectors-and-gates.ipynb @@ -26,10 +26,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:16.998500Z", - "iopub.status.busy": "2024-04-24T06:38:16.998307Z", - "iopub.status.idle": "2024-04-24T06:38:17.636829Z", - "shell.execute_reply": "2024-04-24T06:38:17.636143Z" + "iopub.execute_input": "2024-04-24T07:11:40.151148Z", + "iopub.status.busy": "2024-04-24T07:11:40.150954Z", + "iopub.status.idle": "2024-04-24T07:11:40.761322Z", + "shell.execute_reply": "2024-04-24T07:11:40.760688Z" } }, "outputs": [ @@ -74,10 +74,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:17.639496Z", - "iopub.status.busy": "2024-04-24T06:38:17.639038Z", - "iopub.status.idle": "2024-04-24T06:38:17.645831Z", - "shell.execute_reply": "2024-04-24T06:38:17.645267Z" + "iopub.execute_input": "2024-04-24T07:11:40.764095Z", + "iopub.status.busy": "2024-04-24T07:11:40.763511Z", + "iopub.status.idle": "2024-04-24T07:11:40.770429Z", + "shell.execute_reply": "2024-04-24T07:11:40.769866Z" } }, "outputs": [ @@ -118,10 +118,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:17.647970Z", - "iopub.status.busy": "2024-04-24T06:38:17.647796Z", - "iopub.status.idle": "2024-04-24T06:38:17.651871Z", - "shell.execute_reply": "2024-04-24T06:38:17.651355Z" + "iopub.execute_input": "2024-04-24T07:11:40.772636Z", + "iopub.status.busy": "2024-04-24T07:11:40.772317Z", + "iopub.status.idle": "2024-04-24T07:11:40.776546Z", + "shell.execute_reply": "2024-04-24T07:11:40.775984Z" } }, "outputs": [ @@ -155,10 +155,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:17.654175Z", - "iopub.status.busy": "2024-04-24T06:38:17.653825Z", - "iopub.status.idle": "2024-04-24T06:38:17.657942Z", - "shell.execute_reply": "2024-04-24T06:38:17.657284Z" + "iopub.execute_input": "2024-04-24T07:11:40.778903Z", + "iopub.status.busy": "2024-04-24T07:11:40.778521Z", + "iopub.status.idle": "2024-04-24T07:11:40.782526Z", + "shell.execute_reply": "2024-04-24T07:11:40.782049Z" } }, "outputs": [ @@ -197,10 +197,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:17.660390Z", - "iopub.status.busy": "2024-04-24T06:38:17.660007Z", - "iopub.status.idle": "2024-04-24T06:38:17.665743Z", - "shell.execute_reply": "2024-04-24T06:38:17.665256Z" + "iopub.execute_input": "2024-04-24T07:11:40.784698Z", + "iopub.status.busy": "2024-04-24T07:11:40.784373Z", + "iopub.status.idle": "2024-04-24T07:11:40.790752Z", + "shell.execute_reply": "2024-04-24T07:11:40.790182Z" } }, "outputs": [ @@ -243,10 +243,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:17.668114Z", - "iopub.status.busy": "2024-04-24T06:38:17.667755Z", - "iopub.status.idle": "2024-04-24T06:38:17.672691Z", - "shell.execute_reply": "2024-04-24T06:38:17.672122Z" + "iopub.execute_input": "2024-04-24T07:11:40.793072Z", + "iopub.status.busy": "2024-04-24T07:11:40.792741Z", + "iopub.status.idle": "2024-04-24T07:11:40.798031Z", + "shell.execute_reply": "2024-04-24T07:11:40.797467Z" } }, "outputs": [ diff --git a/how-to-guides/entanglement-forging.html b/how-to-guides/entanglement-forging.html index aaf0b2658..626636ddd 100644 --- a/how-to-guides/entanglement-forging.html +++ b/how-to-guides/entanglement-forging.html @@ -317,7 +317,7 @@

How to simulate entanglement forging
-Energy at initialialization: -74.20656273321636
+Energy at initialialization: -74.20656273321637
 
@@ -345,17 +345,17 @@

How to use the FermionOperator class
 FermionOperator({
-    (cre_b(2)): -5,
-    (cre_a(3), des_a(0)): 0+3j,
-    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,
-    (cre_a(0), des_a(3), cre_b(2)): 2,
     (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,
     (cre_b(1), des_b(5), cre_a(4)): 12-12j,
     (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,
+    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,
+    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,
     (cre_a(3), des_a(0), cre_b(2)): -1,
+    (cre_a(0), des_a(3), cre_b(2)): 2,
     (cre_a(0), des_a(3)): 0-6j,
-    (des_a(3), des_b(3)): 0-1.25j,
-    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j
+    (cre_a(3), des_a(0)): 0+3j,
+    (cre_b(2)): -5,
+    (des_a(3), des_b(3)): 0-1.25j
 })
 
@@ -376,16 +376,16 @@

How to use the FermionOperator class
 FermionOperator({
-    (cre_b(2), cre_a(0), des_a(3)): 2,
     (cre_a(3), des_a(0)): 0+3j,
-    (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,
-    (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,
-    (cre_b(2), cre_a(3), des_a(0)): -1,
-    (cre_a(0), des_a(3)): 0-6j,
-    (cre_b(1), cre_a(4), des_b(5)): -12+12j,
     (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,
     (des_b(3), des_a(3)): 0+1.25j,
-    (cre_b(2)): -5
+    (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,
+    (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,
+    (cre_b(2), cre_a(0), des_a(3)): 2,
+    (cre_a(0), des_a(3)): 0-6j,
+    (cre_b(2), cre_a(3), des_a(0)): -1,
+    (cre_b(2)): -5,
+    (cre_b(1), cre_a(4), des_b(5)): -12+12j
 })
 
@@ -454,11 +454,11 @@

How to use the FermionOperator class
-array([0.        +0.j        , 0.        +0.j        ,
-       0.        +0.j        , 0.        +0.j        ,
-       0.24268319+0.17800037j, 0.        +0.j        ,
-       0.        +0.j        , 0.        +0.j        ,
-       0.        +0.j        ])
+array([ 0.        +0.j        ,  0.        +0.j        ,
+        0.        +0.j        ,  0.        +0.j        ,
+       -0.13117779+0.11588432j,  0.        +0.j        ,
+        0.        +0.j        ,  0.        +0.j        ,
+        0.        +0.j        ])
 

It can also be passed into most linear algebra routines in scipy.sparse.linalg.

diff --git a/how-to-guides/fermion-operator.ipynb b/how-to-guides/fermion-operator.ipynb index efc2b7d9e..046b3e7c4 100644 --- a/how-to-guides/fermion-operator.ipynb +++ b/how-to-guides/fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:29.815948Z", - "iopub.status.busy": "2024-04-24T06:38:29.815750Z", - "iopub.status.idle": "2024-04-24T06:38:30.432103Z", - "shell.execute_reply": "2024-04-24T06:38:30.431410Z" + "iopub.execute_input": "2024-04-24T07:11:52.462303Z", + "iopub.status.busy": "2024-04-24T07:11:52.462109Z", + "iopub.status.idle": "2024-04-24T07:11:53.107495Z", + "shell.execute_reply": "2024-04-24T07:11:53.106886Z" } }, "outputs": [ @@ -76,10 +76,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:30.435159Z", - "iopub.status.busy": "2024-04-24T06:38:30.434642Z", - "iopub.status.idle": "2024-04-24T06:38:30.439179Z", - "shell.execute_reply": "2024-04-24T06:38:30.438687Z" + "iopub.execute_input": "2024-04-24T07:11:53.110465Z", + "iopub.status.busy": "2024-04-24T07:11:53.109821Z", + "iopub.status.idle": "2024-04-24T07:11:53.114213Z", + "shell.execute_reply": "2024-04-24T07:11:53.113652Z" } }, "outputs": [ @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:30.441845Z", - "iopub.status.busy": "2024-04-24T06:38:30.441260Z", - "iopub.status.idle": "2024-04-24T06:38:30.446114Z", - "shell.execute_reply": "2024-04-24T06:38:30.445507Z" + "iopub.execute_input": "2024-04-24T07:11:53.116351Z", + "iopub.status.busy": "2024-04-24T07:11:53.116141Z", + "iopub.status.idle": "2024-04-24T07:11:53.120393Z", + "shell.execute_reply": "2024-04-24T07:11:53.119833Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2)): 0-0.25j,\n", - " (cre_a(3), des_a(0)): -0.5,\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", " (cre_a(0), des_a(3)): 1,\n", - " (des_a(3), des_b(3)): 0.0625,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625\n", + " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_b(2)): 0-0.25j,\n", + " (des_a(3), des_b(3)): 0.0625\n", "})" ] }, @@ -170,10 +170,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:30.448493Z", - "iopub.status.busy": "2024-04-24T06:38:30.448279Z", - "iopub.status.idle": "2024-04-24T06:38:30.452264Z", - "shell.execute_reply": "2024-04-24T06:38:30.451710Z" + "iopub.execute_input": "2024-04-24T07:11:53.122675Z", + "iopub.status.busy": "2024-04-24T07:11:53.122330Z", + "iopub.status.idle": "2024-04-24T07:11:53.126381Z", + "shell.execute_reply": "2024-04-24T07:11:53.125823Z" } }, "outputs": [ @@ -181,17 +181,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2)): -5,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", " (cre_a(3), des_a(0), cre_b(2)): -1,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", " (cre_a(0), des_a(3)): 0-6j,\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(2)): -5,\n", + " (des_a(3), des_b(3)): 0-1.25j\n", "})" ] }, @@ -220,10 +220,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:30.454788Z", - "iopub.status.busy": "2024-04-24T06:38:30.454337Z", - "iopub.status.idle": "2024-04-24T06:38:30.458486Z", - "shell.execute_reply": "2024-04-24T06:38:30.457887Z" + "iopub.execute_input": "2024-04-24T07:11:53.128817Z", + "iopub.status.busy": "2024-04-24T07:11:53.128324Z", + "iopub.status.idle": "2024-04-24T07:11:53.132378Z", + "shell.execute_reply": "2024-04-24T07:11:53.131722Z" } }, "outputs": [ @@ -231,16 +231,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2), cre_a(0), des_a(3)): 2,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", - " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_b(2), cre_a(3), des_a(0)): -1,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (des_b(3), des_a(3)): 0+1.25j,\n", - " (cre_b(2)): -5\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2), cre_a(0), des_a(3)): 2,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_b(2), cre_a(3), des_a(0)): -1,\n", + " (cre_b(2)): -5,\n", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j\n", "})" ] }, @@ -265,10 +265,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:30.461496Z", - "iopub.status.busy": "2024-04-24T06:38:30.461031Z", - "iopub.status.idle": "2024-04-24T06:38:30.464281Z", - "shell.execute_reply": "2024-04-24T06:38:30.463784Z" + "iopub.execute_input": "2024-04-24T07:11:53.134591Z", + "iopub.status.busy": "2024-04-24T07:11:53.134272Z", + "iopub.status.idle": "2024-04-24T07:11:53.137692Z", + "shell.execute_reply": "2024-04-24T07:11:53.137091Z" } }, "outputs": [ @@ -298,10 +298,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:30.466929Z", - "iopub.status.busy": "2024-04-24T06:38:30.466460Z", - "iopub.status.idle": "2024-04-24T06:38:30.470827Z", - "shell.execute_reply": "2024-04-24T06:38:30.470244Z" + "iopub.execute_input": "2024-04-24T07:11:53.139879Z", + "iopub.status.busy": "2024-04-24T07:11:53.139547Z", + "iopub.status.idle": "2024-04-24T07:11:53.143896Z", + "shell.execute_reply": "2024-04-24T07:11:53.143313Z" } }, "outputs": [ @@ -341,21 +341,21 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:30.473350Z", - "iopub.status.busy": "2024-04-24T06:38:30.472957Z", - "iopub.status.idle": "2024-04-24T06:38:30.479359Z", - "shell.execute_reply": "2024-04-24T06:38:30.478901Z" + "iopub.execute_input": "2024-04-24T07:11:53.146242Z", + "iopub.status.busy": "2024-04-24T07:11:53.145858Z", + "iopub.status.idle": "2024-04-24T07:11:53.151856Z", + "shell.execute_reply": "2024-04-24T07:11:53.151265Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([0. +0.j , 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0.24268319+0.17800037j, 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0. +0.j ])" + "array([ 0. +0.j , 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " -0.13117779+0.11588432j, 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0. +0.j ])" ] }, "execution_count": 8, @@ -380,10 +380,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:38:30.481999Z", - "iopub.status.busy": "2024-04-24T06:38:30.481534Z", - "iopub.status.idle": "2024-04-24T06:38:30.493345Z", - "shell.execute_reply": "2024-04-24T06:38:30.492866Z" + "iopub.execute_input": "2024-04-24T07:11:53.154037Z", + "iopub.status.busy": "2024-04-24T07:11:53.153715Z", + "iopub.status.idle": "2024-04-24T07:11:53.165587Z", + "shell.execute_reply": "2024-04-24T07:11:53.165124Z" } }, "outputs": [ diff --git a/how-to-guides/lucj.html b/how-to-guides/lucj.html index f1adbd6cd..c38a1be4b 100644 --- a/how-to-guides/lucj.html +++ b/how-to-guides/lucj.html @@ -269,7 +269,7 @@

How to simulate the local unitary cluster Jastrow (LUCJ) ansatz
-converged SCF energy = -77.4456267643961
+converged SCF energy = -77.4456267643962
 
@@ -331,7 +331,7 @@

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -77.49387212754465  E_corr = -0.04824536314851344
+E(CCSD) = -77.49387212754468  E_corr = -0.04824536314851544
 

To facilitate variational optimization of the ansatz, UCJOperator implements methods for conversion to and from a vector of real-valued parameters. The precise relation between a parameter vector and the matrices of the UCJ operator is somewhat complicated. In short, the parameter vector stores the entries of the UCJ matrices in a non-redundant way (for the orbital rotations, the parameter vector actually stores the entries of their generators.)

@@ -378,10 +378,10 @@

The unitary cluster Jastrow (UCJ) ansatz\n" @@ -243,10 +243,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:39:20.370260Z", - "iopub.status.busy": "2024-04-24T06:39:20.369082Z", - "iopub.status.idle": "2024-04-24T06:39:53.494495Z", - "shell.execute_reply": "2024-04-24T06:39:53.493852Z" + "iopub.execute_input": "2024-04-24T07:12:43.757348Z", + "iopub.status.busy": "2024-04-24T07:12:43.757076Z", + "iopub.status.idle": "2024-04-24T07:13:16.006596Z", + "shell.execute_reply": "2024-04-24T07:13:16.005572Z" } }, "outputs": [ @@ -258,10 +258,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45743007109475\n", - " x: [ 1.253e+00 -6.338e-01 ... 4.416e-04 1.435e-02]\n", + " fun: -77.45741509166481\n", + " x: [ 1.261e+00 4.805e-01 ... 8.055e-03 8.157e-03]\n", " nit: 5\n", - " jac: [ 7.390e-05 -2.274e-04 ... -1.870e-03 -2.905e-03]\n", + " jac: [ 1.876e-04 6.963e-05 ... -1.320e-03 -3.342e-03]\n", " nfev: 423\n", " njev: 9\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -311,10 +311,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:39:53.497777Z", - "iopub.status.busy": "2024-04-24T06:39:53.497481Z", - "iopub.status.idle": "2024-04-24T06:40:12.988724Z", - "shell.execute_reply": "2024-04-24T06:40:12.988113Z" + "iopub.execute_input": "2024-04-24T07:13:16.009766Z", + "iopub.status.busy": "2024-04-24T07:13:16.009475Z", + "iopub.status.idle": "2024-04-24T07:13:31.585400Z", + "shell.execute_reply": "2024-04-24T07:13:31.584778Z" } }, "outputs": [ @@ -325,34 +325,34 @@ "Number of parameters: 46\n", " message: Stop: Total number of iterations reached limit.\n", " success: False\n", - " fun: -77.46201475466209\n", - " x: [ 1.273e+00 -5.672e-01 ... 8.623e-02 -2.793e-01]\n", + " fun: -77.45818447456564\n", + " x: [ 1.287e+00 4.532e-01 ... 3.552e-02 -8.566e-03]\n", " nit: 5\n", - " jac: [-4.342e-03 -3.215e-04 ... 3.007e-03 6.633e-03]\n", - " nfev: 691\n", + " jac: [-5.629e-04 3.020e-04 ... 7.026e-04 -1.219e-03]\n", + " nfev: 634\n", " njev: 5\n", - " nlinop: 461\n", + " nlinop: 404\n", "\n", "Iteration 1\n", - " Energy: -77.45683742243246\n", - " Norm of gradient: 0.015397154171982655\n", - " Regularization hyperparameter: 0.024452735271862664\n", - " Variation hyperparameter: 0.47040722989098466\n", + " Energy: -77.45029302626645\n", + " Norm of gradient: 0.02020004370995382\n", + " Regularization hyperparameter: 0.8826379901342593\n", + " Variation hyperparameter: 0.6648183897123532\n", "Iteration 2\n", - " Energy: -77.45777592466433\n", - " Norm of gradient: 0.01079051324391571\n", - " Regularization hyperparameter: 0.00041680639591294135\n", - " Variation hyperparameter: 0.47482696753224485\n", + " Energy: -77.45045534010309\n", + " Norm of gradient: 0.018881646064850023\n", + " Regularization hyperparameter: 0.8823610881773326\n", + " Variation hyperparameter: 0.6648238632610717\n", "Iteration 3\n", - " Energy: -77.45781000647975\n", - " Norm of gradient: 0.010238695149053208\n", - " Regularization hyperparameter: 1.0327012686007995\n", - " Variation hyperparameter: 0.42969865263145535\n", + " Energy: -77.45711181898201\n", + " Norm of gradient: 0.01200729687112761\n", + " Regularization hyperparameter: 0.025598521789727345\n", + " Variation hyperparameter: 0.6940657521578105\n", "Iteration 4\n", - " Energy: -77.46177620525042\n", - " Norm of gradient: 0.024720368126669716\n", - " Regularization hyperparameter: 0.003152814192004464\n", - " Variation hyperparameter: 0.8946537857915279\n" + " Energy: -77.45816307257847\n", + " Norm of gradient: 0.007591266502855039\n", + " Regularization hyperparameter: 0.00041396927536031585\n", + " Variation hyperparameter: 0.6982897824464199\n" ] } ], diff --git a/objects.inv b/objects.inv index 424e197c13264baf3a4ea7ff524033ba05a111de..f421305ce04b79261fafdc3d219c7158cca34294 100644 GIT binary patch delta 5384 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 delta 5294 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 AImplementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of evolved state w.r.t. initial state: 0.9315062301396794
+Fidelity of evolved state w.r.t. initial state: 0.931506230139706
 

Now, let’s test our implementation.

@@ -531,7 +531,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9928527668210639
+Fidelity of Trotter-evolved state with exact state: 0.9928527668210921
 

The fidelity of the final result can be improved by increasing the number of Trotter steps.

@@ -558,7 +558,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999320851284026
+Fidelity of Trotter-evolved state with exact state: 0.999932085128466
 

As mentioned above, ffsim already includes functionality for Trotter simulation of double-factorized Hamiltonians. The implementation in ffsim includes higher-order Trotter-Suzuki formulas. The first-order asymmetric formula that we just implemented corresponds to order=0 in ffsim’s implementation. order=1 corresponds to the first-order symmetric (commonly known as the second-order) formula, order=2 corresponds to the second-order symmetric (fourth-order) formula, and so on.

@@ -587,7 +587,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999320851284026
+Fidelity of Trotter-evolved state with exact state: 0.999932085128466
 

A higher order formula achieves a higher fidelity with fewer Trotter steps:

@@ -615,7 +615,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999913261305021
+Fidelity of Trotter-evolved state with exact state: 0.9999913261305375
 

diff --git a/tutorials/double-factorized.ipynb b/tutorials/double-factorized.ipynb index 3d7877558..468fa1869 100644 --- a/tutorials/double-factorized.ipynb +++ b/tutorials/double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:40:14.711120Z", - "iopub.status.busy": "2024-04-24T06:40:14.710911Z", - "iopub.status.idle": "2024-04-24T06:40:15.491103Z", - "shell.execute_reply": "2024-04-24T06:40:15.490495Z" + "iopub.execute_input": "2024-04-24T07:13:33.304169Z", + "iopub.status.busy": "2024-04-24T07:13:33.303980Z", + "iopub.status.idle": "2024-04-24T07:13:34.095562Z", + "shell.execute_reply": "2024-04-24T07:13:34.094949Z" } }, "outputs": [ @@ -109,10 +109,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:40:15.495265Z", - "iopub.status.busy": "2024-04-24T06:40:15.494140Z", - "iopub.status.idle": "2024-04-24T06:40:15.500225Z", - "shell.execute_reply": "2024-04-24T06:40:15.499720Z" + "iopub.execute_input": "2024-04-24T07:13:34.099267Z", + "iopub.status.busy": "2024-04-24T07:13:34.098155Z", + "iopub.status.idle": "2024-04-24T07:13:34.104600Z", + "shell.execute_reply": "2024-04-24T07:13:34.103979Z" } }, "outputs": [ @@ -215,10 +215,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:40:15.502694Z", - "iopub.status.busy": "2024-04-24T06:40:15.502334Z", - "iopub.status.idle": "2024-04-24T06:40:15.506441Z", - "shell.execute_reply": "2024-04-24T06:40:15.505961Z" + "iopub.execute_input": "2024-04-24T07:13:34.106916Z", + "iopub.status.busy": "2024-04-24T07:13:34.106566Z", + "iopub.status.idle": "2024-04-24T07:13:34.110796Z", + "shell.execute_reply": "2024-04-24T07:13:34.110309Z" } }, "outputs": [], @@ -273,10 +273,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:40:15.508756Z", - "iopub.status.busy": "2024-04-24T06:40:15.508392Z", - "iopub.status.idle": "2024-04-24T06:40:15.511821Z", - "shell.execute_reply": "2024-04-24T06:40:15.511322Z" + "iopub.execute_input": "2024-04-24T07:13:34.113143Z", + "iopub.status.busy": "2024-04-24T07:13:34.112766Z", + "iopub.status.idle": "2024-04-24T07:13:34.116180Z", + "shell.execute_reply": "2024-04-24T07:13:34.115721Z" } }, "outputs": [], @@ -313,10 +313,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:40:15.514296Z", - "iopub.status.busy": "2024-04-24T06:40:15.513863Z", - "iopub.status.idle": "2024-04-24T06:40:15.519131Z", - "shell.execute_reply": "2024-04-24T06:40:15.518570Z" + "iopub.execute_input": "2024-04-24T07:13:34.118250Z", + "iopub.status.busy": "2024-04-24T07:13:34.118060Z", + "iopub.status.idle": "2024-04-24T07:13:34.124011Z", + "shell.execute_reply": "2024-04-24T07:13:34.123434Z" } }, "outputs": [ @@ -352,10 +352,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:40:15.522284Z", - "iopub.status.busy": "2024-04-24T06:40:15.521599Z", - "iopub.status.idle": "2024-04-24T06:40:16.342247Z", - "shell.execute_reply": "2024-04-24T06:40:16.341647Z" + "iopub.execute_input": "2024-04-24T07:13:34.127621Z", + "iopub.status.busy": "2024-04-24T07:13:34.126498Z", + "iopub.status.idle": "2024-04-24T07:13:34.959622Z", + "shell.execute_reply": "2024-04-24T07:13:34.959044Z" } }, "outputs": [ @@ -363,7 +363,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9315062301396794\n" + "Fidelity of evolved state w.r.t. initial state: 0.931506230139706\n" ] } ], @@ -394,10 +394,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:40:16.346624Z", - "iopub.status.busy": "2024-04-24T06:40:16.345427Z", - "iopub.status.idle": "2024-04-24T06:40:16.374825Z", - "shell.execute_reply": "2024-04-24T06:40:16.374271Z" + "iopub.execute_input": "2024-04-24T07:13:34.963777Z", + "iopub.status.busy": "2024-04-24T07:13:34.962800Z", + "iopub.status.idle": "2024-04-24T07:13:34.994265Z", + "shell.execute_reply": "2024-04-24T07:13:34.993645Z" } }, "outputs": [ @@ -405,7 +405,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9928527668210639\n" + "Fidelity of Trotter-evolved state with exact state: 0.9928527668210921\n" ] } ], @@ -435,10 +435,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:40:16.378941Z", - "iopub.status.busy": "2024-04-24T06:40:16.377960Z", - "iopub.status.idle": "2024-04-24T06:40:16.489574Z", - "shell.execute_reply": "2024-04-24T06:40:16.488995Z" + "iopub.execute_input": "2024-04-24T07:13:34.997907Z", + "iopub.status.busy": "2024-04-24T07:13:34.996932Z", + "iopub.status.idle": "2024-04-24T07:13:35.144603Z", + "shell.execute_reply": "2024-04-24T07:13:35.144044Z" } }, "outputs": [ @@ -446,7 +446,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851284026\n" + "Fidelity of Trotter-evolved state with exact state: 0.999932085128466\n" ] } ], @@ -478,10 +478,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:40:16.494464Z", - "iopub.status.busy": "2024-04-24T06:40:16.492729Z", - "iopub.status.idle": "2024-04-24T06:40:16.583248Z", - "shell.execute_reply": "2024-04-24T06:40:16.582651Z" + "iopub.execute_input": "2024-04-24T07:13:35.148420Z", + "iopub.status.busy": "2024-04-24T07:13:35.147427Z", + "iopub.status.idle": "2024-04-24T07:13:35.294623Z", + "shell.execute_reply": "2024-04-24T07:13:35.294088Z" } }, "outputs": [ @@ -489,7 +489,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851284026\n" + "Fidelity of Trotter-evolved state with exact state: 0.999932085128466\n" ] } ], @@ -520,10 +520,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-04-24T06:40:16.587653Z", - "iopub.status.busy": "2024-04-24T06:40:16.586620Z", - "iopub.status.idle": "2024-04-24T06:40:16.652763Z", - "shell.execute_reply": "2024-04-24T06:40:16.652137Z" + "iopub.execute_input": "2024-04-24T07:13:35.298402Z", + "iopub.status.busy": "2024-04-24T07:13:35.297445Z", + "iopub.status.idle": "2024-04-24T07:13:35.384316Z", + "shell.execute_reply": "2024-04-24T07:13:35.383754Z" } }, "outputs": [ @@ -531,7 +531,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999913261305021\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999913261305375\n" ] } ],