From 6a2c8f174098e732e9bbbc82baef35094d92a66a Mon Sep 17 00:00:00 2001 From: kevinsung Date: Wed, 25 Oct 2023 22:52:38 +0000 Subject: [PATCH] deploy: ddd5f4d35bc5f40282583cf147b5f7cb25b4e6a3 --- .doctrees/api/ffsim.doctree | Bin 464526 -> 466740 bytes .doctrees/environment.pickle | Bin 1486283 -> 1488945 bytes .../nbsphinx/tutorials/01-introduction.ipynb | 24 ++-- .../tutorials/02-orbital-rotation.ipynb | 32 ++--- .../tutorials/03-double-factorized.ipynb | 128 +++++++++--------- .doctrees/nbsphinx/tutorials/04-lucj.ipynb | 60 ++++---- .../tutorials/05-entanglement-forging.ipynb | 32 ++--- .../tutorials/06-fermion-operator.ipynb | 126 ++++++++--------- .../tutorials/03-double-factorized.doctree | Bin 54750 -> 54828 bytes .doctrees/tutorials/04-lucj.doctree | Bin 38282 -> 38282 bytes .../tutorials/05-entanglement-forging.doctree | Bin 15260 -> 15260 bytes .../tutorials/06-fermion-operator.doctree | Bin 41385 -> 41385 bytes api/ffsim.html | 29 +++- searchindex.js | 2 +- tutorials/01-introduction.ipynb | 24 ++-- tutorials/02-orbital-rotation.ipynb | 32 ++--- tutorials/03-double-factorized.html | 48 +++---- tutorials/03-double-factorized.ipynb | 128 +++++++++--------- tutorials/04-lucj.html | 28 ++-- tutorials/04-lucj.ipynb | 60 ++++---- tutorials/05-entanglement-forging.html | 8 +- tutorials/05-entanglement-forging.ipynb | 32 ++--- tutorials/06-fermion-operator.html | 54 ++++---- tutorials/06-fermion-operator.ipynb | 126 ++++++++--------- 24 files changed, 500 insertions(+), 473 deletions(-) diff --git a/.doctrees/api/ffsim.doctree b/.doctrees/api/ffsim.doctree index ea24b10f4f7624187f1f75f5aa42abb2ee567d88..06017123316c6acc0c9dfe803be6d6b599fbdf78 100644 GIT binary patch delta 64145 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 aNmojq0vHC!a|!&o2FWjV16oGi| delta 62521 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 z%0D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 Y1wO4sKz2spX7roD%!W^6A|^Wj3uDXdBLDyZ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 3d7029ea99d9a20eab664feb3649ea31e43c9abf..07ff2efadd54d950a2cb47a0a5e942c8328e1f9a 100644 GIT binary patch delta 214717 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

