diff --git a/.doctrees/api/ffsim.doctree b/.doctrees/api/ffsim.doctree index c6092df7e..3ad476e5b 100644 Binary files a/.doctrees/api/ffsim.doctree and b/.doctrees/api/ffsim.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 4cd4e4215..bdb4a2233 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb index 04e39ea5f..8a1ee0611 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-11-12T22:07:18.053955Z", - "iopub.status.busy": "2023-11-12T22:07:18.053614Z", - "iopub.status.idle": "2023-11-12T22:07:18.367717Z", - "shell.execute_reply": "2023-11-12T22:07:18.367168Z" + "iopub.execute_input": "2023-11-13T00:11:39.362013Z", + "iopub.status.busy": "2023-11-13T00:11:39.361425Z", + "iopub.status.idle": "2023-11-13T00:11:39.756516Z", + "shell.execute_reply": "2023-11-13T00:11:39.755511Z" } }, "outputs": [], @@ -70,10 +70,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:18.371471Z", - "iopub.status.busy": "2023-11-12T22:07:18.371065Z", - "iopub.status.idle": "2023-11-12T22:07:18.375553Z", - "shell.execute_reply": "2023-11-12T22:07:18.375105Z" + "iopub.execute_input": "2023-11-13T00:11:39.761451Z", + "iopub.status.busy": "2023-11-13T00:11:39.760877Z", + "iopub.status.idle": "2023-11-13T00:11:39.768721Z", + "shell.execute_reply": "2023-11-13T00:11:39.767991Z" } }, "outputs": [ @@ -112,10 +112,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:18.377884Z", - "iopub.status.busy": "2023-11-12T22:07:18.377691Z", - "iopub.status.idle": "2023-11-12T22:07:18.381235Z", - "shell.execute_reply": "2023-11-12T22:07:18.380709Z" + "iopub.execute_input": "2023-11-13T00:11:39.772040Z", + "iopub.status.busy": "2023-11-13T00:11:39.771535Z", + "iopub.status.idle": "2023-11-13T00:11:39.775078Z", + "shell.execute_reply": "2023-11-13T00:11:39.774266Z" } }, "outputs": [], @@ -135,10 +135,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:18.383856Z", - "iopub.status.busy": "2023-11-12T22:07:18.383395Z", - "iopub.status.idle": "2023-11-12T22:07:18.391380Z", - "shell.execute_reply": "2023-11-12T22:07:18.390874Z" + "iopub.execute_input": "2023-11-13T00:11:39.778388Z", + "iopub.status.busy": "2023-11-13T00:11:39.777957Z", + "iopub.status.idle": "2023-11-13T00:11:39.785919Z", + "shell.execute_reply": "2023-11-13T00:11:39.785248Z" } }, "outputs": [ diff --git a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb index de8403263..c9d0cc52f 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-11-12T22:07:19.945752Z", - "iopub.status.busy": "2023-11-12T22:07:19.945416Z", - "iopub.status.idle": "2023-11-12T22:07:20.256997Z", - "shell.execute_reply": "2023-11-12T22:07:20.256353Z" + "iopub.execute_input": "2023-11-13T00:11:42.013642Z", + "iopub.status.busy": "2023-11-13T00:11:42.013404Z", + "iopub.status.idle": "2023-11-13T00:11:42.432324Z", + "shell.execute_reply": "2023-11-13T00:11:42.431597Z" } }, "outputs": [], @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:20.260499Z", - "iopub.status.busy": "2023-11-12T22:07:20.259978Z", - "iopub.status.idle": "2023-11-12T22:07:20.284485Z", - "shell.execute_reply": "2023-11-12T22:07:20.283930Z" + "iopub.execute_input": "2023-11-13T00:11:42.435850Z", + "iopub.status.busy": "2023-11-13T00:11:42.435489Z", + "iopub.status.idle": "2023-11-13T00:11:42.467666Z", + "shell.execute_reply": "2023-11-13T00:11:42.466903Z" } }, "outputs": [], @@ -155,10 +155,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:20.287390Z", - "iopub.status.busy": "2023-11-12T22:07:20.287078Z", - "iopub.status.idle": "2023-11-12T22:07:20.297569Z", - "shell.execute_reply": "2023-11-12T22:07:20.297008Z" + "iopub.execute_input": "2023-11-13T00:11:42.472104Z", + "iopub.status.busy": "2023-11-13T00:11:42.471466Z", + "iopub.status.idle": "2023-11-13T00:11:42.485359Z", + "shell.execute_reply": "2023-11-13T00:11:42.484779Z" } }, "outputs": [], @@ -198,10 +198,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:20.300443Z", - "iopub.status.busy": "2023-11-12T22:07:20.300063Z", - "iopub.status.idle": "2023-11-12T22:07:20.304929Z", - "shell.execute_reply": "2023-11-12T22:07:20.304451Z" + "iopub.execute_input": "2023-11-13T00:11:42.489031Z", + "iopub.status.busy": "2023-11-13T00:11:42.488575Z", + "iopub.status.idle": "2023-11-13T00:11:42.494706Z", + "shell.execute_reply": "2023-11-13T00:11:42.494139Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb index 9cd99ad6e..957cf1681 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-11-12T22:07:21.826706Z", - "iopub.status.busy": "2023-11-12T22:07:21.826180Z", - "iopub.status.idle": "2023-11-12T22:07:22.386358Z", - "shell.execute_reply": "2023-11-12T22:07:22.385762Z" + "iopub.execute_input": "2023-11-13T00:11:44.602089Z", + "iopub.status.busy": "2023-11-13T00:11:44.601633Z", + "iopub.status.idle": "2023-11-13T00:11:45.325982Z", + "shell.execute_reply": "2023-11-13T00:11:45.325096Z" } }, "outputs": [ @@ -112,10 +112,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.390004Z", - "iopub.status.busy": "2023-11-12T22:07:22.389532Z", - "iopub.status.idle": "2023-11-12T22:07:22.396459Z", - "shell.execute_reply": "2023-11-12T22:07:22.395976Z" + "iopub.execute_input": "2023-11-13T00:11:45.334423Z", + "iopub.status.busy": "2023-11-13T00:11:45.332789Z", + "iopub.status.idle": "2023-11-13T00:11:45.341524Z", + "shell.execute_reply": "2023-11-13T00:11:45.340947Z" } }, "outputs": [ @@ -218,10 +218,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.399581Z", - "iopub.status.busy": "2023-11-12T22:07:22.399206Z", - "iopub.status.idle": "2023-11-12T22:07:22.404366Z", - "shell.execute_reply": "2023-11-12T22:07:22.403834Z" + "iopub.execute_input": "2023-11-13T00:11:45.346110Z", + "iopub.status.busy": "2023-11-13T00:11:45.345588Z", + "iopub.status.idle": "2023-11-13T00:11:45.353393Z", + "shell.execute_reply": "2023-11-13T00:11:45.352789Z" } }, "outputs": [], @@ -276,10 +276,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.407279Z", - "iopub.status.busy": "2023-11-12T22:07:22.406802Z", - "iopub.status.idle": "2023-11-12T22:07:22.411663Z", - "shell.execute_reply": "2023-11-12T22:07:22.411131Z" + "iopub.execute_input": "2023-11-13T00:11:45.357099Z", + "iopub.status.busy": "2023-11-13T00:11:45.356839Z", + "iopub.status.idle": "2023-11-13T00:11:45.364650Z", + "shell.execute_reply": "2023-11-13T00:11:45.363926Z" } }, "outputs": [], @@ -316,10 +316,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.414226Z", - "iopub.status.busy": "2023-11-12T22:07:22.414040Z", - "iopub.status.idle": "2023-11-12T22:07:22.420246Z", - "shell.execute_reply": "2023-11-12T22:07:22.419782Z" + "iopub.execute_input": "2023-11-13T00:11:45.370408Z", + "iopub.status.busy": "2023-11-13T00:11:45.369066Z", + "iopub.status.idle": "2023-11-13T00:11:45.378037Z", + "shell.execute_reply": "2023-11-13T00:11:45.377458Z" } }, "outputs": [ @@ -327,7 +327,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Hartree Fock energy: -77.44562676439617\n" + "Hartree Fock energy: -77.44562676439621\n" ] } ], @@ -355,10 +355,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.424001Z", - "iopub.status.busy": "2023-11-12T22:07:22.422899Z", - "iopub.status.idle": "2023-11-12T22:07:22.898803Z", - "shell.execute_reply": "2023-11-12T22:07:22.898233Z" + "iopub.execute_input": "2023-11-13T00:11:45.381924Z", + "iopub.status.busy": "2023-11-13T00:11:45.381425Z", + "iopub.status.idle": "2023-11-13T00:11:46.016096Z", + "shell.execute_reply": "2023-11-13T00:11:46.015520Z" } }, "outputs": [ @@ -366,7 +366,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9315062301398779\n" + "Fidelity of evolved state w.r.t. initial state: 0.9315062301405042\n" ] } ], @@ -397,10 +397,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.903148Z", - "iopub.status.busy": "2023-11-12T22:07:22.902053Z", - "iopub.status.idle": "2023-11-12T22:07:22.913325Z", - "shell.execute_reply": "2023-11-12T22:07:22.912860Z" + "iopub.execute_input": "2023-11-13T00:11:46.020347Z", + "iopub.status.busy": "2023-11-13T00:11:46.019215Z", + "iopub.status.idle": "2023-11-13T00:11:46.040930Z", + "shell.execute_reply": "2023-11-13T00:11:46.040338Z" } }, "outputs": [ @@ -408,7 +408,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9928527668212312\n" + "Fidelity of Trotter-evolved state with exact state: 0.9928527668218575\n" ] } ], @@ -438,10 +438,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.916279Z", - "iopub.status.busy": "2023-11-12T22:07:22.916021Z", - "iopub.status.idle": "2023-11-12T22:07:22.995432Z", - "shell.execute_reply": "2023-11-12T22:07:22.994939Z" + "iopub.execute_input": "2023-11-13T00:11:46.047612Z", + "iopub.status.busy": "2023-11-13T00:11:46.044416Z", + "iopub.status.idle": "2023-11-13T00:11:46.147182Z", + "shell.execute_reply": "2023-11-13T00:11:46.146585Z" } }, "outputs": [ @@ -449,7 +449,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.999932085128516\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851292183\n" ] } ], @@ -481,10 +481,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.999347Z", - "iopub.status.busy": "2023-11-12T22:07:22.998427Z", - "iopub.status.idle": "2023-11-12T22:07:23.077107Z", - "shell.execute_reply": "2023-11-12T22:07:23.076621Z" + "iopub.execute_input": "2023-11-13T00:11:46.151864Z", + "iopub.status.busy": "2023-11-13T00:11:46.150782Z", + "iopub.status.idle": "2023-11-13T00:11:46.251325Z", + "shell.execute_reply": "2023-11-13T00:11:46.250700Z" } }, "outputs": [ @@ -492,7 +492,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.999932085128516\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851292183\n" ] } ], @@ -523,10 +523,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:23.081082Z", - "iopub.status.busy": "2023-11-12T22:07:23.080114Z", - "iopub.status.idle": "2023-11-12T22:07:23.127174Z", - "shell.execute_reply": "2023-11-12T22:07:23.126725Z" + "iopub.execute_input": "2023-11-13T00:11:46.255902Z", + "iopub.status.busy": "2023-11-13T00:11:46.254838Z", + "iopub.status.idle": "2023-11-13T00:11:46.312915Z", + "shell.execute_reply": "2023-11-13T00:11:46.312326Z" } }, "outputs": [ @@ -534,7 +534,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999913261306415\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999913261313018\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb index 9b9d4e4af..47eda669e 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-11-12T22:07:24.974971Z", - "iopub.status.busy": "2023-11-12T22:07:24.974762Z", - "iopub.status.idle": "2023-11-12T22:07:25.555769Z", - "shell.execute_reply": "2023-11-12T22:07:25.555199Z" + "iopub.execute_input": "2023-11-13T00:11:48.660133Z", + "iopub.status.busy": "2023-11-13T00:11:48.659876Z", + "iopub.status.idle": "2023-11-13T00:11:49.538847Z", + "shell.execute_reply": "2023-11-13T00:11:49.538209Z" } }, "outputs": [ @@ -25,14 +25,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "converged SCF energy = -77.4456267643961\n" + "converged SCF energy = -77.4456267643962\n" ] }, { "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.57322412553862 S^2 = 0.0000000\n" ] } ], @@ -110,10 +110,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:25.558793Z", - "iopub.status.busy": "2023-11-12T22:07:25.558449Z", - "iopub.status.idle": "2023-11-12T22:07:26.106689Z", - "shell.execute_reply": "2023-11-12T22:07:26.106132Z" + "iopub.execute_input": "2023-11-13T00:11:49.543076Z", + "iopub.status.busy": "2023-11-13T00:11:49.542536Z", + "iopub.status.idle": "2023-11-13T00:11:50.061201Z", + "shell.execute_reply": "2023-11-13T00:11:50.060570Z" } }, "outputs": [ @@ -121,14 +121,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.49387212754471 E_corr = -0.04824536314851584\n" + "E(CCSD) = -77.49387212754471 E_corr = -0.04824536314851564\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -77.46975600021682\n" + "Energy at initialialization: -77.46975600021707\n" ] } ], @@ -173,10 +173,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:26.109557Z", - "iopub.status.busy": "2023-11-12T22:07:26.109321Z", - "iopub.status.idle": "2023-11-12T22:07:32.176357Z", - "shell.execute_reply": "2023-11-12T22:07:32.175839Z" + "iopub.execute_input": "2023-11-13T00:11:50.066625Z", + "iopub.status.busy": "2023-11-13T00:11:50.065303Z", + "iopub.status.idle": "2023-11-13T00:11:55.065391Z", + "shell.execute_reply": "2023-11-13T00:11:55.064709Z" } }, "outputs": [ @@ -188,10 +188,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.51547827413064\n", - " x: [-1.527e-01 2.031e-01 ... 5.798e-01 7.820e-02]\n", + " fun: -77.51548645301652\n", + " x: [-1.525e-01 2.033e-01 ... 5.775e-01 7.832e-02]\n", " nit: 9\n", - " jac: [-7.616e-03 -9.713e-03 ... -7.064e-03 -2.366e-03]\n", + " jac: [-7.716e-03 -9.979e-03 ... -7.378e-03 -2.163e-03]\n", " nfev: 1095\n", " njev: 15\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" @@ -246,10 +246,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:32.180619Z", - "iopub.status.busy": "2023-11-12T22:07:32.179668Z", - "iopub.status.idle": "2023-11-12T22:07:38.223181Z", - "shell.execute_reply": "2023-11-12T22:07:38.222636Z" + "iopub.execute_input": "2023-11-13T00:11:55.069068Z", + "iopub.status.busy": "2023-11-13T00:11:55.068803Z", + "iopub.status.idle": "2023-11-13T00:12:00.356875Z", + "shell.execute_reply": "2023-11-13T00:12:00.356241Z" } }, "outputs": [ @@ -261,10 +261,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45952211133584\n", - " x: [-3.324e-01 8.325e-02 ... 6.510e-01 -1.393e-01]\n", + " fun: -77.45896820747369\n", + " x: [-3.417e-01 8.207e-02 ... 6.684e-01 -1.397e-01]\n", " nit: 15\n", - " jac: [ 1.873e-03 -2.188e-04 ... 2.842e-05 -4.931e-04]\n", + " jac: [ 3.492e-03 -2.089e-04 ... -1.209e-03 -9.948e-05]\n", " nfev: 1034\n", " njev: 22\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 2b0aa9826..2c53b850c 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-11-12T22:07:39.912628Z", - "iopub.status.busy": "2023-11-12T22:07:39.912436Z", - "iopub.status.idle": "2023-11-12T22:07:40.423330Z", - "shell.execute_reply": "2023-11-12T22:07:40.422746Z" + "iopub.execute_input": "2023-11-13T00:12:02.218068Z", + "iopub.status.busy": "2023-11-13T00:12:02.217796Z", + "iopub.status.idle": "2023-11-13T00:12:02.891963Z", + "shell.execute_reply": "2023-11-13T00:12:02.891227Z" } }, "outputs": [ @@ -86,10 +86,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:40.426379Z", - "iopub.status.busy": "2023-11-12T22:07:40.426093Z", - "iopub.status.idle": "2023-11-12T22:07:40.516173Z", - "shell.execute_reply": "2023-11-12T22:07:40.515692Z" + "iopub.execute_input": "2023-11-13T00:12:02.896169Z", + "iopub.status.busy": "2023-11-13T00:12:02.895805Z", + "iopub.status.idle": "2023-11-13T00:12:03.009336Z", + "shell.execute_reply": "2023-11-13T00:12:03.008337Z" } }, "outputs": [ @@ -97,7 +97,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -74.20656273321596\n" + "Energy at initialialization: -74.20656273321595\n" ] } ], @@ -138,10 +138,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:40.519489Z", - "iopub.status.busy": "2023-11-12T22:07:40.518297Z", - "iopub.status.idle": "2023-11-12T22:07:43.557638Z", - "shell.execute_reply": "2023-11-12T22:07:43.557069Z" + "iopub.execute_input": "2023-11-13T00:12:03.012619Z", + "iopub.status.busy": "2023-11-13T00:12:03.012364Z", + "iopub.status.idle": "2023-11-13T00:12:07.084909Z", + "shell.execute_reply": "2023-11-13T00:12:07.084076Z" } }, "outputs": [ @@ -153,10 +153,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -75.68085206948274\n", + " fun: -75.68085245214601\n", " x: [ 2.996e+00 -7.549e-01 ... 2.650e+00 8.012e-01]\n", " nit: 6\n", - " jac: [ 1.758e-03 9.111e-03 ... -1.193e-02 9.777e-04]\n", + " jac: [ 1.759e-03 9.119e-03 ... -1.192e-02 9.663e-04]\n", " nfev: 112\n", " njev: 7\n", " hess_inv: <15x15 LbfgsInvHessProduct with dtype=float64>\n" diff --git a/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb b/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb index 4605f1bab..7dd98d33f 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-11-12T22:07:44.914927Z", - "iopub.status.busy": "2023-11-12T22:07:44.914559Z", - "iopub.status.idle": "2023-11-12T22:07:45.223485Z", - "shell.execute_reply": "2023-11-12T22:07:45.222890Z" + "iopub.execute_input": "2023-11-13T00:12:08.781113Z", + "iopub.status.busy": "2023-11-13T00:12:08.780457Z", + "iopub.status.idle": "2023-11-13T00:12:09.153691Z", + "shell.execute_reply": "2023-11-13T00:12:09.153079Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", + " (cre_a(3), des_a(0)): -0.25,\n", " (cre_a(0), des_a(3)): 0.5,\n", - " (cre_a(3), des_a(0)): -0.25\n", + " (cre_b(1), des_b(5), cre_a(4)): 1+1j\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.226175Z", - "iopub.status.busy": "2023-11-12T22:07:45.225899Z", - "iopub.status.idle": "2023-11-12T22:07:45.230043Z", - "shell.execute_reply": "2023-11-12T22:07:45.229500Z" + "iopub.execute_input": "2023-11-13T00:12:09.158444Z", + "iopub.status.busy": "2023-11-13T00:12:09.157875Z", + "iopub.status.idle": "2023-11-13T00:12:09.164837Z", + "shell.execute_reply": "2023-11-13T00:12:09.164179Z" } }, "outputs": [ { "data": { "text/plain": [ - "'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})'" + "'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.232455Z", - "iopub.status.busy": "2023-11-12T22:07:45.232252Z", - "iopub.status.idle": "2023-11-12T22:07:45.238195Z", - "shell.execute_reply": "2023-11-12T22:07:45.237700Z" + "iopub.execute_input": "2023-11-13T00:12:09.168234Z", + "iopub.status.busy": "2023-11-13T00:12:09.167765Z", + "iopub.status.idle": "2023-11-13T00:12:09.174971Z", + "shell.execute_reply": "2023-11-13T00:12:09.174445Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\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), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", - " (cre_a(3), des_a(0)): -0.5,\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_b(2)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", + " (cre_a(0), des_a(3)): 1,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", - " (des_a(3), des_b(3)): 0.0625\n", + " (cre_a(3), des_a(0)): -0.5,\n", + " (des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.240655Z", - "iopub.status.busy": "2023-11-12T22:07:45.240466Z", - "iopub.status.idle": "2023-11-12T22:07:45.245505Z", - "shell.execute_reply": "2023-11-12T22:07:45.244962Z" + "iopub.execute_input": "2023-11-13T00:12:09.178356Z", + "iopub.status.busy": "2023-11-13T00:12:09.177876Z", + "iopub.status.idle": "2023-11-13T00:12:09.182658Z", + "shell.execute_reply": "2023-11-13T00:12:09.182138Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\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), des_a(3), des_b(3)): -1+1j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (cre_a(3), des_a(0)): 0+3j,\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_b(2)): -5,\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", - " (des_a(3), des_b(3)): 0-1.25j\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.247874Z", - "iopub.status.busy": "2023-11-12T22:07:45.247689Z", - "iopub.status.idle": "2023-11-12T22:07:45.253212Z", - "shell.execute_reply": "2023-11-12T22:07:45.252719Z" + "iopub.execute_input": "2023-11-13T00:12:09.185772Z", + "iopub.status.busy": "2023-11-13T00:12:09.185172Z", + "iopub.status.idle": "2023-11-13T00:12:09.190661Z", + "shell.execute_reply": "2023-11-13T00:12:09.190078Z" } }, "outputs": [ @@ -230,16 +230,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_b(2)): -5,\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_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), des_b(3), des_a(3)): -1+1j,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_b(2)): -5,\n", - " (des_b(3), des_a(3)): 0+1.25j\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.255501Z", - "iopub.status.busy": "2023-11-12T22:07:45.255306Z", - "iopub.status.idle": "2023-11-12T22:07:45.258579Z", - "shell.execute_reply": "2023-11-12T22:07:45.258034Z" + "iopub.execute_input": "2023-11-13T00:12:09.193923Z", + "iopub.status.busy": "2023-11-13T00:12:09.193450Z", + "iopub.status.idle": "2023-11-13T00:12:09.197605Z", + "shell.execute_reply": "2023-11-13T00:12:09.197062Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.261135Z", - "iopub.status.busy": "2023-11-12T22:07:45.260687Z", - "iopub.status.idle": "2023-11-12T22:07:45.265165Z", - "shell.execute_reply": "2023-11-12T22:07:45.264607Z" + "iopub.execute_input": "2023-11-13T00:12:09.200627Z", + "iopub.status.busy": "2023-11-13T00:12:09.200195Z", + "iopub.status.idle": "2023-11-13T00:12:09.206326Z", + "shell.execute_reply": "2023-11-13T00:12:09.205372Z" } }, "outputs": [ @@ -340,10 +340,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.267481Z", - "iopub.status.busy": "2023-11-12T22:07:45.267282Z", - "iopub.status.idle": "2023-11-12T22:07:45.274322Z", - "shell.execute_reply": "2023-11-12T22:07:45.273834Z" + "iopub.execute_input": "2023-11-13T00:12:09.209169Z", + "iopub.status.busy": "2023-11-13T00:12:09.208740Z", + "iopub.status.idle": "2023-11-13T00:12:09.215157Z", + "shell.execute_reply": "2023-11-13T00:12:09.214635Z" } }, "outputs": [ @@ -352,7 +352,7 @@ "text/plain": [ "array([ 0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " -0.02638719+0.27846154j, 0. +0.j ,\n", + " -0.09213022+0.05473089j, 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-11-12T22:07:45.276722Z", - "iopub.status.busy": "2023-11-12T22:07:45.276532Z", - "iopub.status.idle": "2023-11-12T22:07:45.287862Z", - "shell.execute_reply": "2023-11-12T22:07:45.287315Z" + "iopub.execute_input": "2023-11-13T00:12:09.218213Z", + "iopub.status.busy": "2023-11-13T00:12:09.217706Z", + "iopub.status.idle": "2023-11-13T00:12:09.233200Z", + "shell.execute_reply": "2023-11-13T00:12:09.232628Z" } }, "outputs": [ diff --git a/.doctrees/tutorials/03-double-factorized.doctree b/.doctrees/tutorials/03-double-factorized.doctree index eee9ff109..22d8f9c79 100644 Binary files a/.doctrees/tutorials/03-double-factorized.doctree and b/.doctrees/tutorials/03-double-factorized.doctree differ diff --git a/.doctrees/tutorials/04-lucj.doctree b/.doctrees/tutorials/04-lucj.doctree index 79fb68ad6..bcba380e8 100644 Binary files a/.doctrees/tutorials/04-lucj.doctree and b/.doctrees/tutorials/04-lucj.doctree differ diff --git a/.doctrees/tutorials/05-entanglement-forging.doctree b/.doctrees/tutorials/05-entanglement-forging.doctree index 00661b6f0..f291a641a 100644 Binary files a/.doctrees/tutorials/05-entanglement-forging.doctree and b/.doctrees/tutorials/05-entanglement-forging.doctree differ diff --git a/.doctrees/tutorials/06-fermion-operator.doctree b/.doctrees/tutorials/06-fermion-operator.doctree index 6f9a66697..496adedae 100644 Binary files a/.doctrees/tutorials/06-fermion-operator.doctree and b/.doctrees/tutorials/06-fermion-operator.doctree differ diff --git a/api/ffsim.html b/api/ffsim.html index f4d57e4a6..b341c313b 100644 --- a/api/ffsim.html +++ b/api/ffsim.html @@ -269,9 +269,9 @@
FermionOperator({
-    (cre_a(3), des_a(0)): -0.25,
+    (cre_a(0), des_a(3)): 0.5,
     (cre_b(1), des_b(5), cre_a(4)): 1+1j,
-    (cre_a(0), des_a(3)): 0.5
+    (cre_a(3), des_a(0)): -0.25
 })
 
@@ -285,9 +285,9 @@
FermionOperator({
-    (cre_a(3), des_a(0)): -0.5,
+    (cre_a(0), des_a(3)): 1,
     (cre_b(1), des_b(5), cre_a(4)): 2+2j,
-    (cre_a(0), des_a(3)): 1
+    (cre_a(3), des_a(0)): -0.5
 })
 
@@ -307,10 +307,10 @@
FermionOperator({
+    (des_a(3), des_b(3)): -0.25,
+    (cre_a(3), des_a(0)): -0.25,
     (cre_a(0), des_a(3)): 0.5,
     (cre_b(2)): 0+1j,
-    (cre_a(3), des_a(0)): -0.25,
-    (des_a(3), des_b(3)): -0.25,
     (cre_b(1), des_b(5), cre_a(4)): 1+1j
 })
 
@@ -325,12 +325,12 @@
FermionOperator({
-    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,
-    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-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,
     (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(3), des_a(0), cre_b(2)): 0-0.25j
+    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
+    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625
 })
 
diff --git a/searchindex.js b/searchindex.js index 2073d283e..77ab80068 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, 10, 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, 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, 9, 10, 11], "sourc": [0, 1, 2, 3, 4, 5], "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], "represent": [0, 1, 2, 6, 11], "The": [0, 1, 2, 3, 4, 5, 6, 7, 8], "form": [0, 1, 2, 7, 8, 9, 11], "molecular": [0, 9, 10], "h": [0, 8, 9, 10], "sum_": [0, 1, 2, 7, 8, 9], "sigma": [0, 1, 7, 8, 9], "pq": [0, 2, 8], "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, "tau": [0, 1, 8, 9], "ij": [0, 1, 2, 7, 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, 10, 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, 9], "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], "an": [0, 1, 2, 3, 6, 7, 8, 9, 11], "altern": [0, 8], "sometim": 0, "yield": [0, 2, 8, 9, 10], "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, 6, 9, 11], "neq": [0, 1], "refer": [0, 2, 3, 9], "low": 0, "rank": [0, 2, 3], "electron": [0, 1, 3, 4, 6, 8], "structur": 0, "filter": 0, "diagon": [0, 1, 2, 5, 7, 9], "tensor": [0, 1, 2, 3, 8, 9, 10], "type": [0, 1, 2, 3, 4], "np": [0, 3, 4, 6, 7, 8, 9, 10], "ndarrai": [0, 1, 2, 3, 8], "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, "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, 10], "bfg": [0, 2, 9, 10], "b": [0, 2, 7, 8, 9, 10], "callback": [0, 2], "option": [0, 1, 2, 3, 9, 10], "diag_coulomb_mask": [0, 2], "choleski": [0, 2], "true": [0, 2, 6, 11], "initi": [0, 3, 4, 8, 9, 10], "from": [0, 3, 6, 7, 9, 10, 11], "molecularhamiltonian": [0, 5, 8], "thi": [0, 2, 5, 6, 7, 8, 9, 10], "function": [0, 1, 2, 6, 7, 8, 9, 11], "input": [0, 1, 3, 4, 9], "which": [0, 2, 3, 6, 7, 8, 9, 11], "store": [0, 2, 8, 9], "It": [0, 2, 6, 8, 11], "perform": [0, 2, 7, 8], "decomposit": [0, 2], "comput": [0, 2, 7, 9, 10], "new": [0, 7, 11], "return": [0, 1, 2, 3, 4, 8, 9, 10, 11], "result": [0, 1, 2, 3, 6, 7, 8, 9, 10], "see": [0, 2], "descript": 0, "argument": [0, 2, 7], "linalg": [0, 5, 7, 8, 11], "double_factor": [0, 2, 5], "rest": [0, 8], "paramet": [0, 1, 2, 3, 4, 9, 10], "whose": [0, 2, 6], "us": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11], "toler": [0, 2, 9], "error": [0, 2], "defin": [0, 2, 8, 9, 10], "maximum": [0, 2, 3], "absolut": [0, 2], "differ": [0, 1, 2, 9], "between": [0, 1, 2, 9], "element": [0, 2], "origin": [0, 2, 8], "correspond": [0, 2, 6, 7, 8], "reconstruct": [0, 2], "int": [0, 1, 2, 3, 4, 8, 10], "limit": [0, 2, 9, 10], "keep": [0, 2], "overrid": [0, 2], "str": [0, 2], "document": [0, 2], "scipi": [0, 2, 6, 7, 8, 9, 10, 11], "minim": [0, 2, 9, 10], "possibl": [0, 2, 6], "valu": [0, 1, 2, 3, 8, 9], "usag": [0, 2, 11], "dict": [0, 2, 9, 10], "mask": [0, 2], "boolean": [0, 2], "nonzero": [0, 2, 9], "ar": [0, 1, 2, 3, 6, 7, 8, 9, 11], "allow": [0, 2, 9], "onli": [0, 2, 6, 7, 9], "set": [0, 2, 6, 7, 8, 9], "upper": [0, 2, 9], "triangular": [0, 2], "modifi": [0, 2], "If": [0, 1, 2, 3, 11], "full": [0, 2, 6], "eigenvalu": [0, 2, 7], "instead": [0, 2], "can": [0, 2, 5, 6, 7, 8, 9, 11], "much": [0, 2, 5, 6], "more": [0, 2, 6, 9], "expens": [0, 2], "ignor": [0, 2, 8], "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, 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], "op1": [0, 11], "cre_a": [0, 5, 11], "des_a": [0, 5, 11], "3": [0, 6, 7, 8, 9, 10, 11], "5": [0, 8, 9, 11], "25": [0, 11], "cre_b": [0, 5, 11], "des_b": [0, 5, 11], "4": [0, 6, 7, 8, 9, 10, 11], "1j": [0, 7, 8, 11], "2j": [0, 11], "op2": [0, 11], "0625": [0, 11], "25j": [0, 11], "5j": [0, 11], "125": [0, 11], "tupl": [0, 1, 2, 4, 8, 11], "complex": [0, 1, 2, 3], "coeffici": [0, 1, 2, 7, 9, 11], "conserves_particle_numb": [0, 11], "conserv": [0, 5, 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, 6], "ha": [0, 1, 2, 6, 7, 8, 9], "been": 0, "reorder": 0, "canon": 0, "In": [0, 6, 7, 8, 9, 10, 11], "compris": [0, 11], "appear": [0, 11], "left": [0, 6, 7, 11], "right": [0, 6, 7, 11], "descend": [0, 11], "lexicograph": [0, 11], "That": [0, 7, 11], "all": [0, 6, 9, 11], "befor": [0, 9, 11], "within": [0, 2, 11], "beta": [0, 1, 4, 6, 9, 11], "alpha": [0, 1, 4, 6, 9, 11], "larger": [0, 2, 11], "smaller": [0, 2, 8, 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, "two_body_tensor": [0, 2, 8], "dipole_integr": 0, "orbital_symmetri": 0, "data": [0, 3, 8, 9, 10, 11], "core": 0, "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, 8, 9, 10], "hartre": [0, 6, 7, 8, 9], "fock": [0, 6, 7, 8, 9], "calcul": [0, 6, 8, 9], "scf": [0, 8, 9, 10], "iter": 0, "list": [0, 2, 4, 6, 9, 10], "activ": [0, 8, 9, 10], "space": [0, 6, 8, 9, 10], "h_": [0, 2, 8], "pqr": [0, 2, 8], "r": [0, 2, 8], "": [0, 2, 6, 8, 9, 10, 11], "call": [0, 6, 7, 8, 11], "singlefactorizedhamiltonian": [0, 5], "one_body_squar": 0, "singl": [0, 8], "mathcal": [0, 1, 7, 8, 9], "m": [0, 1, 2, 7], "hermitian": [0, 2, 3, 7], "squar": [0, 2, 9], "sum": [0, 1, 8], "depend": [0, 2, 6], "threshold": [0, 2], "lead": 0, "furthermor": [0, 2], "specifi": [0, 2, 9], "bound": [0, 2], "note": [0, 2, 9, 11], "current": [0, 2], "support": [0, 2, 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], "supportsfermionoper": [0, 5], "convert": [0, 1, 6, 7, 8, 11], "supportslinearoper": [0, 5], "linearoper": [0, 1, 7, 8, 11], "supportstrac": [0, 5], "trace": [0, 5, 8], "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], "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, 10], "we": [0, 7, 8, 9, 10, 11], "enforc": [0, 9], "As": [0, 6, 7, 8, 9], "have": [0, 2, 7, 9, 11], "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], "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, 6], "time": [0, 2, 6, 8], "mat_alpha_beta": [0, 1], "copi": [0, 11], "evolut": [0, 8], "exp": [0, 7], "z_": [0, 1], "also": [0, 1, 6, 7, 11], "given": [0, 1, 2, 7, 8], "place": [0, 1, 9, 11], "state": [0, 1, 3, 6, 7, 8, 9, 10], "interact": [0, 1, 6], "alwai": [0, 2, 7], "newli": 0, "alloc": 0, "untouch": 0, "mai": [0, 2, 7, 9], "still": [0, 9], "its": [0, 2, 7, 8, 11], "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], "begin": [0, 7, 9], "align": [0, 7, 9], "nn": 0, "when": [0, 8, 9, 11], "neighbor": 0, "qubit": [0, 9], "pmatrix": 0, "co": [0, 10], "sin": [0, 10], "phase": [0, 7], "apply_givens_rot": [0, 5], "g": [0, 9, 10], "apply_hop_g": [0, 5], "apply_num_interact": [0, 5], "apply_num_num_interact": [0, 5], "apply_num_op_prod_interact": [0, 5], "s_": 0, "sequenc": 0, "pair": [0, 4], "integ": 0, "give": [0, 7], "first": [0, 2, 6, 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], "both": [0, 2], "apply_tunneling_interact": [0, 5], "apply_unitari": [0, 5, 9], "obj": 0, "ani": [0, 7, 9], "approx_eq": [0, 5], "other": [0, 6, 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], "index": [0, 6, 9, 11], "act": [0, 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, "w": [0, 7, 8], "slater": [0, 6, 8], "determin": [0, 2, 6, 8], "o": [0, 10], "m_": [0, 1, 2], "a_p": 0, "a_q": 0, "let": [0, 8, 11], "lvert": [0, 9], "psi": [0, 9], "rangl": [0, 9], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "unlik": 0, "most": [0, 11], "word": [0, 9], "rdm": [0, 5], "should": [0, 3, 4, 7, 8], "shape": [0, 2, 3, 6, 8, 9], "treat": 0, "foot": 0, "pass": [0, 2, 7, 11], "expand": 0, "usual": 0, "elsewher": 0, "block_diag": 0, "reduc": [0, 2], "densiti": 0, "expectation_one_body_product": [0, 5], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "fermion_oper": [0, 5], "hartree_fock_st": [0, 5, 6, 7, 8, 9], "statevector": [0, 6, 7], "indices_to_str": [0, 5, 6], "bitstr": [0, 6], "rang": [0, 6, 7, 8, 9, 10], "011001": 0, "011010": 0, "011100": 0, "101001": 0, "101010": 0, "101100": 0, "110001": 0, "110010": 0, "110100": 0, "init_cach": [0, 5], "cach": 0, "prepar": 0, "typic": 0, "need": [0, 9], "benchmark": 0, "avoid": [0, 11], "count": 0, "cost": 0, "lookup": 0, "tabl": [0, 11], "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], "default": [0, 2, 3], "lowest": [0, 7, 8], "one_hot": [0, 5], "dtype": [0, 3, 9, 10], "arrai": [0, 2, 6, 11], "zero": 0, "except": 0, "hot": 0, "spin_sum": 0, "rdm1": 0, "definit": [0, 2], "higher": [0, 8], "rdm2": 0, "rdm3": 0, "rdm4": 0, "v": 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, "string": [0, 6, 11], "proport": [0, 7], "spectral": 0, "uniform": [0, 3, 10], "requir": [0, 9], "whenev": 0, "complet": 0, "character": 0, "trajectori": 0, "pseudorandom": [0, 3, 4], "gener": [0, 3, 4, 5, 6, 7, 8, 9], "valid": [0, 3, 4], "random": [0, 4, 5, 6, 7, 10, 11], "default_rng": [0, 3, 4, 10], "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], "occupied_orbit": [0, 6, 7], "occupi": [0, 3, 4, 8], "configur": [0, 6], "slater_determinant_rdm": [0, 5], "similarli": [0, 8], "construct": [1, 6, 8, 9, 10, 11], "contract_diag_coulomb": [1, 5], "contract_num_op_sum": [1, 5], "contract_one_bodi": [1, 5], "dagger_i": 1, "a_j": 1, "implement": [1, 6, 7, 9], "diag_coulomb_linop": [1, 5], "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], "ell": 2, "pk": 2, "qk": 2, "respect": 2, "so": [2, 7, 8, 9, 11], "too": 2, "small": [2, 9], "exce": [2, 9, 10], "behavior": [2, 3], "routin": [2, 6, 11], "straightforward": 2, "exact": [2, 6, 8], "nest": 2, "addition": 2, "choos": [2, 6, 9], "achiev": [2, 8], "compress": 2, "enabl": 2, "attempt": 2, "least": 2, "quantifi": 2, "gradient": 2, "constrain": 2, "certain": 2, "becaus": [2, 6, 8, 9, 11], "arxiv": [2, 3], "1808": 2, "02625": 2, "2104": 2, "08957": 2, "decompos": [2, 8], "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], "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], "No": 2, "check": [2, 7, 8], "verifi": 2, "1711": 2, "02242": 2, "assembl": 2, "reduced_matrix": [2, 5], "subspac": [2, 11], "span": [2, 6], "some": [2, 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], "n_beta": [4, 6, 7], "random_occupied_orbit": [4, 5], "occ_a": 4, "occ_b": 4, "categori": 5, "chemistri": 5, "By": [5, 6], "exploit": 5, "algorithm": 5, "faster": 5, "code": [5, 6, 8, 9, 11], "locat": 5, "http": 5, "github": 5, "com": 5, "qiskit": 5, "commun": 5, "introduct": 5, "quadrat": [5, 8], "local": 5, "lucj": 5, "entangl": 5, "forg": 5, "contract": [5, 7], "test": [5, 6, 7, 8], "advantag": 6, "effici": [6, 11], "primari": 6, "wai": [6, 7, 9], "directli": [6, 8], "show": [6, 7, 8, 9, 10, 11], "6": [6, 7, 8, 9, 10, 11], "1234": [6, 7, 10], "slater_det": 6, "assert_allclos": [6, 7], "plain": 6, "Its": 6, "fix": 6, "For": [6, 7, 9, 11], "system": [6, 7], "contrast": 6, "would": [6, 9], "2n": 6, "diment": 6, "conveni": 6, "comb": 6, "print": [6, 8, 9, 10, 11], "f": [6, 8, 9, 10], "On": 6, "hand": 6, "assert": 6, "300": 6, "4096": 6, "standard": 6, "often": [6, 9], "simpli": [6, 7], "reshap": 6, "choic": 6, "pyscf": [6, 8, 9, 10], "modul": 6, "you": [6, 7, 9], "half": 6, "20": 6, "39": [6, 11], "000111000011": 6, "000111000101": 6, "000111000110": 6, "000111001001": 6, "000111001010": 6, "000111001100": 6, "000111010001": 6, "000111010010": 6, "000111010100": 6, "000111011000": 6, "000111100001": 6, "000111100010": 6, "000111100100": 6, "000111101000": 6, "000111110000": 6, "001011000011": 6, "001011000101": 6, "001011000110": 6, "001011001001": 6, "001011001010": 6, "tutori": [7, 8, 9, 10], "ffsim": [7, 8, 9, 10, 11], "fundament": 7, "mode": 7, "sum_j": 7, "th": 7, "satisfi": [7, 11], "anticommut": 7, "relat": [7, 9], "thei": [7, 9, 11], "_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, "spars": [7, 8, 11], "eig": [7, 11], "eigsh": 7, "la": 7, "fact": 7, "illustr": 7, "purpos": 7, "explicitli": 7, "eigh": [7, 8], "evolved_vec": 7, "conj": 7, "undo": 7, "expected_phas": 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], "ethen": [8, 9], "molecul": [8, 9, 10], "stretch": [8, 9], "bond": [8, 9, 10], "build": [8, 9, 10], "bond_dist": [8, 9], "678": [8, 9], "5626": [8, 9], "c": [8, 9], "9289": [8, 9], "mol": [8, 9, 10], "gto": [8, 9, 10], "mole": [8, 9, 10], "atom": [8, 9, 10], "sto": [8, 9, 10], "6g": [8, 9, 10], "d2h": [8, 9], "rhf": [8, 9, 10], "kernel": [8, 9, 10], "nelectron": [8, 9], "mol_data": [8, 9, 10], "mol_hamiltonian": [8, 9, 10], "df_hamiltonian": 8, "converg": [8, 9, 10], "77": [8, 9], "4456267643962": 8, "dataclass": [8, 9], "One": 8, "10": 8, "although": 8, "alreadi": 8, "built": 8, "manual": 8, "asymmetr": 8, "basic": 8, "h_k": 8, "divid": 8, "exponenti": 8, "individu": [8, 11], "do": [8, 11], "approx": 8, "prod_k": 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, "level": 8, "handl": 8, "split": 8, "multipl": [8, 11], "wrote": 8, "step_tim": 8, "match": 8, "output": [8, 9], "initial_st": 8, "\u03c8": [8, 9, 10], "hf_energi": 8, "vdot": [8, 9, 10], "44562676439617": 8, "now": 8, "later": 8, "exact_st": 8, "expm_multipli": 8, "tracea": 8, "fidel": 8, "ab": 8, "9315062301398779": 8, "7": [8, 9, 10, 11], "final_st": [8, 9], "9928527668212312": 8, "improv": 8, "increas": [8, 9], "8": [8, 9, 10, 11], "999932085128516": 8, "commonli": 8, "known": 8, "fourth": 8, "reproduc": 8, "9": [8, 9, 10, 11], "fewer": 8, "9999913261306415": 8, "mcscf": [9, 10], "ca": [9, 10], "casci": [9, 10], "nca": [9, 10], "neleca": [9, 10], "mo": [9, 10], "sort_mo": [9, 10], "energy_fci": [9, 10], "4456267643961": 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, 10], "reference_st": 9, "ansatz_st": [9, 10], "initiali": [9, 10], "49387212754471": 9, "e_corr": 9, "04824536314851584": 9, "46975600021682": 9, "facilit": 9, "convers": 9, "precis": 9, "somewhat": 9, "complic": 9, "short": 9, "entri": 9, "non": 9, "redund": 9, "associ": [9, 11], "evalu": [9, 10], "like": 9, "fun": [9, 10], "x": [9, 10], "x0": [9, 10], "maxfun": [9, 10], "1000": 9, "len": [9, 10], "72": 9, "messag": [9, 10], "stop": [9, 10], "NO": [9, 10], "AND": [9, 10], "success": [9, 10], "statu": [9, 10], "51547827413064": 9, "527e": 9, "01": [9, 10], "031e": 9, "798e": 9, "820e": 9, "02": [9, 10], "nit": [9, 10], "jac": [9, 10], "616e": 9, "03": [9, 10], "713e": 9, "064e": 9, "366e": 9, "nfev": [9, 10], "1095": 9, "njev": [9, 10], "15": [9, 10], "hess_inv": [9, 10], "lt": [9, 10], "72x72": 9, "lbfgsinvhessproduct": [9, 10], "float64": [9, 10], "gt": [9, 10], "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, "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, "45952211133584": 9, "324e": 9, "325e": 9, "510e": 9, "393e": 9, "873e": 9, "188e": 9, "04": [9, 10], "842e": 9, "931e": 9, "1034": 9, "22": 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, "75": 10, "6787887956297": 10, "7288249991515": 10, "23": 10, "6332495815006": 10, "brickwork": 10, "n_layer": 10, "rng": 10, "size": 10, "reference_occupations_spati": 10, "74": 10, "20656273321596": 10, "100": 10, "68085206948274": 10, "996e": 10, "00": 10, "549e": 10, "650e": 10, "012e": 10, "758e": 10, "111e": 10, "193e": 10, "777e": 10, "112": 10, "15x15": 10, "Such": 11, "programmat": 11, "dictionari": 11, "hash": 11, "three": 11, "piec": 11, "inform": 11, "being": 11, "upon": 11, "intern": 11, "itself": 11, "recommend": 11, "helper": 11, "shown": 11, "repr": 11, "view": 11, "displai": 11, "0j": 11, "arithmet": 11, "multipli": 11, "scalar": 11, "go": 11, "op": 11, "op3": 11, "good": 11, "awar": 11, "especi": 11, "These": 11, "subtract": 11, "divis": 11, "6j": 11, "4j": 11, "3j": 11, "12j": 11, "preserv": 11, "far": 11, "criteria": 11, "doe": 11, "op4": 11, "linop": 11, "onto": 11, "02638719": 11, "27846154j": 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, "", "SingleFactorizedHamiltonian"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsFermionOperator"], [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, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [0, 5, 1, "", "indices_to_strings"], [0, 5, 1, "", "init_cache"], [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, "", "rdm"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_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.SingleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_squares"], [0, 2, 1, "", "one_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, "", "contract_one_body"], [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"]], "singlefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.SingleFactorizedHamiltonian"]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary"]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality"]], "supportsfermionoperator (class in ffsim)": [[0, "ffsim.SupportsFermionOperator"]], "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"]], "constant (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.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"]], "fermion_operator() (in module ffsim)": [[0, "ffsim.fermion_operator"]], "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_molecular_hamiltonian() (ffsim.singlefactorizedhamiltonian static method)": [[0, "ffsim.SingleFactorizedHamiltonian.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"]], "hartree_fock_state() (in module ffsim)": [[0, "ffsim.hartree_fock_state"]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings"]], "init_cache() (in module ffsim)": [[0, "ffsim.init_cache"]], "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.singlefactorizedhamiltonian property)": [[0, "ffsim.SingleFactorizedHamiltonian.norb"]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb"]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered"]], "one_body_squares (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_squares"]], "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_body_tensor (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.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"]], "rdm() (in module ffsim)": [[0, "ffsim.rdm"]], "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_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_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"]], "contract_one_body() (in module ffsim.contract)": [[1, "ffsim.contract.contract_one_body"]], "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, 10, 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, 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, 9, 10, 11], "sourc": [0, 1, 2, 3, 4, 5], "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], "represent": [0, 1, 2, 6, 11], "The": [0, 1, 2, 3, 4, 5, 6, 7, 8], "form": [0, 1, 2, 7, 8, 9, 11], "molecular": [0, 9, 10], "h": [0, 8, 9, 10], "sum_": [0, 1, 2, 7, 8, 9], "sigma": [0, 1, 7, 8, 9], "pq": [0, 2, 8], "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, "tau": [0, 1, 8, 9], "ij": [0, 1, 2, 7, 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, 10, 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, 9], "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], "an": [0, 1, 2, 3, 6, 7, 8, 9, 11], "altern": [0, 8], "sometim": 0, "yield": [0, 2, 8, 9, 10], "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, 6, 9, 11], "neq": [0, 1], "refer": [0, 2, 3, 9], "low": 0, "rank": [0, 2, 3], "electron": [0, 1, 3, 4, 6, 8], "structur": 0, "filter": 0, "diagon": [0, 1, 2, 5, 7, 9], "tensor": [0, 1, 2, 3, 8, 9, 10], "type": [0, 1, 2, 3, 4], "np": [0, 3, 4, 6, 7, 8, 9, 10], "ndarrai": [0, 1, 2, 3, 8], "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, "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, 10], "bfg": [0, 2, 9, 10], "b": [0, 2, 7, 8, 9, 10], "callback": [0, 2], "option": [0, 1, 2, 3, 9, 10], "diag_coulomb_mask": [0, 2], "choleski": [0, 2], "true": [0, 2, 6, 11], "initi": [0, 3, 4, 8, 9, 10], "from": [0, 3, 6, 7, 9, 10, 11], "molecularhamiltonian": [0, 5, 8], "thi": [0, 2, 5, 6, 7, 8, 9, 10], "function": [0, 1, 2, 6, 7, 8, 9, 11], "input": [0, 1, 3, 4, 9], "which": [0, 2, 3, 6, 7, 8, 9, 11], "store": [0, 2, 8, 9], "It": [0, 2, 6, 8, 11], "perform": [0, 2, 7, 8], "decomposit": [0, 2], "comput": [0, 2, 7, 9, 10], "new": [0, 7, 11], "return": [0, 1, 2, 3, 4, 8, 9, 10, 11], "result": [0, 1, 2, 3, 6, 7, 8, 9, 10], "see": [0, 2], "descript": 0, "argument": [0, 2, 7], "linalg": [0, 5, 7, 8, 11], "double_factor": [0, 2, 5], "rest": [0, 8], "paramet": [0, 1, 2, 3, 4, 9, 10], "whose": [0, 2, 6], "us": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11], "toler": [0, 2, 9], "error": [0, 2], "defin": [0, 2, 8, 9, 10], "maximum": [0, 2, 3], "absolut": [0, 2], "differ": [0, 1, 2, 9], "between": [0, 1, 2, 9], "element": [0, 2], "origin": [0, 2, 8], "correspond": [0, 2, 6, 7, 8], "reconstruct": [0, 2], "int": [0, 1, 2, 3, 4, 8, 10], "limit": [0, 2, 9, 10], "keep": [0, 2], "overrid": [0, 2], "str": [0, 2], "document": [0, 2], "scipi": [0, 2, 6, 7, 8, 9, 10, 11], "minim": [0, 2, 9, 10], "possibl": [0, 2, 6], "valu": [0, 1, 2, 3, 8, 9], "usag": [0, 2, 11], "dict": [0, 2, 9, 10], "mask": [0, 2], "boolean": [0, 2], "nonzero": [0, 2, 9], "ar": [0, 1, 2, 3, 6, 7, 8, 9, 11], "allow": [0, 2, 9], "onli": [0, 2, 6, 7, 9], "set": [0, 2, 6, 7, 8, 9], "upper": [0, 2, 9], "triangular": [0, 2], "modifi": [0, 2], "If": [0, 1, 2, 3, 11], "full": [0, 2, 6], "eigenvalu": [0, 2, 7], "instead": [0, 2], "can": [0, 2, 5, 6, 7, 8, 9, 11], "much": [0, 2, 5, 6], "more": [0, 2, 6, 9], "expens": [0, 2], "ignor": [0, 2, 8], "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, 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], "op1": [0, 11], "cre_a": [0, 5, 11], "des_a": [0, 5, 11], "3": [0, 6, 7, 8, 9, 10, 11], "5": [0, 8, 9, 11], "25": [0, 11], "cre_b": [0, 5, 11], "des_b": [0, 5, 11], "4": [0, 6, 7, 8, 9, 10, 11], "1j": [0, 7, 8, 11], "2j": [0, 11], "op2": [0, 11], "5j": [0, 11], "25j": [0, 11], "125": [0, 11], "0625": [0, 11], "tupl": [0, 1, 2, 4, 8, 11], "complex": [0, 1, 2, 3], "coeffici": [0, 1, 2, 7, 9, 11], "conserves_particle_numb": [0, 11], "conserv": [0, 5, 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, 6], "ha": [0, 1, 2, 6, 7, 8, 9], "been": 0, "reorder": 0, "canon": 0, "In": [0, 6, 7, 8, 9, 10, 11], "compris": [0, 11], "appear": [0, 11], "left": [0, 6, 7, 11], "right": [0, 6, 7, 11], "descend": [0, 11], "lexicograph": [0, 11], "That": [0, 7, 11], "all": [0, 6, 9, 11], "befor": [0, 9, 11], "within": [0, 2, 11], "beta": [0, 1, 4, 6, 9, 11], "alpha": [0, 1, 4, 6, 9, 11], "larger": [0, 2, 11], "smaller": [0, 2, 8, 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, "two_body_tensor": [0, 2, 8], "dipole_integr": 0, "orbital_symmetri": 0, "data": [0, 3, 8, 9, 10, 11], "core": 0, "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, 8, 9, 10], "hartre": [0, 6, 7, 8, 9], "fock": [0, 6, 7, 8, 9], "calcul": [0, 6, 8, 9], "scf": [0, 8, 9, 10], "iter": 0, "list": [0, 2, 4, 6, 9, 10], "activ": [0, 8, 9, 10], "space": [0, 6, 8, 9, 10], "h_": [0, 2, 8], "pqr": [0, 2, 8], "r": [0, 2, 8], "": [0, 2, 6, 8, 9, 10, 11], "call": [0, 6, 7, 8, 11], "singlefactorizedhamiltonian": [0, 5], "one_body_squar": 0, "singl": [0, 8], "mathcal": [0, 1, 7, 8, 9], "m": [0, 1, 2, 7], "hermitian": [0, 2, 3, 7], "squar": [0, 2, 9], "sum": [0, 1, 8], "depend": [0, 2, 6], "threshold": [0, 2], "lead": 0, "furthermor": [0, 2], "specifi": [0, 2, 9], "bound": [0, 2], "note": [0, 2, 9, 11], "current": [0, 2], "support": [0, 2, 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], "supportsfermionoper": [0, 5], "convert": [0, 1, 6, 7, 8, 11], "supportslinearoper": [0, 5], "linearoper": [0, 1, 7, 8, 11], "supportstrac": [0, 5], "trace": [0, 5, 8], "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], "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, 10], "we": [0, 7, 8, 9, 10, 11], "enforc": [0, 9], "As": [0, 6, 7, 8, 9], "have": [0, 2, 7, 9, 11], "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], "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, 6], "time": [0, 2, 6, 8], "mat_alpha_beta": [0, 1], "copi": [0, 11], "evolut": [0, 8], "exp": [0, 7], "z_": [0, 1], "also": [0, 1, 6, 7, 11], "given": [0, 1, 2, 7, 8], "place": [0, 1, 9, 11], "state": [0, 1, 3, 6, 7, 8, 9, 10], "interact": [0, 1, 6], "alwai": [0, 2, 7], "newli": 0, "alloc": 0, "untouch": 0, "mai": [0, 2, 7, 9], "still": [0, 9], "its": [0, 2, 7, 8, 11], "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], "begin": [0, 7, 9], "align": [0, 7, 9], "nn": 0, "when": [0, 8, 9, 11], "neighbor": 0, "qubit": [0, 9], "pmatrix": 0, "co": [0, 10], "sin": [0, 10], "phase": [0, 7], "apply_givens_rot": [0, 5], "g": [0, 9, 10], "apply_hop_g": [0, 5], "apply_num_interact": [0, 5], "apply_num_num_interact": [0, 5], "apply_num_op_prod_interact": [0, 5], "s_": 0, "sequenc": 0, "pair": [0, 4], "integ": 0, "give": [0, 7], "first": [0, 2, 6, 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], "both": [0, 2], "apply_tunneling_interact": [0, 5], "apply_unitari": [0, 5, 9], "obj": 0, "ani": [0, 7, 9], "approx_eq": [0, 5], "other": [0, 6, 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], "index": [0, 6, 9, 11], "act": [0, 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, "w": [0, 7, 8], "slater": [0, 6, 8], "determin": [0, 2, 6, 8], "o": [0, 10], "m_": [0, 1, 2], "a_p": 0, "a_q": 0, "let": [0, 8, 11], "lvert": [0, 9], "psi": [0, 9], "rangl": [0, 9], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "unlik": 0, "most": [0, 11], "word": [0, 9], "rdm": [0, 5], "should": [0, 3, 4, 7, 8], "shape": [0, 2, 3, 6, 8, 9], "treat": 0, "foot": 0, "pass": [0, 2, 7, 11], "expand": 0, "usual": 0, "elsewher": 0, "block_diag": 0, "reduc": [0, 2], "densiti": 0, "expectation_one_body_product": [0, 5], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "fermion_oper": [0, 5], "hartree_fock_st": [0, 5, 6, 7, 8, 9], "statevector": [0, 6, 7], "indices_to_str": [0, 5, 6], "bitstr": [0, 6], "rang": [0, 6, 7, 8, 9, 10], "011001": 0, "011010": 0, "011100": 0, "101001": 0, "101010": 0, "101100": 0, "110001": 0, "110010": 0, "110100": 0, "init_cach": [0, 5], "cach": 0, "prepar": 0, "typic": 0, "need": [0, 9], "benchmark": 0, "avoid": [0, 11], "count": 0, "cost": 0, "lookup": 0, "tabl": [0, 11], "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], "default": [0, 2, 3], "lowest": [0, 7, 8], "one_hot": [0, 5], "dtype": [0, 3, 9, 10], "arrai": [0, 2, 6, 11], "zero": 0, "except": 0, "hot": 0, "spin_sum": 0, "rdm1": 0, "definit": [0, 2], "higher": [0, 8], "rdm2": 0, "rdm3": 0, "rdm4": 0, "v": 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, "string": [0, 6, 11], "proport": [0, 7], "spectral": 0, "uniform": [0, 3, 10], "requir": [0, 9], "whenev": 0, "complet": 0, "character": 0, "trajectori": 0, "pseudorandom": [0, 3, 4], "gener": [0, 3, 4, 5, 6, 7, 8, 9], "valid": [0, 3, 4], "random": [0, 4, 5, 6, 7, 10, 11], "default_rng": [0, 3, 4, 10], "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], "occupied_orbit": [0, 6, 7], "occupi": [0, 3, 4, 8], "configur": [0, 6], "slater_determinant_rdm": [0, 5], "similarli": [0, 8], "construct": [1, 6, 8, 9, 10, 11], "contract_diag_coulomb": [1, 5], "contract_num_op_sum": [1, 5], "contract_one_bodi": [1, 5], "dagger_i": 1, "a_j": 1, "implement": [1, 6, 7, 9], "diag_coulomb_linop": [1, 5], "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], "ell": 2, "pk": 2, "qk": 2, "respect": 2, "so": [2, 7, 8, 9, 11], "too": 2, "small": [2, 9], "exce": [2, 9, 10], "behavior": [2, 3], "routin": [2, 6, 11], "straightforward": 2, "exact": [2, 6, 8], "nest": 2, "addition": 2, "choos": [2, 6, 9], "achiev": [2, 8], "compress": 2, "enabl": 2, "attempt": 2, "least": 2, "quantifi": 2, "gradient": 2, "constrain": 2, "certain": 2, "becaus": [2, 6, 8, 9, 11], "arxiv": [2, 3], "1808": 2, "02625": 2, "2104": 2, "08957": 2, "decompos": [2, 8], "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], "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], "No": 2, "check": [2, 7, 8], "verifi": 2, "1711": 2, "02242": 2, "assembl": 2, "reduced_matrix": [2, 5], "subspac": [2, 11], "span": [2, 6], "some": [2, 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], "n_beta": [4, 6, 7], "random_occupied_orbit": [4, 5], "occ_a": 4, "occ_b": 4, "categori": 5, "chemistri": 5, "By": [5, 6], "exploit": 5, "algorithm": 5, "faster": 5, "code": [5, 6, 8, 9, 11], "locat": 5, "http": 5, "github": 5, "com": 5, "qiskit": 5, "commun": 5, "introduct": 5, "quadrat": [5, 8], "local": 5, "lucj": 5, "entangl": 5, "forg": 5, "contract": [5, 7], "test": [5, 6, 7, 8], "advantag": 6, "effici": [6, 11], "primari": 6, "wai": [6, 7, 9], "directli": [6, 8], "show": [6, 7, 8, 9, 10, 11], "6": [6, 7, 8, 9, 10, 11], "1234": [6, 7, 10], "slater_det": 6, "assert_allclos": [6, 7], "plain": 6, "Its": 6, "fix": 6, "For": [6, 7, 9, 11], "system": [6, 7], "contrast": 6, "would": [6, 9], "2n": 6, "diment": 6, "conveni": 6, "comb": 6, "print": [6, 8, 9, 10, 11], "f": [6, 8, 9, 10], "On": 6, "hand": 6, "assert": 6, "300": 6, "4096": 6, "standard": 6, "often": [6, 9], "simpli": [6, 7], "reshap": 6, "choic": 6, "pyscf": [6, 8, 9, 10], "modul": 6, "you": [6, 7, 9], "half": 6, "20": 6, "39": [6, 11], "000111000011": 6, "000111000101": 6, "000111000110": 6, "000111001001": 6, "000111001010": 6, "000111001100": 6, "000111010001": 6, "000111010010": 6, "000111010100": 6, "000111011000": 6, "000111100001": 6, "000111100010": 6, "000111100100": 6, "000111101000": 6, "000111110000": 6, "001011000011": 6, "001011000101": 6, "001011000110": 6, "001011001001": 6, "001011001010": 6, "tutori": [7, 8, 9, 10], "ffsim": [7, 8, 9, 10, 11], "fundament": 7, "mode": 7, "sum_j": 7, "th": 7, "satisfi": [7, 11], "anticommut": 7, "relat": [7, 9], "thei": [7, 9, 11], "_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, "spars": [7, 8, 11], "eig": [7, 11], "eigsh": 7, "la": 7, "fact": 7, "illustr": 7, "purpos": 7, "explicitli": 7, "eigh": [7, 8], "evolved_vec": 7, "conj": 7, "undo": 7, "expected_phas": 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], "ethen": [8, 9], "molecul": [8, 9, 10], "stretch": [8, 9], "bond": [8, 9, 10], "build": [8, 9, 10], "bond_dist": [8, 9], "678": [8, 9], "5626": [8, 9], "c": [8, 9], "9289": [8, 9], "mol": [8, 9, 10], "gto": [8, 9, 10], "mole": [8, 9, 10], "atom": [8, 9, 10], "sto": [8, 9, 10], "6g": [8, 9, 10], "d2h": [8, 9], "rhf": [8, 9, 10], "kernel": [8, 9, 10], "nelectron": [8, 9], "mol_data": [8, 9, 10], "mol_hamiltonian": [8, 9, 10], "df_hamiltonian": 8, "converg": [8, 9, 10], "77": [8, 9], "4456267643962": [8, 9], "dataclass": [8, 9], "One": 8, "10": 8, "although": 8, "alreadi": 8, "built": 8, "manual": 8, "asymmetr": 8, "basic": 8, "h_k": 8, "divid": 8, "exponenti": 8, "individu": [8, 11], "do": [8, 11], "approx": 8, "prod_k": 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, "level": 8, "handl": 8, "split": 8, "multipl": [8, 11], "wrote": 8, "step_tim": 8, "match": 8, "output": [8, 9], "initial_st": 8, "\u03c8": [8, 9, 10], "hf_energi": 8, "vdot": [8, 9, 10], "44562676439621": 8, "now": 8, "later": 8, "exact_st": 8, "expm_multipli": 8, "tracea": 8, "fidel": 8, "ab": 8, "9315062301405042": 8, "7": [8, 9, 10, 11], "final_st": [8, 9], "9928527668218575": 8, "improv": 8, "increas": [8, 9], "8": [8, 9, 10, 11], "9999320851292183": 8, "commonli": 8, "known": 8, "fourth": 8, "reproduc": 8, "9": [8, 9, 10, 11], "fewer": 8, "9999913261313018": 8, "mcscf": [9, 10], "ca": [9, 10], "casci": [9, 10], "nca": [9, 10], "neleca": [9, 10], "mo": [9, 10], "sort_mo": [9, 10], "energy_fci": [9, 10], "6290254326717": 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, 10], "reference_st": 9, "ansatz_st": [9, 10], "initiali": [9, 10], "49387212754471": 9, "e_corr": 9, "04824536314851564": 9, "46975600021707": 9, "facilit": 9, "convers": 9, "precis": 9, "somewhat": 9, "complic": 9, "short": 9, "entri": 9, "non": 9, "redund": 9, "associ": [9, 11], "evalu": [9, 10], "like": 9, "fun": [9, 10], "x": [9, 10], "x0": [9, 10], "maxfun": [9, 10], "1000": 9, "len": [9, 10], "72": 9, "messag": [9, 10], "stop": [9, 10], "NO": [9, 10], "AND": [9, 10], "success": [9, 10], "statu": [9, 10], "51548645301652": 9, "525e": 9, "01": [9, 10], "033e": 9, "775e": 9, "832e": 9, "02": [9, 10], "nit": [9, 10], "jac": [9, 10], "716e": 9, "03": [9, 10], "979e": 9, "378e": 9, "163e": 9, "nfev": [9, 10], "1095": 9, "njev": [9, 10], "15": [9, 10], "hess_inv": [9, 10], "lt": [9, 10], "72x72": 9, "lbfgsinvhessproduct": [9, 10], "float64": [9, 10], "gt": [9, 10], "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, "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, "45896820747369": 9, "417e": 9, "207e": 9, "684e": 9, "397e": 9, "492e": 9, "089e": 9, "04": [9, 10], "209e": 9, "948e": 9, "1034": 9, "22": 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, "75": 10, "6787887956297": 10, "7288249991515": 10, "23": 10, "6332495815006": 10, "brickwork": 10, "n_layer": 10, "rng": 10, "size": 10, "reference_occupations_spati": 10, "74": 10, "20656273321595": 10, "100": 10, "68085245214601": 10, "996e": 10, "00": 10, "549e": 10, "650e": 10, "012e": 10, "759e": 10, "119e": 10, "192e": 10, "663e": 10, "112": 10, "15x15": 10, "Such": 11, "programmat": 11, "dictionari": 11, "hash": 11, "three": 11, "piec": 11, "inform": 11, "being": 11, "upon": 11, "intern": 11, "itself": 11, "recommend": 11, "helper": 11, "shown": 11, "repr": 11, "view": 11, "displai": 11, "0j": 11, "arithmet": 11, "multipli": 11, "scalar": 11, "go": 11, "op": 11, "op3": 11, "good": 11, "awar": 11, "especi": 11, "These": 11, "subtract": 11, "divis": 11, "4j": 11, "12j": 11, "6j": 11, "3j": 11, "preserv": 11, "far": 11, "criteria": 11, "doe": 11, "op4": 11, "linop": 11, "onto": 11, "09213022": 11, "05473089j": 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, "", "SingleFactorizedHamiltonian"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsFermionOperator"], [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, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [0, 5, 1, "", "indices_to_strings"], [0, 5, 1, "", "init_cache"], [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, "", "rdm"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_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.SingleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_squares"], [0, 2, 1, "", "one_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, "", "contract_one_body"], [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"]], "singlefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.SingleFactorizedHamiltonian"]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary"]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality"]], "supportsfermionoperator (class in ffsim)": [[0, "ffsim.SupportsFermionOperator"]], "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"]], "constant (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.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"]], "fermion_operator() (in module ffsim)": [[0, "ffsim.fermion_operator"]], "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_molecular_hamiltonian() (ffsim.singlefactorizedhamiltonian static method)": [[0, "ffsim.SingleFactorizedHamiltonian.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"]], "hartree_fock_state() (in module ffsim)": [[0, "ffsim.hartree_fock_state"]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings"]], "init_cache() (in module ffsim)": [[0, "ffsim.init_cache"]], "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.singlefactorizedhamiltonian property)": [[0, "ffsim.SingleFactorizedHamiltonian.norb"]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb"]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered"]], "one_body_squares (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_squares"]], "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_body_tensor (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.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"]], "rdm() (in module ffsim)": [[0, "ffsim.rdm"]], "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_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_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"]], "contract_one_body() (in module ffsim.contract)": [[1, "ffsim.contract.contract_one_body"]], "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 04e39ea5f..8a1ee0611 100644 --- a/tutorials/01-introduction.ipynb +++ b/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:18.053955Z", - "iopub.status.busy": "2023-11-12T22:07:18.053614Z", - "iopub.status.idle": "2023-11-12T22:07:18.367717Z", - "shell.execute_reply": "2023-11-12T22:07:18.367168Z" + "iopub.execute_input": "2023-11-13T00:11:39.362013Z", + "iopub.status.busy": "2023-11-13T00:11:39.361425Z", + "iopub.status.idle": "2023-11-13T00:11:39.756516Z", + "shell.execute_reply": "2023-11-13T00:11:39.755511Z" } }, "outputs": [], @@ -70,10 +70,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:18.371471Z", - "iopub.status.busy": "2023-11-12T22:07:18.371065Z", - "iopub.status.idle": "2023-11-12T22:07:18.375553Z", - "shell.execute_reply": "2023-11-12T22:07:18.375105Z" + "iopub.execute_input": "2023-11-13T00:11:39.761451Z", + "iopub.status.busy": "2023-11-13T00:11:39.760877Z", + "iopub.status.idle": "2023-11-13T00:11:39.768721Z", + "shell.execute_reply": "2023-11-13T00:11:39.767991Z" } }, "outputs": [ @@ -112,10 +112,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:18.377884Z", - "iopub.status.busy": "2023-11-12T22:07:18.377691Z", - "iopub.status.idle": "2023-11-12T22:07:18.381235Z", - "shell.execute_reply": "2023-11-12T22:07:18.380709Z" + "iopub.execute_input": "2023-11-13T00:11:39.772040Z", + "iopub.status.busy": "2023-11-13T00:11:39.771535Z", + "iopub.status.idle": "2023-11-13T00:11:39.775078Z", + "shell.execute_reply": "2023-11-13T00:11:39.774266Z" } }, "outputs": [], @@ -135,10 +135,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:18.383856Z", - "iopub.status.busy": "2023-11-12T22:07:18.383395Z", - "iopub.status.idle": "2023-11-12T22:07:18.391380Z", - "shell.execute_reply": "2023-11-12T22:07:18.390874Z" + "iopub.execute_input": "2023-11-13T00:11:39.778388Z", + "iopub.status.busy": "2023-11-13T00:11:39.777957Z", + "iopub.status.idle": "2023-11-13T00:11:39.785919Z", + "shell.execute_reply": "2023-11-13T00:11:39.785248Z" } }, "outputs": [ diff --git a/tutorials/02-orbital-rotation.ipynb b/tutorials/02-orbital-rotation.ipynb index de8403263..c9d0cc52f 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-11-12T22:07:19.945752Z", - "iopub.status.busy": "2023-11-12T22:07:19.945416Z", - "iopub.status.idle": "2023-11-12T22:07:20.256997Z", - "shell.execute_reply": "2023-11-12T22:07:20.256353Z" + "iopub.execute_input": "2023-11-13T00:11:42.013642Z", + "iopub.status.busy": "2023-11-13T00:11:42.013404Z", + "iopub.status.idle": "2023-11-13T00:11:42.432324Z", + "shell.execute_reply": "2023-11-13T00:11:42.431597Z" } }, "outputs": [], @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:20.260499Z", - "iopub.status.busy": "2023-11-12T22:07:20.259978Z", - "iopub.status.idle": "2023-11-12T22:07:20.284485Z", - "shell.execute_reply": "2023-11-12T22:07:20.283930Z" + "iopub.execute_input": "2023-11-13T00:11:42.435850Z", + "iopub.status.busy": "2023-11-13T00:11:42.435489Z", + "iopub.status.idle": "2023-11-13T00:11:42.467666Z", + "shell.execute_reply": "2023-11-13T00:11:42.466903Z" } }, "outputs": [], @@ -155,10 +155,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:20.287390Z", - "iopub.status.busy": "2023-11-12T22:07:20.287078Z", - "iopub.status.idle": "2023-11-12T22:07:20.297569Z", - "shell.execute_reply": "2023-11-12T22:07:20.297008Z" + "iopub.execute_input": "2023-11-13T00:11:42.472104Z", + "iopub.status.busy": "2023-11-13T00:11:42.471466Z", + "iopub.status.idle": "2023-11-13T00:11:42.485359Z", + "shell.execute_reply": "2023-11-13T00:11:42.484779Z" } }, "outputs": [], @@ -198,10 +198,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:20.300443Z", - "iopub.status.busy": "2023-11-12T22:07:20.300063Z", - "iopub.status.idle": "2023-11-12T22:07:20.304929Z", - "shell.execute_reply": "2023-11-12T22:07:20.304451Z" + "iopub.execute_input": "2023-11-13T00:11:42.489031Z", + "iopub.status.busy": "2023-11-13T00:11:42.488575Z", + "iopub.status.idle": "2023-11-13T00:11:42.494706Z", + "shell.execute_reply": "2023-11-13T00:11:42.494139Z" } }, "outputs": [], diff --git a/tutorials/03-double-factorized.html b/tutorials/03-double-factorized.html index 83d10add6..226261cc6 100644 --- a/tutorials/03-double-factorized.html +++ b/tutorials/03-double-factorized.html @@ -285,7 +285,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Hartree Fock energy: -77.44562676439617
+Hartree Fock energy: -77.44562676439621
 

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.