C!|qcOb?hUmNKlVdE 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 delta 214147 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 YtYB~DJ32~1S7q+_CKhm&l}*U}KUKi0UH||9 diff --git a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb index aabe78f3d..11328c287 100644 --- a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb +++ b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:55.806469Z", - "iopub.status.busy": "2023-10-25T22:36:55.806037Z", - "iopub.status.idle": "2023-10-25T22:36:56.173437Z", - "shell.execute_reply": "2023-10-25T22:36:56.172708Z" + "iopub.execute_input": "2023-10-25T22:49:45.728598Z", + "iopub.status.busy": "2023-10-25T22:49:45.728154Z", + "iopub.status.idle": "2023-10-25T22:49:46.110527Z", + "shell.execute_reply": "2023-10-25T22:49:46.109715Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:56.178612Z", - "iopub.status.busy": "2023-10-25T22:36:56.177304Z", - "iopub.status.idle": "2023-10-25T22:36:56.183207Z", - "shell.execute_reply": "2023-10-25T22:36:56.182642Z" + "iopub.execute_input": "2023-10-25T22:49:46.115961Z", + "iopub.status.busy": "2023-10-25T22:49:46.114597Z", + "iopub.status.idle": "2023-10-25T22:49:46.120985Z", + "shell.execute_reply": "2023-10-25T22:49:46.120363Z" } }, "outputs": [], @@ -93,10 +93,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:56.187737Z", - "iopub.status.busy": "2023-10-25T22:36:56.186648Z", - "iopub.status.idle": "2023-10-25T22:36:56.191149Z", - "shell.execute_reply": "2023-10-25T22:36:56.190587Z" + "iopub.execute_input": "2023-10-25T22:49:46.125500Z", + "iopub.status.busy": "2023-10-25T22:49:46.124419Z", + "iopub.status.idle": "2023-10-25T22:49:46.129349Z", + "shell.execute_reply": "2023-10-25T22:49:46.128546Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb index 9abbe1985..f05ba4dfe 100644 --- a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb +++ b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:58.052305Z", - "iopub.status.busy": "2023-10-25T22:36:58.052068Z", - "iopub.status.idle": "2023-10-25T22:36:58.418054Z", - "shell.execute_reply": "2023-10-25T22:36:58.417323Z" + "iopub.execute_input": "2023-10-25T22:49:48.191448Z", + "iopub.status.busy": "2023-10-25T22:49:48.191046Z", + "iopub.status.idle": "2023-10-25T22:49:48.607593Z", + "shell.execute_reply": "2023-10-25T22:49:48.606670Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:58.422655Z", - "iopub.status.busy": "2023-10-25T22:36:58.422015Z", - "iopub.status.idle": "2023-10-25T22:36:58.459609Z", - "shell.execute_reply": "2023-10-25T22:36:58.458938Z" + "iopub.execute_input": "2023-10-25T22:49:48.612660Z", + "iopub.status.busy": "2023-10-25T22:49:48.611183Z", + "iopub.status.idle": "2023-10-25T22:49:48.690073Z", + "shell.execute_reply": "2023-10-25T22:49:48.689235Z" } }, "outputs": [], @@ -158,10 +158,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:58.463437Z", - "iopub.status.busy": "2023-10-25T22:36:58.463084Z", - "iopub.status.idle": "2023-10-25T22:36:58.475859Z", - "shell.execute_reply": "2023-10-25T22:36:58.475248Z" + "iopub.execute_input": "2023-10-25T22:49:48.695786Z", + "iopub.status.busy": "2023-10-25T22:49:48.694689Z", + "iopub.status.idle": "2023-10-25T22:49:48.709764Z", + "shell.execute_reply": "2023-10-25T22:49:48.709040Z" } }, "outputs": [], @@ -201,10 +201,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:58.478982Z", - "iopub.status.busy": "2023-10-25T22:36:58.478632Z", - "iopub.status.idle": "2023-10-25T22:36:58.485259Z", - "shell.execute_reply": "2023-10-25T22:36:58.484661Z" + "iopub.execute_input": "2023-10-25T22:49:48.714702Z", + "iopub.status.busy": "2023-10-25T22:49:48.713656Z", + "iopub.status.idle": "2023-10-25T22:49:48.720156Z", + "shell.execute_reply": "2023-10-25T22:49:48.719563Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb index e679311ce..edaf5c8f2 100644 --- a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb +++ b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:00.564527Z", - "iopub.status.busy": "2023-10-25T22:37:00.563943Z", - "iopub.status.idle": "2023-10-25T22:37:01.040069Z", - "shell.execute_reply": "2023-10-25T22:37:01.039225Z" + "iopub.execute_input": "2023-10-25T22:49:50.631452Z", + "iopub.status.busy": "2023-10-25T22:49:50.630936Z", + "iopub.status.idle": "2023-10-25T22:49:51.083516Z", + "shell.execute_reply": "2023-10-25T22:49:51.082556Z" } }, "outputs": [ @@ -92,10 +92,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.043849Z", - "iopub.status.busy": "2023-10-25T22:37:01.043504Z", - "iopub.status.idle": "2023-10-25T22:37:01.049845Z", - "shell.execute_reply": "2023-10-25T22:37:01.049303Z" + "iopub.execute_input": "2023-10-25T22:49:51.087434Z", + "iopub.status.busy": "2023-10-25T22:49:51.086734Z", + "iopub.status.idle": "2023-10-25T22:49:51.094705Z", + "shell.execute_reply": "2023-10-25T22:49:51.093973Z" } }, "outputs": [ @@ -106,28 +106,28 @@ "Original representation\n", "-----------------------\n", "One-body tensor:\n", - "[[-8.27478830e-01 -8.52909490e-17]\n", - " [-5.57029092e-17 -6.77238770e-01]]\n", + "[[-8.27478830e-01 -1.09243819e-16]\n", + " [-7.48351655e-17 -6.77238770e-01]]\n", "\n", "Two-body tensor:\n", - "[[[[5.23173938e-01 3.58782168e-17]\n", - " [3.58782168e-17 5.33545754e-01]]\n", + "[[[[ 5.23173938e-01 -5.00678144e-19]\n", + " [-5.00678144e-19 5.33545754e-01]]\n", "\n", - " [[2.49859013e-17 2.48240570e-01]\n", - " [2.48240570e-01 4.83067333e-17]]]\n", + " [[ 5.85364508e-18 2.48240570e-01]\n", + " [ 2.48240570e-01 -1.17688164e-17]]]\n", "\n", "\n", - " [[[2.49859013e-17 2.48240570e-01]\n", - " [2.48240570e-01 4.83067333e-17]]\n", + " [[[ 5.85364508e-18 2.48240570e-01]\n", + " [ 2.48240570e-01 -1.17688164e-17]]\n", "\n", - " [[5.33545754e-01 4.01841799e-17]\n", - " [4.01841799e-17 5.53132024e-01]]]]\n", + " [[ 5.33545754e-01 1.05429868e-17]\n", + " [ 1.05429868e-17 5.53132024e-01]]]]\n", "\n", "Double-factorized representation\n", "--------------------------------\n", "One-body tensor:\n", - "[[-1.21318608e+00 -1.27383424e-16]\n", - " [-8.82879498e-17 -1.07792507e+00]]\n", + "[[-1.21318608e+00 -1.03109072e-16]\n", + " [-8.30334814e-17 -1.07792507e+00]]\n", "\n", "Diagonal Coulomb matrices:\n", "[[[ 5.14653029e-01 5.33545754e-01]\n", @@ -136,18 +136,18 @@ " [[ 2.48240570e-01 -2.48240570e-01]\n", " [-2.48240570e-01 2.48240570e-01]]\n", "\n", - " [[ 2.27521846e-62 -1.39236953e-32]\n", - " [-1.39236953e-32 8.52090881e-03]]]\n", + " [[ 1.44655364e-30 -1.11022302e-16]\n", + " [-1.11022302e-16 8.52090881e-03]]]\n", "\n", "Orbital rotations:\n", "[[[ 1.00000000e+00 0.00000000e+00]\n", " [ 0.00000000e+00 1.00000000e+00]]\n", "\n", - " [[-7.07106781e-01 -7.07106781e-01]\n", - " [ 7.07106781e-01 -7.07106781e-01]]\n", + " [[-7.07106781e-01 7.07106781e-01]\n", + " [ 7.07106781e-01 7.07106781e-01]]\n", "\n", - " [[-1.27830444e-15 -1.00000000e+00]\n", - " [-1.00000000e+00 1.27830444e-15]]]\n" + " [[ 7.45733039e-16 -1.00000000e+00]\n", + " [-1.00000000e+00 -7.45733039e-16]]]\n" ] } ], @@ -226,10 +226,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.053112Z", - "iopub.status.busy": "2023-10-25T22:37:01.052436Z", - "iopub.status.idle": "2023-10-25T22:37:01.058006Z", - "shell.execute_reply": "2023-10-25T22:37:01.057392Z" + "iopub.execute_input": "2023-10-25T22:49:51.097615Z", + "iopub.status.busy": "2023-10-25T22:49:51.097224Z", + "iopub.status.idle": "2023-10-25T22:49:51.103382Z", + "shell.execute_reply": "2023-10-25T22:49:51.102656Z" } }, "outputs": [], @@ -284,10 +284,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.061751Z", - "iopub.status.busy": "2023-10-25T22:37:01.060649Z", - "iopub.status.idle": "2023-10-25T22:37:01.066205Z", - "shell.execute_reply": "2023-10-25T22:37:01.065642Z" + "iopub.execute_input": "2023-10-25T22:49:51.106760Z", + "iopub.status.busy": "2023-10-25T22:49:51.106190Z", + "iopub.status.idle": "2023-10-25T22:49:51.111174Z", + "shell.execute_reply": "2023-10-25T22:49:51.110496Z" } }, "outputs": [], @@ -324,10 +324,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.069111Z", - "iopub.status.busy": "2023-10-25T22:37:01.068667Z", - "iopub.status.idle": "2023-10-25T22:37:01.074495Z", - "shell.execute_reply": "2023-10-25T22:37:01.073941Z" + "iopub.execute_input": "2023-10-25T22:49:51.115052Z", + "iopub.status.busy": "2023-10-25T22:49:51.114792Z", + "iopub.status.idle": "2023-10-25T22:49:51.121182Z", + "shell.execute_reply": "2023-10-25T22:49:51.120373Z" } }, "outputs": [ @@ -335,7 +335,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Hartree Fock energy: -0.8377963825937084\n" + "Hartree Fock energy: -0.837796382593709\n" ] } ], @@ -366,10 +366,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.077458Z", - "iopub.status.busy": "2023-10-25T22:37:01.076848Z", - "iopub.status.idle": "2023-10-25T22:37:01.087132Z", - "shell.execute_reply": "2023-10-25T22:37:01.086577Z" + "iopub.execute_input": "2023-10-25T22:49:51.125523Z", + "iopub.status.busy": "2023-10-25T22:49:51.124134Z", + "iopub.status.idle": "2023-10-25T22:49:51.137942Z", + "shell.execute_reply": "2023-10-25T22:49:51.137232Z" } }, "outputs": [ @@ -377,7 +377,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9696296369955066\n" + "Fidelity of evolved state w.r.t. initial state: 0.9696296369955065\n" ] } ], @@ -408,10 +408,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.090228Z", - "iopub.status.busy": "2023-10-25T22:37:01.089559Z", - "iopub.status.idle": "2023-10-25T22:37:01.098344Z", - "shell.execute_reply": "2023-10-25T22:37:01.097773Z" + "iopub.execute_input": "2023-10-25T22:49:51.143052Z", + "iopub.status.busy": "2023-10-25T22:49:51.142490Z", + "iopub.status.idle": "2023-10-25T22:49:51.155779Z", + "shell.execute_reply": "2023-10-25T22:49:51.155041Z" } }, "outputs": [ @@ -419,7 +419,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9990275744083494\n" + "Fidelity of Trotter-evolved state with exact state: 0.9990275744083491\n" ] } ], @@ -449,10 +449,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.101276Z", - "iopub.status.busy": "2023-10-25T22:37:01.100835Z", - "iopub.status.idle": "2023-10-25T22:37:01.145337Z", - "shell.execute_reply": "2023-10-25T22:37:01.144745Z" + "iopub.execute_input": "2023-10-25T22:49:51.160933Z", + "iopub.status.busy": "2023-10-25T22:49:51.159642Z", + "iopub.status.idle": "2023-10-25T22:49:51.211316Z", + "shell.execute_reply": "2023-10-25T22:49:51.210559Z" } }, "outputs": [ @@ -460,7 +460,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109686\n" + "Fidelity of Trotter-evolved state with exact state: 0.999990623310968\n" ] } ], @@ -492,10 +492,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.148276Z", - "iopub.status.busy": "2023-10-25T22:37:01.147912Z", - "iopub.status.idle": "2023-10-25T22:37:01.188137Z", - "shell.execute_reply": "2023-10-25T22:37:01.186555Z" + "iopub.execute_input": "2023-10-25T22:49:51.215690Z", + "iopub.status.busy": "2023-10-25T22:49:51.214603Z", + "iopub.status.idle": "2023-10-25T22:49:51.254790Z", + "shell.execute_reply": "2023-10-25T22:49:51.254051Z" } }, "outputs": [ @@ -503,7 +503,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109686\n" + "Fidelity of Trotter-evolved state with exact state: 0.999990623310968\n" ] } ], @@ -534,10 +534,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.191299Z", - "iopub.status.busy": "2023-10-25T22:37:01.190992Z", - "iopub.status.idle": "2023-10-25T22:37:01.208147Z", - "shell.execute_reply": "2023-10-25T22:37:01.207353Z" + "iopub.execute_input": "2023-10-25T22:49:51.259870Z", + "iopub.status.busy": "2023-10-25T22:49:51.258672Z", + "iopub.status.idle": "2023-10-25T22:49:51.277545Z", + "shell.execute_reply": "2023-10-25T22:49:51.276466Z" } }, "outputs": [ @@ -545,7 +545,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999999336740067\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999999336740071\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb index 67833f1b8..fffa14560 100644 --- a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb +++ b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:03.486939Z", - "iopub.status.busy": "2023-10-25T22:37:03.486686Z", - "iopub.status.idle": "2023-10-25T22:37:04.171218Z", - "shell.execute_reply": "2023-10-25T22:37:04.170426Z" + "iopub.execute_input": "2023-10-25T22:49:53.689996Z", + "iopub.status.busy": "2023-10-25T22:49:53.689777Z", + "iopub.status.idle": "2023-10-25T22:49:54.502302Z", + "shell.execute_reply": "2023-10-25T22:49:54.501564Z" } }, "outputs": [ @@ -32,7 +32,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "CASCI E = -77.6290254326716 E(CI) = -3.57322412553862 S^2 = 0.0000000\n" + "CASCI E = -77.6290254326717 E(CI) = -3.57322412553863 S^2 = 0.0000000\n" ] } ], @@ -110,10 +110,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:04.175035Z", - "iopub.status.busy": "2023-10-25T22:37:04.174671Z", - "iopub.status.idle": "2023-10-25T22:37:04.834102Z", - "shell.execute_reply": "2023-10-25T22:37:04.833507Z" + "iopub.execute_input": "2023-10-25T22:49:54.506302Z", + "iopub.status.busy": "2023-10-25T22:49:54.505497Z", + "iopub.status.idle": "2023-10-25T22:49:54.965101Z", + "shell.execute_reply": "2023-10-25T22:49:54.964409Z" } }, "outputs": [ @@ -121,7 +121,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.49387212754473 E_corr = -0.04824536314851268\n" + "E(CCSD) = -77.49387212754473 E_corr = -0.04824536314851462\n" ] }, { @@ -176,10 +176,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:04.838993Z", - "iopub.status.busy": "2023-10-25T22:37:04.838311Z", - "iopub.status.idle": "2023-10-25T22:38:17.168913Z", - "shell.execute_reply": "2023-10-25T22:38:17.168300Z" + "iopub.execute_input": "2023-10-25T22:49:54.968428Z", + "iopub.status.busy": "2023-10-25T22:49:54.968008Z", + "iopub.status.idle": "2023-10-25T22:51:17.439791Z", + "shell.execute_reply": "2023-10-25T22:51:17.439126Z" } }, "outputs": [ @@ -191,12 +191,12 @@ " message: CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH\n", " success: True\n", " status: 0\n", - " fun: -77.62902198093012\n", - " x: [-2.843e-01 5.591e-01 ... -1.720e-01 -3.600e-01]\n", - " nit: 269\n", - " jac: [ 2.416e-05 -3.126e-05 ... -1.606e-04 9.948e-06]\n", - " nfev: 21316\n", - " njev: 292\n", + " fun: -77.62896682018224\n", + " x: [-1.932e-01 1.104e+00 ... -3.429e-01 -1.010e-01]\n", + " nit: 226\n", + " jac: [ 3.268e-05 8.527e-06 ... -9.123e-04 -3.965e-04]\n", + " nfev: 17593\n", + " njev: 241\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" ] } @@ -251,10 +251,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:38:17.173783Z", - "iopub.status.busy": "2023-10-25T22:38:17.172653Z", - "iopub.status.idle": "2023-10-25T22:39:33.968944Z", - "shell.execute_reply": "2023-10-25T22:39:33.968334Z" + "iopub.execute_input": "2023-10-25T22:51:17.443422Z", + "iopub.status.busy": "2023-10-25T22:51:17.442815Z", + "iopub.status.idle": "2023-10-25T22:52:26.644022Z", + "shell.execute_reply": "2023-10-25T22:52:26.643271Z" } }, "outputs": [ @@ -266,12 +266,12 @@ " message: CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH\n", " success: True\n", " status: 0\n", - " fun: -77.62848215844997\n", - " x: [ 6.198e-01 -6.593e-02 ... 1.183e-01 -1.078e-01]\n", - " nit: 450\n", - " jac: [ 1.492e-04 -2.629e-04 ... 1.435e-04 -3.638e-04]\n", - " nfev: 22701\n", - " njev: 483\n", + " fun: -77.62865917328423\n", + " x: [-1.028e+00 -1.315e+00 ... -4.903e-01 1.494e+00]\n", + " nit: 290\n", + " jac: [-5.969e-05 9.095e-05 ... 5.741e-04 -3.297e-04]\n", + " nfev: 14664\n", + " njev: 312\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" ] } diff --git a/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb b/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb index fa8dfa58b..3b672189f 100644 --- a/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb +++ b/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:35.902653Z", - "iopub.status.busy": "2023-10-25T22:39:35.902244Z", - "iopub.status.idle": "2023-10-25T22:39:36.610182Z", - "shell.execute_reply": "2023-10-25T22:39:36.609495Z" + "iopub.execute_input": "2023-10-25T22:52:28.457365Z", + "iopub.status.busy": "2023-10-25T22:52:28.457064Z", + "iopub.status.idle": "2023-10-25T22:52:29.067914Z", + "shell.execute_reply": "2023-10-25T22:52:29.067063Z" } }, "outputs": [ @@ -32,7 +32,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "CASCI E = -75.7079508859773 E(CI) = -14.3336207346502 S^2 = 0.0000000\n" + "CASCI E = -75.7079508859772 E(CI) = -14.3336207346500 S^2 = 0.0000000\n" ] } ], @@ -90,10 +90,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:36.614713Z", - "iopub.status.busy": "2023-10-25T22:39:36.614126Z", - "iopub.status.idle": "2023-10-25T22:39:36.641876Z", - "shell.execute_reply": "2023-10-25T22:39:36.641194Z" + "iopub.execute_input": "2023-10-25T22:52:29.074034Z", + "iopub.status.busy": "2023-10-25T22:52:29.072439Z", + "iopub.status.idle": "2023-10-25T22:52:29.107737Z", + "shell.execute_reply": "2023-10-25T22:52:29.107079Z" } }, "outputs": [ @@ -101,7 +101,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -75.68366174447621\n" + "Energy at initialialization: -75.68366174447613\n" ] } ], @@ -135,10 +135,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:36.645471Z", - "iopub.status.busy": "2023-10-25T22:39:36.644784Z", - "iopub.status.idle": "2023-10-25T22:39:38.706845Z", - "shell.execute_reply": "2023-10-25T22:39:38.706152Z" + "iopub.execute_input": "2023-10-25T22:52:29.112535Z", + "iopub.status.busy": "2023-10-25T22:52:29.111203Z", + "iopub.status.idle": "2023-10-25T22:52:32.034045Z", + "shell.execute_reply": "2023-10-25T22:52:32.033073Z" } }, "outputs": [ @@ -150,8 +150,8 @@ " message: Maximum number of function evaluations has been exceeded.\n", " success: False\n", " status: 2\n", - " fun: -75.69430210093412\n", - " x: [ 1.344e+00 8.447e-02 -1.883e-03 1.105e+00 -1.881e-01]\n", + " fun: -75.69447115688286\n", + " x: [ 1.354e+00 9.455e-02 -3.884e-03 1.094e+00 -2.122e-01]\n", " nfev: 100\n", " maxcv: 0.0\n" ] diff --git a/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb b/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb index 300ae3e7f..b2f6037d5 100644 --- a/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb +++ b/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.366920Z", - "iopub.status.busy": "2023-10-25T22:39:40.366331Z", - "iopub.status.idle": "2023-10-25T22:39:40.732340Z", - "shell.execute_reply": "2023-10-25T22:39:40.731690Z" + "iopub.execute_input": "2023-10-25T22:52:33.852859Z", + "iopub.status.busy": "2023-10-25T22:52:33.852631Z", + "iopub.status.idle": "2023-10-25T22:52:34.239320Z", + "shell.execute_reply": "2023-10-25T22:52:34.238688Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(3), des_a(0)): -0.25,\n", " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", - " (cre_a(0), des_a(3)): 0.5\n", + " (cre_a(0), des_a(3)): 0.5,\n", + " (cre_a(3), des_a(0)): -0.25\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.737597Z", - "iopub.status.busy": "2023-10-25T22:39:40.736319Z", - "iopub.status.idle": "2023-10-25T22:39:40.743718Z", - "shell.execute_reply": "2023-10-25T22:39:40.742835Z" + "iopub.execute_input": "2023-10-25T22:52:34.243762Z", + "iopub.status.busy": "2023-10-25T22:52:34.243037Z", + "iopub.status.idle": "2023-10-25T22:52:34.250376Z", + "shell.execute_reply": "2023-10-25T22:52:34.249693Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" + "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.748237Z", - "iopub.status.busy": "2023-10-25T22:39:40.747115Z", - "iopub.status.idle": "2023-10-25T22:39:40.754695Z", - "shell.execute_reply": "2023-10-25T22:39:40.754158Z" + "iopub.execute_input": "2023-10-25T22:52:34.255144Z", + "iopub.status.busy": "2023-10-25T22:52:34.253705Z", + "iopub.status.idle": "2023-10-25T22:52:34.262286Z", + "shell.execute_reply": "2023-10-25T22:52:34.261401Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\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), cre_b(2)): -1+1j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_a(0), des_a(3)): 1,\n", " (cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", " (des_a(3), des_b(3)): 0.0625,\n", - " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3)): 1,\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), cre_b(2)): -1+1j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\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)): 2+2j,\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.759235Z", - "iopub.status.busy": "2023-10-25T22:39:40.758153Z", - "iopub.status.idle": "2023-10-25T22:39:40.765084Z", - "shell.execute_reply": "2023-10-25T22:39:40.764539Z" + "iopub.execute_input": "2023-10-25T22:52:34.267159Z", + "iopub.status.busy": "2023-10-25T22:52:34.265631Z", + "iopub.status.idle": "2023-10-25T22:52:34.272698Z", + "shell.execute_reply": "2023-10-25T22:52:34.272094Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\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), cre_b(2)): 4+4j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_b(2)): -5,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", " (des_a(3), des_b(3)): 0-1.25j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_a(0), des_a(3)): 0-6j,\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), cre_b(2)): 4+4j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\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)): 12-12j,\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.769541Z", - "iopub.status.busy": "2023-10-25T22:39:40.768482Z", - "iopub.status.idle": "2023-10-25T22:39:40.774962Z", - "shell.execute_reply": "2023-10-25T22:39:40.774400Z" + "iopub.execute_input": "2023-10-25T22:52:34.277397Z", + "iopub.status.busy": "2023-10-25T22:52:34.275959Z", + "iopub.status.idle": "2023-10-25T22:52:34.283129Z", + "shell.execute_reply": "2023-10-25T22:52:34.282399Z" } }, "outputs": [ @@ -230,16 +230,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", - " (des_b(3), des_a(3)): 0+1.25j,\n", - " (cre_b(2), cre_a(3), des_a(0)): -1,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(2), cre_a(0), des_a(3)): 2,\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)): -5,\n", + " (cre_b(2), cre_a(3), des_a(0)): -1,\n", " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_b(2)): -5\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", + " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.779369Z", - "iopub.status.busy": "2023-10-25T22:39:40.778283Z", - "iopub.status.idle": "2023-10-25T22:39:40.784339Z", - "shell.execute_reply": "2023-10-25T22:39:40.783767Z" + "iopub.execute_input": "2023-10-25T22:52:34.287780Z", + "iopub.status.busy": "2023-10-25T22:52:34.286254Z", + "iopub.status.idle": "2023-10-25T22:52:34.294121Z", + "shell.execute_reply": "2023-10-25T22:52:34.292778Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.789452Z", - "iopub.status.busy": "2023-10-25T22:39:40.788382Z", - "iopub.status.idle": "2023-10-25T22:39:40.795811Z", - "shell.execute_reply": "2023-10-25T22:39:40.795259Z" + "iopub.execute_input": "2023-10-25T22:52:34.298274Z", + "iopub.status.busy": "2023-10-25T22:52:34.297778Z", + "iopub.status.idle": "2023-10-25T22:52:34.304979Z", + "shell.execute_reply": "2023-10-25T22:52:34.304437Z" } }, "outputs": [ @@ -340,10 +340,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.800327Z", - "iopub.status.busy": "2023-10-25T22:39:40.799255Z", - "iopub.status.idle": "2023-10-25T22:39:40.808120Z", - "shell.execute_reply": "2023-10-25T22:39:40.807530Z" + "iopub.execute_input": "2023-10-25T22:52:34.309028Z", + "iopub.status.busy": "2023-10-25T22:52:34.308520Z", + "iopub.status.idle": "2023-10-25T22:52:34.317214Z", + "shell.execute_reply": "2023-10-25T22:52:34.316562Z" } }, "outputs": [ @@ -352,7 +352,7 @@ "text/plain": [ "array([0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " 0.14416721+0.01183319j, 0. +0.j ,\n", + " 0.08465914-0.16438186j, 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", " 0. +0.j ])" ] @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.812478Z", - "iopub.status.busy": "2023-10-25T22:39:40.811398Z", - "iopub.status.idle": "2023-10-25T22:39:40.826762Z", - "shell.execute_reply": "2023-10-25T22:39:40.826205Z" + "iopub.execute_input": "2023-10-25T22:52:34.320550Z", + "iopub.status.busy": "2023-10-25T22:52:34.320183Z", + "iopub.status.idle": "2023-10-25T22:52:34.336019Z", + "shell.execute_reply": "2023-10-25T22:52:34.335310Z" } }, "outputs": [ diff --git a/.doctrees/tutorials/03-double-factorized.doctree b/.doctrees/tutorials/03-double-factorized.doctree index 61df3933ff9f7059c5ecb87d4b6aeedb282a74d4..c6e7bf4ba2298e51501eb4457d0c11c41d9227ce 100644 GIT binary patch delta 3218 zcmeHJO=uHA6zAk>(IQ$iQLLBlW@cw+e^e?crJz#9-_p2H4}l<9N-v67t%pim z3!-mZJsG1Y*!IwxV89YT#;0&n&76eg_Tqo zr;1b=Gfa!?I=a~CLeZ%lq|m0dUPDhy3PYC+J-J1xhRmAIq{%#{f@cLt6|QpAuqUN zGc|mzP%cXqOb8w80k^~(jjOtjrNgw7ieP>^oN1b1B@ZkX#>;6+YFtZnrB=!;=HjH&ZoHqZqLeM=nL{k13?HzB2`B*ES#lbR!LVDaGyFs03 z58K5bV$$CdJ9~QKNr*`J31@IU<$l7oaGnPtF*V@tqVRbtjn??|p@?)x-RthKn~I)q z0g`Tk?-PyB?%oL!4rK8tyiG^Y`gVUA*8G~aPH~h z=JJc(qz^)9<}$f~X<5*mvr8eBAyIfd>yR#(pXmyfvhsJ?dvn_w|Hkbs{+s(pZguYE t=VIL&lS3@u=RJn=U%iKy>&VMX1v3g;UOn{8c;)~M=GUW{jl6yr`30jC@7>7 zyu7qtw5bXnY@vpz7iqmn+t7ANo$5uWbyIX86uaJdyRohg2BMwtDt4)sHC4%)woP%t ztbsyw4@7!`wea{4T@@d-?ZXp+<@i8j+|8bIq?S3=sW%6=X3lz{sYM3AC;v~aDSkSW zJgx{B$#k|!Uim4=dT_nu@Gvu`40+Y)<#>k+l%K&}_1R5m1b&Y@%2BX09bw7+m}fm3 zX~pMvpYB#n=*#tCJD2;3t*-rE)peT z<)9WxV=bt#h;7PPTPZeH2Nv2|I+RK^Oadb59-E`C^C{`j?7@1H|e z$A+2^IOCnkzlCg@AgDAw?cx$Q1@K7F-5H3KL~nBSH)zA+X1(Wse;%P?k_n zFvO*d2>E~^MnRvHhjsDWZZgvcC*@+Q&gfNSH0kxTu_J1z1;N#-llV*Mt5w6GN}at3 Y@zbO>Sg%Hh;Me+TVv`R9qd&dp_gpkK6951J delta 2480 zcmdUvJxBvF6vwF!ejs>N5EP2RO`##l<#LHdTQ?^`6vQt?`~XX-h(!but)ikh8Pq`+ zXF-KSTpe|GQe2!04!Sy;`|!AqS2}n%{ol*IKQHf*-_do=(RIz;XLF3n6|Eyi1MW-x7#m!I97rCXK-R)_cKZl0Z)Ng(SiN7|;;dkq|V+cbkh{GC1H%5db9WO&2>4tlxn5Nriv>ZdkL^y~c%60ir9F)23 z^JsQ&Jrr}Xkgfa3sMhq;LB|SKV14Xrk-voe*i{TFh1|t|c?1^+&ynpsWsMw~O~0-c BHXi^0 diff --git a/.doctrees/tutorials/05-entanglement-forging.doctree b/.doctrees/tutorials/05-entanglement-forging.doctree index c7100c277c7f30b31a62ff4502b80ecdaa199f42..c796e92f83affb45ef7cc8e414b2db4a39fb8a4a 100644 GIT binary patch delta 621 zcmbPJKBs(xhajWT?tC#F!p9%(H<@) zL*vP_<()y)1NpNcYP~`^gc6%ephQkz+oQaL?M%nc1q%`7a8EX=qRAfUoZ zAzHyu&)C!?RolQoLBUeb#MCrZ*T6_Y*I3WO!UV`PRsbq6u!JbkHPSOQGMc$O!=U8I(}~ delta 621 zcmbPJKBs(xhajWz?tC#F!p9%(H<@) zBg4tF<()y)1NpNcYP~`^gc6%ephQkz+oQaL@14U7y83@nXJ42`%HAfUoZ zAzHyu&)CEyRolQoLBT@L#Kb&R*T6_Y*HF*G!WhUjRsbq6G%y7#0E-$<-mjxM`HuE1 s>Y2ECzm6{>^^5~LP-$|x-c>4_xLyArRZUc!EN?i8x+ZRxHfrPq076caqW}N^ diff --git a/.doctrees/tutorials/06-fermion-operator.doctree b/.doctrees/tutorials/06-fermion-operator.doctree index 79330dbeece826a1d8dd7e1434c0c7f76c9af986..7b0df969858c5504a11b029ad5a23180a44bc725 100644 GIT binary patch delta 1879 zcmcJQTS!xJ9LG^)>fGGTon7)W&HFUZnLB4^^HM#yx#8JV=)v&JxhZX-Nf)Rr5rUw? zWc9UzF7_5kVZsOkOC&?OP(BGkk@X(xOZaGKW61{D%eKew@B9CM;rIW3IA?Apdu}Cr z;R*qxz8yW?I)sTl{3Ogt`kZDJlY=6Z(i)6wtDs~KxdZ%;`lX61( znnWGh(q9!}r^=t*V8E@)CahP;KvXm&kKQFpvNDt`_3+-yho|a%;<&H6IzdL1H9L8? zodxK#6~WUh!4aDh#+DK+n$&pTNuZ4EfKO8hgGU6nLm?9OqD(Y=HVe33Ip#Z}M`~dZ zuC?@)4RD?JW)3j%;jf-?U=BV z=?#yZZEF#_7bxkLARJWU6QM+dqY#aue0c4-_+lfl(WwC0V-~!>3~2C%(BYy@ij5u# z`n#hL97b7ZQ5*mQ%k~@$I|K+a6CH4V#V%KjF~31*TnXMUhnrrcARdX%+pTZW<| z%f0u-2ajFPqtss>YnThT zQ%s3gIWl}X<$cCa)Tf#eVM3QmRU~U>Xe(uoew-O|GfS}yj!vHjeJ#A77ja%M&)Uz# e=8d=i@rc-e<=E8vK4;G0`OV3Hd6A>jLDe7QYkmeHjbPGNKvkziDWsW(#eMcs52A}|Ho&8Zg~LslK!9LmvhI~7eumo}zP7Z+~`BjS=D zDfsAMux3AmSx+XG4KykoQj8hJSg51$#wLc)o(sJ}fJG05$MyrHF2@X~Latp$G&I6B z>F8pqm?q4K@XMBg1y7NH?1LikH<`iS?&x9GMW!)gPCPnIm4^9gWNDuLTfW7;K# z(?X-)l8a@N5VTW-usZ{FR&iXHg8`oqSIr8jd6wu!I6~$qcq*>XL>K8F;me7qDm*f` z{+F}Xtl_;{8@=vK+JI&}AoPw0DluSV_v)}X29XODhoh)f5zL|pNuj9Ci6N%=isL0mn4uB!QUt3qbk;_BN_

Bases: object

A fermionic operator.

A FermionOperator represents a linear combination of products of fermionic creation -and annihilation operators.

+and annihilation operators. See The FermionOperator class +for an explanation of how to use this class.

+

Example:

+
+
+
import ffsim
+
+op = ffsim.FermionOperator(
+    {
+        (ffsim.cre_a(0), ffsim.des_a(3)): 0.5,
+        (ffsim.cre_a(3), ffsim.des_a(0)): -0.25,
+        (ffsim.cre_b(1), ffsim.des_b(5), ffsim.cre_a(4)): 1 + 1j,
+    }
+)
+op
+
+
+
+
+
FermionOperator({
+    (cre_b(1), des_b(5), cre_a(4)): 1+1j,
+    (cre_a(3), des_a(0)): -0.25,
+    (cre_a(0), des_a(3)): 0.5
+})
+
+
+
+
Parameters:

coeffs (dict[tuple[tuple[bool, bool, int], ...], complex]) – The coefficients of the diff --git a/searchindex.js b/searchindex.js index 766048bdb..c5c374740 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.linalg", "api/ffsim.random", "api/ffsim.testing", "index", "tutorials/01-introduction", "tutorials/02-orbital-rotation", "tutorials/03-double-factorized", "tutorials/04-lucj", "tutorials/05-entanglement-forging", "tutorials/06-fermion-operator"], "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.linalg.rst", "api/ffsim.random.rst", "api/ffsim.testing.rst", "index.rst", "tutorials/01-introduction.ipynb", "tutorials/02-orbital-rotation.ipynb", "tutorials/03-double-factorized.ipynb", "tutorials/04-lucj.ipynb", "tutorials/05-entanglement-forging.ipynb", "tutorials/06-fermion-operator.ipynb"], "titles": ["ffsim", "ffsim.contract", "ffsim.linalg", "ffsim.random", "ffsim.testing", "Welcome to ffsim\u2019s documentation!", "Introduction to ffsim", "Orbital rotations and quadratic Hamiltonians", "Diagonal Coulomb operators and double-factorized Trotter simulation", "The local unitary cluster Jastrow (LUCJ) ansatz", "Entanglement forging", "The FermionOperator class"], "terms": {"i": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11], "softwar": [0, 5, 6], "librari": [0, 5, 6], "fast": 0, "simul": [0, 5, 6, 7, 9, 10], "fermion": [0, 5, 6, 7, 9, 11], "quantum": [0, 5, 6, 8, 9], "circuit": [0, 5, 6], "class": [0, 3, 5, 6, 9], "doublefactorizedhamiltonian": [0, 5, 8], "one_body_tensor": [0, 7, 8], "diag_coulomb_mat": [0, 8], "orbital_rot": [0, 1, 6, 7, 8], "constant": [0, 8, 9], "0": [0, 7, 8, 9, 10, 11], "z_represent": [0, 1], "fals": [0, 1, 2, 10, 11], "sourc": [0, 1, 2, 3, 4], "base": [0, 2, 9, 10], "object": [0, 2, 9, 11], "A": [0, 1, 2, 3, 4, 7, 8, 9, 11], "hamiltonian": [0, 5, 9, 10], "doubl": [0, 2, 5, 9], "factor": [0, 2, 5, 9], "form": [0, 1, 2, 7, 8, 9, 11], "low": [0, 2, 6], "rank": [0, 2, 3], "decomposit": [0, 2], "The": [0, 1, 2, 3, 4, 5, 6, 7, 8], "molecular": [0, 9, 10], "h": [0, 8, 9, 10], "sum_": [0, 1, 2, 7, 8, 9], "pq": [0, 2, 8], "sigma": [0, 1, 7, 8, 9], "kappa_": 0, "dagger_": [0, 7, 8], "p": [0, 2, 8, 9], "a_": [0, 7, 8, 11], "q": [0, 8], "frac12": [0, 8, 9], "sum_t": 0, "ij": [0, 1, 2, 7, 8, 9], "tau": [0, 1, 8, 9], "z": [0, 1, 2, 5, 6, 11], "t": [0, 2, 7, 8], "_": [0, 2, 7, 8, 9], "n": [0, 2, 6, 7, 8, 9], "j": [0, 1, 7, 8, 9, 11], "text": [0, 8], "where": [0, 1, 2, 7, 8, 9], "u": [0, 1, 2], "pi": [0, 10], "qi": 0, "here": [0, 2, 6, 7, 8], "each": [0, 2, 6, 8, 9, 11], "unitari": [0, 1, 2, 3, 5, 7, 8], "matrix": [0, 1, 2, 3, 6, 7, 8, 9, 11], "real": [0, 1, 2, 3, 7, 8, 9, 10], "symmetr": [0, 1, 2, 3, 8, 9], "represent": [0, 1, 2, 6, 11], "an": [0, 1, 2, 3, 6, 7, 8, 9, 11], "altern": [0, 8], "sometim": 0, "yield": [0, 2, 8, 9], "simpler": 0, "under": 0, "jordan": 0, "wigner": 0, "transform": [0, 1, 6, 7], "number": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "oper": [0, 1, 2, 5, 7, 9, 10, 11], "take": [0, 6, 9], "frac": 0, "1": [0, 2, 3, 6, 7, 8, 9, 10, 11], "2": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11], "pauli": 0, "rotat": [0, 1, 2, 5, 6, 8, 9], "basi": [0, 7, 8, 9, 10], "obtain": [0, 7, 8, 9], "rewrit": 0, "two": [0, 2, 3, 8, 9, 10], "bodi": [0, 1, 2, 3, 8, 9, 10], "part": [0, 2], "term": [0, 1, 2, 8, 9, 11], "updat": [0, 8], "one": [0, 1, 2, 6, 8, 9, 10], "appropri": 0, "kappa": 0, "frac18": 0, "asterisk": 0, "denot": [0, 1, 7], "summat": 0, "over": 0, "indic": [0, 2, 9, 11], "neq": [0, 1], "tensor": [0, 1, 2, 3, 8, 9, 10], "type": [0, 1, 2, 3, 4], "np": [0, 3, 4, 7, 8, 9, 10], "ndarrai": [0, 1, 2, 3, 8], "diagon": [0, 1, 2, 5, 7, 9], "coulomb": [0, 1, 2, 5, 9], "matric": [0, 1, 2, 7, 8, 9], "orbit": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11], "float": [0, 2, 3, 8], "whether": [0, 1, 2, 11], "rather": [0, 6], "than": [0, 5, 6, 9], "bool": [0, 1, 2], "static": 0, "from_molecular_hamiltonian": [0, 8], "tol": [0, 2], "1e": [0, 2], "08": [0, 2], "max_vec": [0, 2], "none": [0, 1, 2, 3, 4], "optim": [0, 2, 9, 10], "method": [0, 2, 9, 10], "l": [0, 2, 8, 9], "bfg": [0, 2, 9], "b": [0, 2, 7, 9], "option": [0, 1, 2, 3, 9, 10], "diag_coulomb_mask": [0, 2], "choleski": [0, 2], "true": [0, 2, 6, 9, 11], "act": [0, 11], "h_": [0, 2, 8], "pqr": [0, 2, 8], "r": [0, 2, 8], "": [0, 2, 6, 8, 9, 10, 11], "decompos": [0, 2, 8], "ar": [0, 1, 2, 3, 6, 7, 8, 9, 11], "output": [0, 8, 9], "guarante": 0, "so": [0, 2, 7, 8, 9, 11], "depend": [0, 2, 6], "allow": [0, 2, 9], "error": [0, 2], "threshold": [0, 2], "larger": [0, 2, 11], "lead": 0, "smaller": [0, 2, 8, 11], "furthermor": [0, 2], "max_rank": 0, "paramet": [0, 1, 2, 3, 4, 9, 10], "specifi": [0, 2, 9], "upper": [0, 2, 9], "bound": [0, 2], "default": [0, 2, 3], "behavior": [0, 2, 3], "thi": [0, 2, 5, 6, 7, 8, 9, 10], "routin": [0, 2, 6, 11], "perform": [0, 2, 7, 8], "straightforward": [0, 2], "exact": [0, 2, 6, 8], "nest": [0, 2], "eigenvalu": [0, 2, 7], "addition": [0, 2], "can": [0, 2, 5, 6, 7, 8, 9, 11], "choos": [0, 2, 6, 9], "coeffici": [0, 1, 2, 7, 9, 11], "store": [0, 2, 8, 9], "achiev": [0, 2, 8], "compress": [0, 2], "enabl": [0, 2], "set": [0, 2, 6, 7, 8, 9], "attempt": [0, 2], "minim": [0, 2, 9, 10], "least": [0, 2], "squar": [0, 2, 9], "function": [0, 1, 2, 6, 7, 8, 9, 10, 11], "quantifi": [0, 2], "It": [0, 2, 6, 8, 11], "us": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11], "scipi": [0, 2, 6, 7, 8, 9, 10, 11], "pass": [0, 2, 7, 11], "both": [0, 2], "its": [0, 2, 7, 8, 11], "gradient": [0, 2], "return": [0, 1, 2, 3, 4, 8, 9, 10, 11], "constrain": [0, 2], "have": [0, 2, 6, 7, 9, 11], "onli": [0, 2, 6, 7, 9], "certain": [0, 2], "element": [0, 2], "nonzero": [0, 2, 9], "which": [0, 2, 3, 6, 7, 8, 9, 11], "time": [0, 2, 6, 8], "boolean": [0, 2], "valu": [0, 1, 2, 3, 8, 9], "triangular": [0, 2], "becaus": [0, 2, 6, 8, 9, 11], "note": [0, 9, 11], "current": 0, "support": [0, 11], "two_body_tensor": [0, 2, 8], "toler": [0, 2, 9], "defin": [0, 2, 9, 10], "maximum": [0, 2, 3, 10], "absolut": [0, 2], "differ": [0, 1, 2, 9], "between": [0, 1, 2, 9], "origin": [0, 2, 8], "correspond": [0, 2, 7, 8], "reconstruct": [0, 2], "int": [0, 1, 2, 3, 4, 8, 10], "limit": [0, 2, 9], "keep": [0, 2], "argument": [0, 2, 7], "overrid": [0, 2], "str": [0, 2], "see": [0, 2], "document": [0, 2], "possibl": [0, 2], "callback": [0, 2], "usag": [0, 2, 11], "dict": [0, 2, 9, 10], "mask": [0, 2], "modifi": [0, 2], "If": [0, 1, 2, 3, 11], "full": [0, 2, 6], "instead": [0, 2], "much": [0, 2, 5, 6], "more": [0, 2, 6, 9], "expens": [0, 2], "ignor": [0, 2, 8], "refer": [0, 2, 3, 9], "arxiv": [0, 2, 3], "1808": [0, 2], "02625": [0, 2], "2104": [0, 2], "08957": [0, 2], "properti": [0, 7], "norb": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11], "spatial": [0, 1, 4, 6, 8, 9, 11], "to_number_represent": 0, "to_z_represent": 0, "fermionact": [0, 5], "action": [0, 1, 7, 11], "spin": [0, 1, 5, 6, 7, 9, 10, 11], "orb": [0, 11], "namedtupl": 0, "alia": 0, "field": 0, "fermionoper": [0, 5], "coeff": [0, 1], "repres": [0, 6, 9, 11], "linear": [0, 1, 2, 7, 11], "combin": [0, 1, 7, 11], "product": [0, 8, 11], "creation": [0, 7, 11], "annihil": [0, 11], "tupl": [0, 1, 2, 4, 8, 11], "complex": [0, 1, 2, 3], "conserves_particle_numb": [0, 11], "conserv": [0, 6, 11], "particl": [0, 4, 5, 6, 7, 11], "otherwis": 0, "conserves_spin_z": [0, 11], "compon": [0, 5, 6, 11], "many_body_ord": 0, "mani": [0, 5], "order": [0, 6, 8, 9, 11], "length": [0, 6, 8, 9], "longest": 0, "contain": [0, 2, 9, 11], "normal_ord": [0, 11], "normal": [0, 11], "equival": 0, "ha": [0, 1, 2, 6, 7, 8, 9, 10], "been": [0, 10], "reorder": 0, "canon": 0, "In": [0, 7, 8, 9, 10, 11], "compris": [0, 11], "appear": [0, 11], "from": [0, 3, 6, 7, 9, 10, 11], "left": [0, 7, 11], "right": [0, 7, 11], "descend": [0, 11], "lexicograph": [0, 11], "That": [0, 7, 11], "all": [0, 9, 11], "befor": [0, 9, 11], "within": [0, 2, 11], "beta": [0, 1, 4, 6, 9, 11], "alpha": [0, 1, 4, 6, 9, 11], "hopgateansatzoper": [0, 5, 10], "interaction_pair": [0, 10], "theta": [0, 10], "hop": 0, "gate": [0, 9], "ansatz": [0, 5, 10], "moleculardata": [0, 5, 8, 9, 10], "nelec": [0, 1, 4, 6, 7, 8, 9, 10, 11], "core_energi": 0, "dipole_integr": 0, "orbital_symmetri": 0, "data": [0, 3, 8, 9, 10, 11], "electron": [0, 1, 3, 4, 6, 8], "core": [0, 2], "energi": [0, 7, 8, 9, 10], "dipol": 0, "integr": 0, "symmetri": [0, 5, 6, 7, 8, 9, 10], "from_hartree_fock": [0, 8, 9, 10], "hartree_fock": [0, 8, 9, 10], "active_spac": [0, 9, 10], "initi": [0, 3, 4, 8, 9, 10], "hartre": [0, 8, 9], "fock": [0, 8, 9], "calcul": [0, 6, 8, 9], "scf": [0, 8, 9, 10], "iter": 0, "list": [0, 1, 2, 4, 9, 10], "activ": [0, 9, 10], "space": [0, 9, 10], "molecularhamiltonian": [0, 5, 8], "call": [0, 6, 7, 8, 11], "supportsapplyunitari": [0, 5], "arg": 0, "kwarg": 0, "protocol": 0, "appli": [0, 1, 2, 6, 7, 8, 9], "vector": [0, 1, 2, 3, 6, 7, 9, 10, 11], "supportsapproximateequ": [0, 5], "compar": [0, 8], "approxim": [0, 2, 8], "supportslinearoper": [0, 5], "convert": [0, 1, 6, 7, 8, 11], "linearoper": [0, 1, 7, 8, 11], "supportstrac": [0, 5], "whose": [0, 2, 6], "trace": [0, 5, 8], "comput": [0, 2, 7, 9, 10], "ucjoper": [0, 5, 9], "diag_coulomb_mats_alpha_alpha": 0, "diag_coulomb_mats_alpha_beta": 0, "final_orbital_rot": 0, "cluster": [0, 5], "jastrow": [0, 5], "ucj": 0, "prod_": [0, 9], "k": [0, 2, 7, 8, 9, 11], "mathcal": [0, 1, 7, 8, 9], "w_k": [0, 9], "e": [0, 8, 9, 10, 11], "_k": [0, 8, 9], "dagger": [0, 1, 2, 7, 8, 9, 11], "mathbf": [0, 7, 8, 9], "n_": [0, 1, 6, 7, 8, 9], "commut": [0, 8, 9], "total": [0, 8, 9], "we": [0, 7, 8, 9, 10, 11], "enforc": [0, 9], "As": [0, 6, 7, 8, 9], "result": [0, 1, 2, 3, 7, 8, 9, 10], "describ": [0, 1, 6, 7, 8, 9, 11], "involv": [0, 9], "same": [0, 6, 9], "To": [0, 6, 7, 8, 9], "variat": [0, 9], "final": [0, 8, 9], "includ": [0, 2, 5, 6, 7, 8], "end": [0, 7, 9], "from_paramet": [0, 9], "param": 0, "n_rep": [0, 9, 10], "alpha_alpha_indic": [0, 9], "alpha_beta_indic": [0, 9], "with_final_orbital_rot": 0, "from_t_amplitud": [0, 9], "t2_amplitud": [0, 2], "t1_amplitud": 0, "t2": [0, 2, 3, 9], "t1": [0, 9], "amplitud": [0, 2, 3, 9], "repetit": [0, 9], "to_paramet": [0, 9], "to_t_amplitud": 0, "nocc": [0, 3], "possibli": 0, "apply_diag_coulomb_evolut": [0, 5, 8], "vec": [0, 1, 2, 6, 7, 8, 11], "mat": [0, 1, 2], "mat_alpha_beta": [0, 1], "occupations_a": [0, 1], "occupations_b": [0, 1], "strings_a": [0, 1], "strings_b": [0, 1], "orbital_rotation_index_a": 0, "orbital_rotation_index_b": 0, "copi": [0, 11], "evolut": [0, 8], "exp": [0, 7], "z_": [0, 1], "also": [0, 1, 7, 11], "given": [0, 1, 2, 7, 8], "place": [0, 1, 9, 11], "sum": [0, 1, 8, 10], "state": [0, 1, 3, 7, 8, 9, 10], "interact": [0, 1, 6], "occupi": [0, 1, 3, 4, 8], "string": [0, 1, 6, 11], "index": [0, 6, 9, 11], "alwai": [0, 2, 7], "newli": 0, "alloc": 0, "untouch": 0, "mai": [0, 2, 9], "still": [0, 9], "overwritten": 0, "evolv": [0, 8], "apply_fsim_g": [0, 5], "phi": 0, "target_orb": 0, "fsim": 0, "consist": 0, "tunnel": 0, "follow": [0, 6, 7, 8, 9, 11], "neg": 0, "sign": 0, "convent": 0, "angl": [0, 10], "nn": 0, "dagger_i": 0, "a_i": 0, "dagger_j": 0, "a_j": [0, 1], "when": [0, 8, 9, 11], "neighbor": 0, "qubit": [0, 9], "begin": [0, 7, 9], "pmatrix": 0, "co": [0, 10], "sin": [0, 10], "apply_givens_rot": [0, 5], "g": [0, 9], "apply_hop_g": [0, 5], "apply_num_interact": [0, 5], "apply_num_num_interact": [0, 5], "apply_num_op_prod_interact": [0, 5], "prod": 0, "sequenc": 0, "pair": [0, 4], "integ": 0, "give": [0, 7], "first": [0, 2, 7, 8, 9, 10], "second": [0, 2, 8, 10], "apply_num_op_sum_evolut": [0, 5, 7, 8], "lambda_i": [0, 1, 7], "rais": 0, "valueerror": 0, "must": [0, 2, 11], "dimension": [0, 2, 6], "apply_orbital_rot": [0, 5, 6, 7], "allow_row_permut": 0, "allow_col_permut": 0, "map": [0, 7, 11], "mapsto": [0, 7], "u_": 0, "ji": [0, 7], "log": 0, "permut": [0, 2], "row": [0, 6], "column": [0, 2, 6, 7], "wa": 0, "well": 0, "actual": [0, 7, 9], "effect": [0, 9], "apply_tunneling_interact": [0, 5], "apply_unitari": [0, 5, 9], "obj": 0, "ani": [0, 7, 9], "approx_eq": [0, 5], "other": [0, 9], "rtol": [0, 2], "05": [0, 2, 9], "atol": [0, 2], "equal": 0, "isclos": 0, "interpret": 0, "rel": [0, 2], "numer": [0, 2, 11], "up": [0, 7], "cre": [0, 5], "creat": [0, 6, 7, 8, 9, 11], "cre_a": [0, 5, 11], "cre_b": [0, 5, 11], "de": [0, 5], "destroi": [0, 11], "des_a": [0, 5, 11], "des_b": [0, 5, 11], "dim": [0, 3, 5, 6, 11], "get": [0, 7, 8, 9, 10], "dimens": [0, 3, 6], "fci": [0, 6, 9, 10], "dim_a": [0, 6], "dim_b": [0, 6], "expectation_one_body_pow": [0, 5], "one_rdm": 0, "power": 0, "expect": [0, 7], "w": [0, 7, 8], "slater": [0, 6, 7, 8], "determin": [0, 2, 6, 7, 8], "o": [0, 10], "m_": [0, 1, 2], "a_p": 0, "a_q": 0, "m": [0, 1, 2, 7], "let": [0, 8, 11], "lvert": [0, 9], "psi": [0, 9], "rangl": [0, 9], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "reduc": [0, 2], "densiti": 0, "expectation_one_body_product": [0, 5], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "indices_to_str": [0, 5], "statevector": [0, 6, 7], "bitstr": 0, "exampl": [0, 6, 7, 9, 11], "3": [0, 6, 7, 8, 9, 10, 11], "rang": [0, 6, 7, 8, 9], "011001": 0, "011010": 0, "011100": 0, "101001": 0, "101010": 0, "101100": 0, "110001": 0, "110010": 0, "110100": 0, "linear_oper": [0, 5, 8, 9, 10, 11], "multireference_st": [0, 5, 10], "ansatz_oper": 0, "reference_occup": [0, 10], "root": 0, "multirefer": 0, "occup": [0, 6, 7, 8], "desir": 0, "eigenvector": [0, 7], "lowest": [0, 7, 8], "one_hot": [0, 5], "shape": [0, 2, 3, 6, 9], "dtype": [0, 3, 9], "arrai": [0, 2, 6, 11], "zero": [0, 10], "except": 0, "hot": 0, "simulate_qdrift_double_factor": [0, 5], "n_step": [0, 8], "probabl": 0, "norm": 0, "n_sampl": 0, "seed": [0, 3, 4, 6, 7], "via": [0, 8], "qdrift": 0, "trotter": [0, 5], "step": [0, 7, 8], "sampl": [0, 3, 4], "els": [0, 3], "explicit": 0, "proport": [0, 7], "spectral": 0, "uniform": [0, 3], "requir": [0, 9], "whenev": 0, "complet": 0, "character": 0, "trajectori": 0, "pseudorandom": [0, 3, 4], "gener": [0, 3, 4, 5, 6, 7, 8, 9], "should": [0, 3, 4, 7, 8], "valid": [0, 3, 4], "input": [0, 1, 3, 4, 9], "random": [0, 4, 5, 6, 7, 11], "default_rng": [0, 3, 4], "numpi": [0, 2, 6, 7, 8, 9, 10], "just": [0, 8, 9], "simulate_trotter_double_factor": [0, 5, 8], "suzuki": 0, "formula": 0, "slater_determin": [0, 5, 6, 7, 8, 9], "occupied_orbit": [0, 6, 7, 8, 9], "configur": [0, 6], "word": [0, 9], "slater_determinant_one_rdm": [0, 5], "similarli": [0, 8], "construct": [1, 8, 9, 10, 11], "contract_diag_coulomb": [1, 5], "contract_num_op_sum": [1, 5], "diag_coulomb_linop": [1, 5], "implement": [1, 6, 7, 9], "num_op_sum_linop": [1, 5], "one_body_linop": [1, 5, 7], "algebra": [2, 11], "util": [2, 3, 4], "apply_matrix_to_slic": [2, 5], "target": 2, "slice": 2, "out": [2, 8], "double_factor": [2, 5], "ell": 2, "pk": 2, "qk": 2, "respect": 2, "too": 2, "small": 2, "exce": 2, "collect": 2, "double_factorized_t2": [2, 5], "t_": 2, "ijab": 2, "ap": 2, "ip": 2, "bq": 2, "jq": 2, "expm_multiply_taylor": [2, 5], "12": [2, 11], "expm": 2, "taylor": 2, "seri": 2, "expans": 2, "givens_decomposit": [2, 5], "is_antihermitian": [2, 5], "anti": [2, 3], "hermitian": [2, 3, 7], "is_hermitian": [2, 5], "is_orthogon": [2, 5], "orthogon": [2, 3], "union": 2, "bool_": 2, "is_real_symmetr": [2, 5], "is_special_orthogon": [2, 5], "special": [2, 3, 5, 6], "is_unitari": [2, 5], "lup": [2, 5], "pivot": 2, "lu": 2, "rtype": 2, "lower": 2, "unit": 2, "modified_choleski": [2, 5], "v_i": 2, "posit": [2, 10], "definit": 2, "No": 2, "check": [2, 7, 8], "verifi": 2, "1711": 2, "02242": 2, "assembl": 2, "reduced_matrix": [2, 5], "subspac": [2, 11], "span": 2, "some": [2, 8, 11], "v_j": 2, "random_antihermitian": [3, 5], "width": 3, "height": 3, "dype": 3, "random_hermitian": [3, 5, 7], "random_orthogon": [3, 5], "distribut": 3, "haar": 3, "measur": 3, "instanc": [3, 7, 8], "math": [3, 10], "ph": 3, "0609050": 3, "random_real_symmetric_matrix": [3, 5], "random_special_orthogon": [3, 5], "random_statevector": [3, 5, 11], "random_t2_amplitud": [3, 5], "random_two_body_tensor_r": [3, 5], "random_unitari": [3, 5, 6, 7], "random_nelec": [4, 5], "n_alpha": [4, 6, 7, 8, 9, 10], "n_beta": [4, 6, 7, 8, 9, 10], "random_occupied_orbit": [4, 5], "occ_a": 4, "occ_b": 4, "preserv": [5, 11], "categori": 5, "chemistri": 5, "By": [5, 6], "exploit": 5, "algorithm": 5, "faster": 5, "introduct": 5, "quadrat": [5, 8], "local": 5, "lucj": 5, "entangl": 5, "forg": 5, "contract": [5, 7], "linalg": [5, 7, 8, 11], "test": [5, 7, 8], "advantag": 6, "effici": [6, 11], "level": [6, 8], "doe": [6, 11], "primari": 6, "wai": [6, 7, 9], "directli": [6, 8], "code": [6, 8, 9, 11], "show": [6, 7, 8, 9, 10, 11], "how": [6, 7, 8, 9, 10, 11], "import": [6, 7, 8, 9, 10, 11], "6": [6, 7, 8, 9, 10, 11], "1234": [6, 7], "rotated_vec": [6, 7], "plain": 6, "Its": 6, "fix": 6, "For": [6, 7, 9, 11], "system": [6, 7], "conveni": 6, "comb": 6, "assert": 6, "standard": 6, "often": [6, 9], "simpli": [6, 7], "reshap": 6, "reshaped_vec": 6, "choic": 6, "pyscf": [6, 8, 9, 10], "modul": 6, "tutori": [7, 8, 9, 10], "ffsim": [7, 8, 9, 10, 11], "fundament": 7, "mode": 7, "sum_j": 7, "new": [7, 11], "th": 7, "satisfi": [7, 11], "anticommut": 7, "relat": [7, 9], "thei": [7, 9, 11], "align": [7, 9], "_1": 7, "_2": 7, "section": 7, "ll": [7, 8, 9], "demonstr": [7, 8, 9], "task": 7, "consid": [7, 9], "rewritten": 7, "introduc": [7, 9], "eigendecomposit": 7, "sum_k": [7, 8], "lambda_k": 7, "ik": 7, "jk": 7, "our": [7, 8, 9], "ground": [7, 9], "pick": 7, "phase": 7, "spars": [7, 8, 11], "eig": [7, 11], "eigsh": 7, "la": 7, "fact": 7, "you": 7, "illustr": 7, "purpos": 7, "explicitli": 7, "eigh": [7, 8], "evolved_vec": 7, "conj": 7, "undo": 7, "expected_phas": 7, "1j": [7, 8, 11], "assert_allclos": 7, "mention": [7, 8], "abov": [7, 8, 11], "below": [7, 8, 9], "better": [7, 8], "4": [7, 8, 9, 10, 11], "evolved_vec_alt": 7, "daunt": 8, "scale": 8, "cell": [8, 9], "hydrogen": 8, "molecul": [8, 9, 10], "stretch": [8, 9], "bond": [8, 9, 10], "build": [8, 9, 10], "h2": 8, "mol": [8, 9, 10], "gto": [8, 9, 10], "mole": [8, 9, 10], "atom": [8, 9, 10], "8": [8, 10, 11], "sto": [8, 9, 10], "6g": [8, 9, 10], "d2h": [8, 9], "rhf": [8, 9, 10], "kernel": [8, 9, 10], "mol_data": [8, 9, 10], "mol_hamiltonian": [8, 9, 10], "df_hamiltonian": 8, "converg": [8, 9, 10], "837796382593709": 8, "dataclass": [8, 9], "print": [8, 9, 10, 11], "inform": [8, 11], "One": 8, "27478830e": 8, "01": [8, 9, 10], "52909490e": 8, "17": 8, "5": [8, 9, 10, 11], "57029092e": 8, "77238770e": 8, "23173938e": 8, "58782168e": 8, "33545754e": 8, "49859013e": 8, "48240570e": 8, "83067333e": 8, "01841799e": 8, "53132024e": 8, "21318608e": 8, "00": [8, 10], "27383424e": 8, "16": 8, "82879498e": 8, "07792507e": 8, "14653029e": 8, "27521846e": 8, "62": 8, "39236953e": 8, "32": 8, "52090881e": 8, "03": [8, 10], "00000000e": 8, "7": [8, 11], "07106781e": 8, "27830444e": 8, "15": 8, "rest": 8, "although": 8, "alreadi": 8, "built": 8, "manual": 8, "asymmetr": 8, "basic": 8, "h_k": 8, "divid": 8, "singl": 8, "exponenti": 8, "individu": [8, 11], "do": [8, 11], "approx": 8, "prod_k": 8, "higher": 8, "deriv": 8, "write": 8, "recal": 8, "addit": [8, 11], "think": 8, "compos": 8, "def": [8, 9, 10], "simulate_trotter_step_double_factor": 8, "one_body_energi": 8, "one_body_basis_chang": 8, "zip": [8, 10], "finish": 8, "handl": 8, "split": 8, "multipl": [8, 11], "wrote": 8, "step_tim": 8, "match": 8, "initial_st": 8, "\u03c8": [8, 9, 10], "hf_energi": 8, "vdot": [8, 9, 10], "f": [8, 9, 10], "8377963825937084": 8, "now": 8, "later": 8, "exact_st": 8, "expm_multipli": 8, "tracea": 8, "fidel": 8, "ab": 8, "9696296369955066": 8, "final_st": [8, 9], "9990275744083494": 8, "improv": 8, "increas": 8, "10": 8, "9999906233109686": 8, "commonli": 8, "known": 8, "fourth": 8, "reproduc": 8, "9": [8, 9, 11], "fewer": 8, "9999999336740067": 8, "ethen": 9, "mcscf": [9, 10], "bond_dist": 9, "678": 9, "5626": 9, "c": 9, "9289": 9, "nelectron": 9, "ca": [9, 10], "casci": [9, 10], "nca": [9, 10], "neleca": [9, 10], "mo": [9, 10], "sort_mo": [9, 10], "energy_fci": [9, 10], "77": 9, "4456267643962": 9, "6290254326716": 9, "ci": [9, 10], "57322412553862": 9, "0000000": [9, 10], "phi_0": 9, "taken": 9, "express": 9, "previou": 9, "constructor": 9, "provid": 9, "truncat": 9, "ccsd": 9, "mp2": 9, "run": 9, "sinc": 9, "cc": 9, "frozen": 9, "nao_nr": 9, "reference_st": 9, "ansatz_st": [9, 10], "initiali": [9, 10], "49387212754473": 9, "e_corr": 9, "04824536314851268": 9, "46975600021676": 9, "facilit": 9, "convers": 9, "precis": 9, "somewhat": 9, "complic": 9, "short": 9, "entri": 9, "non": 9, "redund": 9, "associ": [9, 11], "fun": [9, 10], "x": [9, 10], "x0": [9, 10], "maxfun": 9, "50000": 9, "len": [9, 10], "72": 9, "messag": [9, 10], "rel_reduction_of_f_": 9, "lt": 9, "_factr": 9, "epsmch": 9, "success": [9, 10], "statu": [9, 10], "62902198093012": 9, "843e": 9, "591e": 9, "720e": 9, "600e": 9, "nit": 9, "269": 9, "jac": 9, "416e": 9, "126e": 9, "606e": 9, "04": 9, "948e": 9, "06": 9, "nfev": [9, 10], "21316": 9, "njev": 9, "292": 9, "hess_inv": 9, "72x72": 9, "lbfgsinvhessproduct": 9, "float64": 9, "gt": 9, "either": 9, "connect": 9, "swap": 9, "network": 9, "make": 9, "challeng": 9, "noisi": 9, "pre": 9, "fault": 9, "processor": 9, "idea": 9, "impos": 9, "sparsiti": 9, "constraint": 9, "them": 9, "depth": 9, "topologi": 9, "triangl": 9, "need": 9, "lattic": 9, "parallel": 9, "line": 9, "rung": 9, "ladder": 9, "With": 9, "setup": 9, "while": 9, "share": 9, "ldot": 9, "without": 9, "Of": 9, "cours": 9, "less": 9, "notic": 9, "decreas": 9, "46": 9, "62848215844997": 9, "198e": 9, "593e": 9, "02": [9, 10], "183e": 9, "078e": 9, "450": 9, "492e": 9, "629e": 9, "435e": 9, "638e": 9, "22701": 9, "483": 9, "46x46": 9, "water": 10, "equilibrium": 10, "radius_1": 10, "958": 10, "radius_2": 10, "bond_angle_deg": 10, "104": 10, "478": 10, "h1_x": 10, "h2_x": 10, "180": 10, "h2_y": 10, "c2v": 10, "n_electron": 10, "mo_occ": 10, "75": 10, "6787887956297": 10, "7079508859773": 10, "14": 10, "3336207346502": 10, "reference_occupations_spati": 10, "68366174447621": 10, "cobyla": 10, "maxit": 10, "100": 10, "evalu": 10, "exceed": 10, "69430210093412": 10, "344e": 10, "447e": 10, "883e": 10, "105e": 10, "881e": 10, "maxcv": 10, "25": 11, "Such": 11, "programmat": 11, "dictionari": 11, "hash": 11, "tabl": 11, "three": 11, "piec": 11, "being": 11, "upon": 11, "intern": 11, "itself": 11, "recommend": 11, "helper": 11, "shown": 11, "op1": 11, "repr": 11, "view": 11, "displai": 11, "39": 11, "0j": 11, "arithmet": 11, "multipli": 11, "scalar": 11, "go": 11, "op": 11, "op2": 11, "op3": 11, "0625": 11, "2j": 11, "25j": 11, "5j": 11, "125": 11, "good": 11, "awar": 11, "especi": 11, "avoid": 11, "These": 11, "subtract": 11, "divis": 11, "4j": 11, "12j": 11, "3j": 11, "6j": 11, "far": 11, "criteria": 11, "op4": 11, "linop": 11, "onto": 11, "14416721": 11, "01183319j": 11, "most": 11, "lm": 11, "21984743e": 11, "18j": 11}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [1, 0, 0, "-", "contract"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_one_body_power"], [0, 5, 1, "", "expectation_one_body_product"], [0, 5, 1, "", "indices_to_strings"], [2, 0, 0, "-", "linalg"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "one_hot"], [3, 0, 0, "-", "random"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_one_rdm"], [4, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.MolecularData": [[0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 3, 1, "", "from_hartree_fock"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.UCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.contract": [[1, 5, 1, "", "contract_diag_coulomb"], [1, 5, 1, "", "contract_num_op_sum"], [1, 5, 1, "", "diag_coulomb_linop"], [1, 5, 1, "", "num_op_sum_linop"], [1, 5, 1, "", "one_body_linop"]], "ffsim.linalg": [[2, 5, 1, "", "apply_matrix_to_slices"], [2, 5, 1, "", "double_factorized"], [2, 5, 1, "", "double_factorized_t2"], [2, 5, 1, "", "expm_multiply_taylor"], [2, 5, 1, "", "givens_decomposition"], [2, 5, 1, "", "is_antihermitian"], [2, 5, 1, "", "is_hermitian"], [2, 5, 1, "", "is_orthogonal"], [2, 5, 1, "", "is_real_symmetric"], [2, 5, 1, "", "is_special_orthogonal"], [2, 5, 1, "", "is_unitary"], [2, 5, 1, "", "lup"], [2, 5, 1, "", "modified_cholesky"], [2, 5, 1, "", "reduced_matrix"]], "ffsim.random": [[3, 5, 1, "", "random_antihermitian"], [3, 5, 1, "", "random_hermitian"], [3, 5, 1, "", "random_orthogonal"], [3, 5, 1, "", "random_real_symmetric_matrix"], [3, 5, 1, "", "random_special_orthogonal"], [3, 5, 1, "", "random_statevector"], [3, 5, 1, "", "random_t2_amplitudes"], [3, 5, 1, "", "random_two_body_tensor_real"], [3, 5, 1, "", "random_unitary"]], "ffsim.testing": [[4, 5, 1, "", "random_nelec"], [4, 5, 1, "", "random_occupied_orbitals"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"ffsim": [0, 1, 2, 3, 4, 5, 6], "contract": 1, "linalg": 2, "random": 3, "test": 4, "welcom": 5, "": 5, "document": 5, "tutori": 5, "api": 5, "refer": 5, "introduct": 6, "orbit": 7, "rotat": 7, "quadrat": 7, "hamiltonian": [7, 8], "time": 7, "evolut": 7, "diagon": 8, "coulomb": 8, "oper": 8, "doubl": 8, "factor": 8, "trotter": 8, "simul": 8, "represent": 8, "molecular": 8, "brief": 8, "background": 8, "suzuki": 8, "formula": 8, "implement": 8, "The": [9, 11], "local": 9, "unitari": 9, "cluster": 9, "jastrow": 9, "lucj": 9, "ansatz": 9, "ucj": 9, "entangl": 10, "forg": 10, "fermionoper": 11, "class": 11}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"ffsim": [[0, "module-ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.random": [[3, "module-ffsim.random"]], "ffsim.testing": [[4, "module-ffsim.testing"]], "Welcome to ffsim\u2019s documentation!": [[5, "welcome-to-ffsim-s-documentation"]], "Tutorials": [[5, "tutorials"]], "API Reference": [[5, "api-reference"]], "Introduction to ffsim": [[6, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[7, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[7, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[7, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[8, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[8, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[8, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[8, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[8, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[9, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [9, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[9, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Entanglement forging": [[10, "Entanglement-forging"]], "The FermionOperator class": [[11, "The-FermionOperator-class"]]}, "indexentries": {"doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian"]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction"]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator"]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator"]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData"]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian"]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary"]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality"]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator"]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace"]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator"]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action"]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution"]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate"]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation"]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate"]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction"]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction"]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction"]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution"]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation"]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction"]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary"]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq"]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number"]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z"]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant"]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant"]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy"]], "cre() (in module ffsim)": [[0, "ffsim.cre"]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a"]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b"]], "des() (in module ffsim)": [[0, "ffsim.des"]], "des_a() (in module ffsim)": [[0, "ffsim.des_a"]], "des_b() (in module ffsim)": [[0, "ffsim.des_b"]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats"]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta"]], "dim() (in module ffsim)": [[0, "ffsim.dim"]], "dims() (in module ffsim)": [[0, "ffsim.dims"]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals"]], "expectation_one_body_power() (in module ffsim)": [[0, "ffsim.expectation_one_body_power"]], "expectation_one_body_product() (in module ffsim)": [[0, "ffsim.expectation_one_body_product"]], "ffsim": [[0, "module-ffsim"]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation"]], "from_hartree_fock() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_hartree_fock"]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian"]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters"]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes"]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian"]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings"]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator"]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order"]], "module": [[0, "module-ffsim"], [1, "module-ffsim.contract"], [2, "module-ffsim.linalg"], [3, "module-ffsim.random"], [4, "module-ffsim.testing"]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state"]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps"]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec"]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb"]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb"]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb"]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb"]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered"]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor"]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor"]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot"]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb"]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations"]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations"]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries"]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized"]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized"]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant"]], "slater_determinant_one_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_one_rdm"]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin"]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation"]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters"]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes"]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation"]], "trace() (in module ffsim)": [[0, "ffsim.trace"]], "two_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_tensor"]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor"]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation"]], "contract_diag_coulomb() (in module ffsim.contract)": [[1, "ffsim.contract.contract_diag_coulomb"]], "contract_num_op_sum() (in module ffsim.contract)": [[1, "ffsim.contract.contract_num_op_sum"]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "num_op_sum_linop() (in module ffsim.contract)": [[1, "ffsim.contract.num_op_sum_linop"]], "one_body_linop() (in module ffsim.contract)": [[1, "ffsim.contract.one_body_linop"]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices"]], "double_factorized() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized"]], "double_factorized_t2() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2"]], "expm_multiply_taylor() (in module ffsim.linalg)": [[2, "ffsim.linalg.expm_multiply_taylor"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "givens_decomposition() (in module ffsim.linalg)": [[2, "ffsim.linalg.givens_decomposition"]], "is_antihermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_antihermitian"]], "is_hermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_hermitian"]], "is_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_orthogonal"]], "is_real_symmetric() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_real_symmetric"]], "is_special_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_special_orthogonal"]], "is_unitary() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_unitary"]], "lup() (in module ffsim.linalg)": [[2, "ffsim.linalg.lup"]], "modified_cholesky() (in module ffsim.linalg)": [[2, "ffsim.linalg.modified_cholesky"]], "reduced_matrix() (in module ffsim.linalg)": [[2, "ffsim.linalg.reduced_matrix"]], "ffsim.random": [[3, "module-ffsim.random"]], "random_antihermitian() (in module ffsim.random)": [[3, "ffsim.random.random_antihermitian"]], "random_hermitian() (in module ffsim.random)": [[3, "ffsim.random.random_hermitian"]], "random_orthogonal() (in module ffsim.random)": [[3, "ffsim.random.random_orthogonal"]], "random_real_symmetric_matrix() (in module ffsim.random)": [[3, "ffsim.random.random_real_symmetric_matrix"]], "random_special_orthogonal() (in module ffsim.random)": [[3, "ffsim.random.random_special_orthogonal"]], "random_statevector() (in module ffsim.random)": [[3, "ffsim.random.random_statevector"]], "random_t2_amplitudes() (in module ffsim.random)": [[3, "ffsim.random.random_t2_amplitudes"]], "random_two_body_tensor_real() (in module ffsim.random)": [[3, "ffsim.random.random_two_body_tensor_real"]], "random_unitary() (in module ffsim.random)": [[3, "ffsim.random.random_unitary"]], "ffsim.testing": [[4, "module-ffsim.testing"]], "random_nelec() (in module ffsim.testing)": [[4, "ffsim.testing.random_nelec"]], "random_occupied_orbitals() (in module ffsim.testing)": [[4, "ffsim.testing.random_occupied_orbitals"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.linalg", "api/ffsim.random", "api/ffsim.testing", "index", "tutorials/01-introduction", "tutorials/02-orbital-rotation", "tutorials/03-double-factorized", "tutorials/04-lucj", "tutorials/05-entanglement-forging", "tutorials/06-fermion-operator"], "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.linalg.rst", "api/ffsim.random.rst", "api/ffsim.testing.rst", "index.rst", "tutorials/01-introduction.ipynb", "tutorials/02-orbital-rotation.ipynb", "tutorials/03-double-factorized.ipynb", "tutorials/04-lucj.ipynb", "tutorials/05-entanglement-forging.ipynb", "tutorials/06-fermion-operator.ipynb"], "titles": ["ffsim", "ffsim.contract", "ffsim.linalg", "ffsim.random", "ffsim.testing", "Welcome to ffsim\u2019s documentation!", "Introduction to ffsim", "Orbital rotations and quadratic Hamiltonians", "Diagonal Coulomb operators and double-factorized Trotter simulation", "The local unitary cluster Jastrow (LUCJ) ansatz", "Entanglement forging", "The FermionOperator class"], "terms": {"i": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11], "softwar": [0, 5, 6], "librari": [0, 5, 6], "fast": 0, "simul": [0, 5, 6, 7, 9, 10], "fermion": [0, 5, 6, 7, 9, 11], "quantum": [0, 5, 6, 8, 9], "circuit": [0, 5, 6], "class": [0, 3, 5, 6, 9], "doublefactorizedhamiltonian": [0, 5, 8], "one_body_tensor": [0, 7, 8], "diag_coulomb_mat": [0, 8], "orbital_rot": [0, 1, 6, 7, 8], "constant": [0, 8, 9], "0": [0, 7, 8, 9, 10, 11], "z_represent": [0, 1], "fals": [0, 1, 2, 10, 11], "sourc": [0, 1, 2, 3, 4], "base": [0, 2, 9, 10], "object": [0, 2, 9, 11], "A": [0, 1, 2, 3, 4, 7, 8, 9, 11], "hamiltonian": [0, 5, 9, 10], "doubl": [0, 2, 5, 9], "factor": [0, 2, 5, 9], "form": [0, 1, 2, 7, 8, 9, 11], "low": [0, 2, 6], "rank": [0, 2, 3], "decomposit": [0, 2], "The": [0, 1, 2, 3, 4, 5, 6, 7, 8], "molecular": [0, 9, 10], "h": [0, 8, 9, 10], "sum_": [0, 1, 2, 7, 8, 9], "pq": [0, 2, 8], "sigma": [0, 1, 7, 8, 9], "kappa_": 0, "dagger_": [0, 7, 8], "p": [0, 2, 8, 9], "a_": [0, 7, 8, 11], "q": [0, 8], "frac12": [0, 8, 9], "sum_t": 0, "ij": [0, 1, 2, 7, 8, 9], "tau": [0, 1, 8, 9], "z": [0, 1, 2, 5, 6, 11], "t": [0, 2, 7, 8], "_": [0, 2, 7, 8, 9], "n": [0, 2, 6, 7, 8, 9], "j": [0, 1, 7, 8, 9, 11], "text": [0, 8], "where": [0, 1, 2, 7, 8, 9], "u": [0, 1, 2], "pi": [0, 10], "qi": 0, "here": [0, 2, 6, 7, 8], "each": [0, 2, 6, 8, 9, 11], "unitari": [0, 1, 2, 3, 5, 7, 8], "matrix": [0, 1, 2, 3, 6, 7, 8, 9, 11], "real": [0, 1, 2, 3, 7, 8, 9, 10], "symmetr": [0, 1, 2, 3, 8, 9], "represent": [0, 1, 2, 6, 11], "an": [0, 1, 2, 3, 6, 7, 8, 9, 11], "altern": [0, 8], "sometim": 0, "yield": [0, 2, 8, 9], "simpler": 0, "under": 0, "jordan": 0, "wigner": 0, "transform": [0, 1, 6, 7], "number": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "oper": [0, 1, 2, 5, 7, 9, 10, 11], "take": [0, 6, 9], "frac": 0, "1": [0, 2, 3, 6, 7, 8, 9, 10, 11], "2": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11], "pauli": 0, "rotat": [0, 1, 2, 5, 6, 8, 9], "basi": [0, 7, 8, 9, 10], "obtain": [0, 7, 8, 9], "rewrit": 0, "two": [0, 2, 3, 8, 9, 10], "bodi": [0, 1, 2, 3, 8, 9, 10], "part": [0, 2], "term": [0, 1, 2, 8, 9, 11], "updat": [0, 8], "one": [0, 1, 2, 6, 8, 9, 10], "appropri": 0, "kappa": 0, "frac18": 0, "asterisk": 0, "denot": [0, 1, 7], "summat": 0, "over": 0, "indic": [0, 2, 9, 11], "neq": [0, 1], "tensor": [0, 1, 2, 3, 8, 9, 10], "type": [0, 1, 2, 3, 4], "np": [0, 3, 4, 7, 8, 9, 10], "ndarrai": [0, 1, 2, 3, 8], "diagon": [0, 1, 2, 5, 7, 9], "coulomb": [0, 1, 2, 5, 9], "matric": [0, 1, 2, 7, 8, 9], "orbit": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11], "float": [0, 2, 3, 8], "whether": [0, 1, 2, 11], "rather": [0, 6], "than": [0, 5, 6, 9], "bool": [0, 1, 2], "static": 0, "from_molecular_hamiltonian": [0, 8], "tol": [0, 2], "1e": [0, 2], "08": [0, 2], "max_vec": [0, 2], "none": [0, 1, 2, 3, 4], "optim": [0, 2, 9, 10], "method": [0, 2, 9, 10], "l": [0, 2, 8, 9], "bfg": [0, 2, 9], "b": [0, 2, 7, 9], "option": [0, 1, 2, 3, 9, 10], "diag_coulomb_mask": [0, 2], "choleski": [0, 2], "true": [0, 2, 6, 9, 11], "act": [0, 11], "h_": [0, 2, 8], "pqr": [0, 2, 8], "r": [0, 2, 8], "": [0, 2, 6, 8, 9, 10, 11], "decompos": [0, 2, 8], "ar": [0, 1, 2, 3, 6, 7, 8, 9, 11], "output": [0, 8, 9], "guarante": 0, "so": [0, 2, 7, 8, 9, 11], "depend": [0, 2, 6], "allow": [0, 2, 9], "error": [0, 2], "threshold": [0, 2], "larger": [0, 2, 11], "lead": 0, "smaller": [0, 2, 8, 11], "furthermor": [0, 2], "max_rank": 0, "paramet": [0, 1, 2, 3, 4, 9, 10], "specifi": [0, 2, 9], "upper": [0, 2, 9], "bound": [0, 2], "default": [0, 2, 3], "behavior": [0, 2, 3], "thi": [0, 2, 5, 6, 7, 8, 9, 10], "routin": [0, 2, 6, 11], "perform": [0, 2, 7, 8], "straightforward": [0, 2], "exact": [0, 2, 6, 8], "nest": [0, 2], "eigenvalu": [0, 2, 7], "addition": [0, 2], "can": [0, 2, 5, 6, 7, 8, 9, 11], "choos": [0, 2, 6, 9], "coeffici": [0, 1, 2, 7, 9, 11], "store": [0, 2, 8, 9], "achiev": [0, 2, 8], "compress": [0, 2], "enabl": [0, 2], "set": [0, 2, 6, 7, 8, 9], "attempt": [0, 2], "minim": [0, 2, 9, 10], "least": [0, 2], "squar": [0, 2, 9], "function": [0, 1, 2, 6, 7, 8, 9, 10, 11], "quantifi": [0, 2], "It": [0, 2, 6, 8, 11], "us": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11], "scipi": [0, 2, 6, 7, 8, 9, 10, 11], "pass": [0, 2, 7, 11], "both": [0, 2], "its": [0, 2, 7, 8, 11], "gradient": [0, 2], "return": [0, 1, 2, 3, 4, 8, 9, 10, 11], "constrain": [0, 2], "have": [0, 2, 6, 7, 9, 11], "onli": [0, 2, 6, 7, 9], "certain": [0, 2], "element": [0, 2], "nonzero": [0, 2, 9], "which": [0, 2, 3, 6, 7, 8, 9, 11], "time": [0, 2, 6, 8], "boolean": [0, 2], "valu": [0, 1, 2, 3, 8, 9], "triangular": [0, 2], "becaus": [0, 2, 6, 8, 9, 11], "note": [0, 9, 11], "current": 0, "support": [0, 11], "two_body_tensor": [0, 2, 8], "toler": [0, 2, 9], "defin": [0, 2, 9, 10], "maximum": [0, 2, 3, 10], "absolut": [0, 2], "differ": [0, 1, 2, 9], "between": [0, 1, 2, 9], "origin": [0, 2, 8], "correspond": [0, 2, 7, 8], "reconstruct": [0, 2], "int": [0, 1, 2, 3, 4, 8, 10], "limit": [0, 2, 9], "keep": [0, 2], "argument": [0, 2, 7], "overrid": [0, 2], "str": [0, 2], "see": [0, 2], "document": [0, 2], "possibl": [0, 2], "callback": [0, 2], "usag": [0, 2, 11], "dict": [0, 2, 9, 10], "mask": [0, 2], "modifi": [0, 2], "If": [0, 1, 2, 3, 11], "full": [0, 2, 6], "instead": [0, 2], "much": [0, 2, 5, 6], "more": [0, 2, 6, 9], "expens": [0, 2], "ignor": [0, 2, 8], "refer": [0, 2, 3, 9], "arxiv": [0, 2, 3], "1808": [0, 2], "02625": [0, 2], "2104": [0, 2], "08957": [0, 2], "properti": [0, 7], "norb": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11], "spatial": [0, 1, 4, 6, 8, 9, 11], "to_number_represent": 0, "to_z_represent": 0, "fermionact": [0, 5], "action": [0, 1, 7, 11], "spin": [0, 1, 5, 6, 7, 9, 10, 11], "orb": [0, 11], "namedtupl": 0, "alia": 0, "field": 0, "fermionoper": [0, 5], "coeff": [0, 1], "repres": [0, 6, 9, 11], "linear": [0, 1, 2, 7, 11], "combin": [0, 1, 7, 11], "product": [0, 8, 11], "creation": [0, 7, 11], "annihil": [0, 11], "explan": 0, "how": [0, 6, 7, 8, 9, 10, 11], "exampl": [0, 6, 7, 9, 11], "import": [0, 6, 7, 8, 9, 10, 11], "op": [0, 11], "cre_a": [0, 5, 11], "des_a": [0, 5, 11], "3": [0, 6, 7, 8, 9, 10, 11], "5": [0, 8, 9, 10, 11], "25": [0, 11], "cre_b": [0, 5, 11], "des_b": [0, 5, 11], "4": [0, 7, 8, 9, 10, 11], "1j": [0, 7, 8, 11], "tupl": [0, 1, 2, 4, 8, 11], "complex": [0, 1, 2, 3], "conserves_particle_numb": [0, 11], "conserv": [0, 6, 11], "particl": [0, 4, 5, 6, 7, 11], "otherwis": 0, "conserves_spin_z": [0, 11], "compon": [0, 5, 6, 11], "many_body_ord": 0, "mani": [0, 5], "order": [0, 6, 8, 9, 11], "length": [0, 6, 8, 9], "longest": 0, "contain": [0, 2, 9, 11], "normal_ord": [0, 11], "normal": [0, 11], "equival": 0, "ha": [0, 1, 2, 6, 7, 8, 9, 10], "been": [0, 10], "reorder": 0, "canon": 0, "In": [0, 7, 8, 9, 10, 11], "compris": [0, 11], "appear": [0, 11], "from": [0, 3, 6, 7, 9, 10, 11], "left": [0, 7, 11], "right": [0, 7, 11], "descend": [0, 11], "lexicograph": [0, 11], "That": [0, 7, 11], "all": [0, 9, 11], "befor": [0, 9, 11], "within": [0, 2, 11], "beta": [0, 1, 4, 6, 9, 11], "alpha": [0, 1, 4, 6, 9, 11], "hopgateansatzoper": [0, 5, 10], "interaction_pair": [0, 10], "theta": [0, 10], "hop": 0, "gate": [0, 9], "ansatz": [0, 5, 10], "moleculardata": [0, 5, 8, 9, 10], "nelec": [0, 1, 4, 6, 7, 8, 9, 10, 11], "core_energi": 0, "dipole_integr": 0, "orbital_symmetri": 0, "data": [0, 3, 8, 9, 10, 11], "electron": [0, 1, 3, 4, 6, 8], "core": [0, 2], "energi": [0, 7, 8, 9, 10], "dipol": 0, "integr": 0, "symmetri": [0, 5, 6, 7, 8, 9, 10], "from_hartree_fock": [0, 8, 9, 10], "hartree_fock": [0, 8, 9, 10], "active_spac": [0, 9, 10], "initi": [0, 3, 4, 8, 9, 10], "hartre": [0, 8, 9], "fock": [0, 8, 9], "calcul": [0, 6, 8, 9], "scf": [0, 8, 9, 10], "iter": 0, "list": [0, 1, 2, 4, 9, 10], "activ": [0, 9, 10], "space": [0, 9, 10], "molecularhamiltonian": [0, 5, 8], "call": [0, 6, 7, 8, 11], "supportsapplyunitari": [0, 5], "arg": 0, "kwarg": 0, "protocol": 0, "appli": [0, 1, 2, 6, 7, 8, 9], "vector": [0, 1, 2, 3, 6, 7, 9, 10, 11], "supportsapproximateequ": [0, 5], "compar": [0, 8], "approxim": [0, 2, 8], "supportslinearoper": [0, 5], "convert": [0, 1, 6, 7, 8, 11], "linearoper": [0, 1, 7, 8, 11], "supportstrac": [0, 5], "whose": [0, 2, 6], "trace": [0, 5, 8], "comput": [0, 2, 7, 9, 10], "ucjoper": [0, 5, 9], "diag_coulomb_mats_alpha_alpha": 0, "diag_coulomb_mats_alpha_beta": 0, "final_orbital_rot": 0, "cluster": [0, 5], "jastrow": [0, 5], "ucj": 0, "prod_": [0, 9], "k": [0, 2, 7, 8, 9, 11], "mathcal": [0, 1, 7, 8, 9], "w_k": [0, 9], "e": [0, 8, 9, 10, 11], "_k": [0, 8, 9], "dagger": [0, 1, 2, 7, 8, 9, 11], "mathbf": [0, 7, 8, 9], "n_": [0, 1, 6, 7, 8, 9], "commut": [0, 8, 9], "total": [0, 8, 9], "we": [0, 7, 8, 9, 10, 11], "enforc": [0, 9], "As": [0, 6, 7, 8, 9], "result": [0, 1, 2, 3, 7, 8, 9, 10], "describ": [0, 1, 6, 7, 8, 9, 11], "involv": [0, 9], "same": [0, 6, 9], "To": [0, 6, 7, 8, 9], "variat": [0, 9], "final": [0, 8, 9], "includ": [0, 2, 5, 6, 7, 8], "end": [0, 7, 9], "from_paramet": [0, 9], "param": 0, "n_rep": [0, 9, 10], "alpha_alpha_indic": [0, 9], "alpha_beta_indic": [0, 9], "with_final_orbital_rot": 0, "from_t_amplitud": [0, 9], "t2_amplitud": [0, 2], "t1_amplitud": 0, "t2": [0, 2, 3, 9], "t1": [0, 9], "amplitud": [0, 2, 3, 9], "repetit": [0, 9], "to_paramet": [0, 9], "to_t_amplitud": 0, "nocc": [0, 3], "possibli": 0, "apply_diag_coulomb_evolut": [0, 5, 8], "vec": [0, 1, 2, 6, 7, 8, 11], "mat": [0, 1, 2], "mat_alpha_beta": [0, 1], "occupations_a": [0, 1], "occupations_b": [0, 1], "strings_a": [0, 1], "strings_b": [0, 1], "orbital_rotation_index_a": 0, "orbital_rotation_index_b": 0, "copi": [0, 11], "evolut": [0, 8], "exp": [0, 7], "z_": [0, 1], "also": [0, 1, 7, 11], "given": [0, 1, 2, 7, 8], "place": [0, 1, 9, 11], "sum": [0, 1, 8, 10], "state": [0, 1, 3, 7, 8, 9, 10], "interact": [0, 1, 6], "occupi": [0, 1, 3, 4, 8], "string": [0, 1, 6, 11], "index": [0, 6, 9, 11], "alwai": [0, 2, 7], "newli": 0, "alloc": 0, "untouch": 0, "mai": [0, 2, 9], "still": [0, 9], "overwritten": 0, "evolv": [0, 8], "apply_fsim_g": [0, 5], "phi": 0, "target_orb": 0, "fsim": 0, "consist": 0, "tunnel": 0, "follow": [0, 6, 7, 8, 9, 11], "neg": 0, "sign": 0, "convent": 0, "angl": [0, 10], "nn": 0, "dagger_i": 0, "a_i": 0, "dagger_j": 0, "a_j": [0, 1], "when": [0, 8, 9, 11], "neighbor": 0, "qubit": [0, 9], "begin": [0, 7, 9], "pmatrix": 0, "co": [0, 10], "sin": [0, 10], "apply_givens_rot": [0, 5], "g": [0, 9], "apply_hop_g": [0, 5], "apply_num_interact": [0, 5], "apply_num_num_interact": [0, 5], "apply_num_op_prod_interact": [0, 5], "prod": 0, "sequenc": 0, "pair": [0, 4], "integ": 0, "give": [0, 7], "first": [0, 2, 7, 8, 9, 10], "second": [0, 2, 8, 10], "apply_num_op_sum_evolut": [0, 5, 7, 8], "lambda_i": [0, 1, 7], "rais": 0, "valueerror": 0, "must": [0, 2, 11], "dimension": [0, 2, 6], "apply_orbital_rot": [0, 5, 6, 7], "allow_row_permut": 0, "allow_col_permut": 0, "map": [0, 7, 11], "mapsto": [0, 7], "u_": 0, "ji": [0, 7], "log": 0, "permut": [0, 2], "row": [0, 6], "column": [0, 2, 6, 7], "wa": 0, "well": 0, "actual": [0, 7, 9], "effect": [0, 9], "apply_tunneling_interact": [0, 5], "apply_unitari": [0, 5, 9], "obj": 0, "ani": [0, 7, 9], "approx_eq": [0, 5], "other": [0, 9], "rtol": [0, 2], "05": [0, 2, 9], "atol": [0, 2], "equal": 0, "isclos": 0, "interpret": 0, "rel": [0, 2], "numer": [0, 2, 11], "up": [0, 7], "cre": [0, 5], "creat": [0, 6, 7, 8, 9, 11], "de": [0, 5], "destroi": [0, 11], "dim": [0, 3, 5, 6, 11], "get": [0, 7, 8, 9, 10], "dimens": [0, 3, 6], "fci": [0, 6, 9, 10], "dim_a": [0, 6], "dim_b": [0, 6], "expectation_one_body_pow": [0, 5], "one_rdm": 0, "power": 0, "expect": [0, 7], "w": [0, 7, 8], "slater": [0, 6, 7, 8], "determin": [0, 2, 6, 7, 8], "o": [0, 10], "m_": [0, 1, 2], "a_p": 0, "a_q": 0, "m": [0, 1, 2, 7], "let": [0, 8, 11], "lvert": [0, 9], "psi": [0, 9], "rangl": [0, 9], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "reduc": [0, 2], "densiti": 0, "expectation_one_body_product": [0, 5], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "indices_to_str": [0, 5], "statevector": [0, 6, 7], "bitstr": 0, "rang": [0, 6, 7, 8, 9], "011001": 0, "011010": 0, "011100": 0, "101001": 0, "101010": 0, "101100": 0, "110001": 0, "110010": 0, "110100": 0, "linear_oper": [0, 5, 8, 9, 10, 11], "multireference_st": [0, 5, 10], "ansatz_oper": 0, "reference_occup": [0, 10], "root": 0, "multirefer": 0, "occup": [0, 6, 7, 8], "desir": 0, "eigenvector": [0, 7], "lowest": [0, 7, 8], "one_hot": [0, 5], "shape": [0, 2, 3, 6, 9], "dtype": [0, 3, 9], "arrai": [0, 2, 6, 11], "zero": [0, 10], "except": 0, "hot": 0, "simulate_qdrift_double_factor": [0, 5], "n_step": [0, 8], "probabl": 0, "norm": 0, "n_sampl": 0, "seed": [0, 3, 4, 6, 7], "via": [0, 8], "qdrift": 0, "trotter": [0, 5], "step": [0, 7, 8], "sampl": [0, 3, 4], "els": [0, 3], "explicit": 0, "proport": [0, 7], "spectral": 0, "uniform": [0, 3], "requir": [0, 9], "whenev": 0, "complet": 0, "character": 0, "trajectori": 0, "pseudorandom": [0, 3, 4], "gener": [0, 3, 4, 5, 6, 7, 8, 9], "should": [0, 3, 4, 7, 8], "valid": [0, 3, 4], "input": [0, 1, 3, 4, 9], "random": [0, 4, 5, 6, 7, 11], "default_rng": [0, 3, 4], "numpi": [0, 2, 6, 7, 8, 9, 10], "just": [0, 8, 9], "simulate_trotter_double_factor": [0, 5, 8], "suzuki": 0, "formula": 0, "slater_determin": [0, 5, 6, 7, 8, 9], "occupied_orbit": [0, 6, 7, 8, 9], "configur": [0, 6], "word": [0, 9], "slater_determinant_one_rdm": [0, 5], "similarli": [0, 8], "construct": [1, 8, 9, 10, 11], "contract_diag_coulomb": [1, 5], "contract_num_op_sum": [1, 5], "diag_coulomb_linop": [1, 5], "implement": [1, 6, 7, 9], "num_op_sum_linop": [1, 5], "one_body_linop": [1, 5, 7], "algebra": [2, 11], "util": [2, 3, 4], "apply_matrix_to_slic": [2, 5], "target": 2, "slice": 2, "out": [2, 8], "double_factor": [2, 5], "ell": 2, "pk": 2, "qk": 2, "respect": 2, "too": 2, "small": 2, "exce": 2, "collect": 2, "double_factorized_t2": [2, 5], "t_": 2, "ijab": 2, "ap": 2, "ip": 2, "bq": 2, "jq": 2, "expm_multiply_taylor": [2, 5], "12": [2, 11], "expm": 2, "taylor": 2, "seri": 2, "expans": 2, "givens_decomposit": [2, 5], "is_antihermitian": [2, 5], "anti": [2, 3], "hermitian": [2, 3, 7], "is_hermitian": [2, 5], "is_orthogon": [2, 5], "orthogon": [2, 3], "union": 2, "bool_": 2, "is_real_symmetr": [2, 5], "is_special_orthogon": [2, 5], "special": [2, 3, 5, 6], "is_unitari": [2, 5], "lup": [2, 5], "pivot": 2, "lu": 2, "rtype": 2, "lower": 2, "unit": 2, "modified_choleski": [2, 5], "v_i": 2, "posit": [2, 10], "definit": 2, "No": 2, "check": [2, 7, 8], "verifi": 2, "1711": 2, "02242": 2, "assembl": 2, "reduced_matrix": [2, 5], "subspac": [2, 11], "span": 2, "some": [2, 8, 11], "v_j": 2, "random_antihermitian": [3, 5], "width": 3, "height": 3, "dype": 3, "random_hermitian": [3, 5, 7], "random_orthogon": [3, 5], "distribut": 3, "haar": 3, "measur": 3, "instanc": [3, 7, 8], "math": [3, 10], "ph": 3, "0609050": 3, "random_real_symmetric_matrix": [3, 5], "random_special_orthogon": [3, 5], "random_statevector": [3, 5, 11], "random_t2_amplitud": [3, 5], "random_two_body_tensor_r": [3, 5], "random_unitari": [3, 5, 6, 7], "random_nelec": [4, 5], "n_alpha": [4, 6, 7, 8, 9, 10], "n_beta": [4, 6, 7, 8, 9, 10], "random_occupied_orbit": [4, 5], "occ_a": 4, "occ_b": 4, "preserv": [5, 11], "categori": 5, "chemistri": 5, "By": [5, 6], "exploit": 5, "algorithm": 5, "faster": 5, "introduct": 5, "quadrat": [5, 8], "local": 5, "lucj": 5, "entangl": 5, "forg": 5, "contract": [5, 7], "linalg": [5, 7, 8, 11], "test": [5, 7, 8], "advantag": 6, "effici": [6, 11], "level": [6, 8], "doe": [6, 11], "primari": 6, "wai": [6, 7, 9], "directli": [6, 8], "code": [6, 8, 9, 11], "show": [6, 7, 8, 9, 10, 11], "6": [6, 7, 8, 10, 11], "1234": [6, 7], "rotated_vec": [6, 7], "plain": 6, "Its": 6, "fix": 6, "For": [6, 7, 9, 11], "system": [6, 7], "conveni": 6, "comb": 6, "assert": 6, "standard": 6, "often": [6, 9], "simpli": [6, 7], "reshap": 6, "reshaped_vec": 6, "choic": 6, "pyscf": [6, 8, 9, 10], "modul": 6, "tutori": [7, 8, 9, 10], "ffsim": [7, 8, 9, 10, 11], "fundament": 7, "mode": 7, "sum_j": 7, "new": [7, 11], "th": 7, "satisfi": [7, 11], "anticommut": 7, "relat": [7, 9], "thei": [7, 9, 11], "align": [7, 9], "_1": 7, "_2": 7, "section": 7, "ll": [7, 8, 9], "demonstr": [7, 8, 9], "task": 7, "consid": [7, 9], "rewritten": 7, "introduc": [7, 9], "eigendecomposit": 7, "sum_k": [7, 8], "lambda_k": 7, "ik": 7, "jk": 7, "our": [7, 8, 9], "ground": [7, 9], "pick": 7, "phase": 7, "spars": [7, 8, 11], "eig": [7, 11], "eigsh": 7, "la": 7, "fact": 7, "you": 7, "illustr": 7, "purpos": 7, "explicitli": 7, "eigh": [7, 8], "evolved_vec": 7, "conj": 7, "undo": 7, "expected_phas": 7, "assert_allclos": 7, "mention": [7, 8], "abov": [7, 8, 11], "below": [7, 8, 9], "better": [7, 8], "evolved_vec_alt": 7, "daunt": 8, "scale": 8, "cell": [8, 9], "hydrogen": 8, "molecul": [8, 9, 10], "stretch": [8, 9], "bond": [8, 9, 10], "build": [8, 9, 10], "h2": 8, "mol": [8, 9, 10], "gto": [8, 9, 10], "mole": [8, 9, 10], "atom": [8, 9, 10], "8": [8, 9, 11], "sto": [8, 9, 10], "6g": [8, 9, 10], "d2h": [8, 9], "rhf": [8, 9, 10], "kernel": [8, 9, 10], "mol_data": [8, 9, 10], "mol_hamiltonian": [8, 9, 10], "df_hamiltonian": 8, "converg": [8, 9, 10], "837796382593709": 8, "dataclass": [8, 9], "print": [8, 9, 10, 11], "inform": [8, 11], "One": 8, "27478830e": 8, "01": [8, 9, 10], "09243819e": 8, "16": 8, "7": [8, 11], "48351655e": 8, "17": 8, "77238770e": 8, "23173938e": 8, "00678144e": 8, "19": 8, "33545754e": 8, "85364508e": 8, "18": 8, "48240570e": 8, "17688164e": 8, "05429868e": 8, "53132024e": 8, "21318608e": 8, "00": [8, 9, 10], "03109072e": 8, "30334814e": 8, "07792507e": 8, "14653029e": 8, "44655364e": 8, "30": 8, "11022302e": 8, "52090881e": 8, "03": [8, 10], "00000000e": 8, "07106781e": 8, "45733039e": 8, "rest": 8, "although": 8, "alreadi": 8, "built": 8, "manual": 8, "asymmetr": 8, "basic": 8, "h_k": 8, "divid": 8, "singl": 8, "exponenti": 8, "individu": [8, 11], "do": [8, 11], "approx": 8, "prod_k": 8, "higher": 8, "deriv": 8, "write": 8, "recal": 8, "addit": [8, 11], "think": 8, "compos": 8, "def": [8, 9, 10], "simulate_trotter_step_double_factor": 8, "one_body_energi": 8, "one_body_basis_chang": 8, "zip": [8, 10], "finish": 8, "handl": 8, "split": 8, "multipl": [8, 11], "wrote": 8, "step_tim": 8, "match": 8, "initial_st": 8, "\u03c8": [8, 9, 10], "hf_energi": 8, "vdot": [8, 9, 10], "f": [8, 9, 10], "now": 8, "later": 8, "exact_st": 8, "expm_multipli": 8, "tracea": 8, "fidel": 8, "ab": 8, "9696296369955065": 8, "final_st": [8, 9], "9990275744083491": 8, "improv": 8, "increas": 8, "10": 8, "999990623310968": 8, "commonli": 8, "known": 8, "fourth": 8, "reproduc": 8, "9": [8, 9, 10, 11], "fewer": 8, "9999999336740071": 8, "ethen": 9, "mcscf": [9, 10], "bond_dist": 9, "678": 9, "5626": 9, "c": 9, "9289": 9, "nelectron": 9, "ca": [9, 10], "casci": [9, 10], "nca": [9, 10], "neleca": [9, 10], "mo": [9, 10], "sort_mo": [9, 10], "energy_fci": [9, 10], "77": 9, "4456267643962": 9, "6290254326717": 9, "ci": [9, 10], "57322412553863": 9, "0000000": [9, 10], "phi_0": 9, "taken": 9, "express": 9, "previou": 9, "constructor": 9, "provid": 9, "truncat": 9, "ccsd": 9, "mp2": 9, "run": 9, "sinc": 9, "cc": 9, "frozen": 9, "nao_nr": 9, "reference_st": 9, "ansatz_st": [9, 10], "initiali": [9, 10], "49387212754473": 9, "e_corr": 9, "04824536314851462": 9, "46975600021676": 9, "facilit": 9, "convers": 9, "precis": 9, "somewhat": 9, "complic": 9, "short": 9, "entri": 9, "non": 9, "redund": 9, "associ": [9, 11], "fun": [9, 10], "x": [9, 10], "x0": [9, 10], "maxfun": 9, "50000": 9, "len": [9, 10], "72": 9, "messag": [9, 10], "rel_reduction_of_f_": 9, "lt": 9, "_factr": 9, "epsmch": 9, "success": [9, 10], "statu": [9, 10], "62896682018224": 9, "932e": 9, "104e": 9, "429e": 9, "010e": 9, "nit": 9, "226": 9, "jac": 9, "268e": 9, "527e": 9, "06": 9, "123e": 9, "04": 9, "965e": 9, "nfev": [9, 10], "17593": 9, "njev": 9, "241": 9, "hess_inv": 9, "72x72": 9, "lbfgsinvhessproduct": 9, "float64": 9, "gt": 9, "either": 9, "connect": 9, "swap": 9, "network": 9, "make": 9, "challeng": 9, "noisi": 9, "pre": 9, "fault": 9, "processor": 9, "idea": 9, "impos": 9, "sparsiti": 9, "constraint": 9, "them": 9, "depth": 9, "topologi": 9, "triangl": 9, "need": 9, "lattic": 9, "parallel": 9, "line": 9, "rung": 9, "ladder": 9, "With": 9, "setup": 9, "while": 9, "share": 9, "ldot": 9, "without": 9, "Of": 9, "cours": 9, "less": 9, "notic": 9, "decreas": 9, "46": 9, "62865917328423": 9, "028e": 9, "315e": 9, "903e": 9, "494e": 9, "290": 9, "969e": 9, "095e": 9, "741e": 9, "297e": 9, "14664": 9, "312": 9, "46x46": 9, "water": 10, "equilibrium": 10, "radius_1": 10, "958": 10, "radius_2": 10, "bond_angle_deg": 10, "104": 10, "478": 10, "h1_x": 10, "h2_x": 10, "180": 10, "h2_y": 10, "c2v": 10, "n_electron": 10, "mo_occ": 10, "75": 10, "6787887956297": 10, "7079508859772": 10, "14": 10, "3336207346500": 10, "reference_occupations_spati": 10, "68366174447613": 10, "cobyla": 10, "maxit": 10, "100": 10, "evalu": 10, "exceed": 10, "69447115688286": 10, "354e": 10, "455e": 10, "02": 10, "884e": 10, "094e": 10, "122e": 10, "maxcv": 10, "Such": 11, "programmat": 11, "dictionari": 11, "hash": 11, "tabl": 11, "three": 11, "piec": 11, "being": 11, "upon": 11, "intern": 11, "itself": 11, "recommend": 11, "helper": 11, "shown": 11, "op1": 11, "repr": 11, "view": 11, "displai": 11, "39": 11, "0j": 11, "arithmet": 11, "multipli": 11, "scalar": 11, "go": 11, "op2": 11, "op3": 11, "25j": 11, "0625": 11, "125": 11, "5j": 11, "2j": 11, "good": 11, "awar": 11, "especi": 11, "avoid": 11, "These": 11, "subtract": 11, "divis": 11, "3j": 11, "6j": 11, "4j": 11, "12j": 11, "far": 11, "criteria": 11, "op4": 11, "linop": 11, "onto": 11, "08465914": 11, "16438186j": 11, "most": 11, "lm": 11, "21984743e": 11, "18j": 11}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [1, 0, 0, "-", "contract"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_one_body_power"], [0, 5, 1, "", "expectation_one_body_product"], [0, 5, 1, "", "indices_to_strings"], [2, 0, 0, "-", "linalg"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "one_hot"], [3, 0, 0, "-", "random"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_one_rdm"], [4, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.MolecularData": [[0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 3, 1, "", "from_hartree_fock"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.UCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.contract": [[1, 5, 1, "", "contract_diag_coulomb"], [1, 5, 1, "", "contract_num_op_sum"], [1, 5, 1, "", "diag_coulomb_linop"], [1, 5, 1, "", "num_op_sum_linop"], [1, 5, 1, "", "one_body_linop"]], "ffsim.linalg": [[2, 5, 1, "", "apply_matrix_to_slices"], [2, 5, 1, "", "double_factorized"], [2, 5, 1, "", "double_factorized_t2"], [2, 5, 1, "", "expm_multiply_taylor"], [2, 5, 1, "", "givens_decomposition"], [2, 5, 1, "", "is_antihermitian"], [2, 5, 1, "", "is_hermitian"], [2, 5, 1, "", "is_orthogonal"], [2, 5, 1, "", "is_real_symmetric"], [2, 5, 1, "", "is_special_orthogonal"], [2, 5, 1, "", "is_unitary"], [2, 5, 1, "", "lup"], [2, 5, 1, "", "modified_cholesky"], [2, 5, 1, "", "reduced_matrix"]], "ffsim.random": [[3, 5, 1, "", "random_antihermitian"], [3, 5, 1, "", "random_hermitian"], [3, 5, 1, "", "random_orthogonal"], [3, 5, 1, "", "random_real_symmetric_matrix"], [3, 5, 1, "", "random_special_orthogonal"], [3, 5, 1, "", "random_statevector"], [3, 5, 1, "", "random_t2_amplitudes"], [3, 5, 1, "", "random_two_body_tensor_real"], [3, 5, 1, "", "random_unitary"]], "ffsim.testing": [[4, 5, 1, "", "random_nelec"], [4, 5, 1, "", "random_occupied_orbitals"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"ffsim": [0, 1, 2, 3, 4, 5, 6], "contract": 1, "linalg": 2, "random": 3, "test": 4, "welcom": 5, "": 5, "document": 5, "tutori": 5, "api": 5, "refer": 5, "introduct": 6, "orbit": 7, "rotat": 7, "quadrat": 7, "hamiltonian": [7, 8], "time": 7, "evolut": 7, "diagon": 8, "coulomb": 8, "oper": 8, "doubl": 8, "factor": 8, "trotter": 8, "simul": 8, "represent": 8, "molecular": 8, "brief": 8, "background": 8, "suzuki": 8, "formula": 8, "implement": 8, "The": [9, 11], "local": 9, "unitari": 9, "cluster": 9, "jastrow": 9, "lucj": 9, "ansatz": 9, "ucj": 9, "entangl": 10, "forg": 10, "fermionoper": 11, "class": 11}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"ffsim": [[0, "module-ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.random": [[3, "module-ffsim.random"]], "ffsim.testing": [[4, "module-ffsim.testing"]], "Welcome to ffsim\u2019s documentation!": [[5, "welcome-to-ffsim-s-documentation"]], "Tutorials": [[5, "tutorials"]], "API Reference": [[5, "api-reference"]], "Introduction to ffsim": [[6, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[7, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[7, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[7, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[8, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[8, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[8, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[8, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[8, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[9, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [9, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[9, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Entanglement forging": [[10, "Entanglement-forging"]], "The FermionOperator class": [[11, "The-FermionOperator-class"]]}, "indexentries": {"doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian"]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction"]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator"]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator"]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData"]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian"]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary"]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality"]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator"]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace"]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator"]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action"]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution"]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate"]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation"]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate"]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction"]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction"]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction"]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution"]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation"]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction"]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary"]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq"]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number"]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z"]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant"]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant"]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy"]], "cre() (in module ffsim)": [[0, "ffsim.cre"]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a"]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b"]], "des() (in module ffsim)": [[0, "ffsim.des"]], "des_a() (in module ffsim)": [[0, "ffsim.des_a"]], "des_b() (in module ffsim)": [[0, "ffsim.des_b"]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats"]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta"]], "dim() (in module ffsim)": [[0, "ffsim.dim"]], "dims() (in module ffsim)": [[0, "ffsim.dims"]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals"]], "expectation_one_body_power() (in module ffsim)": [[0, "ffsim.expectation_one_body_power"]], "expectation_one_body_product() (in module ffsim)": [[0, "ffsim.expectation_one_body_product"]], "ffsim": [[0, "module-ffsim"]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation"]], "from_hartree_fock() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_hartree_fock"]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian"]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters"]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes"]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian"]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings"]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator"]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order"]], "module": [[0, "module-ffsim"], [1, "module-ffsim.contract"], [2, "module-ffsim.linalg"], [3, "module-ffsim.random"], [4, "module-ffsim.testing"]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state"]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps"]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec"]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb"]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb"]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb"]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb"]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered"]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor"]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor"]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot"]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb"]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations"]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations"]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries"]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized"]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized"]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant"]], "slater_determinant_one_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_one_rdm"]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin"]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation"]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters"]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes"]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation"]], "trace() (in module ffsim)": [[0, "ffsim.trace"]], "two_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_tensor"]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor"]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation"]], "contract_diag_coulomb() (in module ffsim.contract)": [[1, "ffsim.contract.contract_diag_coulomb"]], "contract_num_op_sum() (in module ffsim.contract)": [[1, "ffsim.contract.contract_num_op_sum"]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "num_op_sum_linop() (in module ffsim.contract)": [[1, "ffsim.contract.num_op_sum_linop"]], "one_body_linop() (in module ffsim.contract)": [[1, "ffsim.contract.one_body_linop"]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices"]], "double_factorized() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized"]], "double_factorized_t2() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2"]], "expm_multiply_taylor() (in module ffsim.linalg)": [[2, "ffsim.linalg.expm_multiply_taylor"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "givens_decomposition() (in module ffsim.linalg)": [[2, "ffsim.linalg.givens_decomposition"]], "is_antihermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_antihermitian"]], "is_hermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_hermitian"]], "is_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_orthogonal"]], "is_real_symmetric() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_real_symmetric"]], "is_special_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_special_orthogonal"]], "is_unitary() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_unitary"]], "lup() (in module ffsim.linalg)": [[2, "ffsim.linalg.lup"]], "modified_cholesky() (in module ffsim.linalg)": [[2, "ffsim.linalg.modified_cholesky"]], "reduced_matrix() (in module ffsim.linalg)": [[2, "ffsim.linalg.reduced_matrix"]], "ffsim.random": [[3, "module-ffsim.random"]], "random_antihermitian() (in module ffsim.random)": [[3, "ffsim.random.random_antihermitian"]], "random_hermitian() (in module ffsim.random)": [[3, "ffsim.random.random_hermitian"]], "random_orthogonal() (in module ffsim.random)": [[3, "ffsim.random.random_orthogonal"]], "random_real_symmetric_matrix() (in module ffsim.random)": [[3, "ffsim.random.random_real_symmetric_matrix"]], "random_special_orthogonal() (in module ffsim.random)": [[3, "ffsim.random.random_special_orthogonal"]], "random_statevector() (in module ffsim.random)": [[3, "ffsim.random.random_statevector"]], "random_t2_amplitudes() (in module ffsim.random)": [[3, "ffsim.random.random_t2_amplitudes"]], "random_two_body_tensor_real() (in module ffsim.random)": [[3, "ffsim.random.random_two_body_tensor_real"]], "random_unitary() (in module ffsim.random)": [[3, "ffsim.random.random_unitary"]], "ffsim.testing": [[4, "module-ffsim.testing"]], "random_nelec() (in module ffsim.testing)": [[4, "ffsim.testing.random_nelec"]], "random_occupied_orbitals() (in module ffsim.testing)": [[4, "ffsim.testing.random_occupied_orbitals"]]}}) \ No newline at end of file diff --git a/tutorials/01-introduction.ipynb b/tutorials/01-introduction.ipynb index aabe78f3d..11328c287 100644 --- a/tutorials/01-introduction.ipynb +++ b/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:55.806469Z", - "iopub.status.busy": "2023-10-25T22:36:55.806037Z", - "iopub.status.idle": "2023-10-25T22:36:56.173437Z", - "shell.execute_reply": "2023-10-25T22:36:56.172708Z" + "iopub.execute_input": "2023-10-25T22:49:45.728598Z", + "iopub.status.busy": "2023-10-25T22:49:45.728154Z", + "iopub.status.idle": "2023-10-25T22:49:46.110527Z", + "shell.execute_reply": "2023-10-25T22:49:46.109715Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:56.178612Z", - "iopub.status.busy": "2023-10-25T22:36:56.177304Z", - "iopub.status.idle": "2023-10-25T22:36:56.183207Z", - "shell.execute_reply": "2023-10-25T22:36:56.182642Z" + "iopub.execute_input": "2023-10-25T22:49:46.115961Z", + "iopub.status.busy": "2023-10-25T22:49:46.114597Z", + "iopub.status.idle": "2023-10-25T22:49:46.120985Z", + "shell.execute_reply": "2023-10-25T22:49:46.120363Z" } }, "outputs": [], @@ -93,10 +93,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:56.187737Z", - "iopub.status.busy": "2023-10-25T22:36:56.186648Z", - "iopub.status.idle": "2023-10-25T22:36:56.191149Z", - "shell.execute_reply": "2023-10-25T22:36:56.190587Z" + "iopub.execute_input": "2023-10-25T22:49:46.125500Z", + "iopub.status.busy": "2023-10-25T22:49:46.124419Z", + "iopub.status.idle": "2023-10-25T22:49:46.129349Z", + "shell.execute_reply": "2023-10-25T22:49:46.128546Z" } }, "outputs": [], diff --git a/tutorials/02-orbital-rotation.ipynb b/tutorials/02-orbital-rotation.ipynb index 9abbe1985..f05ba4dfe 100644 --- a/tutorials/02-orbital-rotation.ipynb +++ b/tutorials/02-orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:58.052305Z", - "iopub.status.busy": "2023-10-25T22:36:58.052068Z", - "iopub.status.idle": "2023-10-25T22:36:58.418054Z", - "shell.execute_reply": "2023-10-25T22:36:58.417323Z" + "iopub.execute_input": "2023-10-25T22:49:48.191448Z", + "iopub.status.busy": "2023-10-25T22:49:48.191046Z", + "iopub.status.idle": "2023-10-25T22:49:48.607593Z", + "shell.execute_reply": "2023-10-25T22:49:48.606670Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:58.422655Z", - "iopub.status.busy": "2023-10-25T22:36:58.422015Z", - "iopub.status.idle": "2023-10-25T22:36:58.459609Z", - "shell.execute_reply": "2023-10-25T22:36:58.458938Z" + "iopub.execute_input": "2023-10-25T22:49:48.612660Z", + "iopub.status.busy": "2023-10-25T22:49:48.611183Z", + "iopub.status.idle": "2023-10-25T22:49:48.690073Z", + "shell.execute_reply": "2023-10-25T22:49:48.689235Z" } }, "outputs": [], @@ -158,10 +158,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:58.463437Z", - "iopub.status.busy": "2023-10-25T22:36:58.463084Z", - "iopub.status.idle": "2023-10-25T22:36:58.475859Z", - "shell.execute_reply": "2023-10-25T22:36:58.475248Z" + "iopub.execute_input": "2023-10-25T22:49:48.695786Z", + "iopub.status.busy": "2023-10-25T22:49:48.694689Z", + "iopub.status.idle": "2023-10-25T22:49:48.709764Z", + "shell.execute_reply": "2023-10-25T22:49:48.709040Z" } }, "outputs": [], @@ -201,10 +201,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:36:58.478982Z", - "iopub.status.busy": "2023-10-25T22:36:58.478632Z", - "iopub.status.idle": "2023-10-25T22:36:58.485259Z", - "shell.execute_reply": "2023-10-25T22:36:58.484661Z" + "iopub.execute_input": "2023-10-25T22:49:48.714702Z", + "iopub.status.busy": "2023-10-25T22:49:48.713656Z", + "iopub.status.idle": "2023-10-25T22:49:48.720156Z", + "shell.execute_reply": "2023-10-25T22:49:48.719563Z" } }, "outputs": [], diff --git a/tutorials/03-double-factorized.html b/tutorials/03-double-factorized.html index c59edd7d7..61bbf1f91 100644 --- a/tutorials/03-double-factorized.html +++ b/tutorials/03-double-factorized.html @@ -131,28 +131,28 @@

Double-factorized representation of the molecular Hamiltonian @@ -296,7 +296,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Hartree Fock energy: -0.8377963825937084
+Hartree Fock energy: -0.837796382593709
 

Now, we set the evolution time and calculate the exact result of time evolution by directly exponentiating the Hamiltonian using SciPy. Later, we will compare the result of our approximate time evolution with this exact result.

@@ -324,7 +324,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of evolved state w.r.t. initial state: 0.9696296369955066
+Fidelity of evolved state w.r.t. initial state: 0.9696296369955065
 

Now, let’s test our implementation.

@@ -351,7 +351,7 @@

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

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

@@ -378,7 +378,7 @@

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

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.

@@ -407,7 +407,7 @@

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

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

@@ -435,7 +435,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999999336740067
+Fidelity of Trotter-evolved state with exact state: 0.9999999336740071
 
diff --git a/tutorials/03-double-factorized.ipynb b/tutorials/03-double-factorized.ipynb index e679311ce..edaf5c8f2 100644 --- a/tutorials/03-double-factorized.ipynb +++ b/tutorials/03-double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:00.564527Z", - "iopub.status.busy": "2023-10-25T22:37:00.563943Z", - "iopub.status.idle": "2023-10-25T22:37:01.040069Z", - "shell.execute_reply": "2023-10-25T22:37:01.039225Z" + "iopub.execute_input": "2023-10-25T22:49:50.631452Z", + "iopub.status.busy": "2023-10-25T22:49:50.630936Z", + "iopub.status.idle": "2023-10-25T22:49:51.083516Z", + "shell.execute_reply": "2023-10-25T22:49:51.082556Z" } }, "outputs": [ @@ -92,10 +92,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.043849Z", - "iopub.status.busy": "2023-10-25T22:37:01.043504Z", - "iopub.status.idle": "2023-10-25T22:37:01.049845Z", - "shell.execute_reply": "2023-10-25T22:37:01.049303Z" + "iopub.execute_input": "2023-10-25T22:49:51.087434Z", + "iopub.status.busy": "2023-10-25T22:49:51.086734Z", + "iopub.status.idle": "2023-10-25T22:49:51.094705Z", + "shell.execute_reply": "2023-10-25T22:49:51.093973Z" } }, "outputs": [ @@ -106,28 +106,28 @@ "Original representation\n", "-----------------------\n", "One-body tensor:\n", - "[[-8.27478830e-01 -8.52909490e-17]\n", - " [-5.57029092e-17 -6.77238770e-01]]\n", + "[[-8.27478830e-01 -1.09243819e-16]\n", + " [-7.48351655e-17 -6.77238770e-01]]\n", "\n", "Two-body tensor:\n", - "[[[[5.23173938e-01 3.58782168e-17]\n", - " [3.58782168e-17 5.33545754e-01]]\n", + "[[[[ 5.23173938e-01 -5.00678144e-19]\n", + " [-5.00678144e-19 5.33545754e-01]]\n", "\n", - " [[2.49859013e-17 2.48240570e-01]\n", - " [2.48240570e-01 4.83067333e-17]]]\n", + " [[ 5.85364508e-18 2.48240570e-01]\n", + " [ 2.48240570e-01 -1.17688164e-17]]]\n", "\n", "\n", - " [[[2.49859013e-17 2.48240570e-01]\n", - " [2.48240570e-01 4.83067333e-17]]\n", + " [[[ 5.85364508e-18 2.48240570e-01]\n", + " [ 2.48240570e-01 -1.17688164e-17]]\n", "\n", - " [[5.33545754e-01 4.01841799e-17]\n", - " [4.01841799e-17 5.53132024e-01]]]]\n", + " [[ 5.33545754e-01 1.05429868e-17]\n", + " [ 1.05429868e-17 5.53132024e-01]]]]\n", "\n", "Double-factorized representation\n", "--------------------------------\n", "One-body tensor:\n", - "[[-1.21318608e+00 -1.27383424e-16]\n", - " [-8.82879498e-17 -1.07792507e+00]]\n", + "[[-1.21318608e+00 -1.03109072e-16]\n", + " [-8.30334814e-17 -1.07792507e+00]]\n", "\n", "Diagonal Coulomb matrices:\n", "[[[ 5.14653029e-01 5.33545754e-01]\n", @@ -136,18 +136,18 @@ " [[ 2.48240570e-01 -2.48240570e-01]\n", " [-2.48240570e-01 2.48240570e-01]]\n", "\n", - " [[ 2.27521846e-62 -1.39236953e-32]\n", - " [-1.39236953e-32 8.52090881e-03]]]\n", + " [[ 1.44655364e-30 -1.11022302e-16]\n", + " [-1.11022302e-16 8.52090881e-03]]]\n", "\n", "Orbital rotations:\n", "[[[ 1.00000000e+00 0.00000000e+00]\n", " [ 0.00000000e+00 1.00000000e+00]]\n", "\n", - " [[-7.07106781e-01 -7.07106781e-01]\n", - " [ 7.07106781e-01 -7.07106781e-01]]\n", + " [[-7.07106781e-01 7.07106781e-01]\n", + " [ 7.07106781e-01 7.07106781e-01]]\n", "\n", - " [[-1.27830444e-15 -1.00000000e+00]\n", - " [-1.00000000e+00 1.27830444e-15]]]\n" + " [[ 7.45733039e-16 -1.00000000e+00]\n", + " [-1.00000000e+00 -7.45733039e-16]]]\n" ] } ], @@ -226,10 +226,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.053112Z", - "iopub.status.busy": "2023-10-25T22:37:01.052436Z", - "iopub.status.idle": "2023-10-25T22:37:01.058006Z", - "shell.execute_reply": "2023-10-25T22:37:01.057392Z" + "iopub.execute_input": "2023-10-25T22:49:51.097615Z", + "iopub.status.busy": "2023-10-25T22:49:51.097224Z", + "iopub.status.idle": "2023-10-25T22:49:51.103382Z", + "shell.execute_reply": "2023-10-25T22:49:51.102656Z" } }, "outputs": [], @@ -284,10 +284,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.061751Z", - "iopub.status.busy": "2023-10-25T22:37:01.060649Z", - "iopub.status.idle": "2023-10-25T22:37:01.066205Z", - "shell.execute_reply": "2023-10-25T22:37:01.065642Z" + "iopub.execute_input": "2023-10-25T22:49:51.106760Z", + "iopub.status.busy": "2023-10-25T22:49:51.106190Z", + "iopub.status.idle": "2023-10-25T22:49:51.111174Z", + "shell.execute_reply": "2023-10-25T22:49:51.110496Z" } }, "outputs": [], @@ -324,10 +324,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.069111Z", - "iopub.status.busy": "2023-10-25T22:37:01.068667Z", - "iopub.status.idle": "2023-10-25T22:37:01.074495Z", - "shell.execute_reply": "2023-10-25T22:37:01.073941Z" + "iopub.execute_input": "2023-10-25T22:49:51.115052Z", + "iopub.status.busy": "2023-10-25T22:49:51.114792Z", + "iopub.status.idle": "2023-10-25T22:49:51.121182Z", + "shell.execute_reply": "2023-10-25T22:49:51.120373Z" } }, "outputs": [ @@ -335,7 +335,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Hartree Fock energy: -0.8377963825937084\n" + "Hartree Fock energy: -0.837796382593709\n" ] } ], @@ -366,10 +366,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.077458Z", - "iopub.status.busy": "2023-10-25T22:37:01.076848Z", - "iopub.status.idle": "2023-10-25T22:37:01.087132Z", - "shell.execute_reply": "2023-10-25T22:37:01.086577Z" + "iopub.execute_input": "2023-10-25T22:49:51.125523Z", + "iopub.status.busy": "2023-10-25T22:49:51.124134Z", + "iopub.status.idle": "2023-10-25T22:49:51.137942Z", + "shell.execute_reply": "2023-10-25T22:49:51.137232Z" } }, "outputs": [ @@ -377,7 +377,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9696296369955066\n" + "Fidelity of evolved state w.r.t. initial state: 0.9696296369955065\n" ] } ], @@ -408,10 +408,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.090228Z", - "iopub.status.busy": "2023-10-25T22:37:01.089559Z", - "iopub.status.idle": "2023-10-25T22:37:01.098344Z", - "shell.execute_reply": "2023-10-25T22:37:01.097773Z" + "iopub.execute_input": "2023-10-25T22:49:51.143052Z", + "iopub.status.busy": "2023-10-25T22:49:51.142490Z", + "iopub.status.idle": "2023-10-25T22:49:51.155779Z", + "shell.execute_reply": "2023-10-25T22:49:51.155041Z" } }, "outputs": [ @@ -419,7 +419,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9990275744083494\n" + "Fidelity of Trotter-evolved state with exact state: 0.9990275744083491\n" ] } ], @@ -449,10 +449,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.101276Z", - "iopub.status.busy": "2023-10-25T22:37:01.100835Z", - "iopub.status.idle": "2023-10-25T22:37:01.145337Z", - "shell.execute_reply": "2023-10-25T22:37:01.144745Z" + "iopub.execute_input": "2023-10-25T22:49:51.160933Z", + "iopub.status.busy": "2023-10-25T22:49:51.159642Z", + "iopub.status.idle": "2023-10-25T22:49:51.211316Z", + "shell.execute_reply": "2023-10-25T22:49:51.210559Z" } }, "outputs": [ @@ -460,7 +460,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109686\n" + "Fidelity of Trotter-evolved state with exact state: 0.999990623310968\n" ] } ], @@ -492,10 +492,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.148276Z", - "iopub.status.busy": "2023-10-25T22:37:01.147912Z", - "iopub.status.idle": "2023-10-25T22:37:01.188137Z", - "shell.execute_reply": "2023-10-25T22:37:01.186555Z" + "iopub.execute_input": "2023-10-25T22:49:51.215690Z", + "iopub.status.busy": "2023-10-25T22:49:51.214603Z", + "iopub.status.idle": "2023-10-25T22:49:51.254790Z", + "shell.execute_reply": "2023-10-25T22:49:51.254051Z" } }, "outputs": [ @@ -503,7 +503,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109686\n" + "Fidelity of Trotter-evolved state with exact state: 0.999990623310968\n" ] } ], @@ -534,10 +534,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:37:01.191299Z", - "iopub.status.busy": "2023-10-25T22:37:01.190992Z", - "iopub.status.idle": "2023-10-25T22:37:01.208147Z", - "shell.execute_reply": "2023-10-25T22:37:01.207353Z" + "iopub.execute_input": "2023-10-25T22:49:51.259870Z", + "iopub.status.busy": "2023-10-25T22:49:51.258672Z", + "iopub.status.idle": "2023-10-25T22:49:51.277545Z", + "shell.execute_reply": "2023-10-25T22:49:51.276466Z" } }, "outputs": [ @@ -545,7 +545,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999999336740067\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999999336740071\n" ] } ], diff --git a/tutorials/04-lucj.html b/tutorials/04-lucj.html index d998b841a..f4fb37cae 100644 --- a/tutorials/04-lucj.html +++ b/tutorials/04-lucj.html @@ -96,7 +96,7 @@