@@ -313,7 +313,7 @@

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

Now, let’s test our implementation.

@@ -340,7 +340,7 @@

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

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

@@ -367,7 +367,7 @@

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

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.

@@ -396,7 +396,7 @@

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

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

@@ -424,7 +424,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999913261306415
+Fidelity of Trotter-evolved state with exact state: 0.9999913261313018
 
diff --git a/tutorials/03-double-factorized.ipynb b/tutorials/03-double-factorized.ipynb index 9cd99ad6e..957cf1681 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-11-12T22:07:21.826706Z", - "iopub.status.busy": "2023-11-12T22:07:21.826180Z", - "iopub.status.idle": "2023-11-12T22:07:22.386358Z", - "shell.execute_reply": "2023-11-12T22:07:22.385762Z" + "iopub.execute_input": "2023-11-13T00:11:44.602089Z", + "iopub.status.busy": "2023-11-13T00:11:44.601633Z", + "iopub.status.idle": "2023-11-13T00:11:45.325982Z", + "shell.execute_reply": "2023-11-13T00:11:45.325096Z" } }, "outputs": [ @@ -112,10 +112,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.390004Z", - "iopub.status.busy": "2023-11-12T22:07:22.389532Z", - "iopub.status.idle": "2023-11-12T22:07:22.396459Z", - "shell.execute_reply": "2023-11-12T22:07:22.395976Z" + "iopub.execute_input": "2023-11-13T00:11:45.334423Z", + "iopub.status.busy": "2023-11-13T00:11:45.332789Z", + "iopub.status.idle": "2023-11-13T00:11:45.341524Z", + "shell.execute_reply": "2023-11-13T00:11:45.340947Z" } }, "outputs": [ @@ -218,10 +218,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.399581Z", - "iopub.status.busy": "2023-11-12T22:07:22.399206Z", - "iopub.status.idle": "2023-11-12T22:07:22.404366Z", - "shell.execute_reply": "2023-11-12T22:07:22.403834Z" + "iopub.execute_input": "2023-11-13T00:11:45.346110Z", + "iopub.status.busy": "2023-11-13T00:11:45.345588Z", + "iopub.status.idle": "2023-11-13T00:11:45.353393Z", + "shell.execute_reply": "2023-11-13T00:11:45.352789Z" } }, "outputs": [], @@ -276,10 +276,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.407279Z", - "iopub.status.busy": "2023-11-12T22:07:22.406802Z", - "iopub.status.idle": "2023-11-12T22:07:22.411663Z", - "shell.execute_reply": "2023-11-12T22:07:22.411131Z" + "iopub.execute_input": "2023-11-13T00:11:45.357099Z", + "iopub.status.busy": "2023-11-13T00:11:45.356839Z", + "iopub.status.idle": "2023-11-13T00:11:45.364650Z", + "shell.execute_reply": "2023-11-13T00:11:45.363926Z" } }, "outputs": [], @@ -316,10 +316,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.414226Z", - "iopub.status.busy": "2023-11-12T22:07:22.414040Z", - "iopub.status.idle": "2023-11-12T22:07:22.420246Z", - "shell.execute_reply": "2023-11-12T22:07:22.419782Z" + "iopub.execute_input": "2023-11-13T00:11:45.370408Z", + "iopub.status.busy": "2023-11-13T00:11:45.369066Z", + "iopub.status.idle": "2023-11-13T00:11:45.378037Z", + "shell.execute_reply": "2023-11-13T00:11:45.377458Z" } }, "outputs": [ @@ -327,7 +327,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Hartree Fock energy: -77.44562676439617\n" + "Hartree Fock energy: -77.44562676439621\n" ] } ], @@ -355,10 +355,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.424001Z", - "iopub.status.busy": "2023-11-12T22:07:22.422899Z", - "iopub.status.idle": "2023-11-12T22:07:22.898803Z", - "shell.execute_reply": "2023-11-12T22:07:22.898233Z" + "iopub.execute_input": "2023-11-13T00:11:45.381924Z", + "iopub.status.busy": "2023-11-13T00:11:45.381425Z", + "iopub.status.idle": "2023-11-13T00:11:46.016096Z", + "shell.execute_reply": "2023-11-13T00:11:46.015520Z" } }, "outputs": [ @@ -366,7 +366,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9315062301398779\n" + "Fidelity of evolved state w.r.t. initial state: 0.9315062301405042\n" ] } ], @@ -397,10 +397,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.903148Z", - "iopub.status.busy": "2023-11-12T22:07:22.902053Z", - "iopub.status.idle": "2023-11-12T22:07:22.913325Z", - "shell.execute_reply": "2023-11-12T22:07:22.912860Z" + "iopub.execute_input": "2023-11-13T00:11:46.020347Z", + "iopub.status.busy": "2023-11-13T00:11:46.019215Z", + "iopub.status.idle": "2023-11-13T00:11:46.040930Z", + "shell.execute_reply": "2023-11-13T00:11:46.040338Z" } }, "outputs": [ @@ -408,7 +408,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9928527668212312\n" + "Fidelity of Trotter-evolved state with exact state: 0.9928527668218575\n" ] } ], @@ -438,10 +438,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.916279Z", - "iopub.status.busy": "2023-11-12T22:07:22.916021Z", - "iopub.status.idle": "2023-11-12T22:07:22.995432Z", - "shell.execute_reply": "2023-11-12T22:07:22.994939Z" + "iopub.execute_input": "2023-11-13T00:11:46.047612Z", + "iopub.status.busy": "2023-11-13T00:11:46.044416Z", + "iopub.status.idle": "2023-11-13T00:11:46.147182Z", + "shell.execute_reply": "2023-11-13T00:11:46.146585Z" } }, "outputs": [ @@ -449,7 +449,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.999932085128516\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851292183\n" ] } ], @@ -481,10 +481,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:22.999347Z", - "iopub.status.busy": "2023-11-12T22:07:22.998427Z", - "iopub.status.idle": "2023-11-12T22:07:23.077107Z", - "shell.execute_reply": "2023-11-12T22:07:23.076621Z" + "iopub.execute_input": "2023-11-13T00:11:46.151864Z", + "iopub.status.busy": "2023-11-13T00:11:46.150782Z", + "iopub.status.idle": "2023-11-13T00:11:46.251325Z", + "shell.execute_reply": "2023-11-13T00:11:46.250700Z" } }, "outputs": [ @@ -492,7 +492,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.999932085128516\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851292183\n" ] } ], @@ -523,10 +523,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:23.081082Z", - "iopub.status.busy": "2023-11-12T22:07:23.080114Z", - "iopub.status.idle": "2023-11-12T22:07:23.127174Z", - "shell.execute_reply": "2023-11-12T22:07:23.126725Z" + "iopub.execute_input": "2023-11-13T00:11:46.255902Z", + "iopub.status.busy": "2023-11-13T00:11:46.254838Z", + "iopub.status.idle": "2023-11-13T00:11:46.312915Z", + "shell.execute_reply": "2023-11-13T00:11:46.312326Z" } }, "outputs": [ @@ -534,7 +534,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999913261306415\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999913261313018\n" ] } ], diff --git a/tutorials/04-lucj.html b/tutorials/04-lucj.html index 623493774..fabe656d0 100644 --- a/tutorials/04-lucj.html +++ b/tutorials/04-lucj.html @@ -95,8 +95,8 @@

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

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -77.49387212754471  E_corr = -0.04824536314851584
-Energy at initialialization: -77.46975600021682
+E(CCSD) = -77.49387212754471  E_corr = -0.04824536314851564
+Energy at initialialization: -77.46975600021707
 

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