The local unitary cluster Jastrow (LUCJ) ansatz
 converged SCF energy = -77.4456267643962
-CASCI E = -77.6290254326716  E(CI) = -3.57322412553862  S^2 = 0.0000000
+CASCI E = -77.6290254326717  E(CI) = -3.57322412553863  S^2 = 0.0000000
 
@@ -150,7 +150,7 @@

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -77.49387212754473  E_corr = -0.04824536314851268
+E(CCSD) = -77.49387212754473  E_corr = -0.04824536314851462
 Energy at initialialization: -77.46975600021676
 
@@ -192,12 +192,12 @@

The unitary cluster Jastrow (UCJ) ansatz\n" ] } @@ -251,10 +251,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:38:17.173783Z", - "iopub.status.busy": "2023-10-25T22:38:17.172653Z", - "iopub.status.idle": "2023-10-25T22:39:33.968944Z", - "shell.execute_reply": "2023-10-25T22:39:33.968334Z" + "iopub.execute_input": "2023-10-25T22:51:17.443422Z", + "iopub.status.busy": "2023-10-25T22:51:17.442815Z", + "iopub.status.idle": "2023-10-25T22:52:26.644022Z", + "shell.execute_reply": "2023-10-25T22:52:26.643271Z" } }, "outputs": [ @@ -266,12 +266,12 @@ " message: CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH\n", " success: True\n", " status: 0\n", - " fun: -77.62848215844997\n", - " x: [ 6.198e-01 -6.593e-02 ... 1.183e-01 -1.078e-01]\n", - " nit: 450\n", - " jac: [ 1.492e-04 -2.629e-04 ... 1.435e-04 -3.638e-04]\n", - " nfev: 22701\n", - " njev: 483\n", + " fun: -77.62865917328423\n", + " x: [-1.028e+00 -1.315e+00 ... -4.903e-01 1.494e+00]\n", + " nit: 290\n", + " jac: [-5.969e-05 9.095e-05 ... 5.741e-04 -3.297e-04]\n", + " nfev: 14664\n", + " njev: 312\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" ] } diff --git a/tutorials/05-entanglement-forging.html b/tutorials/05-entanglement-forging.html index 6beed5d3c..5edccb5b7 100644 --- a/tutorials/05-entanglement-forging.html +++ b/tutorials/05-entanglement-forging.html @@ -102,7 +102,7 @@

Entanglement forging
 converged SCF energy = -75.6787887956297
-CASCI E = -75.7079508859773  E(CI) = -14.3336207346502  S^2 = 0.0000000
+CASCI E = -75.7079508859772  E(CI) = -14.3336207346500  S^2 = 0.0000000
 
diff --git a/tutorials/05-entanglement-forging.ipynb b/tutorials/05-entanglement-forging.ipynb index fa8dfa58b..3b672189f 100644 --- a/tutorials/05-entanglement-forging.ipynb +++ b/tutorials/05-entanglement-forging.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:35.902653Z", - "iopub.status.busy": "2023-10-25T22:39:35.902244Z", - "iopub.status.idle": "2023-10-25T22:39:36.610182Z", - "shell.execute_reply": "2023-10-25T22:39:36.609495Z" + "iopub.execute_input": "2023-10-25T22:52:28.457365Z", + "iopub.status.busy": "2023-10-25T22:52:28.457064Z", + "iopub.status.idle": "2023-10-25T22:52:29.067914Z", + "shell.execute_reply": "2023-10-25T22:52:29.067063Z" } }, "outputs": [ @@ -32,7 +32,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "CASCI E = -75.7079508859773 E(CI) = -14.3336207346502 S^2 = 0.0000000\n" + "CASCI E = -75.7079508859772 E(CI) = -14.3336207346500 S^2 = 0.0000000\n" ] } ], @@ -90,10 +90,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:36.614713Z", - "iopub.status.busy": "2023-10-25T22:39:36.614126Z", - "iopub.status.idle": "2023-10-25T22:39:36.641876Z", - "shell.execute_reply": "2023-10-25T22:39:36.641194Z" + "iopub.execute_input": "2023-10-25T22:52:29.074034Z", + "iopub.status.busy": "2023-10-25T22:52:29.072439Z", + "iopub.status.idle": "2023-10-25T22:52:29.107737Z", + "shell.execute_reply": "2023-10-25T22:52:29.107079Z" } }, "outputs": [ @@ -101,7 +101,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -75.68366174447621\n" + "Energy at initialialization: -75.68366174447613\n" ] } ], @@ -135,10 +135,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:36.645471Z", - "iopub.status.busy": "2023-10-25T22:39:36.644784Z", - "iopub.status.idle": "2023-10-25T22:39:38.706845Z", - "shell.execute_reply": "2023-10-25T22:39:38.706152Z" + "iopub.execute_input": "2023-10-25T22:52:29.112535Z", + "iopub.status.busy": "2023-10-25T22:52:29.111203Z", + "iopub.status.idle": "2023-10-25T22:52:32.034045Z", + "shell.execute_reply": "2023-10-25T22:52:32.033073Z" } }, "outputs": [ @@ -150,8 +150,8 @@ " message: Maximum number of function evaluations has been exceeded.\n", " success: False\n", " status: 2\n", - " fun: -75.69430210093412\n", - " x: [ 1.344e+00 8.447e-02 -1.883e-03 1.105e+00 -1.881e-01]\n", + " fun: -75.69447115688286\n", + " x: [ 1.354e+00 9.455e-02 -3.884e-03 1.094e+00 -2.122e-01]\n", " nfev: 100\n", " maxcv: 0.0\n" ] diff --git a/tutorials/06-fermion-operator.html b/tutorials/06-fermion-operator.html index 0d0b59b92..51db19a6b 100644 --- a/tutorials/06-fermion-operator.html +++ b/tutorials/06-fermion-operator.html @@ -78,9 +78,9 @@