@@ -187,10 +187,10 @@

The unitary cluster Jastrow (UCJ) ansatz\n" @@ -246,10 +246,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:32.180619Z", - "iopub.status.busy": "2023-11-12T22:07:32.179668Z", - "iopub.status.idle": "2023-11-12T22:07:38.223181Z", - "shell.execute_reply": "2023-11-12T22:07:38.222636Z" + "iopub.execute_input": "2023-11-13T00:11:55.069068Z", + "iopub.status.busy": "2023-11-13T00:11:55.068803Z", + "iopub.status.idle": "2023-11-13T00:12:00.356875Z", + "shell.execute_reply": "2023-11-13T00:12:00.356241Z" } }, "outputs": [ @@ -261,10 +261,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45952211133584\n", - " x: [-3.324e-01 8.325e-02 ... 6.510e-01 -1.393e-01]\n", + " fun: -77.45896820747369\n", + " x: [-3.417e-01 8.207e-02 ... 6.684e-01 -1.397e-01]\n", " nit: 15\n", - " jac: [ 1.873e-03 -2.188e-04 ... 2.842e-05 -4.931e-04]\n", + " jac: [ 3.492e-03 -2.089e-04 ... -1.209e-03 -9.948e-05]\n", " nfev: 1034\n", " njev: 22\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" diff --git a/tutorials/05-entanglement-forging.html b/tutorials/05-entanglement-forging.html index 06a433505..75a0c1d31 100644 --- a/tutorials/05-entanglement-forging.html +++ b/tutorials/05-entanglement-forging.html @@ -142,7 +142,7 @@

Entanglement forging
-Energy at initialialization: -74.20656273321596
+Energy at initialialization: -74.20656273321595
 
@@ -99,7 +99,7 @@

The FermionOperator class
-'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})'
+'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j})'
 

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(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), des_a(3), des_b(3)): -0.25-0.25j,
-    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
-    (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,
     (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,
-    (cre_a(3), des_a(0)): -0.5,
+    (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_b(2)): 0-0.25j,
+    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,
+    (cre_a(0), des_a(3)): 1,
+    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
     (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,
-    (des_a(3), des_b(3)): 0.0625
+    (cre_a(3), des_a(0)): -0.5,
+    (des_a(3), des_b(3)): 0.0625,
+    (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125
 })
 
@@ -162,17 +162,17 @@

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

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

The FermionOperator class
 array([ 0.        +0.j        ,  0.        +0.j        ,
         0.        +0.j        ,  0.        +0.j        ,
-       -0.02638719+0.27846154j,  0.        +0.j        ,
+       -0.09213022+0.05473089j,  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 4605f1bab..7dd98d33f 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-11-12T22:07:44.914927Z", - "iopub.status.busy": "2023-11-12T22:07:44.914559Z", - "iopub.status.idle": "2023-11-12T22:07:45.223485Z", - "shell.execute_reply": "2023-11-12T22:07:45.222890Z" + "iopub.execute_input": "2023-11-13T00:12:08.781113Z", + "iopub.status.busy": "2023-11-13T00:12:08.780457Z", + "iopub.status.idle": "2023-11-13T00:12:09.153691Z", + "shell.execute_reply": "2023-11-13T00:12:09.153079Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", + " (cre_a(3), des_a(0)): -0.25,\n", " (cre_a(0), des_a(3)): 0.5,\n", - " (cre_a(3), des_a(0)): -0.25\n", + " (cre_b(1), des_b(5), cre_a(4)): 1+1j\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.226175Z", - "iopub.status.busy": "2023-11-12T22:07:45.225899Z", - "iopub.status.idle": "2023-11-12T22:07:45.230043Z", - "shell.execute_reply": "2023-11-12T22:07:45.229500Z" + "iopub.execute_input": "2023-11-13T00:12:09.158444Z", + "iopub.status.busy": "2023-11-13T00:12:09.157875Z", + "iopub.status.idle": "2023-11-13T00:12:09.164837Z", + "shell.execute_reply": "2023-11-13T00:12:09.164179Z" } }, "outputs": [ { "data": { "text/plain": [ - "'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})'" + "'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.232455Z", - "iopub.status.busy": "2023-11-12T22:07:45.232252Z", - "iopub.status.idle": "2023-11-12T22:07:45.238195Z", - "shell.execute_reply": "2023-11-12T22:07:45.237700Z" + "iopub.execute_input": "2023-11-13T00:12:09.168234Z", + "iopub.status.busy": "2023-11-13T00:12:09.167765Z", + "iopub.status.idle": "2023-11-13T00:12:09.174971Z", + "shell.execute_reply": "2023-11-13T00:12:09.174445Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\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), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", - " (cre_a(3), des_a(0)): -0.5,\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_b(2)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", + " (cre_a(0), des_a(3)): 1,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", - " (des_a(3), des_b(3)): 0.0625\n", + " (cre_a(3), des_a(0)): -0.5,\n", + " (des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.240655Z", - "iopub.status.busy": "2023-11-12T22:07:45.240466Z", - "iopub.status.idle": "2023-11-12T22:07:45.245505Z", - "shell.execute_reply": "2023-11-12T22:07:45.244962Z" + "iopub.execute_input": "2023-11-13T00:12:09.178356Z", + "iopub.status.busy": "2023-11-13T00:12:09.177876Z", + "iopub.status.idle": "2023-11-13T00:12:09.182658Z", + "shell.execute_reply": "2023-11-13T00:12:09.182138Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\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), des_a(3), des_b(3)): -1+1j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (cre_a(3), des_a(0)): 0+3j,\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_b(2)): -5,\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", - " (des_a(3), des_b(3)): 0-1.25j\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.247874Z", - "iopub.status.busy": "2023-11-12T22:07:45.247689Z", - "iopub.status.idle": "2023-11-12T22:07:45.253212Z", - "shell.execute_reply": "2023-11-12T22:07:45.252719Z" + "iopub.execute_input": "2023-11-13T00:12:09.185772Z", + "iopub.status.busy": "2023-11-13T00:12:09.185172Z", + "iopub.status.idle": "2023-11-13T00:12:09.190661Z", + "shell.execute_reply": "2023-11-13T00:12:09.190078Z" } }, "outputs": [ @@ -230,16 +230,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_b(2)): -5,\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_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), des_b(3), des_a(3)): -1+1j,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_b(2)): -5,\n", - " (des_b(3), des_a(3)): 0+1.25j\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.255501Z", - "iopub.status.busy": "2023-11-12T22:07:45.255306Z", - "iopub.status.idle": "2023-11-12T22:07:45.258579Z", - "shell.execute_reply": "2023-11-12T22:07:45.258034Z" + "iopub.execute_input": "2023-11-13T00:12:09.193923Z", + "iopub.status.busy": "2023-11-13T00:12:09.193450Z", + "iopub.status.idle": "2023-11-13T00:12:09.197605Z", + "shell.execute_reply": "2023-11-13T00:12:09.197062Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.261135Z", - "iopub.status.busy": "2023-11-12T22:07:45.260687Z", - "iopub.status.idle": "2023-11-12T22:07:45.265165Z", - "shell.execute_reply": "2023-11-12T22:07:45.264607Z" + "iopub.execute_input": "2023-11-13T00:12:09.200627Z", + "iopub.status.busy": "2023-11-13T00:12:09.200195Z", + "iopub.status.idle": "2023-11-13T00:12:09.206326Z", + "shell.execute_reply": "2023-11-13T00:12:09.205372Z" } }, "outputs": [ @@ -340,10 +340,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-11-12T22:07:45.267481Z", - "iopub.status.busy": "2023-11-12T22:07:45.267282Z", - "iopub.status.idle": "2023-11-12T22:07:45.274322Z", - "shell.execute_reply": "2023-11-12T22:07:45.273834Z" + "iopub.execute_input": "2023-11-13T00:12:09.209169Z", + "iopub.status.busy": "2023-11-13T00:12:09.208740Z", + "iopub.status.idle": "2023-11-13T00:12:09.215157Z", + "shell.execute_reply": "2023-11-13T00:12:09.214635Z" } }, "outputs": [ @@ -352,7 +352,7 @@ "text/plain": [ "array([ 0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " -0.02638719+0.27846154j, 0. +0.j ,\n", + " -0.09213022+0.05473089j, 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-11-12T22:07:45.276722Z", - "iopub.status.busy": "2023-11-12T22:07:45.276532Z", - "iopub.status.idle": "2023-11-12T22:07:45.287862Z", - "shell.execute_reply": "2023-11-12T22:07:45.287315Z" + "iopub.execute_input": "2023-11-13T00:12:09.218213Z", + "iopub.status.busy": "2023-11-13T00:12:09.217706Z", + "iopub.status.idle": "2023-11-13T00:12:09.233200Z", + "shell.execute_reply": "2023-11-13T00:12:09.232628Z" } }, "outputs": [