The FermionOperator class
 FermionOperator({
-    (cre_a(3), des_a(0)): -0.25,
     (cre_b(1), des_b(5), cre_a(4)): 1+1j,
-    (cre_a(0), des_a(3)): 0.5
+    (cre_a(0), des_a(3)): 0.5,
+    (cre_a(3), des_a(0)): -0.25
 })
 
@@ -99,7 +99,7 @@

The FermionOperator class
-'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j})'
+'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j})'
 

FermionOperators support arithmetic operations. Note that when multiplying a FermionOperator by a scalar, the scalar must go on the left, i.e. 2 * op and not op * 2.

@@ -127,17 +127,17 @@

The FermionOperator class
 FermionOperator({
-    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,
-    (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,
-    (cre_b(1), des_b(5), cre_a(4)): 2+2j,
+    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
     (cre_a(3), des_a(0)): -0.5,
+    (cre_a(0), des_a(3)): 1,
     (cre_b(2)): 0-0.25j,
-    (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,
-    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,
     (des_a(3), des_b(3)): 0.0625,
-    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
-    (cre_a(0), des_a(3)): 1,
-    (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125
+    (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,
+    (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,
+    (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,
+    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,
+    (cre_b(1), des_b(5), cre_a(4)): 2+2j,
+    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j
 })
 
@@ -162,17 +162,17 @@

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

The FermionOperator class
 FermionOperator({
-    (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,
-    (des_b(3), des_a(3)): 0+1.25j,
-    (cre_b(2), cre_a(3), des_a(0)): -1,
-    (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,
-    (cre_a(0), des_a(3)): 0-6j,
     (cre_a(3), des_a(0)): 0+3j,
-    (cre_b(2), cre_a(0), des_a(3)): 2,
+    (cre_a(0), des_a(3)): 0-6j,
     (cre_b(1), cre_a(4), des_b(5)): -12+12j,
+    (cre_b(2)): -5,
+    (cre_b(2), cre_a(3), des_a(0)): -1,
     (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,
-    (cre_b(2)): -5
+    (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,
+    (des_b(3), des_a(3)): 0+1.25j,
+    (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j
 })
 
@@ -273,7 +273,7 @@

The FermionOperator class
 array([0.        +0.j        , 0.        +0.j        ,
        0.        +0.j        , 0.        +0.j        ,
-       0.14416721+0.01183319j, 0.        +0.j        ,
+       0.08465914-0.16438186j, 0.        +0.j        ,
        0.        +0.j        , 0.        +0.j        ,
        0.        +0.j        ])
 
diff --git a/tutorials/06-fermion-operator.ipynb b/tutorials/06-fermion-operator.ipynb index 300ae3e7f..b2f6037d5 100644 --- a/tutorials/06-fermion-operator.ipynb +++ b/tutorials/06-fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.366920Z", - "iopub.status.busy": "2023-10-25T22:39:40.366331Z", - "iopub.status.idle": "2023-10-25T22:39:40.732340Z", - "shell.execute_reply": "2023-10-25T22:39:40.731690Z" + "iopub.execute_input": "2023-10-25T22:52:33.852859Z", + "iopub.status.busy": "2023-10-25T22:52:33.852631Z", + "iopub.status.idle": "2023-10-25T22:52:34.239320Z", + "shell.execute_reply": "2023-10-25T22:52:34.238688Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(3), des_a(0)): -0.25,\n", " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", - " (cre_a(0), des_a(3)): 0.5\n", + " (cre_a(0), des_a(3)): 0.5,\n", + " (cre_a(3), des_a(0)): -0.25\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.737597Z", - "iopub.status.busy": "2023-10-25T22:39:40.736319Z", - "iopub.status.idle": "2023-10-25T22:39:40.743718Z", - "shell.execute_reply": "2023-10-25T22:39:40.742835Z" + "iopub.execute_input": "2023-10-25T22:52:34.243762Z", + "iopub.status.busy": "2023-10-25T22:52:34.243037Z", + "iopub.status.idle": "2023-10-25T22:52:34.250376Z", + "shell.execute_reply": "2023-10-25T22:52:34.249693Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" + "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.748237Z", - "iopub.status.busy": "2023-10-25T22:39:40.747115Z", - "iopub.status.idle": "2023-10-25T22:39:40.754695Z", - "shell.execute_reply": "2023-10-25T22:39:40.754158Z" + "iopub.execute_input": "2023-10-25T22:52:34.255144Z", + "iopub.status.busy": "2023-10-25T22:52:34.253705Z", + "iopub.status.idle": "2023-10-25T22:52:34.262286Z", + "shell.execute_reply": "2023-10-25T22:52:34.261401Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\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), cre_b(2)): -1+1j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_a(0), des_a(3)): 1,\n", " (cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", " (des_a(3), des_b(3)): 0.0625,\n", - " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3)): 1,\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), cre_b(2)): -1+1j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\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)): 2+2j,\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.759235Z", - "iopub.status.busy": "2023-10-25T22:39:40.758153Z", - "iopub.status.idle": "2023-10-25T22:39:40.765084Z", - "shell.execute_reply": "2023-10-25T22:39:40.764539Z" + "iopub.execute_input": "2023-10-25T22:52:34.267159Z", + "iopub.status.busy": "2023-10-25T22:52:34.265631Z", + "iopub.status.idle": "2023-10-25T22:52:34.272698Z", + "shell.execute_reply": "2023-10-25T22:52:34.272094Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\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), cre_b(2)): 4+4j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_b(2)): -5,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", " (des_a(3), des_b(3)): 0-1.25j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_a(0), des_a(3)): 0-6j,\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), cre_b(2)): 4+4j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\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)): 12-12j,\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.769541Z", - "iopub.status.busy": "2023-10-25T22:39:40.768482Z", - "iopub.status.idle": "2023-10-25T22:39:40.774962Z", - "shell.execute_reply": "2023-10-25T22:39:40.774400Z" + "iopub.execute_input": "2023-10-25T22:52:34.277397Z", + "iopub.status.busy": "2023-10-25T22:52:34.275959Z", + "iopub.status.idle": "2023-10-25T22:52:34.283129Z", + "shell.execute_reply": "2023-10-25T22:52:34.282399Z" } }, "outputs": [ @@ -230,16 +230,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", - " (des_b(3), des_a(3)): 0+1.25j,\n", - " (cre_b(2), cre_a(3), des_a(0)): -1,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(2), cre_a(0), des_a(3)): 2,\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)): -5,\n", + " (cre_b(2), cre_a(3), des_a(0)): -1,\n", " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_b(2)): -5\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", + " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.779369Z", - "iopub.status.busy": "2023-10-25T22:39:40.778283Z", - "iopub.status.idle": "2023-10-25T22:39:40.784339Z", - "shell.execute_reply": "2023-10-25T22:39:40.783767Z" + "iopub.execute_input": "2023-10-25T22:52:34.287780Z", + "iopub.status.busy": "2023-10-25T22:52:34.286254Z", + "iopub.status.idle": "2023-10-25T22:52:34.294121Z", + "shell.execute_reply": "2023-10-25T22:52:34.292778Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.789452Z", - "iopub.status.busy": "2023-10-25T22:39:40.788382Z", - "iopub.status.idle": "2023-10-25T22:39:40.795811Z", - "shell.execute_reply": "2023-10-25T22:39:40.795259Z" + "iopub.execute_input": "2023-10-25T22:52:34.298274Z", + "iopub.status.busy": "2023-10-25T22:52:34.297778Z", + "iopub.status.idle": "2023-10-25T22:52:34.304979Z", + "shell.execute_reply": "2023-10-25T22:52:34.304437Z" } }, "outputs": [ @@ -340,10 +340,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.800327Z", - "iopub.status.busy": "2023-10-25T22:39:40.799255Z", - "iopub.status.idle": "2023-10-25T22:39:40.808120Z", - "shell.execute_reply": "2023-10-25T22:39:40.807530Z" + "iopub.execute_input": "2023-10-25T22:52:34.309028Z", + "iopub.status.busy": "2023-10-25T22:52:34.308520Z", + "iopub.status.idle": "2023-10-25T22:52:34.317214Z", + "shell.execute_reply": "2023-10-25T22:52:34.316562Z" } }, "outputs": [ @@ -352,7 +352,7 @@ "text/plain": [ "array([0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " 0.14416721+0.01183319j, 0. +0.j ,\n", + " 0.08465914-0.16438186j, 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", " 0. +0.j ])" ] @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T22:39:40.812478Z", - "iopub.status.busy": "2023-10-25T22:39:40.811398Z", - "iopub.status.idle": "2023-10-25T22:39:40.826762Z", - "shell.execute_reply": "2023-10-25T22:39:40.826205Z" + "iopub.execute_input": "2023-10-25T22:52:34.320550Z", + "iopub.status.busy": "2023-10-25T22:52:34.320183Z", + "iopub.status.idle": "2023-10-25T22:52:34.336019Z", + "shell.execute_reply": "2023-10-25T22:52:34.335310Z" } }, "outputs": [