From e1d8f44023b8c86038aa5ae8fc6d27b905c2a408 Mon Sep 17 00:00:00 2001 From: kevinsung Date: Wed, 20 Sep 2023 00:05:14 +0000 Subject: [PATCH] deploy: e799a70655b57f21160d0623d48462d4561c4bd6 --- .doctrees/environment.pickle | Bin 1451035 -> 1451126 bytes .../nbsphinx/tutorials/01-introduction.ipynb | 24 ++-- .../tutorials/02-orbital-rotation.ipynb | 32 ++--- .../tutorials/03-double-factorized.ipynb | 128 +++++++++--------- .doctrees/nbsphinx/tutorials/04-lucj.ipynb | 54 ++++---- .../tutorials/03-double-factorized.doctree | Bin 54253 -> 54355 bytes .doctrees/tutorials/04-lucj.doctree | Bin 39076 -> 39076 bytes _modules/ffsim/slow/gates/diag_coulomb.html | 2 +- searchindex.js | 2 +- tutorials/01-introduction.ipynb | 24 ++-- tutorials/02-orbital-rotation.ipynb | 32 ++--- tutorials/03-double-factorized.html | 48 +++---- tutorials/03-double-factorized.ipynb | 128 +++++++++--------- tutorials/04-lucj.html | 22 +-- tutorials/04-lucj.ipynb | 54 ++++---- 15 files changed, 275 insertions(+), 275 deletions(-) diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index a4be1ada6aa667416fe4bae3fc044fc8ba6cc794..b2ddaa4eddf91afa8ba991ee99310f3102efb4a1 100644 GIT binary patch delta 22701 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 delta 22830 zcmeHvcXSlTvNy9iYIkO|C`U4qR;w%_fh0r_5`|I6vE}Sz}^{eXY>gt~En%&Vp z`mxVPKla&B80!2f%vYrxHuCMfNltTEuyahdx2)P51x54TOsz8_yderq<8@3es#lsC zx>aj)M-K}p*0t3>h;7gNfK|P

t=bp7BNJ{dnJ|wbktS3FAkN9hUpvxNuu^*n1O( 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 PQsf1X^388py2k%MJ+fg~ diff --git a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb index f56d30e9c..b793f492f 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-09-19T23:56:17.922295Z", - "iopub.status.busy": "2023-09-19T23:56:17.921869Z", - "iopub.status.idle": "2023-09-19T23:56:18.308118Z", - "shell.execute_reply": "2023-09-19T23:56:18.307436Z" + "iopub.execute_input": "2023-09-20T00:05:00.720118Z", + "iopub.status.busy": "2023-09-20T00:05:00.719692Z", + "iopub.status.idle": "2023-09-20T00:05:01.106493Z", + "shell.execute_reply": "2023-09-20T00:05:01.105581Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:18.313652Z", - "iopub.status.busy": "2023-09-19T23:56:18.312328Z", - "iopub.status.idle": "2023-09-19T23:56:18.318345Z", - "shell.execute_reply": "2023-09-19T23:56:18.317796Z" + "iopub.execute_input": "2023-09-20T00:05:01.111714Z", + "iopub.status.busy": "2023-09-20T00:05:01.110229Z", + "iopub.status.idle": "2023-09-20T00:05:01.116809Z", + "shell.execute_reply": "2023-09-20T00:05:01.116084Z" } }, "outputs": [], @@ -92,10 +92,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:18.323021Z", - "iopub.status.busy": "2023-09-19T23:56:18.321940Z", - "iopub.status.idle": "2023-09-19T23:56:18.326450Z", - "shell.execute_reply": "2023-09-19T23:56:18.325912Z" + "iopub.execute_input": "2023-09-20T00:05:01.121897Z", + "iopub.status.busy": "2023-09-20T00:05:01.120737Z", + "iopub.status.idle": "2023-09-20T00:05:01.125776Z", + "shell.execute_reply": "2023-09-20T00:05:01.125120Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb index e5baa843f..5c842a451 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-09-19T23:56:20.206287Z", - "iopub.status.busy": "2023-09-19T23:56:20.206027Z", - "iopub.status.idle": "2023-09-19T23:56:20.581716Z", - "shell.execute_reply": "2023-09-19T23:56:20.581023Z" + "iopub.execute_input": "2023-09-20T00:05:03.069372Z", + "iopub.status.busy": "2023-09-20T00:05:03.069107Z", + "iopub.status.idle": "2023-09-20T00:05:03.452353Z", + "shell.execute_reply": "2023-09-20T00:05:03.451534Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:20.586859Z", - "iopub.status.busy": "2023-09-19T23:56:20.585517Z", - "iopub.status.idle": "2023-09-19T23:56:20.644042Z", - "shell.execute_reply": "2023-09-19T23:56:20.643408Z" + "iopub.execute_input": "2023-09-20T00:05:03.457501Z", + "iopub.status.busy": "2023-09-20T00:05:03.456811Z", + "iopub.status.idle": "2023-09-20T00:05:03.494792Z", + "shell.execute_reply": "2023-09-20T00:05:03.493843Z" } }, "outputs": [], @@ -160,10 +160,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:20.650601Z", - "iopub.status.busy": "2023-09-19T23:56:20.648651Z", - "iopub.status.idle": "2023-09-19T23:56:20.672959Z", - "shell.execute_reply": "2023-09-19T23:56:20.672309Z" + "iopub.execute_input": "2023-09-20T00:05:03.500071Z", + "iopub.status.busy": "2023-09-20T00:05:03.499506Z", + "iopub.status.idle": "2023-09-20T00:05:03.516057Z", + "shell.execute_reply": "2023-09-20T00:05:03.515261Z" } }, "outputs": [], @@ -203,10 +203,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:20.679100Z", - "iopub.status.busy": "2023-09-19T23:56:20.677353Z", - "iopub.status.idle": "2023-09-19T23:56:20.684893Z", - "shell.execute_reply": "2023-09-19T23:56:20.684328Z" + "iopub.execute_input": "2023-09-20T00:05:03.522207Z", + "iopub.status.busy": "2023-09-20T00:05:03.520026Z", + "iopub.status.idle": "2023-09-20T00:05:03.529057Z", + "shell.execute_reply": "2023-09-20T00:05:03.528223Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb index 9d62ac8aa..0fc621fd0 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-09-19T23:56:22.779232Z", - "iopub.status.busy": "2023-09-19T23:56:22.778748Z", - "iopub.status.idle": "2023-09-19T23:56:23.286536Z", - "shell.execute_reply": "2023-09-19T23:56:23.285853Z" + "iopub.execute_input": "2023-09-20T00:05:05.425574Z", + "iopub.status.busy": "2023-09-20T00:05:05.425235Z", + "iopub.status.idle": "2023-09-20T00:05:05.925194Z", + "shell.execute_reply": "2023-09-20T00:05:05.924352Z" } }, "outputs": [ @@ -93,10 +93,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.298021Z", - "iopub.status.busy": "2023-09-19T23:56:23.297170Z", - "iopub.status.idle": "2023-09-19T23:56:23.304731Z", - "shell.execute_reply": "2023-09-19T23:56:23.304148Z" + "iopub.execute_input": "2023-09-20T00:05:05.944318Z", + "iopub.status.busy": "2023-09-20T00:05:05.943614Z", + "iopub.status.idle": "2023-09-20T00:05:05.951906Z", + "shell.execute_reply": "2023-09-20T00:05:05.951232Z" } }, "outputs": [ @@ -107,28 +107,28 @@ "Original representation\n", "-----------------------\n", "One-body tensor:\n", - "[[-8.27478830e-01 -2.66405155e-16]\n", - " [-3.07220771e-16 -6.77238770e-01]]\n", + "[[-8.27478830e-01 1.69963606e-16]\n", + " [ 2.27557343e-16 -6.77238770e-01]]\n", "\n", "Two-body tensor:\n", - "[[[[5.23173938e-01 1.57437591e-16]\n", - " [1.57437591e-16 5.33545754e-01]]\n", + "[[[[ 5.23173938e-01 -1.85221301e-16]\n", + " [-1.85221301e-16 5.33545754e-01]]\n", "\n", - " [[2.12704463e-16 2.48240570e-01]\n", - " [2.48240570e-01 1.61492903e-16]]]\n", + " [[-1.60188973e-16 2.48240570e-01]\n", + " [ 2.48240570e-01 -4.63466523e-17]]]\n", "\n", "\n", - " [[[2.12704463e-16 2.48240570e-01]\n", - " [2.48240570e-01 1.61492903e-16]]\n", + " [[[-1.60188973e-16 2.48240570e-01]\n", + " [ 2.48240570e-01 -4.63466523e-17]]\n", "\n", - " [[5.33545754e-01 1.24884750e-16]\n", - " [1.24884750e-16 5.53132024e-01]]]]\n", + " [[ 5.33545754e-01 -6.67297191e-18]\n", + " [-6.67297191e-18 5.53132024e-01]]]]\n", "\n", "Double-factorized representation\n", "--------------------------------\n", "One-body tensor:\n", - "[[-1.21318608e+00 -4.25870402e-16]\n", - " [-4.76015378e-16 -1.07792507e+00]]\n", + "[[-1.21318608e+00 2.85747582e-16]\n", + " [ 3.10988315e-16 -1.07792507e+00]]\n", "\n", "Diagonal Coulomb matrices:\n", "[[[ 5.14653029e-01 5.33545754e-01]\n", @@ -137,18 +137,18 @@ " [[ 2.48240570e-01 -2.48240570e-01]\n", " [-2.48240570e-01 2.48240570e-01]]\n", "\n", - " [[ 1.50800163e-59 -3.58462611e-31]\n", - " [-3.58462611e-31 8.52090881e-03]]]\n", + " [[ 1.44655364e-30 -1.11022302e-16]\n", + " [-1.11022302e-16 8.52090881e-03]]]\n", "\n", "Orbital rotations:\n", - "[[[-1.00000000e+00 8.24520980e-15]\n", - " [ 8.24520980e-15 1.00000000e+00]]\n", + "[[[ 1.00000000e+00 0.00000000e+00]\n", + " [ 0.00000000e+00 1.00000000e+00]]\n", "\n", " [[-7.07106781e-01 -7.07106781e-01]\n", " [ 7.07106781e-01 -7.07106781e-01]]\n", "\n", - " [[ 6.48603030e-15 -1.00000000e+00]\n", - " [-1.00000000e+00 -6.48603030e-15]]]\n" + " [[ 2.93775326e-15 -1.00000000e+00]\n", + " [-1.00000000e+00 -2.93775326e-15]]]\n" ] } ], @@ -227,10 +227,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.308253Z", - "iopub.status.busy": "2023-09-19T23:56:23.307857Z", - "iopub.status.idle": "2023-09-19T23:56:23.313471Z", - "shell.execute_reply": "2023-09-19T23:56:23.312914Z" + "iopub.execute_input": "2023-09-20T00:05:05.955072Z", + "iopub.status.busy": "2023-09-20T00:05:05.954538Z", + "iopub.status.idle": "2023-09-20T00:05:05.960683Z", + "shell.execute_reply": "2023-09-20T00:05:05.960023Z" } }, "outputs": [], @@ -285,10 +285,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.319022Z", - "iopub.status.busy": "2023-09-19T23:56:23.318362Z", - "iopub.status.idle": "2023-09-19T23:56:23.323079Z", - "shell.execute_reply": "2023-09-19T23:56:23.322524Z" + "iopub.execute_input": "2023-09-20T00:05:05.964040Z", + "iopub.status.busy": "2023-09-20T00:05:05.963597Z", + "iopub.status.idle": "2023-09-20T00:05:05.968188Z", + "shell.execute_reply": "2023-09-20T00:05:05.967549Z" } }, "outputs": [], @@ -325,10 +325,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.326628Z", - "iopub.status.busy": "2023-09-19T23:56:23.325955Z", - "iopub.status.idle": "2023-09-19T23:56:23.332135Z", - "shell.execute_reply": "2023-09-19T23:56:23.331556Z" + "iopub.execute_input": "2023-09-20T00:05:05.971193Z", + "iopub.status.busy": "2023-09-20T00:05:05.970801Z", + "iopub.status.idle": "2023-09-20T00:05:05.976950Z", + "shell.execute_reply": "2023-09-20T00:05:05.976125Z" } }, "outputs": [ @@ -336,7 +336,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Hartree Fock energy: -0.8377963825937088\n" + "Hartree Fock energy: -0.8377963825937086\n" ] } ], @@ -367,10 +367,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.335472Z", - "iopub.status.busy": "2023-09-19T23:56:23.334855Z", - "iopub.status.idle": "2023-09-19T23:56:23.349419Z", - "shell.execute_reply": "2023-09-19T23:56:23.348575Z" + "iopub.execute_input": "2023-09-20T00:05:05.981755Z", + "iopub.status.busy": "2023-09-20T00:05:05.981045Z", + "iopub.status.idle": "2023-09-20T00:05:05.995444Z", + "shell.execute_reply": "2023-09-20T00:05:05.994599Z" } }, "outputs": [ @@ -378,7 +378,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9696296369955066\n" + "Fidelity of evolved state w.r.t. initial state: 0.9696296369955067\n" ] } ], @@ -409,10 +409,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.353728Z", - "iopub.status.busy": "2023-09-19T23:56:23.352931Z", - "iopub.status.idle": "2023-09-19T23:56:23.366920Z", - "shell.execute_reply": "2023-09-19T23:56:23.366250Z" + "iopub.execute_input": "2023-09-20T00:05:05.998882Z", + "iopub.status.busy": "2023-09-20T00:05:05.998635Z", + "iopub.status.idle": "2023-09-20T00:05:06.010620Z", + "shell.execute_reply": "2023-09-20T00:05:06.009917Z" } }, "outputs": [ @@ -420,7 +420,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.999027574408349\n" + "Fidelity of Trotter-evolved state with exact state: 0.9990275744083494\n" ] } ], @@ -450,10 +450,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.370425Z", - "iopub.status.busy": "2023-09-19T23:56:23.370162Z", - "iopub.status.idle": "2023-09-19T23:56:23.423109Z", - "shell.execute_reply": "2023-09-19T23:56:23.421949Z" + "iopub.execute_input": "2023-09-20T00:05:06.013958Z", + "iopub.status.busy": "2023-09-20T00:05:06.013670Z", + "iopub.status.idle": "2023-09-20T00:05:06.075118Z", + "shell.execute_reply": "2023-09-20T00:05:06.073850Z" } }, "outputs": [ @@ -461,7 +461,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109657\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999906233109681\n" ] } ], @@ -493,10 +493,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.426865Z", - "iopub.status.busy": "2023-09-19T23:56:23.426540Z", - "iopub.status.idle": "2023-09-19T23:56:23.468797Z", - "shell.execute_reply": "2023-09-19T23:56:23.467621Z" + "iopub.execute_input": "2023-09-20T00:05:06.078459Z", + "iopub.status.busy": "2023-09-20T00:05:06.078233Z", + "iopub.status.idle": "2023-09-20T00:05:06.124318Z", + "shell.execute_reply": "2023-09-20T00:05:06.123220Z" } }, "outputs": [ @@ -504,7 +504,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109657\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999906233109681\n" ] } ], @@ -535,10 +535,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.472047Z", - "iopub.status.busy": "2023-09-19T23:56:23.471784Z", - "iopub.status.idle": "2023-09-19T23:56:23.491543Z", - "shell.execute_reply": "2023-09-19T23:56:23.490523Z" + "iopub.execute_input": "2023-09-20T00:05:06.127511Z", + "iopub.status.busy": "2023-09-20T00:05:06.127288Z", + "iopub.status.idle": "2023-09-20T00:05:06.148661Z", + "shell.execute_reply": "2023-09-20T00:05:06.147469Z" } }, "outputs": [ @@ -546,7 +546,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999999336740057\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999999336740071\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb index 02561747c..b2330be06 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-09-19T23:56:26.039029Z", - "iopub.status.busy": "2023-09-19T23:56:26.038434Z", - "iopub.status.idle": "2023-09-19T23:56:26.529275Z", - "shell.execute_reply": "2023-09-19T23:56:26.528595Z" + "iopub.execute_input": "2023-09-20T00:05:08.743826Z", + "iopub.status.busy": "2023-09-20T00:05:08.743391Z", + "iopub.status.idle": "2023-09-20T00:05:09.219426Z", + "shell.execute_reply": "2023-09-20T00:05:09.218566Z" } }, "outputs": [ @@ -80,10 +80,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:26.533746Z", - "iopub.status.busy": "2023-09-19T23:56:26.533145Z", - "iopub.status.idle": "2023-09-19T23:56:26.790309Z", - "shell.execute_reply": "2023-09-19T23:56:26.789688Z" + "iopub.execute_input": "2023-09-20T00:05:09.223668Z", + "iopub.status.busy": "2023-09-20T00:05:09.223072Z", + "iopub.status.idle": "2023-09-20T00:05:09.395075Z", + "shell.execute_reply": "2023-09-20T00:05:09.393800Z" } }, "outputs": [ @@ -91,14 +91,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -0.9707730767164341 E_corr = -0.1329766941227253\n" + "E(CCSD) = -0.9707730767165441 E_corr = -0.1329766941228354\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -0.9696246123746332\n" + "Energy at initialialization: -0.9696246123746104\n" ] } ], @@ -145,10 +145,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:26.794202Z", - "iopub.status.busy": "2023-09-19T23:56:26.793944Z", - "iopub.status.idle": "2023-09-19T23:56:26.982537Z", - "shell.execute_reply": "2023-09-19T23:56:26.981876Z" + "iopub.execute_input": "2023-09-20T00:05:09.399729Z", + "iopub.status.busy": "2023-09-20T00:05:09.399466Z", + "iopub.status.idle": "2023-09-20T00:05:09.603387Z", + "shell.execute_reply": "2023-09-20T00:05:09.602658Z" } }, "outputs": [ @@ -160,15 +160,15 @@ " message: Optimization terminated successfully.\n", " success: True\n", " status: 0\n", - " fun: -0.9707730753913614\n", + " fun: -0.9707730753914435\n", " x: [-2.678e-01 2.678e-01 ... -1.970e+00 -1.970e+00]\n", " nit: 2\n", - " jac: [ 1.490e-08 0.000e+00 ... 9.686e-08 -1.714e-07]\n", - " hess_inv: [[ 1.000e+00 0.000e+00 ... 4.080e-13 -3.192e-13]\n", + " jac: [ 0.000e+00 0.000e+00 ... 7.451e-08 -8.941e-08]\n", + " hess_inv: [[ 1.000e+00 0.000e+00 ... -1.374e-12 4.036e-13]\n", " [ 0.000e+00 1.000e+00 ... 0.000e+00 0.000e+00]\n", " ...\n", - " [ 4.080e-13 0.000e+00 ... 1.000e+00 -2.505e-12]\n", - " [-3.192e-13 0.000e+00 ... -2.505e-12 1.000e+00]]\n", + " [-1.374e-12 0.000e+00 ... 1.000e+00 3.571e-13]\n", + " [ 4.036e-13 0.000e+00 ... 3.571e-13 1.000e+00]]\n", " nfev: 63\n", " njev: 3\n" ] @@ -222,10 +222,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:26.985931Z", - "iopub.status.busy": "2023-09-19T23:56:26.985520Z", - "iopub.status.idle": "2023-09-19T23:56:27.192106Z", - "shell.execute_reply": "2023-09-19T23:56:27.191489Z" + "iopub.execute_input": "2023-09-20T00:05:09.608702Z", + "iopub.status.busy": "2023-09-20T00:05:09.607433Z", + "iopub.status.idle": "2023-09-20T00:05:09.846442Z", + "shell.execute_reply": "2023-09-20T00:05:09.845699Z" } }, "outputs": [ @@ -237,15 +237,15 @@ " message: Optimization terminated successfully.\n", " success: True\n", " status: 0\n", - " fun: -0.9707730754179815\n", + " fun: -0.9707730754179811\n", " x: [ 2.678e-01 -2.678e-01 ... -1.970e+00 -1.970e+00]\n", " nit: 4\n", - " jac: [ 0.000e+00 0.000e+00 ... -4.470e-08 -2.980e-08]\n", + " jac: [ 0.000e+00 0.000e+00 ... 7.451e-09 -2.980e-08]\n", " hess_inv: [[ 1.000e+00 0.000e+00 ... 0.000e+00 0.000e+00]\n", " [ 0.000e+00 1.000e+00 ... 0.000e+00 0.000e+00]\n", " ...\n", - " [ 0.000e+00 0.000e+00 ... 1.000e+00 -6.132e-10]\n", - " [ 0.000e+00 0.000e+00 ... -6.132e-10 1.000e+00]]\n", + " [ 0.000e+00 0.000e+00 ... 1.000e+00 1.790e-10]\n", + " [ 0.000e+00 0.000e+00 ... 1.790e-10 1.000e+00]]\n", " nfev: 75\n", " njev: 5\n" ] diff --git a/.doctrees/tutorials/03-double-factorized.doctree b/.doctrees/tutorials/03-double-factorized.doctree index 09a268958470c4732d6de095e733545c64265237..a931e388b91cf01d3304381ae3d23c1ff27e9092 100644 GIT binary patch delta 3122 zcmeHJy=zlZ6mQbR#1NzkCIzv%gM(W0dcW^`6{R{!p*S>P$p;i6TC7@eDxJF6X0Qr5 zak6Pi2UE3+q)QAq)w-yII_oA%(SM+W-rM)I=?6GR@`m&E?(f`l@8Ng2KdPM{mpg;g z!AF-qy$GiIe4~)=%l05*Nym{)Vwq18nTwzdq83#`D8?CJo)kz}lo7=oX6KWbpd_(u zK`CLFco2j#yMhQF@OYOFN=$6qQOvAFP{BtXou1p2W1+B{j$4v(DFro)R4$i`M06Dy zlX4F_`%kpSYOt=EF~Nlr+}%W4Qc*_{$JA`=W15SK!Lb=k|`H^;G|CfhR ztuQ!u)+Zr0b56_D%zO9@aXphmFfg0aHiFgJd-_j*0sCZayzu0pPr;Gm6)kTRziH`? z@DSXA+gsi%Ef-3IK2`f(x*LLt>Hs{RkNP-t)h~ONzdQwB>(@NbO>pb4mw@?&9ON7Q zUSy?l(Y0!Gi^;IxCOT8vsP5$rqg?!?YbIdz>5?&58beyus?V+;GOh=?S>F#5ZZtzS o8!YTs1n^qgsQYUhMwwk6zMgc=1e{!7GUnU$A+2i1-h7Du1}#4N7ytkO delta 3269 zcmeHJO-L0{6n4^w`m{2L?8l#3v@x6U{?8pMF|`<4=xP`EZ zZSFAYa2JOJ(~Pagpsca{7O^pL5MzRBH*5|zh6I*3Z6SgSD=SYYN77X=K@^P*98 znwWC?k4R0cLa9J161OSkj60l#g%BnsbGSNEPDHU<^AyUJoV;Zl`?$a066?FfW9 zbtIVLBjQLRgmtCdHC6k#WP%8+8bpIqbxX4`m>{*(!Zr%8cr8MvDQ&_yL9W#2;kre! zzcAQJFGPjvq(D^NaEx`2Z7T{6 zgzkCJlB$Tb<%Yb0zRPP2c_CE|Uk;KR%L0iZ%_6q>v0kpGCh-gR%{69>OZ5_ z5B-a3)y|)wQ(4;ioIk9rCBNAa>7xT(g~lnE8a!4OJy>_8D_$SIP!9qSE)I1Y3HS^W zW(QpzCu_Hmx^5f+H0i>x!P4RkZy71^`}|)2hTlzTWq9rGEf+{Tg5Z diff --git a/.doctrees/tutorials/04-lucj.doctree b/.doctrees/tutorials/04-lucj.doctree index 34d6b24603da751ee45da4a4bd97bd8613dae890..7e46550657d0252bc8608537ac1c0982b3ba54b0 100644 GIT binary patch delta 1346 zcmZ3ok!i_BrVU(XOr|E2`^;omER2DSb!K|Zh6W~+W6kujir+We2@(&qkVRGh#ylCT zxGb;SmM^j031t3Rk{$=@2fW^eb*mUw6uZYQaJ0t}a z%=Ju64O4XuEEIGt^ejybCs)_$is~Bb8JnA=>KYm;D46IO7@Gl^#*+nmq$e-vcH%UK6njCAUk5&A>*-nsnpoJ`|`Zwmu zSjA;| z8l>tPSSTnM=ouIoq-q-&DCp_wDJWR#nOT^DWpoYo%neO|O!LY0by@-@dIlCiEr!Ml zy2g5jmPV5s{X`}o@b+a>0Lx4c^bwu>E`m#5*GSLQz!a#^D3(hB2}DD+1^S3^A=FF` z2+^E8!)N9ob=u~Ke#(q6w<%9P6J*5+54y>QAz~s}gUd2lUl0;1nBgTlc|)5sDkf;lYmx6zl<~8zPAsaCVaq@UTt(9JpyvI&gD9h!Q;L23LyHn5-Dy3k$SC=CsYR zk+W48O(!4hD&*2N(K9gzXVXcYr`dGP^bCQe$;D1x81rDG$>cTlQ;Ac(`CwxRBUq{O zWbFX$$>%y$CdUVJal-AGY}57tW^!YT5sZ1TQFn5CyC^iRxlit@%_G~Czr;Cp^1()( Q$p&2$h*!Nir^kW^0Gr}`1^@s6 diff --git a/_modules/ffsim/slow/gates/diag_coulomb.html b/_modules/ffsim/slow/gates/diag_coulomb.html index 98d3bb7d7..a1e99e120 100644 --- a/_modules/ffsim/slow/gates/diag_coulomb.html +++ b/_modules/ffsim/slow/gates/diag_coulomb.html @@ -171,7 +171,7 @@

Source code for ffsim.slow.gates.diag_coulomb

nelec=nelec, copy=False, ) - orbitals = [set() for _ in range(2)] + orbitals = [set(), set()] orbitals[sigma].add(i) orbitals[1 - sigma].add(j) _apply_phase_shift( diff --git a/searchindex.js b/searchindex.js index 91e4e7a3b..511b7cc69 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/generated/ffsim", "api/generated/ffsim.contract", "api/generated/ffsim.gates", "api/generated/ffsim.hamiltonians", "api/generated/ffsim.linalg", "api/generated/ffsim.protocols", "api/generated/ffsim.slow", "api/generated/ffsim.slow.contract", "api/generated/ffsim.slow.gates", "api/generated/ffsim.trotter", "api/generated/ffsim.variational", "api/generated/modules", "api/index", "index", "tutorials/01-introduction", "tutorials/02-orbital-rotation", "tutorials/03-double-factorized", "tutorials/04-lucj", "tutorials/index"], "filenames": ["api/generated/ffsim.rst", "api/generated/ffsim.contract.rst", "api/generated/ffsim.gates.rst", "api/generated/ffsim.hamiltonians.rst", "api/generated/ffsim.linalg.rst", "api/generated/ffsim.protocols.rst", "api/generated/ffsim.slow.rst", "api/generated/ffsim.slow.contract.rst", "api/generated/ffsim.slow.gates.rst", "api/generated/ffsim.trotter.rst", "api/generated/ffsim.variational.rst", "api/generated/modules.rst", "api/index.rst", "index.rst", "tutorials/01-introduction.ipynb", "tutorials/02-orbital-rotation.ipynb", "tutorials/03-double-factorized.ipynb", "tutorials/04-lucj.ipynb", "tutorials/index.rst"], "titles": ["ffsim package", "ffsim.contract package", "ffsim.gates package", "ffsim.hamiltonians package", "ffsim.linalg package", "ffsim.protocols package", "ffsim.slow package", "ffsim.slow.contract package", "ffsim.slow.gates package", "ffsim.trotter package", "ffsim.variational package", "ffsim", "API reference", "ffsim documentation", "Introduction to ffsim", "Orbital rotations and quadratic Hamiltonians", "Diagonal Coulomb operators and double-factorized Trotter simulation", "The local unitary cluster Jastrow (LUCJ) ansatz", "Tutorials"], "terms": {"contract": [0, 6, 11, 12, 15], "diag_coulomb": [0, 6, 11], "contract_diag_coulomb": [0, 1], "diag_coulomb_linop": [0, 1], "hamiltonian": [0, 9, 11, 12, 17, 18], "hamiltonian_linop": [0, 1, 15], "hamiltonian_trac": [0, 1], "num_op_sum": [0, 6, 11], "contract_num_op_sum": [0, 1], "num_op_sum_linop": [0, 1], "gate": [0, 6, 11, 12, 17], "apply_diag_coulomb_evolut": [0, 2, 16], "apply_givens_rot": [0, 2], "apply_num_interact": [0, 2], "apply_num_op_prod_interact": [0, 2], "apply_tunneling_interact": [0, 2], "apply_num_op_sum_evolut": [0, 2, 15, 16], "orbital_rot": [0, 1, 3, 4, 6, 9, 10, 11, 14, 15, 16], "apply_orbital_rot": [0, 2, 14, 15], "gen_orbital_rotation_index": [0, 2], "double_factorized_hamiltonian": [0, 11, 16], "doublefactorizedhamiltonian": [0, 3, 9, 16], "one_body_tensor": [0, 1, 3, 9, 15, 16], "diag_coulomb_mat": [0, 3, 9, 16], "constant": [0, 1, 3, 16, 17], "z_represent": [0, 1, 2, 3, 9], "norb": [0, 1, 2, 3, 5, 8, 9, 10, 14, 15, 16, 17], "to_number_represent": [0, 3], "to_z_represent": [0, 3], "molecular_hamiltonian": [0, 11], "molecularhamiltonian": [0, 3], "two_body_tensor": [0, 1, 3, 4, 16], "linalg": [0, 11, 12, 15, 16], "double_factor": [0, 11], "double_factorized_t2": [0, 4], "modified_choleski": [0, 4], "optimal_diag_coulomb_mat": [0, 4], "given": [0, 1, 2, 8, 9, 11, 15, 16], "apply_matrix_to_slic": [0, 4], "givens_decomposit": [0, 4], "givens_matrix": [0, 4], "expm_multiply_taylor": [0, 4], "lup": [0, 4], "predic": [0, 11], "is_antihermitian": [0, 4], "is_hermitian": [0, 4], "is_orthogon": [0, 4], "is_real_symmetr": [0, 4], "is_special_orthogon": [0, 4], "is_unitari": [0, 4], "protocol": [0, 11, 12], "linear_oper": [0, 11, 16, 17], "supportslinearoper": [0, 5], "trace": [0, 1, 11, 16], "supportstrac": [0, 5], "slow": [0, 11, 12], "trotter": [0, 11, 12, 18], "qdrift": [0, 11], "expectation_squared_diag_coulomb": [0, 9], "one_body_square_decomposit": [0, 9], "qdrift_prob": [0, 9], "simulate_qdrift_double_factor": [0, 9], "spectral_norm_diag_coulomb": [0, 9], "spectral_norm_one_body_tensor": [0, 9], "variance_diag_coulomb": [0, 9], "variance_one_body_tensor": [0, 9], "simulate_trotter_double_factor": [0, 9, 16], "variat": [0, 11, 12, 17], "lucj": [0, 11, 18], "ucjoper": [0, 10, 17], "diag_coulomb_mats_alpha_alpha": [0, 10], "diag_coulomb_mats_alpha_beta": [0, 10], "final_orbital_rot": [0, 10], "from_paramet": [0, 10, 17], "from_t_amplitud": [0, 10, 17], "n_rep": [0, 10, 17], "to_paramet": [0, 10, 17], "to_t_amplitud": [0, 10], "apply_ucj_oper": [0, 10, 17], "class": [0, 3, 5, 10, 14, 17], "moleculardata": [0, 11, 12, 16, 17], "nelec": [0, 1, 2, 5, 8, 9, 10, 14, 15, 16, 17], "core_energi": 0, "dipole_integr": 0, "none": [0, 1, 2, 3, 4, 8, 9, 10], "orbital_symmetri": 0, "sourc": [0, 1, 2, 3, 4, 5, 8, 9, 10], "base": [0, 3, 4, 5, 10], "object": [0, 3, 4, 5, 10, 16, 17], "random_antihermitian": [0, 11, 12], "dim": [0, 9, 11, 12, 14], "seed": [0, 9, 14, 15], "dtype": 0, "complex": [0, 4], "return": [0, 1, 2, 3, 4, 5, 8, 9, 10, 16, 17], "anti": [0, 4], "hermitian": [0, 4, 15], "matrix": [0, 1, 2, 3, 4, 9, 14, 15, 16, 17], "paramet": [0, 1, 2, 3, 4, 9, 10, 17], "int": [0, 1, 2, 3, 4, 9, 10, 16], "The": [0, 1, 2, 3, 4, 9, 10, 14, 15, 16, 18], "width": 0, "height": 0, "rank": [0, 3, 4], "If": [0, 1, 2, 3, 4, 9, 10], "maximum": [0, 3, 4], "i": [0, 1, 2, 3, 4, 9, 10, 14, 15, 16, 17], "us": [0, 1, 2, 3, 4, 9, 14, 15, 16, 17], "A": [0, 1, 2, 3, 4, 5, 9, 10, 15, 16, 17], "initi": [0, 9, 10, 16, 17], "pseudorandom": [0, 9], "number": [0, 1, 2, 3, 4, 8, 9, 10, 14, 15, 16, 17], "gener": [0, 2, 8, 9, 14, 15, 16, 17], "should": [0, 2, 9, 15, 16], "valid": [0, 9], "input": [0, 1, 9, 17], "np": [0, 2, 9, 15, 16, 17], "default_rng": [0, 9], "dype": 0, "data": [0, 2, 9, 10, 16, 17], "type": [0, 1, 2, 3, 4, 5, 8, 9, 10, 16], "result": [0, 1, 4, 10, 15, 16, 17], "ndarrai": [0, 1, 2, 3, 4, 9, 10, 16], "sampl": [0, 9], "random_hermitian": [0, 11, 12, 15], "random_orthogon": [0, 11, 12], "float": [0, 1, 2, 3, 4, 5, 9, 16], "orthogon": [0, 4], "distribut": 0, "haar": 0, "measur": 0, "an": [0, 1, 2, 3, 4, 5, 9, 10, 14, 15, 16, 17], "instanc": [0, 15], "els": [0, 9], "refer": [0, 3, 4, 13, 17], "arxiv": [0, 3, 4], "math": 0, "ph": 0, "0609050": 0, "random_real_symmetric_matrix": [0, 11, 12], "real": [0, 1, 2, 3, 4, 10, 15, 16, 17], "symmetr": [0, 1, 2, 3, 4, 9, 16, 17], "option": [0, 1, 2, 3, 4, 9, 10], "random_special_orthogon": [0, 11, 12], "special": [0, 4, 14], "random_statevector": [0, 11, 12], "vector": [0, 1, 2, 4, 8, 9, 10, 14, 15, 17], "from": [0, 10, 14, 15, 17], "uniform": [0, 9], "dimens": [0, 9, 14], "random_t2_amplitud": [0, 11, 12], "nocc": [0, 2, 8, 10], "t2": [0, 4, 10, 17], "amplitud": [0, 4, 10, 17], "tensor": [0, 1, 3, 4, 9, 16, 17], "orbit": [0, 1, 2, 3, 4, 8, 9, 10, 14, 16, 17, 18], "ar": [0, 1, 2, 3, 4, 9, 14, 15, 16, 17], "occupi": [0, 1, 2, 16], "electron": [0, 1, 2, 9, 10, 14, 16], "random_two_body_tensor_r": [0, 11, 12], "two": [0, 1, 2, 3, 4, 9, 10, 16, 17], "bodi": [0, 1, 3, 4, 9, 16, 17], "valu": [0, 3, 4, 9, 10, 16, 17], "shape": [0, 4, 9, 14, 17], "default": [0, 3, 4], "behavior": [0, 3, 4], "which": [0, 2, 3, 4, 14, 15, 16, 17], "1": [0, 2, 3, 4, 9, 10, 14, 15, 16, 17], "2": [0, 1, 2, 3, 4, 14, 15, 16, 17], "random_unitari": [0, 11, 12, 14, 15], "unitari": [0, 1, 2, 3, 4, 10, 15, 16, 18], "get": [0, 1, 15, 16, 17], "fci": [0, 1, 14], "space": 0, "spatial": [0, 1, 2, 3, 10, 14, 16, 17], "tupl": [0, 1, 2, 4, 9, 10, 16], "alpha": [0, 1, 2, 9, 10, 14, 17], "beta": [0, 1, 2, 9, 10, 14, 17], "pair": [0, 2], "integ": 0, "dim_a": [0, 14], "dim_b": [0, 14], "repres": [0, 3, 4, 5, 9, 14, 17], "one_hot": [0, 11, 12], "index": [0, 2, 8, 13, 14, 17], "arrai": [0, 2, 4, 9, 14], "all": [0, 2, 17], "zero": [0, 4], "except": 0, "one": [0, 1, 2, 3, 4, 9, 14, 16, 17], "specifi": [0, 3, 4, 9, 17], "desir": 0, "place": [0, 1, 2, 8, 9, 10, 17], "hot": 0, "slater_determin": [0, 11, 12, 14, 15, 16, 17], "occupied_orbit": [0, 14, 15, 16, 17], "slater": [0, 9, 14, 15, 16], "determin": [0, 4, 9, 14, 15, 16], "sequenc": 0, "list": [0, 1, 2, 4, 9, 17], "first": [0, 2, 4, 9, 15, 16, 17], "second": [0, 4, 16], "rotat": [0, 1, 2, 3, 4, 8, 9, 10, 14, 16, 17, 18], "appli": [0, 1, 2, 4, 8, 10, 14, 15, 16, 17], "configur": [0, 14], "In": [0, 10, 15, 16, 17], "other": [0, 17], "word": [0, 17], "thi": [0, 2, 3, 4, 9, 10, 14, 15, 16, 17], "describ": [0, 1, 2, 10, 14, 15, 16, 17], "slater_determinant_one_rdm": [0, 11, 12], "particl": [0, 9, 14, 15], "reduc": [0, 9], "densiti": [0, 9], "contain": [0, 2, 4, 10, 17], "indic": [0, 3, 4, 17], "similarli": [0, 16], "util": [0, 4], "random_nelec": [0, 11, 12], "n_alpha": [0, 14, 15, 16, 17], "n_beta": [0, 14, 15, 16, 17], "random_occupied_orbit": [0, 11, 12], "occ_a": 0, "occ_b": 0, "expectation_pow": [0, 11, 12], "one_rdm": [0, 9], "power": 0, "expect": [0, 9, 15], "oper": [0, 1, 2, 3, 5, 8, 9, 10, 15, 17, 18], "w": [0, 15, 16], "r": [0, 1, 3, 4, 16], "t": [0, 2, 3, 4, 15, 16], "o": 0, "ha": [0, 1, 4, 10, 14, 15, 16, 17], "form": [0, 1, 2, 3, 4, 10, 15, 16, 17], "sum_": [0, 1, 2, 3, 4, 10, 15, 16, 17], "pq": [0, 1, 3, 4, 16], "m_": 0, "a_p": 0, "dagger": [0, 1, 2, 4, 10, 15, 16, 17], "a_q": 0, "function": [0, 1, 2, 3, 4, 6, 9, 10, 14, 15, 16, 17], "take": [0, 3, 14, 17], "m": [0, 4, 15], "its": [0, 2, 3, 4, 9, 10, 15, 16], "argument": [0, 3, 4, 9, 15], "let": [0, 16], "lvert": [0, 17], "psi": [0, 17], "rangl": [0, 17], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "k": [0, 4, 10, 15, 16, 17], "expectation_product": [0, 11, 12], "product": [0, 2, 16], "matric": [0, 1, 3, 4, 10, 15, 16, 17], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "softwar": [0, 14], "librari": [0, 14], "fast": 0, "simul": [0, 9, 13, 14, 15, 17, 18], "fermion": [0, 2, 13, 14, 15, 17], "quantum": [0, 2, 3, 13, 14, 16, 17], "circuit": [0, 3, 13, 14], "diagon": [1, 2, 3, 4, 8, 9, 10, 15, 17, 18], "coulomb": [1, 2, 3, 4, 8, 9, 10, 17, 18], "vec": [1, 2, 4, 8, 9, 10, 14, 15, 16], "mat": [1, 2, 4], "mat_alpha_beta": [1, 2], "fals": [1, 2, 3, 4, 9, 10], "occupations_a": [1, 2, 8], "occupations_b": [1, 2, 8], "strings_a": [1, 2, 8], "strings_b": [1, 2, 8], "j": [1, 2, 3, 10, 15, 16, 17], "sigma": [1, 2, 3, 10, 15, 16, 17], "tau": [1, 2, 3, 10, 16, 17], "z_": [1, 2], "ij": [1, 2, 3, 10, 15, 16, 17], "n_": [1, 2, 10, 14, 15, 16, 17], "where": [1, 2, 3, 4, 9, 10, 15, 16, 17], "denot": [1, 2, 3, 15], "spin": [1, 2, 10, 14, 15, 17], "z": [1, 2, 3, 4, 9, 14], "also": [1, 2, 9, 10, 15], "term": [1, 2, 3, 4, 9, 10, 16, 17], "sum": [1, 2, 8, 9, 16], "differ": [1, 2, 3, 4, 10, 17], "neq": [1, 2, 3], "state": [1, 2, 8, 9, 10, 11, 12, 15, 16, 17], "transform": [1, 2, 3, 10, 14, 15], "coeffici": [1, 2, 3, 4, 10, 15, 17], "interact": [1, 2, 14], "between": [1, 2, 3, 4, 17], "bool": [1, 2, 3, 4, 9, 10], "whether": [1, 2, 3, 4, 9, 10], "represent": [1, 3, 4, 9, 14], "string": [1, 2, 9, 14], "convert": [1, 5, 10, 14, 15, 16], "linear": [1, 2, 4, 5, 15], "mathcal": [1, 2, 10, 15, 16, 17], "u": [1, 2, 3, 4], "linearoper": [1, 5, 15, 16], "implement": [1, 14, 15, 17], "action": [1, 15], "molecular": [1, 3, 17], "0": [1, 3, 4, 9, 15, 16, 17], "h": [1, 3, 16, 17], "h_": [1, 3, 4, 16], "dagger_": [1, 2, 3, 15, 16], "p": [1, 2, 3, 4, 16, 17], "a_": [1, 2, 3, 15, 16], "q": [1, 3, 16], "frac12": [1, 3, 10, 16, 17], "pqr": [1, 3, 4, 16], "": [1, 3, 4, 8, 12, 14, 16], "here": [1, 3, 4, 14, 15, 16], "call": [1, 3, 14, 15, 16], "basi": [1, 3, 10, 15, 16, 17], "combin": [1, 2, 15], "coeff": [1, 2], "lambda_i": [1, 2, 15], "construct": [1, 16, 17], "time": [2, 3, 4, 8, 9, 14, 16], "evolut": [2, 8, 9, 16], "orbital_rotation_index_a": 2, "orbital_rotation_index_b": 2, "copi": [2, 9, 10], "true": [2, 3, 4, 9, 10, 14, 17], "exp": [2, 15], "befor": [2, 9, 10, 17], "alwai": [2, 4, 9, 10, 15], "newli": [2, 9, 10], "alloc": [2, 9, 10], "origin": [2, 3, 4, 9, 10, 16], "left": [2, 9, 10, 15], "untouch": [2, 9, 10], "mai": [2, 4, 9, 10, 17], "still": [2, 9, 10, 17], "have": [2, 3, 4, 9, 10, 14, 15, 17], "overwritten": [2, 9, 10], "It": [2, 3, 4, 9, 10, 14, 16], "possibl": [2, 3, 4, 9, 10], "modifi": [2, 3, 4, 9, 10], "evolv": [2, 9, 16], "comput": [2, 4, 5, 9, 15, 17], "theta": 2, "target_orb": 2, "g": [2, 4, 9, 17], "dagger_i": 2, "a_j": 2, "dagger_j": 2, "a_i": 2, "angl": 2, "n": [2, 3, 4, 14, 15, 16, 17], "prod": 2, "tunnel": 2, "rais": 2, "valueerror": 2, "must": [2, 4], "dimension": [2, 4, 9, 14], "length": [2, 14, 16, 17], "allow_row_permut": 2, "allow_col_permut": 2, "map": [2, 15], "creation": [2, 15], "mapsto": [2, 15], "u_": 2, "ji": [2, 15], "equival": 2, "log": 2, "_": [2, 3, 4, 10, 15, 16, 17], "allow": [2, 3, 4, 17], "permut": [2, 4], "row": [2, 4, 14], "column": [2, 4, 8, 14, 15], "wa": 2, "well": 2, "actual": [2, 15, 17], "effect": 2, "both": [2, 3, 4], "set": [2, 3, 4, 10, 14, 15, 16, 17], "onli": [2, 3, 4, 14, 15, 17], "linkstr_index": [2, 8], "perform": [2, 3, 4, 10, 15, 16], "diag_str": [2, 8], "off_diag_str": [2, 8], "off_diag_index": [2, 8], "three": 2, "numpi": [2, 4, 9, 14, 15, 16, 17], "x": [2, 17], "binom": 2, "th": [2, 15], "unoccupi": 2, "3": [2, 14, 15, 16, 17], "ax": 2, "correspond": [2, 3, 4, 9, 15, 16], "For": [2, 14, 15, 17], "fix": [2, 4, 14], "choic": [2, 14], "str0": 2, "last": 2, "each": [2, 3, 4, 9, 10, 14, 16, 17], "str1": 2, "sign": 2, "annihil": 2, "creat": [2, 14, 15, 16, 17], "give": [2, 15], "pariti": 2, "doubl": [3, 4, 9, 17, 18], "factor": [3, 4, 9, 17, 18], "low": [3, 4, 14], "decomposit": [3, 4, 9], "kappa_": 3, "sum_t": 3, "text": [3, 16], "pi": 3, "qi": 3, "altern": [3, 16], "sometim": 3, "yield": [3, 4, 16, 17], "simpler": 3, "under": 3, "jordan": 3, "wigner": 3, "frac": 3, "pauli": 3, "obtain": [3, 15, 16, 17], "rewrit": 3, "part": [3, 4], "updat": [3, 16], "appropri": 3, "kappa": 3, "frac18": 3, "asterisk": 3, "summat": 3, "over": 3, "rather": [3, 14], "than": [3, 9, 14, 17], "properti": [3, 10, 15], "tol": [3, 4, 10], "1e": [3, 4, 9, 10], "08": [3, 4, 10, 17], "max_vec": [3, 4], "optim": [3, 4, 9, 10, 17], "method": [3, 4, 9, 17], "l": [3, 4, 10, 16, 17], "bfg": [3, 4], "b": [3, 4, 15], "diag_coulomb_mask": [3, 4], "choleski": [3, 4], "act": 3, "decompos": [3, 4, 9, 16], "output": [3, 16, 17], "guarante": 3, "so": [3, 4, 15, 16, 17], "depend": [3, 4, 9, 14], "error": [3, 4], "threshold": [3, 4], "larger": [3, 4], "lead": 3, "smaller": [3, 4, 16], "furthermor": [3, 4], "max_rank": 3, "upper": [3, 4, 9, 17], "bound": [3, 4, 9], "routin": [3, 4, 14], "straightforward": [3, 4], "exact": [3, 4, 14, 16], "nest": [3, 4], "eigenvalu": [3, 4, 9, 15], "addition": [3, 4], "can": [3, 4, 5, 10, 14, 15, 16, 17], "choos": [3, 4, 14, 17], "store": [3, 4, 9, 16, 17], "achiev": [3, 4, 16], "compress": [3, 4], "enabl": [3, 4], "attempt": [3, 4], "minim": [3, 4, 17], "least": [3, 4], "squar": [3, 4, 9, 17], "quantifi": [3, 4], "scipi": [3, 4, 5, 14, 15, 16, 17], "pass": [3, 4, 15], "gradient": [3, 4], "core": [3, 4], "constrain": [3, 4], "certain": [3, 4], "element": [3, 4], "nonzero": [3, 4, 17], "boolean": [3, 4], "triangular": [3, 4], "becaus": [3, 4, 14, 16, 17], "note": [3, 17], "current": 3, "support": [3, 9, 10], "toler": [3, 4, 17], "defin": [3, 4, 17], "absolut": [3, 4, 9], "reconstruct": [3, 4], "limit": [3, 4, 17], "keep": [3, 4], "overrid": [3, 4], "str": [3, 4, 9], "see": [3, 4], "document": [3, 4], "callback": [3, 4], "usag": [3, 4], "dict": [3, 4], "mask": [3, 4], "full": [3, 4, 14], "instead": [3, 4], "much": [3, 4, 14], "more": [3, 4, 14, 17], "expens": [3, 4], "ignor": [3, 4, 16], "1808": [3, 4], "02625": [3, 4], "2104": [3, 4], "08957": [3, 4], "ell": 4, "pk": 4, "qk": 4, "respect": 4, "too": 4, "small": 4, "exce": 4, "collect": 4, "t2_amplitud": [4, 10], "t_": 4, "ijab": 4, "ap": 4, "ip": 4, "bq": 4, "jq": 4, "v_i": 4, "posit": 4, "definit": 4, "No": 4, "check": [4, 15, 16], "verifi": 4, "1711": 4, "02242": 4, "includ": [4, 10, 14, 15, 16], "assembl": 4, "whose": [4, 5, 14], "target": 4, "slice": [4, 8], "out": [4, 16], "entri": [4, 17], "satisfi": [4, 15], "begin": [4, 15, 17], "pmatrix": 4, "end": [4, 10, 15, 17], "http": 4, "en": 4, "wikipedia": 4, "org": 4, "wiki": 4, "givens_rot": 4, "stable_calcul": 4, "www": 4, "netlib": 4, "lapack": 4, "lawnspdf": 4, "lawn148": 4, "pdf": 4, "algebra": 4, "12": [4, 9, 17], "expm": 4, "taylor": 4, "seri": 4, "expans": 4, "pivot": 4, "lu": 4, "rtype": 4, "lower": 4, "unit": 4, "rtol": 4, "05": 4, "atol": 4, "approxim": [4, 16], "rel": 4, "numer": 4, "within": 4, "union": 4, "bool_": 4, "arg": 5, "kwarg": 5, "obj": 5, "submodul": [6, 11, 12], "apply_diag_coulomb_evolution_in_place_num_rep_numpi": [6, 8], "apply_diag_coulomb_evolution_in_place_num_rep_slow": [6, 8], "apply_diag_coulomb_evolution_in_place_z_rep_slow": [6, 8], "apply_num_op_sum_evolution_in_place_slow": [6, 8], "apply_givens_rotation_in_place_slow": [6, 8], "apply_single_column_transformation_in_place_slow": [6, 8], "gen_orbital_rotation_index_in_place_slow": [6, 8], "python": 6, "version": 6, "were": 6, "rewritten": [6, 15], "rust": 6, "mat_exp": 8, "mat_alpha_beta_exp": 8, "mat_exp_conj": 8, "mat_alpha_beta_exp_conj": 8, "phase": [8, 15], "occup": [8, 14, 15, 16], "c": 8, "slice1": 8, "slice2": 8, "diag_val": 8, "singl": [8, 16], "off_diag_strings_index": 8, "diag": 9, "op": 9, "truncation_threshold": 9, "less": [9, 17], "truncat": [9, 17], "sampling_method": 9, "probabl": 9, "rest": [9, 16], "same": [9, 10, 14, 17], "order": [9, 10, 14, 16, 17], "thei": [9, 15, 17], "e": [9, 10, 16, 17], "follow": [9, 14, 15, 16, 17], "norm": 9, "proport": [9, 15], "spectral": 9, "requir": [9, 17], "incoher": 9, "channel": 9, "n_particl": 9, "total": [9, 10, 16, 17], "n_step": [9, 16], "n_sampl": 9, "via": [9, 16], "step": [9, 15, 16], "explicit": 9, "whenev": 9, "complet": 9, "character": 9, "trajectori": 9, "random": [9, 11, 12, 14, 15], "final": [9, 10, 16, 17], "just": [9, 16, 17], "statevector": [9, 14, 15], "otherwis": 9, "largest": 9, "singular": 9, "varianc": 9, "rdm": 9, "suzuki": 9, "formula": 9, "local": [10, 18], "cluster": [10, 18], "jastrow": [10, 18], "ansatz": [10, 18], "ucj": 10, "prod_": [10, 17], "w_k": [10, 17], "_k": [10, 16, 17], "mathbf": [10, 15, 16, 17], "commut": [10, 16, 17], "we": [10, 15, 16, 17], "enforc": [10, 17], "As": [10, 14, 15, 16, 17], "involv": [10, 17], "To": [10, 14, 15, 16, 17], "static": 10, "param": 10, "alpha_alpha_indic": [10, 17], "alpha_beta_indic": [10, 17], "with_final_orbital_rot": 10, "t1_amplitud": 10, "t1": 10, "repetit": [10, 17], "possibli": 10, "packag": [11, 12], "subpackag": [11, 12], "modul": [11, 12, 13, 14], "content": [11, 12], "molecular_data": [11, 12], "test": [11, 12, 15, 16], "wick": [11, 12], "ffsim": [12, 15, 16, 17, 18], "faster": 13, "tutori": [13, 15, 16, 17], "api": 13, "search": 13, "page": 13, "conserv": 14, "compon": 14, "By": 14, "advantag": 14, "symmetri": [14, 15], "effici": 14, "level": [14, 16], "doe": 14, "primari": 14, "wai": [14, 15, 17], "directli": [14, 16], "exampl": [14, 15, 17], "code": [14, 16, 17], "show": [14, 15, 16, 17], "how": [14, 15, 16, 17], "import": [14, 15, 16, 17], "6": [14, 15, 16, 17], "rang": [14, 15, 16, 17], "1234": [14, 15], "rotated_vec": [14, 15], "plain": 14, "Its": 14, "system": [14, 15], "conveni": 14, "calcul": [14, 16, 17], "comb": 14, "assert": 14, "standard": 14, "often": [14, 17], "simpli": [14, 15], "reshap": 14, "reshaped_vec": 14, "pyscf": [14, 16, 17], "fundament": 15, "mode": 15, "sum_j": 15, "That": 15, "new": 15, "anticommut": 15, "relat": [15, 17], "align": [15, 17], "_1": 15, "_2": 15, "ani": [15, 17], "section": 15, "ll": [15, 16, 17], "demonstr": [15, 16, 17], "task": 15, "consid": [15, 17], "right": 15, "introduc": [15, 17], "eigendecomposit": 15, "sum_k": [15, 16], "lambda_k": 15, "ik": 15, "jk": 15, "our": [15, 16, 17], "ground": [15, 17], "pick": 15, "up": 15, "energi": [15, 16, 17], "spars": [15, 16], "lowest": [15, 16], "eigenvector": 15, "eig": 15, "eigsh": 15, "la": 15, "fact": 15, "you": 15, "illustr": 15, "purpos": 15, "explicitli": 15, "eigh": [15, 16], "evolved_vec": 15, "conj": 15, "undo": 15, "expected_phas": 15, "1j": [15, 16], "assert_allclos": 15, "mention": [15, 16], "abov": [15, 16], "below": [15, 16, 17], "better": [15, 16], "4": [15, 16, 17], "evolved_vec_alt": 15, "daunt": 16, "scale": 16, "cell": [16, 17], "hydrogen": [16, 17], "molecul": [16, 17], "stretch": [16, 17], "bond": [16, 17], "build": [16, 17], "h2": [16, 17], "mol": [16, 17], "gto": [16, 17], "mole": [16, 17], "atom": [16, 17], "8": [16, 17], "sto": [16, 17], "6g": [16, 17], "hartree_fock": [16, 17], "scf": [16, 17], "rhf": [16, 17], "kernel": [16, 17], "mol_data": [16, 17], "from_hartree_fock": [16, 17], "mol_hamiltonian": [16, 17], "df_hamiltonian": 16, "converg": [16, 17], "837796382593709": [16, 17], "dataclass": [16, 17], "print": [16, 17], "some": 16, "inform": 16, "One": 16, "27478830e": 16, "01": [16, 17], "66405155e": 16, "16": 16, "07220771e": 16, "77238770e": 16, "5": [16, 17], "23173938e": 16, "57437591e": 16, "33545754e": 16, "12704463e": 16, "48240570e": 16, "61492903e": 16, "24884750e": 16, "53132024e": 16, "21318608e": 16, "00": [16, 17], "25870402e": 16, "76015378e": 16, "07792507e": 16, "14653029e": 16, "50800163e": 16, "59": 16, "58462611e": 16, "31": 16, "52090881e": 16, "03": 16, "00000000e": 16, "24520980e": 16, "15": 16, "7": 16, "07106781e": 16, "48603030e": 16, "although": 16, "alreadi": 16, "built": 16, "manual": 16, "asymmetr": 16, "basic": 16, "h_k": 16, "divid": 16, "exponenti": 16, "individu": 16, "do": 16, "approx": 16, "prod_k": 16, "higher": 16, "deriv": 16, "write": 16, "recal": 16, "addit": 16, "think": 16, "compos": 16, "quadrat": [16, 18], "def": [16, 17], "simulate_trotter_step_double_factor": 16, "one_body_energi": 16, "one_body_basis_chang": 16, "zip": 16, "finish": 16, "handl": 16, "split": 16, "multipl": 16, "wrote": 16, "step_tim": 16, "hartre": [16, 17], "fock": [16, 17], "match": 16, "when": [16, 17], "initial_st": 16, "\u03c8": [16, 17], "hf_energi": 16, "vdot": [16, 17], "f": [16, 17], "8377963825937088": 16, "now": 16, "later": 16, "compar": 16, "exact_st": 16, "expm_multipli": 16, "tracea": 16, "fidel": 16, "ab": 16, "9696296369955066": 16, "final_st": [16, 17], "999027574408349": 16, "improv": 16, "increas": 16, "10": [16, 17], "9999906233109657": 16, "commonli": 16, "known": 16, "fourth": 16, "reproduc": 16, "9": [16, 17], "fewer": 16, "9999999336740057": 16, "phi_0": 17, "taken": 17, "express": 17, "previou": 17, "constructor": 17, "provid": 17, "ccsd": 17, "mp2": 17, "run": 17, "cc": 17, "reference_st": 17, "ansatz_st": 17, "initiali": 17, "9707730767164341": 17, "e_corr": 17, "1329766941227253": 17, "9696246123746332": 17, "facilit": 17, "convers": 17, "precis": 17, "somewhat": 17, "complic": 17, "short": 17, "non": 17, "redund": 17, "associ": 17, "fun": 17, "x0": 17, "len": 17, "20": 17, "messag": 17, "termin": 17, "successfulli": 17, "success": 17, "statu": 17, "9707730753913614": 17, "678e": 17, "970e": 17, "nit": 17, "jac": 17, "490e": 17, "000e": 17, "686e": 17, "714e": 17, "07": 17, "hess_inv": 17, "080e": 17, "13": 17, "192e": 17, "505e": 17, "nfev": 17, "63": 17, "njev": 17, "either": 17, "connect": 17, "swap": 17, "network": 17, "make": 17, "challeng": 17, "noisi": 17, "pre": 17, "fault": 17, "processor": 17, "idea": 17, "impos": 17, "sparsiti": 17, "constraint": 17, "them": 17, "depth": 17, "qubit": 17, "topologi": 17, "triangl": 17, "sinc": 17, "need": 17, "lattic": 17, "parallel": 17, "line": 17, "rung": 17, "ladder": 17, "With": 17, "setup": 17, "while": 17, "share": 17, "ldot": 17, "without": 17, "Of": 17, "cours": 17, "notic": 17, "decreas": 17, "14": 17, "simpl": 17, "abl": 17, "recov": 17, "exactli": 17, "9707730754179815": 17, "470e": 17, "980e": 17, "132e": 17, "75": 17, "introduct": 18}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[1, 0, 0, "-", "contract"], [2, 0, 0, "-", "gates"], [3, 0, 0, "-", "hamiltonians"], [4, 0, 0, "-", "linalg"], [0, 0, 0, "-", "molecular_data"], [5, 0, 0, "-", "protocols"], [0, 0, 0, "-", "random"], [6, 0, 0, "-", "slow"], [0, 0, 0, "-", "states"], [0, 0, 0, "-", "testing"], [9, 0, 0, "-", "trotter"], [10, 0, 0, "-", "variational"], [0, 0, 0, "-", "wick"]], "ffsim.contract": [[1, 0, 0, "-", "diag_coulomb"], [1, 0, 0, "-", "hamiltonian"], [1, 0, 0, "-", "num_op_sum"]], "ffsim.contract.diag_coulomb": [[1, 1, 1, "", "contract_diag_coulomb"], [1, 1, 1, "", "diag_coulomb_linop"]], "ffsim.contract.hamiltonian": [[1, 1, 1, "", "hamiltonian_linop"], [1, 1, 1, "", "hamiltonian_trace"]], "ffsim.contract.num_op_sum": [[1, 1, 1, "", "contract_num_op_sum"], [1, 1, 1, "", "num_op_sum_linop"]], "ffsim.gates": [[2, 0, 0, "-", "diag_coulomb"], [2, 0, 0, "-", "gates"], [2, 0, 0, "-", "num_op_sum"], [2, 0, 0, "-", "orbital_rotation"]], "ffsim.gates.diag_coulomb": [[2, 1, 1, "", "apply_diag_coulomb_evolution"]], "ffsim.gates.gates": [[2, 1, 1, "", "apply_givens_rotation"], [2, 1, 1, "", "apply_num_interaction"], [2, 1, 1, "", "apply_num_op_prod_interaction"], [2, 1, 1, "", "apply_tunneling_interaction"]], "ffsim.gates.num_op_sum": [[2, 1, 1, "", "apply_num_op_sum_evolution"]], "ffsim.gates.orbital_rotation": [[2, 1, 1, "", "apply_orbital_rotation"], [2, 1, 1, "", "gen_orbital_rotation_index"]], "ffsim.hamiltonians": [[3, 0, 0, "-", "double_factorized_hamiltonian"], [3, 0, 0, "-", "molecular_hamiltonian"]], "ffsim.hamiltonians.double_factorized_hamiltonian": [[3, 2, 1, "", "DoubleFactorizedHamiltonian"], [3, 1, 1, "", "double_factorized_hamiltonian"]], "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian": [[3, 3, 1, "", "constant"], [3, 3, 1, "", "diag_coulomb_mats"], [3, 4, 1, "", "norb"], [3, 3, 1, "", "one_body_tensor"], [3, 3, 1, "", "orbital_rotations"], [3, 5, 1, "", "to_number_representation"], [3, 5, 1, "", "to_z_representation"], [3, 3, 1, "", "z_representation"]], "ffsim.hamiltonians.molecular_hamiltonian": [[3, 2, 1, "", "MolecularHamiltonian"]], "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian": [[3, 3, 1, "", "constant"], [3, 4, 1, "", "norb"], [3, 3, 1, "", "one_body_tensor"], [3, 3, 1, "", "two_body_tensor"]], "ffsim.linalg": [[4, 0, 0, "-", "double_factorized"], [4, 0, 0, "-", "givens"], [4, 0, 0, "-", "linalg"], [4, 0, 0, "-", "predicates"]], "ffsim.linalg.double_factorized": [[4, 1, 1, "", "double_factorized"], [4, 1, 1, "", "double_factorized_t2"], [4, 1, 1, "", "modified_cholesky"], [4, 1, 1, "", "optimal_diag_coulomb_mats"]], "ffsim.linalg.givens": [[4, 1, 1, "", "apply_matrix_to_slices"], [4, 1, 1, "", "givens_decomposition"], [4, 1, 1, "", "givens_matrix"]], "ffsim.linalg.linalg": [[4, 1, 1, "", "expm_multiply_taylor"], [4, 1, 1, "", "lup"]], "ffsim.linalg.predicates": [[4, 1, 1, "", "is_antihermitian"], [4, 1, 1, "", "is_hermitian"], [4, 1, 1, "", "is_orthogonal"], [4, 1, 1, "", "is_real_symmetric"], [4, 1, 1, "", "is_special_orthogonal"], [4, 1, 1, "", "is_unitary"]], "ffsim.molecular_data": [[0, 2, 1, "", "MolecularData"]], "ffsim.protocols": [[5, 0, 0, "-", "linear_operator"], [5, 0, 0, "-", "trace"]], "ffsim.protocols.linear_operator": [[5, 2, 1, "", "SupportsLinearOperator"], [5, 1, 1, "", "linear_operator"]], "ffsim.protocols.trace": [[5, 2, 1, "", "SupportsTrace"], [5, 1, 1, "", "trace"]], "ffsim.random": [[0, 1, 1, "", "random_antihermitian"], [0, 1, 1, "", "random_hermitian"], [0, 1, 1, "", "random_orthogonal"], [0, 1, 1, "", "random_real_symmetric_matrix"], [0, 1, 1, "", "random_special_orthogonal"], [0, 1, 1, "", "random_statevector"], [0, 1, 1, "", "random_t2_amplitudes"], [0, 1, 1, "", "random_two_body_tensor_real"], [0, 1, 1, "", "random_unitary"]], "ffsim.slow": [[7, 0, 0, "-", "contract"], [8, 0, 0, "-", "gates"]], "ffsim.slow.contract": [[7, 0, 0, "-", "diag_coulomb"], [7, 0, 0, "-", "num_op_sum"]], "ffsim.slow.gates": [[8, 0, 0, "-", "diag_coulomb"], [8, 0, 0, "-", "num_op_sum"], [8, 0, 0, "-", "orbital_rotation"]], "ffsim.slow.gates.diag_coulomb": [[8, 1, 1, "", "apply_diag_coulomb_evolution_in_place_num_rep_numpy"], [8, 1, 1, "", "apply_diag_coulomb_evolution_in_place_num_rep_slow"], [8, 1, 1, "", "apply_diag_coulomb_evolution_in_place_z_rep_slow"]], "ffsim.slow.gates.num_op_sum": [[8, 1, 1, "", "apply_num_op_sum_evolution_in_place_slow"]], "ffsim.slow.gates.orbital_rotation": [[8, 1, 1, "", "apply_givens_rotation_in_place_slow"], [8, 1, 1, "", "apply_single_column_transformation_in_place_slow"], [8, 1, 1, "", "gen_orbital_rotation_index_in_place_slow"]], "ffsim.states": [[0, 1, 1, "", "dim"], [0, 1, 1, "", "dims"], [0, 1, 1, "", "one_hot"], [0, 1, 1, "", "slater_determinant"], [0, 1, 1, "", "slater_determinant_one_rdm"]], "ffsim.testing": [[0, 1, 1, "", "random_nelec"], [0, 1, 1, "", "random_occupied_orbitals"]], "ffsim.trotter": [[9, 0, 0, "-", "qdrift"], [9, 0, 0, "-", "trotter"]], "ffsim.trotter.qdrift": [[9, 1, 1, "", "expectation_squared_diag_coulomb"], [9, 1, 1, "", "one_body_square_decomposition"], [9, 1, 1, "", "qdrift_probabilities"], [9, 1, 1, "", "simulate_qdrift_double_factorized"], [9, 1, 1, "", "spectral_norm_diag_coulomb"], [9, 1, 1, "", "spectral_norm_one_body_tensor"], [9, 1, 1, "", "variance_diag_coulomb"], [9, 1, 1, "", "variance_one_body_tensor"]], "ffsim.trotter.trotter": [[9, 1, 1, "", "simulate_trotter_double_factorized"]], "ffsim.variational": [[10, 0, 0, "-", "lucj"]], "ffsim.variational.lucj": [[10, 2, 1, "", "UCJOperator"], [10, 1, 1, "", "apply_ucj_operator"]], "ffsim.variational.lucj.UCJOperator": [[10, 3, 1, "", "diag_coulomb_mats_alpha_alpha"], [10, 3, 1, "", "diag_coulomb_mats_alpha_beta"], [10, 3, 1, "", "final_orbital_rotation"], [10, 5, 1, "", "from_parameters"], [10, 5, 1, "", "from_t_amplitudes"], [10, 4, 1, "", "n_reps"], [10, 4, 1, "", "norb"], [10, 3, 1, "", "orbital_rotations"], [10, 5, 1, "", "to_parameters"], [10, 5, 1, "", "to_t_amplitudes"]], "ffsim.wick": [[0, 1, 1, "", "expectation_power"], [0, 1, 1, "", "expectation_product"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:attribute", "4": "py:property", "5": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "property", "Python property"], "5": ["py", "method", "Python method"]}, "titleterms": {"ffsim": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14], "packag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "subpackag": [0, 6], "submodul": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10], "molecular_data": 0, "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "random": 0, "state": 0, "test": 0, "wick": 0, "content": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 18], "contract": [1, 7], "diag_coulomb": [1, 2, 7, 8], "hamiltonian": [1, 3, 15, 16], "num_op_sum": [1, 2, 7, 8], "gate": [2, 8], "orbital_rot": [2, 8], "double_factorized_hamiltonian": 3, "molecular_hamiltonian": 3, "linalg": 4, "double_factor": 4, "given": 4, "predic": 4, "protocol": 5, "linear_oper": 5, "trace": 5, "slow": [6, 7, 8], "trotter": [9, 16], "qdrift": 9, "variat": 10, "lucj": [10, 17], "api": 12, "refer": 12, "document": 13, "indic": 13, "tabl": 13, "introduct": 14, "orbit": 15, "rotat": 15, "quadrat": 15, "time": 15, "evolut": 15, "diagon": 16, "coulomb": 16, "oper": 16, "doubl": 16, "factor": 16, "simul": 16, "represent": 16, "molecular": 16, "brief": 16, "background": 16, "suzuki": 16, "formula": 16, "implement": 16, "The": 17, "local": 17, "unitari": 17, "cluster": 17, "jastrow": 17, "ansatz": 17, "ucj": 17, "tutori": 18}, "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 package": [[0, "ffsim-package"]], "Subpackages": [[0, "subpackages"], [6, "subpackages"]], "Submodules": [[0, "submodules"], [1, "submodules"], [2, "submodules"], [3, "submodules"], [4, "submodules"], [5, "submodules"], [7, "submodules"], [8, "submodules"], [9, "submodules"], [10, "submodules"]], "ffsim.molecular_data module": [[0, "module-ffsim.molecular_data"]], "ffsim.random module": [[0, "module-ffsim.random"]], "ffsim.states module": [[0, "module-ffsim.states"]], "ffsim.testing module": [[0, "module-ffsim.testing"]], "ffsim.wick module": [[0, "module-ffsim.wick"]], "Module contents": [[0, "module-ffsim"], [1, "module-ffsim.contract"], [2, "module-ffsim.gates"], [3, "module-ffsim.hamiltonians"], [4, "module-ffsim.linalg"], [5, "module-ffsim.protocols"], [6, "module-ffsim.slow"], [7, "module-ffsim.slow.contract"], [8, "module-ffsim.slow.gates"], [9, "module-ffsim.trotter"], [10, "module-ffsim.variational"]], "ffsim.contract package": [[1, "ffsim-contract-package"]], "ffsim.contract.diag_coulomb module": [[1, "module-ffsim.contract.diag_coulomb"]], "ffsim.contract.hamiltonian module": [[1, "module-ffsim.contract.hamiltonian"]], "ffsim.contract.num_op_sum module": [[1, "module-ffsim.contract.num_op_sum"]], "ffsim.gates package": [[2, "ffsim-gates-package"]], "ffsim.gates.diag_coulomb module": [[2, "module-ffsim.gates.diag_coulomb"]], "ffsim.gates.gates module": [[2, "module-ffsim.gates.gates"]], "ffsim.gates.num_op_sum module": [[2, "module-ffsim.gates.num_op_sum"]], "ffsim.gates.orbital_rotation module": [[2, "module-ffsim.gates.orbital_rotation"]], "ffsim.hamiltonians package": [[3, "ffsim-hamiltonians-package"]], "ffsim.hamiltonians.double_factorized_hamiltonian module": [[3, "module-ffsim.hamiltonians.double_factorized_hamiltonian"]], "ffsim.hamiltonians.molecular_hamiltonian module": [[3, "module-ffsim.hamiltonians.molecular_hamiltonian"]], "ffsim.linalg package": [[4, "ffsim-linalg-package"]], "ffsim.linalg.double_factorized module": [[4, "module-ffsim.linalg.double_factorized"]], "ffsim.linalg.givens module": [[4, "module-ffsim.linalg.givens"]], "ffsim.linalg.linalg module": [[4, "module-ffsim.linalg.linalg"]], "ffsim.linalg.predicates module": [[4, "module-ffsim.linalg.predicates"]], "ffsim.protocols package": [[5, "ffsim-protocols-package"]], "ffsim.protocols.linear_operator module": [[5, "module-ffsim.protocols.linear_operator"]], "ffsim.protocols.trace module": [[5, "module-ffsim.protocols.trace"]], "ffsim.slow package": [[6, "ffsim-slow-package"]], "ffsim.slow.contract package": [[7, "ffsim-slow-contract-package"]], "ffsim.slow.contract.diag_coulomb module": [[7, "module-ffsim.slow.contract.diag_coulomb"]], "ffsim.slow.contract.num_op_sum module": [[7, "module-ffsim.slow.contract.num_op_sum"]], "ffsim.slow.gates package": [[8, "ffsim-slow-gates-package"]], "ffsim.slow.gates.diag_coulomb module": [[8, "module-ffsim.slow.gates.diag_coulomb"]], "ffsim.slow.gates.num_op_sum module": [[8, "module-ffsim.slow.gates.num_op_sum"]], "ffsim.slow.gates.orbital_rotation module": [[8, "module-ffsim.slow.gates.orbital_rotation"]], "ffsim.trotter package": [[9, "ffsim-trotter-package"]], "ffsim.trotter.qdrift module": [[9, "module-ffsim.trotter.qdrift"]], "ffsim.trotter.trotter module": [[9, "module-ffsim.trotter.trotter"]], "ffsim.variational package": [[10, "ffsim-variational-package"]], "ffsim.variational.lucj module": [[10, "module-ffsim.variational.lucj"]], "ffsim": [[11, "ffsim"]], "API reference": [[12, "api-reference"]], "ffsim documentation": [[13, "ffsim-documentation"]], "Contents:": [[13, null], [18, null]], "Indices and tables": [[13, "indices-and-tables"]], "Introduction to ffsim": [[14, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[15, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[15, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[15, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[16, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[16, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[16, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[16, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[16, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[17, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [17, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[17, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Tutorials": [[18, "tutorials"]]}, "indexentries": {"moleculardata (class in ffsim.molecular_data)": [[0, "ffsim.molecular_data.MolecularData"]], "dim() (in module ffsim.states)": [[0, "ffsim.states.dim"]], "dims() (in module ffsim.states)": [[0, "ffsim.states.dims"]], "expectation_power() (in module ffsim.wick)": [[0, "ffsim.wick.expectation_power"]], "expectation_product() (in module ffsim.wick)": [[0, "ffsim.wick.expectation_product"]], "ffsim": [[0, "module-ffsim"]], "ffsim.molecular_data": [[0, "module-ffsim.molecular_data"]], "ffsim.random": [[0, "module-ffsim.random"]], "ffsim.states": [[0, "module-ffsim.states"]], "ffsim.testing": [[0, "module-ffsim.testing"]], "ffsim.wick": [[0, "module-ffsim.wick"]], "module": [[0, "module-ffsim"], [0, "module-ffsim.molecular_data"], [0, "module-ffsim.random"], [0, "module-ffsim.states"], [0, "module-ffsim.testing"], [0, "module-ffsim.wick"], [1, "module-ffsim.contract"], [1, "module-ffsim.contract.diag_coulomb"], [1, "module-ffsim.contract.hamiltonian"], [1, "module-ffsim.contract.num_op_sum"], [2, "module-ffsim.gates"], [2, "module-ffsim.gates.diag_coulomb"], [2, "module-ffsim.gates.gates"], [2, "module-ffsim.gates.num_op_sum"], [2, "module-ffsim.gates.orbital_rotation"], [3, "module-ffsim.hamiltonians"], [3, "module-ffsim.hamiltonians.double_factorized_hamiltonian"], [3, "module-ffsim.hamiltonians.molecular_hamiltonian"], [4, "module-ffsim.linalg"], [4, "module-ffsim.linalg.double_factorized"], [4, "module-ffsim.linalg.givens"], [4, "module-ffsim.linalg.linalg"], [4, "module-ffsim.linalg.predicates"], [5, "module-ffsim.protocols"], [5, "module-ffsim.protocols.linear_operator"], [5, "module-ffsim.protocols.trace"], [6, "module-ffsim.slow"], [7, "module-ffsim.slow.contract"], [7, "module-ffsim.slow.contract.diag_coulomb"], [7, "module-ffsim.slow.contract.num_op_sum"], [8, "module-ffsim.slow.gates"], [8, "module-ffsim.slow.gates.diag_coulomb"], [8, "module-ffsim.slow.gates.num_op_sum"], [8, "module-ffsim.slow.gates.orbital_rotation"], [9, "module-ffsim.trotter"], [9, "module-ffsim.trotter.qdrift"], [9, "module-ffsim.trotter.trotter"], [10, "module-ffsim.variational"], [10, "module-ffsim.variational.lucj"]], "one_hot() (in module ffsim.states)": [[0, "ffsim.states.one_hot"]], "random_antihermitian() (in module ffsim.random)": [[0, "ffsim.random.random_antihermitian"]], "random_hermitian() (in module ffsim.random)": [[0, "ffsim.random.random_hermitian"]], "random_nelec() (in module ffsim.testing)": [[0, "ffsim.testing.random_nelec"]], "random_occupied_orbitals() (in module ffsim.testing)": [[0, "ffsim.testing.random_occupied_orbitals"]], "random_orthogonal() (in module ffsim.random)": [[0, "ffsim.random.random_orthogonal"]], "random_real_symmetric_matrix() (in module ffsim.random)": [[0, "ffsim.random.random_real_symmetric_matrix"]], "random_special_orthogonal() (in module ffsim.random)": [[0, "ffsim.random.random_special_orthogonal"]], "random_statevector() (in module ffsim.random)": [[0, "ffsim.random.random_statevector"]], "random_t2_amplitudes() (in module ffsim.random)": [[0, "ffsim.random.random_t2_amplitudes"]], "random_two_body_tensor_real() (in module ffsim.random)": [[0, "ffsim.random.random_two_body_tensor_real"]], "random_unitary() (in module ffsim.random)": [[0, "ffsim.random.random_unitary"]], "slater_determinant() (in module ffsim.states)": [[0, "ffsim.states.slater_determinant"]], "slater_determinant_one_rdm() (in module ffsim.states)": [[0, "ffsim.states.slater_determinant_one_rdm"]], "contract_diag_coulomb() (in module ffsim.contract.diag_coulomb)": [[1, "ffsim.contract.diag_coulomb.contract_diag_coulomb"]], "contract_num_op_sum() (in module ffsim.contract.num_op_sum)": [[1, "ffsim.contract.num_op_sum.contract_num_op_sum"]], "diag_coulomb_linop() (in module ffsim.contract.diag_coulomb)": [[1, "ffsim.contract.diag_coulomb.diag_coulomb_linop"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.contract.diag_coulomb": [[1, "module-ffsim.contract.diag_coulomb"]], "ffsim.contract.hamiltonian": [[1, "module-ffsim.contract.hamiltonian"]], "ffsim.contract.num_op_sum": [[1, "module-ffsim.contract.num_op_sum"]], "hamiltonian_linop() (in module ffsim.contract.hamiltonian)": [[1, "ffsim.contract.hamiltonian.hamiltonian_linop"]], "hamiltonian_trace() (in module ffsim.contract.hamiltonian)": [[1, "ffsim.contract.hamiltonian.hamiltonian_trace"]], "num_op_sum_linop() (in module ffsim.contract.num_op_sum)": [[1, "ffsim.contract.num_op_sum.num_op_sum_linop"]], "apply_diag_coulomb_evolution() (in module ffsim.gates.diag_coulomb)": [[2, "ffsim.gates.diag_coulomb.apply_diag_coulomb_evolution"]], "apply_givens_rotation() (in module ffsim.gates.gates)": [[2, "ffsim.gates.gates.apply_givens_rotation"]], "apply_num_interaction() (in module ffsim.gates.gates)": [[2, "ffsim.gates.gates.apply_num_interaction"]], "apply_num_op_prod_interaction() (in module ffsim.gates.gates)": [[2, "ffsim.gates.gates.apply_num_op_prod_interaction"]], "apply_num_op_sum_evolution() (in module ffsim.gates.num_op_sum)": [[2, "ffsim.gates.num_op_sum.apply_num_op_sum_evolution"]], "apply_orbital_rotation() (in module ffsim.gates.orbital_rotation)": [[2, "ffsim.gates.orbital_rotation.apply_orbital_rotation"]], "apply_tunneling_interaction() (in module ffsim.gates.gates)": [[2, "ffsim.gates.gates.apply_tunneling_interaction"]], "ffsim.gates": [[2, "module-ffsim.gates"]], "ffsim.gates.diag_coulomb": [[2, "module-ffsim.gates.diag_coulomb"]], "ffsim.gates.gates": [[2, "module-ffsim.gates.gates"]], "ffsim.gates.num_op_sum": [[2, "module-ffsim.gates.num_op_sum"]], "ffsim.gates.orbital_rotation": [[2, "module-ffsim.gates.orbital_rotation"]], "gen_orbital_rotation_index() (in module ffsim.gates.orbital_rotation)": [[2, "ffsim.gates.orbital_rotation.gen_orbital_rotation_index"]], "doublefactorizedhamiltonian (class in ffsim.hamiltonians.double_factorized_hamiltonian)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian"]], "molecularhamiltonian (class in ffsim.hamiltonians.molecular_hamiltonian)": [[3, "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian"]], "constant (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian attribute)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.constant"]], "constant (ffsim.hamiltonians.molecular_hamiltonian.molecularhamiltonian attribute)": [[3, "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian.constant"]], "diag_coulomb_mats (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian attribute)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.diag_coulomb_mats"]], "double_factorized_hamiltonian() (in module ffsim.hamiltonians.double_factorized_hamiltonian)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.double_factorized_hamiltonian"]], "ffsim.hamiltonians": [[3, "module-ffsim.hamiltonians"]], "ffsim.hamiltonians.double_factorized_hamiltonian": [[3, "module-ffsim.hamiltonians.double_factorized_hamiltonian"]], "ffsim.hamiltonians.molecular_hamiltonian": [[3, "module-ffsim.hamiltonians.molecular_hamiltonian"]], "norb (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian property)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.norb"]], "norb (ffsim.hamiltonians.molecular_hamiltonian.molecularhamiltonian property)": [[3, "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian.norb"]], "one_body_tensor (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian attribute)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.hamiltonians.molecular_hamiltonian.molecularhamiltonian attribute)": [[3, "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian.one_body_tensor"]], "orbital_rotations (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian attribute)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.orbital_rotations"]], "to_number_representation() (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian method)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.to_number_representation"]], "to_z_representation() (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian method)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.to_z_representation"]], "two_body_tensor (ffsim.hamiltonians.molecular_hamiltonian.molecularhamiltonian attribute)": [[3, "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian.two_body_tensor"]], "z_representation (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian attribute)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.z_representation"]], "apply_matrix_to_slices() (in module ffsim.linalg.givens)": [[4, "ffsim.linalg.givens.apply_matrix_to_slices"]], "double_factorized() (in module ffsim.linalg.double_factorized)": [[4, "ffsim.linalg.double_factorized.double_factorized"]], "double_factorized_t2() (in module ffsim.linalg.double_factorized)": [[4, "ffsim.linalg.double_factorized.double_factorized_t2"]], "expm_multiply_taylor() (in module ffsim.linalg.linalg)": [[4, "ffsim.linalg.linalg.expm_multiply_taylor"]], "ffsim.linalg": [[4, "module-ffsim.linalg"]], "ffsim.linalg.double_factorized": [[4, "module-ffsim.linalg.double_factorized"]], "ffsim.linalg.givens": [[4, "module-ffsim.linalg.givens"]], "ffsim.linalg.linalg": [[4, "module-ffsim.linalg.linalg"]], "ffsim.linalg.predicates": [[4, "module-ffsim.linalg.predicates"]], "givens_decomposition() (in module ffsim.linalg.givens)": [[4, "ffsim.linalg.givens.givens_decomposition"]], "givens_matrix() (in module ffsim.linalg.givens)": [[4, "ffsim.linalg.givens.givens_matrix"]], "is_antihermitian() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_antihermitian"]], "is_hermitian() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_hermitian"]], "is_orthogonal() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_orthogonal"]], "is_real_symmetric() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_real_symmetric"]], "is_special_orthogonal() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_special_orthogonal"]], "is_unitary() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_unitary"]], "lup() (in module ffsim.linalg.linalg)": [[4, "ffsim.linalg.linalg.lup"]], "modified_cholesky() (in module ffsim.linalg.double_factorized)": [[4, "ffsim.linalg.double_factorized.modified_cholesky"]], "optimal_diag_coulomb_mats() (in module ffsim.linalg.double_factorized)": [[4, "ffsim.linalg.double_factorized.optimal_diag_coulomb_mats"]], "supportslinearoperator (class in ffsim.protocols.linear_operator)": [[5, "ffsim.protocols.linear_operator.SupportsLinearOperator"]], "supportstrace (class in ffsim.protocols.trace)": [[5, "ffsim.protocols.trace.SupportsTrace"]], "ffsim.protocols": [[5, "module-ffsim.protocols"]], "ffsim.protocols.linear_operator": [[5, "module-ffsim.protocols.linear_operator"]], "ffsim.protocols.trace": [[5, "module-ffsim.protocols.trace"]], "linear_operator() (in module ffsim.protocols.linear_operator)": [[5, "ffsim.protocols.linear_operator.linear_operator"]], "trace() (in module ffsim.protocols.trace)": [[5, "ffsim.protocols.trace.trace"]], "ffsim.slow": [[6, "module-ffsim.slow"]], "ffsim.slow.contract": [[7, "module-ffsim.slow.contract"]], "ffsim.slow.contract.diag_coulomb": [[7, "module-ffsim.slow.contract.diag_coulomb"]], "ffsim.slow.contract.num_op_sum": [[7, "module-ffsim.slow.contract.num_op_sum"]], "apply_diag_coulomb_evolution_in_place_num_rep_numpy() (in module ffsim.slow.gates.diag_coulomb)": [[8, "ffsim.slow.gates.diag_coulomb.apply_diag_coulomb_evolution_in_place_num_rep_numpy"]], "apply_diag_coulomb_evolution_in_place_num_rep_slow() (in module ffsim.slow.gates.diag_coulomb)": [[8, "ffsim.slow.gates.diag_coulomb.apply_diag_coulomb_evolution_in_place_num_rep_slow"]], "apply_diag_coulomb_evolution_in_place_z_rep_slow() (in module ffsim.slow.gates.diag_coulomb)": [[8, "ffsim.slow.gates.diag_coulomb.apply_diag_coulomb_evolution_in_place_z_rep_slow"]], "apply_givens_rotation_in_place_slow() (in module ffsim.slow.gates.orbital_rotation)": [[8, "ffsim.slow.gates.orbital_rotation.apply_givens_rotation_in_place_slow"]], "apply_num_op_sum_evolution_in_place_slow() (in module ffsim.slow.gates.num_op_sum)": [[8, "ffsim.slow.gates.num_op_sum.apply_num_op_sum_evolution_in_place_slow"]], "apply_single_column_transformation_in_place_slow() (in module ffsim.slow.gates.orbital_rotation)": [[8, "ffsim.slow.gates.orbital_rotation.apply_single_column_transformation_in_place_slow"]], "ffsim.slow.gates": [[8, "module-ffsim.slow.gates"]], "ffsim.slow.gates.diag_coulomb": [[8, "module-ffsim.slow.gates.diag_coulomb"]], "ffsim.slow.gates.num_op_sum": [[8, "module-ffsim.slow.gates.num_op_sum"]], "ffsim.slow.gates.orbital_rotation": [[8, "module-ffsim.slow.gates.orbital_rotation"]], "gen_orbital_rotation_index_in_place_slow() (in module ffsim.slow.gates.orbital_rotation)": [[8, "ffsim.slow.gates.orbital_rotation.gen_orbital_rotation_index_in_place_slow"]], "expectation_squared_diag_coulomb() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.expectation_squared_diag_coulomb"]], "ffsim.trotter": [[9, "module-ffsim.trotter"]], "ffsim.trotter.qdrift": [[9, "module-ffsim.trotter.qdrift"]], "ffsim.trotter.trotter": [[9, "module-ffsim.trotter.trotter"]], "one_body_square_decomposition() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.one_body_square_decomposition"]], "qdrift_probabilities() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.qdrift_probabilities"]], "simulate_qdrift_double_factorized() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.simulate_qdrift_double_factorized"]], "simulate_trotter_double_factorized() (in module ffsim.trotter.trotter)": [[9, "ffsim.trotter.trotter.simulate_trotter_double_factorized"]], "spectral_norm_diag_coulomb() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.spectral_norm_diag_coulomb"]], "spectral_norm_one_body_tensor() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.spectral_norm_one_body_tensor"]], "variance_diag_coulomb() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.variance_diag_coulomb"]], "variance_one_body_tensor() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.variance_one_body_tensor"]], "ucjoperator (class in ffsim.variational.lucj)": [[10, "ffsim.variational.lucj.UCJOperator"]], "apply_ucj_operator() (in module ffsim.variational.lucj)": [[10, "ffsim.variational.lucj.apply_ucj_operator"]], "diag_coulomb_mats_alpha_alpha (ffsim.variational.lucj.ucjoperator attribute)": [[10, "ffsim.variational.lucj.UCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_beta (ffsim.variational.lucj.ucjoperator attribute)": [[10, "ffsim.variational.lucj.UCJOperator.diag_coulomb_mats_alpha_beta"]], "ffsim.variational": [[10, "module-ffsim.variational"]], "ffsim.variational.lucj": [[10, "module-ffsim.variational.lucj"]], "final_orbital_rotation (ffsim.variational.lucj.ucjoperator attribute)": [[10, "ffsim.variational.lucj.UCJOperator.final_orbital_rotation"]], "from_parameters() (ffsim.variational.lucj.ucjoperator static method)": [[10, "ffsim.variational.lucj.UCJOperator.from_parameters"]], "from_t_amplitudes() (ffsim.variational.lucj.ucjoperator static method)": [[10, "ffsim.variational.lucj.UCJOperator.from_t_amplitudes"]], "n_reps (ffsim.variational.lucj.ucjoperator property)": [[10, "ffsim.variational.lucj.UCJOperator.n_reps"]], "norb (ffsim.variational.lucj.ucjoperator property)": [[10, "ffsim.variational.lucj.UCJOperator.norb"]], "orbital_rotations (ffsim.variational.lucj.ucjoperator attribute)": [[10, "ffsim.variational.lucj.UCJOperator.orbital_rotations"]], "to_parameters() (ffsim.variational.lucj.ucjoperator method)": [[10, "ffsim.variational.lucj.UCJOperator.to_parameters"]], "to_t_amplitudes() (ffsim.variational.lucj.ucjoperator method)": [[10, "ffsim.variational.lucj.UCJOperator.to_t_amplitudes"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/generated/ffsim", "api/generated/ffsim.contract", "api/generated/ffsim.gates", "api/generated/ffsim.hamiltonians", "api/generated/ffsim.linalg", "api/generated/ffsim.protocols", "api/generated/ffsim.slow", "api/generated/ffsim.slow.contract", "api/generated/ffsim.slow.gates", "api/generated/ffsim.trotter", "api/generated/ffsim.variational", "api/generated/modules", "api/index", "index", "tutorials/01-introduction", "tutorials/02-orbital-rotation", "tutorials/03-double-factorized", "tutorials/04-lucj", "tutorials/index"], "filenames": ["api/generated/ffsim.rst", "api/generated/ffsim.contract.rst", "api/generated/ffsim.gates.rst", "api/generated/ffsim.hamiltonians.rst", "api/generated/ffsim.linalg.rst", "api/generated/ffsim.protocols.rst", "api/generated/ffsim.slow.rst", "api/generated/ffsim.slow.contract.rst", "api/generated/ffsim.slow.gates.rst", "api/generated/ffsim.trotter.rst", "api/generated/ffsim.variational.rst", "api/generated/modules.rst", "api/index.rst", "index.rst", "tutorials/01-introduction.ipynb", "tutorials/02-orbital-rotation.ipynb", "tutorials/03-double-factorized.ipynb", "tutorials/04-lucj.ipynb", "tutorials/index.rst"], "titles": ["ffsim package", "ffsim.contract package", "ffsim.gates package", "ffsim.hamiltonians package", "ffsim.linalg package", "ffsim.protocols package", "ffsim.slow package", "ffsim.slow.contract package", "ffsim.slow.gates package", "ffsim.trotter package", "ffsim.variational package", "ffsim", "API reference", "ffsim documentation", "Introduction to ffsim", "Orbital rotations and quadratic Hamiltonians", "Diagonal Coulomb operators and double-factorized Trotter simulation", "The local unitary cluster Jastrow (LUCJ) ansatz", "Tutorials"], "terms": {"contract": [0, 6, 11, 12, 15], "diag_coulomb": [0, 6, 11], "contract_diag_coulomb": [0, 1], "diag_coulomb_linop": [0, 1], "hamiltonian": [0, 9, 11, 12, 17, 18], "hamiltonian_linop": [0, 1, 15], "hamiltonian_trac": [0, 1], "num_op_sum": [0, 6, 11], "contract_num_op_sum": [0, 1], "num_op_sum_linop": [0, 1], "gate": [0, 6, 11, 12, 17], "apply_diag_coulomb_evolut": [0, 2, 16], "apply_givens_rot": [0, 2], "apply_num_interact": [0, 2], "apply_num_op_prod_interact": [0, 2], "apply_tunneling_interact": [0, 2], "apply_num_op_sum_evolut": [0, 2, 15, 16], "orbital_rot": [0, 1, 3, 4, 6, 9, 10, 11, 14, 15, 16], "apply_orbital_rot": [0, 2, 14, 15], "gen_orbital_rotation_index": [0, 2], "double_factorized_hamiltonian": [0, 11, 16], "doublefactorizedhamiltonian": [0, 3, 9, 16], "one_body_tensor": [0, 1, 3, 9, 15, 16], "diag_coulomb_mat": [0, 3, 9, 16], "constant": [0, 1, 3, 16, 17], "z_represent": [0, 1, 2, 3, 9], "norb": [0, 1, 2, 3, 5, 8, 9, 10, 14, 15, 16, 17], "to_number_represent": [0, 3], "to_z_represent": [0, 3], "molecular_hamiltonian": [0, 11], "molecularhamiltonian": [0, 3], "two_body_tensor": [0, 1, 3, 4, 16], "linalg": [0, 11, 12, 15, 16], "double_factor": [0, 11], "double_factorized_t2": [0, 4], "modified_choleski": [0, 4], "optimal_diag_coulomb_mat": [0, 4], "given": [0, 1, 2, 8, 9, 11, 15, 16], "apply_matrix_to_slic": [0, 4], "givens_decomposit": [0, 4], "givens_matrix": [0, 4], "expm_multiply_taylor": [0, 4], "lup": [0, 4], "predic": [0, 11], "is_antihermitian": [0, 4], "is_hermitian": [0, 4], "is_orthogon": [0, 4], "is_real_symmetr": [0, 4], "is_special_orthogon": [0, 4], "is_unitari": [0, 4], "protocol": [0, 11, 12], "linear_oper": [0, 11, 16, 17], "supportslinearoper": [0, 5], "trace": [0, 1, 11, 16], "supportstrac": [0, 5], "slow": [0, 11, 12], "trotter": [0, 11, 12, 18], "qdrift": [0, 11], "expectation_squared_diag_coulomb": [0, 9], "one_body_square_decomposit": [0, 9], "qdrift_prob": [0, 9], "simulate_qdrift_double_factor": [0, 9], "spectral_norm_diag_coulomb": [0, 9], "spectral_norm_one_body_tensor": [0, 9], "variance_diag_coulomb": [0, 9], "variance_one_body_tensor": [0, 9], "simulate_trotter_double_factor": [0, 9, 16], "variat": [0, 11, 12, 17], "lucj": [0, 11, 18], "ucjoper": [0, 10, 17], "diag_coulomb_mats_alpha_alpha": [0, 10], "diag_coulomb_mats_alpha_beta": [0, 10], "final_orbital_rot": [0, 10], "from_paramet": [0, 10, 17], "from_t_amplitud": [0, 10, 17], "n_rep": [0, 10, 17], "to_paramet": [0, 10, 17], "to_t_amplitud": [0, 10], "apply_ucj_oper": [0, 10, 17], "class": [0, 3, 5, 10, 14, 17], "moleculardata": [0, 11, 12, 16, 17], "nelec": [0, 1, 2, 5, 8, 9, 10, 14, 15, 16, 17], "core_energi": 0, "dipole_integr": 0, "none": [0, 1, 2, 3, 4, 8, 9, 10], "orbital_symmetri": 0, "sourc": [0, 1, 2, 3, 4, 5, 8, 9, 10], "base": [0, 3, 4, 5, 10], "object": [0, 3, 4, 5, 10, 16, 17], "random_antihermitian": [0, 11, 12], "dim": [0, 9, 11, 12, 14], "seed": [0, 9, 14, 15], "dtype": 0, "complex": [0, 4], "return": [0, 1, 2, 3, 4, 5, 8, 9, 10, 16, 17], "anti": [0, 4], "hermitian": [0, 4, 15], "matrix": [0, 1, 2, 3, 4, 9, 14, 15, 16, 17], "paramet": [0, 1, 2, 3, 4, 9, 10, 17], "int": [0, 1, 2, 3, 4, 9, 10, 16], "The": [0, 1, 2, 3, 4, 9, 10, 14, 15, 16, 18], "width": 0, "height": 0, "rank": [0, 3, 4], "If": [0, 1, 2, 3, 4, 9, 10], "maximum": [0, 3, 4], "i": [0, 1, 2, 3, 4, 9, 10, 14, 15, 16, 17], "us": [0, 1, 2, 3, 4, 9, 14, 15, 16, 17], "A": [0, 1, 2, 3, 4, 5, 9, 10, 15, 16, 17], "initi": [0, 9, 10, 16, 17], "pseudorandom": [0, 9], "number": [0, 1, 2, 3, 4, 8, 9, 10, 14, 15, 16, 17], "gener": [0, 2, 8, 9, 14, 15, 16, 17], "should": [0, 2, 9, 15, 16], "valid": [0, 9], "input": [0, 1, 9, 17], "np": [0, 2, 9, 15, 16, 17], "default_rng": [0, 9], "dype": 0, "data": [0, 2, 9, 10, 16, 17], "type": [0, 1, 2, 3, 4, 5, 8, 9, 10, 16], "result": [0, 1, 4, 10, 15, 16, 17], "ndarrai": [0, 1, 2, 3, 4, 9, 10, 16], "sampl": [0, 9], "random_hermitian": [0, 11, 12, 15], "random_orthogon": [0, 11, 12], "float": [0, 1, 2, 3, 4, 5, 9, 16], "orthogon": [0, 4], "distribut": 0, "haar": 0, "measur": 0, "an": [0, 1, 2, 3, 4, 5, 9, 10, 14, 15, 16, 17], "instanc": [0, 15], "els": [0, 9], "refer": [0, 3, 4, 13, 17], "arxiv": [0, 3, 4], "math": 0, "ph": 0, "0609050": 0, "random_real_symmetric_matrix": [0, 11, 12], "real": [0, 1, 2, 3, 4, 10, 15, 16, 17], "symmetr": [0, 1, 2, 3, 4, 9, 16, 17], "option": [0, 1, 2, 3, 4, 9, 10], "random_special_orthogon": [0, 11, 12], "special": [0, 4, 14], "random_statevector": [0, 11, 12], "vector": [0, 1, 2, 4, 8, 9, 10, 14, 15, 17], "from": [0, 10, 14, 15, 17], "uniform": [0, 9], "dimens": [0, 9, 14], "random_t2_amplitud": [0, 11, 12], "nocc": [0, 2, 8, 10], "t2": [0, 4, 10, 17], "amplitud": [0, 4, 10, 17], "tensor": [0, 1, 3, 4, 9, 16, 17], "orbit": [0, 1, 2, 3, 4, 8, 9, 10, 14, 16, 17, 18], "ar": [0, 1, 2, 3, 4, 9, 14, 15, 16, 17], "occupi": [0, 1, 2, 16], "electron": [0, 1, 2, 9, 10, 14, 16], "random_two_body_tensor_r": [0, 11, 12], "two": [0, 1, 2, 3, 4, 9, 10, 16, 17], "bodi": [0, 1, 3, 4, 9, 16, 17], "valu": [0, 3, 4, 9, 10, 16, 17], "shape": [0, 4, 9, 14, 17], "default": [0, 3, 4], "behavior": [0, 3, 4], "which": [0, 2, 3, 4, 14, 15, 16, 17], "1": [0, 2, 3, 4, 9, 10, 14, 15, 16, 17], "2": [0, 1, 2, 3, 4, 14, 15, 16, 17], "random_unitari": [0, 11, 12, 14, 15], "unitari": [0, 1, 2, 3, 4, 10, 15, 16, 18], "get": [0, 1, 15, 16, 17], "fci": [0, 1, 14], "space": 0, "spatial": [0, 1, 2, 3, 10, 14, 16, 17], "tupl": [0, 1, 2, 4, 9, 10, 16], "alpha": [0, 1, 2, 9, 10, 14, 17], "beta": [0, 1, 2, 9, 10, 14, 17], "pair": [0, 2], "integ": 0, "dim_a": [0, 14], "dim_b": [0, 14], "repres": [0, 3, 4, 5, 9, 14, 17], "one_hot": [0, 11, 12], "index": [0, 2, 8, 13, 14, 17], "arrai": [0, 2, 4, 9, 14], "all": [0, 2, 17], "zero": [0, 4], "except": 0, "one": [0, 1, 2, 3, 4, 9, 14, 16, 17], "specifi": [0, 3, 4, 9, 17], "desir": 0, "place": [0, 1, 2, 8, 9, 10, 17], "hot": 0, "slater_determin": [0, 11, 12, 14, 15, 16, 17], "occupied_orbit": [0, 14, 15, 16, 17], "slater": [0, 9, 14, 15, 16], "determin": [0, 4, 9, 14, 15, 16], "sequenc": 0, "list": [0, 1, 2, 4, 9, 17], "first": [0, 2, 4, 9, 15, 16, 17], "second": [0, 4, 16], "rotat": [0, 1, 2, 3, 4, 8, 9, 10, 14, 16, 17, 18], "appli": [0, 1, 2, 4, 8, 10, 14, 15, 16, 17], "configur": [0, 14], "In": [0, 10, 15, 16, 17], "other": [0, 17], "word": [0, 17], "thi": [0, 2, 3, 4, 9, 10, 14, 15, 16, 17], "describ": [0, 1, 2, 10, 14, 15, 16, 17], "slater_determinant_one_rdm": [0, 11, 12], "particl": [0, 9, 14, 15], "reduc": [0, 9], "densiti": [0, 9], "contain": [0, 2, 4, 10, 17], "indic": [0, 3, 4, 17], "similarli": [0, 16], "util": [0, 4], "random_nelec": [0, 11, 12], "n_alpha": [0, 14, 15, 16, 17], "n_beta": [0, 14, 15, 16, 17], "random_occupied_orbit": [0, 11, 12], "occ_a": 0, "occ_b": 0, "expectation_pow": [0, 11, 12], "one_rdm": [0, 9], "power": 0, "expect": [0, 9, 15], "oper": [0, 1, 2, 3, 5, 8, 9, 10, 15, 17, 18], "w": [0, 15, 16], "r": [0, 1, 3, 4, 16], "t": [0, 2, 3, 4, 15, 16], "o": 0, "ha": [0, 1, 4, 10, 14, 15, 16, 17], "form": [0, 1, 2, 3, 4, 10, 15, 16, 17], "sum_": [0, 1, 2, 3, 4, 10, 15, 16, 17], "pq": [0, 1, 3, 4, 16], "m_": 0, "a_p": 0, "dagger": [0, 1, 2, 4, 10, 15, 16, 17], "a_q": 0, "function": [0, 1, 2, 3, 4, 6, 9, 10, 14, 15, 16, 17], "take": [0, 3, 14, 17], "m": [0, 4, 15], "its": [0, 2, 3, 4, 9, 10, 15, 16], "argument": [0, 3, 4, 9, 15], "let": [0, 16], "lvert": [0, 17], "psi": [0, 17], "rangl": [0, 17], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "k": [0, 4, 10, 15, 16, 17], "expectation_product": [0, 11, 12], "product": [0, 2, 16], "matric": [0, 1, 3, 4, 10, 15, 16, 17], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "softwar": [0, 14], "librari": [0, 14], "fast": 0, "simul": [0, 9, 13, 14, 15, 17, 18], "fermion": [0, 2, 13, 14, 15, 17], "quantum": [0, 2, 3, 13, 14, 16, 17], "circuit": [0, 3, 13, 14], "diagon": [1, 2, 3, 4, 8, 9, 10, 15, 17, 18], "coulomb": [1, 2, 3, 4, 8, 9, 10, 17, 18], "vec": [1, 2, 4, 8, 9, 10, 14, 15, 16], "mat": [1, 2, 4], "mat_alpha_beta": [1, 2], "fals": [1, 2, 3, 4, 9, 10], "occupations_a": [1, 2, 8], "occupations_b": [1, 2, 8], "strings_a": [1, 2, 8], "strings_b": [1, 2, 8], "j": [1, 2, 3, 10, 15, 16, 17], "sigma": [1, 2, 3, 10, 15, 16, 17], "tau": [1, 2, 3, 10, 16, 17], "z_": [1, 2], "ij": [1, 2, 3, 10, 15, 16, 17], "n_": [1, 2, 10, 14, 15, 16, 17], "where": [1, 2, 3, 4, 9, 10, 15, 16, 17], "denot": [1, 2, 3, 15], "spin": [1, 2, 10, 14, 15, 17], "z": [1, 2, 3, 4, 9, 14], "also": [1, 2, 9, 10, 15], "term": [1, 2, 3, 4, 9, 10, 16, 17], "sum": [1, 2, 8, 9, 16], "differ": [1, 2, 3, 4, 10, 17], "neq": [1, 2, 3], "state": [1, 2, 8, 9, 10, 11, 12, 15, 16, 17], "transform": [1, 2, 3, 10, 14, 15], "coeffici": [1, 2, 3, 4, 10, 15, 17], "interact": [1, 2, 14], "between": [1, 2, 3, 4, 17], "bool": [1, 2, 3, 4, 9, 10], "whether": [1, 2, 3, 4, 9, 10], "represent": [1, 3, 4, 9, 14], "string": [1, 2, 9, 14], "convert": [1, 5, 10, 14, 15, 16], "linear": [1, 2, 4, 5, 15], "mathcal": [1, 2, 10, 15, 16, 17], "u": [1, 2, 3, 4], "linearoper": [1, 5, 15, 16], "implement": [1, 14, 15, 17], "action": [1, 15], "molecular": [1, 3, 17], "0": [1, 3, 4, 9, 15, 16, 17], "h": [1, 3, 16, 17], "h_": [1, 3, 4, 16], "dagger_": [1, 2, 3, 15, 16], "p": [1, 2, 3, 4, 16, 17], "a_": [1, 2, 3, 15, 16], "q": [1, 3, 16], "frac12": [1, 3, 10, 16, 17], "pqr": [1, 3, 4, 16], "": [1, 3, 4, 8, 12, 14, 16], "here": [1, 3, 4, 14, 15, 16], "call": [1, 3, 14, 15, 16], "basi": [1, 3, 10, 15, 16, 17], "combin": [1, 2, 15], "coeff": [1, 2], "lambda_i": [1, 2, 15], "construct": [1, 16, 17], "time": [2, 3, 4, 8, 9, 14, 16], "evolut": [2, 8, 9, 16], "orbital_rotation_index_a": 2, "orbital_rotation_index_b": 2, "copi": [2, 9, 10], "true": [2, 3, 4, 9, 10, 14, 17], "exp": [2, 15], "befor": [2, 9, 10, 17], "alwai": [2, 4, 9, 10, 15], "newli": [2, 9, 10], "alloc": [2, 9, 10], "origin": [2, 3, 4, 9, 10, 16], "left": [2, 9, 10, 15], "untouch": [2, 9, 10], "mai": [2, 4, 9, 10, 17], "still": [2, 9, 10, 17], "have": [2, 3, 4, 9, 10, 14, 15, 17], "overwritten": [2, 9, 10], "It": [2, 3, 4, 9, 10, 14, 16], "possibl": [2, 3, 4, 9, 10], "modifi": [2, 3, 4, 9, 10], "evolv": [2, 9, 16], "comput": [2, 4, 5, 9, 15, 17], "theta": 2, "target_orb": 2, "g": [2, 4, 9, 17], "dagger_i": 2, "a_j": 2, "dagger_j": 2, "a_i": 2, "angl": 2, "n": [2, 3, 4, 14, 15, 16, 17], "prod": 2, "tunnel": 2, "rais": 2, "valueerror": 2, "must": [2, 4], "dimension": [2, 4, 9, 14], "length": [2, 14, 16, 17], "allow_row_permut": 2, "allow_col_permut": 2, "map": [2, 15], "creation": [2, 15], "mapsto": [2, 15], "u_": 2, "ji": [2, 15], "equival": 2, "log": 2, "_": [2, 3, 4, 10, 15, 16, 17], "allow": [2, 3, 4, 17], "permut": [2, 4], "row": [2, 4, 14], "column": [2, 4, 8, 14, 15], "wa": 2, "well": 2, "actual": [2, 15, 17], "effect": 2, "both": [2, 3, 4], "set": [2, 3, 4, 10, 14, 15, 16, 17], "onli": [2, 3, 4, 14, 15, 17], "linkstr_index": [2, 8], "perform": [2, 3, 4, 10, 15, 16], "diag_str": [2, 8], "off_diag_str": [2, 8], "off_diag_index": [2, 8], "three": 2, "numpi": [2, 4, 9, 14, 15, 16, 17], "x": [2, 17], "binom": 2, "th": [2, 15], "unoccupi": 2, "3": [2, 14, 15, 16, 17], "ax": 2, "correspond": [2, 3, 4, 9, 15, 16], "For": [2, 14, 15, 17], "fix": [2, 4, 14], "choic": [2, 14], "str0": 2, "last": 2, "each": [2, 3, 4, 9, 10, 14, 16, 17], "str1": 2, "sign": 2, "annihil": 2, "creat": [2, 14, 15, 16, 17], "give": [2, 15], "pariti": 2, "doubl": [3, 4, 9, 17, 18], "factor": [3, 4, 9, 17, 18], "low": [3, 4, 14], "decomposit": [3, 4, 9], "kappa_": 3, "sum_t": 3, "text": [3, 16], "pi": 3, "qi": 3, "altern": [3, 16], "sometim": 3, "yield": [3, 4, 16, 17], "simpler": 3, "under": 3, "jordan": 3, "wigner": 3, "frac": 3, "pauli": 3, "obtain": [3, 15, 16, 17], "rewrit": 3, "part": [3, 4], "updat": [3, 16], "appropri": 3, "kappa": 3, "frac18": 3, "asterisk": 3, "summat": 3, "over": 3, "rather": [3, 14], "than": [3, 9, 14, 17], "properti": [3, 10, 15], "tol": [3, 4, 10], "1e": [3, 4, 9, 10], "08": [3, 4, 10, 17], "max_vec": [3, 4], "optim": [3, 4, 9, 10, 17], "method": [3, 4, 9, 17], "l": [3, 4, 10, 16, 17], "bfg": [3, 4], "b": [3, 4, 15], "diag_coulomb_mask": [3, 4], "choleski": [3, 4], "act": 3, "decompos": [3, 4, 9, 16], "output": [3, 16, 17], "guarante": 3, "so": [3, 4, 15, 16, 17], "depend": [3, 4, 9, 14], "error": [3, 4], "threshold": [3, 4], "larger": [3, 4], "lead": 3, "smaller": [3, 4, 16], "furthermor": [3, 4], "max_rank": 3, "upper": [3, 4, 9, 17], "bound": [3, 4, 9], "routin": [3, 4, 14], "straightforward": [3, 4], "exact": [3, 4, 14, 16], "nest": [3, 4], "eigenvalu": [3, 4, 9, 15], "addition": [3, 4], "can": [3, 4, 5, 10, 14, 15, 16, 17], "choos": [3, 4, 14, 17], "store": [3, 4, 9, 16, 17], "achiev": [3, 4, 16], "compress": [3, 4], "enabl": [3, 4], "attempt": [3, 4], "minim": [3, 4, 17], "least": [3, 4], "squar": [3, 4, 9, 17], "quantifi": [3, 4], "scipi": [3, 4, 5, 14, 15, 16, 17], "pass": [3, 4, 15], "gradient": [3, 4], "core": [3, 4], "constrain": [3, 4], "certain": [3, 4], "element": [3, 4], "nonzero": [3, 4, 17], "boolean": [3, 4], "triangular": [3, 4], "becaus": [3, 4, 14, 16, 17], "note": [3, 17], "current": 3, "support": [3, 9, 10], "toler": [3, 4, 17], "defin": [3, 4, 17], "absolut": [3, 4, 9], "reconstruct": [3, 4], "limit": [3, 4, 17], "keep": [3, 4], "overrid": [3, 4], "str": [3, 4, 9], "see": [3, 4], "document": [3, 4], "callback": [3, 4], "usag": [3, 4], "dict": [3, 4], "mask": [3, 4], "full": [3, 4, 14], "instead": [3, 4], "much": [3, 4, 14], "more": [3, 4, 14, 17], "expens": [3, 4], "ignor": [3, 4, 16], "1808": [3, 4], "02625": [3, 4], "2104": [3, 4], "08957": [3, 4], "ell": 4, "pk": 4, "qk": 4, "respect": 4, "too": 4, "small": 4, "exce": 4, "collect": 4, "t2_amplitud": [4, 10], "t_": 4, "ijab": 4, "ap": 4, "ip": 4, "bq": 4, "jq": 4, "v_i": 4, "posit": 4, "definit": 4, "No": 4, "check": [4, 15, 16], "verifi": 4, "1711": 4, "02242": 4, "includ": [4, 10, 14, 15, 16], "assembl": 4, "whose": [4, 5, 14], "target": 4, "slice": [4, 8], "out": [4, 16], "entri": [4, 17], "satisfi": [4, 15], "begin": [4, 15, 17], "pmatrix": 4, "end": [4, 10, 15, 17], "http": 4, "en": 4, "wikipedia": 4, "org": 4, "wiki": 4, "givens_rot": 4, "stable_calcul": 4, "www": 4, "netlib": 4, "lapack": 4, "lawnspdf": 4, "lawn148": 4, "pdf": 4, "algebra": 4, "12": [4, 9, 17], "expm": 4, "taylor": 4, "seri": 4, "expans": 4, "pivot": 4, "lu": 4, "rtype": 4, "lower": 4, "unit": 4, "rtol": 4, "05": 4, "atol": 4, "approxim": [4, 16], "rel": 4, "numer": 4, "within": 4, "union": 4, "bool_": 4, "arg": 5, "kwarg": 5, "obj": 5, "submodul": [6, 11, 12], "apply_diag_coulomb_evolution_in_place_num_rep_numpi": [6, 8], "apply_diag_coulomb_evolution_in_place_num_rep_slow": [6, 8], "apply_diag_coulomb_evolution_in_place_z_rep_slow": [6, 8], "apply_num_op_sum_evolution_in_place_slow": [6, 8], "apply_givens_rotation_in_place_slow": [6, 8], "apply_single_column_transformation_in_place_slow": [6, 8], "gen_orbital_rotation_index_in_place_slow": [6, 8], "python": 6, "version": 6, "were": 6, "rewritten": [6, 15], "rust": 6, "mat_exp": 8, "mat_alpha_beta_exp": 8, "mat_exp_conj": 8, "mat_alpha_beta_exp_conj": 8, "phase": [8, 15], "occup": [8, 14, 15, 16], "c": 8, "slice1": 8, "slice2": 8, "diag_val": 8, "singl": [8, 16], "off_diag_strings_index": 8, "diag": 9, "op": 9, "truncation_threshold": 9, "less": [9, 17], "truncat": [9, 17], "sampling_method": 9, "probabl": 9, "rest": [9, 16], "same": [9, 10, 14, 17], "order": [9, 10, 14, 16, 17], "thei": [9, 15, 17], "e": [9, 10, 16, 17], "follow": [9, 14, 15, 16, 17], "norm": 9, "proport": [9, 15], "spectral": 9, "requir": [9, 17], "incoher": 9, "channel": 9, "n_particl": 9, "total": [9, 10, 16, 17], "n_step": [9, 16], "n_sampl": 9, "via": [9, 16], "step": [9, 15, 16], "explicit": 9, "whenev": 9, "complet": 9, "character": 9, "trajectori": 9, "random": [9, 11, 12, 14, 15], "final": [9, 10, 16, 17], "just": [9, 16, 17], "statevector": [9, 14, 15], "otherwis": 9, "largest": 9, "singular": 9, "varianc": 9, "rdm": 9, "suzuki": 9, "formula": 9, "local": [10, 18], "cluster": [10, 18], "jastrow": [10, 18], "ansatz": [10, 18], "ucj": 10, "prod_": [10, 17], "w_k": [10, 17], "_k": [10, 16, 17], "mathbf": [10, 15, 16, 17], "commut": [10, 16, 17], "we": [10, 15, 16, 17], "enforc": [10, 17], "As": [10, 14, 15, 16, 17], "involv": [10, 17], "To": [10, 14, 15, 16, 17], "static": 10, "param": 10, "alpha_alpha_indic": [10, 17], "alpha_beta_indic": [10, 17], "with_final_orbital_rot": 10, "t1_amplitud": 10, "t1": 10, "repetit": [10, 17], "possibli": 10, "packag": [11, 12], "subpackag": [11, 12], "modul": [11, 12, 13, 14], "content": [11, 12], "molecular_data": [11, 12], "test": [11, 12, 15, 16], "wick": [11, 12], "ffsim": [12, 15, 16, 17, 18], "faster": 13, "tutori": [13, 15, 16, 17], "api": 13, "search": 13, "page": 13, "conserv": 14, "compon": 14, "By": 14, "advantag": 14, "symmetri": [14, 15], "effici": 14, "level": [14, 16], "doe": 14, "primari": 14, "wai": [14, 15, 17], "directli": [14, 16], "exampl": [14, 15, 17], "code": [14, 16, 17], "show": [14, 15, 16, 17], "how": [14, 15, 16, 17], "import": [14, 15, 16, 17], "6": [14, 15, 16], "rang": [14, 15, 16, 17], "1234": [14, 15], "rotated_vec": [14, 15], "plain": 14, "Its": 14, "system": [14, 15], "conveni": 14, "calcul": [14, 16, 17], "comb": 14, "assert": 14, "standard": 14, "often": [14, 17], "simpli": [14, 15], "reshap": 14, "reshaped_vec": 14, "pyscf": [14, 16, 17], "fundament": 15, "mode": 15, "sum_j": 15, "That": 15, "new": 15, "anticommut": 15, "relat": [15, 17], "align": [15, 17], "_1": 15, "_2": 15, "ani": [15, 17], "section": 15, "ll": [15, 16, 17], "demonstr": [15, 16, 17], "task": 15, "consid": [15, 17], "right": 15, "introduc": [15, 17], "eigendecomposit": 15, "sum_k": [15, 16], "lambda_k": 15, "ik": 15, "jk": 15, "our": [15, 16, 17], "ground": [15, 17], "pick": 15, "up": 15, "energi": [15, 16, 17], "spars": [15, 16], "lowest": [15, 16], "eigenvector": 15, "eig": 15, "eigsh": 15, "la": 15, "fact": 15, "you": 15, "illustr": 15, "purpos": 15, "explicitli": 15, "eigh": [15, 16], "evolved_vec": 15, "conj": 15, "undo": 15, "expected_phas": 15, "1j": [15, 16], "assert_allclos": 15, "mention": [15, 16], "abov": [15, 16], "below": [15, 16, 17], "better": [15, 16], "4": [15, 16, 17], "evolved_vec_alt": 15, "daunt": 16, "scale": 16, "cell": [16, 17], "hydrogen": [16, 17], "molecul": [16, 17], "stretch": [16, 17], "bond": [16, 17], "build": [16, 17], "h2": [16, 17], "mol": [16, 17], "gto": [16, 17], "mole": [16, 17], "atom": [16, 17], "8": [16, 17], "sto": [16, 17], "6g": [16, 17], "hartree_fock": [16, 17], "scf": [16, 17], "rhf": [16, 17], "kernel": [16, 17], "mol_data": [16, 17], "from_hartree_fock": [16, 17], "mol_hamiltonian": [16, 17], "df_hamiltonian": 16, "converg": [16, 17], "837796382593709": [16, 17], "dataclass": [16, 17], "print": [16, 17], "some": 16, "inform": 16, "One": 16, "27478830e": 16, "01": [16, 17], "69963606e": 16, "16": 16, "27557343e": 16, "77238770e": 16, "5": [16, 17], "23173938e": 16, "85221301e": 16, "33545754e": 16, "60188973e": 16, "48240570e": 16, "63466523e": 16, "17": 16, "67297191e": 16, "18": 16, "53132024e": 16, "21318608e": 16, "00": [16, 17], "85747582e": 16, "10988315e": 16, "07792507e": 16, "14653029e": 16, "44655364e": 16, "30": 16, "11022302e": 16, "52090881e": 16, "03": 16, "00000000e": 16, "7": [16, 17], "07106781e": 16, "93775326e": 16, "15": 16, "although": 16, "alreadi": 16, "built": 16, "manual": 16, "asymmetr": 16, "basic": 16, "h_k": 16, "divid": 16, "exponenti": 16, "individu": 16, "do": 16, "approx": 16, "prod_k": 16, "higher": 16, "deriv": 16, "write": 16, "recal": 16, "addit": 16, "think": 16, "compos": 16, "quadrat": [16, 18], "def": [16, 17], "simulate_trotter_step_double_factor": 16, "one_body_energi": 16, "one_body_basis_chang": 16, "zip": 16, "finish": 16, "handl": 16, "split": 16, "multipl": 16, "wrote": 16, "step_tim": 16, "hartre": [16, 17], "fock": [16, 17], "match": 16, "when": [16, 17], "initial_st": 16, "\u03c8": [16, 17], "hf_energi": 16, "vdot": [16, 17], "f": [16, 17], "8377963825937086": 16, "now": 16, "later": 16, "compar": 16, "exact_st": 16, "expm_multipli": 16, "tracea": 16, "fidel": 16, "ab": 16, "9696296369955067": 16, "final_st": [16, 17], "9990275744083494": 16, "improv": 16, "increas": 16, "10": [16, 17], "9999906233109681": 16, "commonli": 16, "known": 16, "fourth": 16, "reproduc": 16, "9": 16, "fewer": 16, "9999999336740071": 16, "phi_0": 17, "taken": 17, "express": 17, "previou": 17, "constructor": 17, "provid": 17, "ccsd": 17, "mp2": 17, "run": 17, "cc": 17, "reference_st": 17, "ansatz_st": 17, "initiali": 17, "9707730767165441": 17, "e_corr": 17, "1329766941228354": 17, "9696246123746104": 17, "facilit": 17, "convers": 17, "precis": 17, "somewhat": 17, "complic": 17, "short": 17, "non": 17, "redund": 17, "associ": 17, "fun": 17, "x0": 17, "len": 17, "20": 17, "messag": 17, "termin": 17, "successfulli": 17, "success": 17, "statu": 17, "9707730753914435": 17, "678e": 17, "970e": 17, "nit": 17, "jac": 17, "000e": 17, "451e": 17, "941e": 17, "hess_inv": 17, "374e": 17, "036e": 17, "13": 17, "571e": 17, "nfev": 17, "63": 17, "njev": 17, "either": 17, "connect": 17, "swap": 17, "network": 17, "make": 17, "challeng": 17, "noisi": 17, "pre": 17, "fault": 17, "processor": 17, "idea": 17, "impos": 17, "sparsiti": 17, "constraint": 17, "them": 17, "depth": 17, "qubit": 17, "topologi": 17, "triangl": 17, "sinc": 17, "need": 17, "lattic": 17, "parallel": 17, "line": 17, "rung": 17, "ladder": 17, "With": 17, "setup": 17, "while": 17, "share": 17, "ldot": 17, "without": 17, "Of": 17, "cours": 17, "notic": 17, "decreas": 17, "14": 17, "simpl": 17, "abl": 17, "recov": 17, "exactli": 17, "9707730754179811": 17, "09": 17, "980e": 17, "790e": 17, "75": 17, "introduct": 18}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[1, 0, 0, "-", "contract"], [2, 0, 0, "-", "gates"], [3, 0, 0, "-", "hamiltonians"], [4, 0, 0, "-", "linalg"], [0, 0, 0, "-", "molecular_data"], [5, 0, 0, "-", "protocols"], [0, 0, 0, "-", "random"], [6, 0, 0, "-", "slow"], [0, 0, 0, "-", "states"], [0, 0, 0, "-", "testing"], [9, 0, 0, "-", "trotter"], [10, 0, 0, "-", "variational"], [0, 0, 0, "-", "wick"]], "ffsim.contract": [[1, 0, 0, "-", "diag_coulomb"], [1, 0, 0, "-", "hamiltonian"], [1, 0, 0, "-", "num_op_sum"]], "ffsim.contract.diag_coulomb": [[1, 1, 1, "", "contract_diag_coulomb"], [1, 1, 1, "", "diag_coulomb_linop"]], "ffsim.contract.hamiltonian": [[1, 1, 1, "", "hamiltonian_linop"], [1, 1, 1, "", "hamiltonian_trace"]], "ffsim.contract.num_op_sum": [[1, 1, 1, "", "contract_num_op_sum"], [1, 1, 1, "", "num_op_sum_linop"]], "ffsim.gates": [[2, 0, 0, "-", "diag_coulomb"], [2, 0, 0, "-", "gates"], [2, 0, 0, "-", "num_op_sum"], [2, 0, 0, "-", "orbital_rotation"]], "ffsim.gates.diag_coulomb": [[2, 1, 1, "", "apply_diag_coulomb_evolution"]], "ffsim.gates.gates": [[2, 1, 1, "", "apply_givens_rotation"], [2, 1, 1, "", "apply_num_interaction"], [2, 1, 1, "", "apply_num_op_prod_interaction"], [2, 1, 1, "", "apply_tunneling_interaction"]], "ffsim.gates.num_op_sum": [[2, 1, 1, "", "apply_num_op_sum_evolution"]], "ffsim.gates.orbital_rotation": [[2, 1, 1, "", "apply_orbital_rotation"], [2, 1, 1, "", "gen_orbital_rotation_index"]], "ffsim.hamiltonians": [[3, 0, 0, "-", "double_factorized_hamiltonian"], [3, 0, 0, "-", "molecular_hamiltonian"]], "ffsim.hamiltonians.double_factorized_hamiltonian": [[3, 2, 1, "", "DoubleFactorizedHamiltonian"], [3, 1, 1, "", "double_factorized_hamiltonian"]], "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian": [[3, 3, 1, "", "constant"], [3, 3, 1, "", "diag_coulomb_mats"], [3, 4, 1, "", "norb"], [3, 3, 1, "", "one_body_tensor"], [3, 3, 1, "", "orbital_rotations"], [3, 5, 1, "", "to_number_representation"], [3, 5, 1, "", "to_z_representation"], [3, 3, 1, "", "z_representation"]], "ffsim.hamiltonians.molecular_hamiltonian": [[3, 2, 1, "", "MolecularHamiltonian"]], "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian": [[3, 3, 1, "", "constant"], [3, 4, 1, "", "norb"], [3, 3, 1, "", "one_body_tensor"], [3, 3, 1, "", "two_body_tensor"]], "ffsim.linalg": [[4, 0, 0, "-", "double_factorized"], [4, 0, 0, "-", "givens"], [4, 0, 0, "-", "linalg"], [4, 0, 0, "-", "predicates"]], "ffsim.linalg.double_factorized": [[4, 1, 1, "", "double_factorized"], [4, 1, 1, "", "double_factorized_t2"], [4, 1, 1, "", "modified_cholesky"], [4, 1, 1, "", "optimal_diag_coulomb_mats"]], "ffsim.linalg.givens": [[4, 1, 1, "", "apply_matrix_to_slices"], [4, 1, 1, "", "givens_decomposition"], [4, 1, 1, "", "givens_matrix"]], "ffsim.linalg.linalg": [[4, 1, 1, "", "expm_multiply_taylor"], [4, 1, 1, "", "lup"]], "ffsim.linalg.predicates": [[4, 1, 1, "", "is_antihermitian"], [4, 1, 1, "", "is_hermitian"], [4, 1, 1, "", "is_orthogonal"], [4, 1, 1, "", "is_real_symmetric"], [4, 1, 1, "", "is_special_orthogonal"], [4, 1, 1, "", "is_unitary"]], "ffsim.molecular_data": [[0, 2, 1, "", "MolecularData"]], "ffsim.protocols": [[5, 0, 0, "-", "linear_operator"], [5, 0, 0, "-", "trace"]], "ffsim.protocols.linear_operator": [[5, 2, 1, "", "SupportsLinearOperator"], [5, 1, 1, "", "linear_operator"]], "ffsim.protocols.trace": [[5, 2, 1, "", "SupportsTrace"], [5, 1, 1, "", "trace"]], "ffsim.random": [[0, 1, 1, "", "random_antihermitian"], [0, 1, 1, "", "random_hermitian"], [0, 1, 1, "", "random_orthogonal"], [0, 1, 1, "", "random_real_symmetric_matrix"], [0, 1, 1, "", "random_special_orthogonal"], [0, 1, 1, "", "random_statevector"], [0, 1, 1, "", "random_t2_amplitudes"], [0, 1, 1, "", "random_two_body_tensor_real"], [0, 1, 1, "", "random_unitary"]], "ffsim.slow": [[7, 0, 0, "-", "contract"], [8, 0, 0, "-", "gates"]], "ffsim.slow.contract": [[7, 0, 0, "-", "diag_coulomb"], [7, 0, 0, "-", "num_op_sum"]], "ffsim.slow.gates": [[8, 0, 0, "-", "diag_coulomb"], [8, 0, 0, "-", "num_op_sum"], [8, 0, 0, "-", "orbital_rotation"]], "ffsim.slow.gates.diag_coulomb": [[8, 1, 1, "", "apply_diag_coulomb_evolution_in_place_num_rep_numpy"], [8, 1, 1, "", "apply_diag_coulomb_evolution_in_place_num_rep_slow"], [8, 1, 1, "", "apply_diag_coulomb_evolution_in_place_z_rep_slow"]], "ffsim.slow.gates.num_op_sum": [[8, 1, 1, "", "apply_num_op_sum_evolution_in_place_slow"]], "ffsim.slow.gates.orbital_rotation": [[8, 1, 1, "", "apply_givens_rotation_in_place_slow"], [8, 1, 1, "", "apply_single_column_transformation_in_place_slow"], [8, 1, 1, "", "gen_orbital_rotation_index_in_place_slow"]], "ffsim.states": [[0, 1, 1, "", "dim"], [0, 1, 1, "", "dims"], [0, 1, 1, "", "one_hot"], [0, 1, 1, "", "slater_determinant"], [0, 1, 1, "", "slater_determinant_one_rdm"]], "ffsim.testing": [[0, 1, 1, "", "random_nelec"], [0, 1, 1, "", "random_occupied_orbitals"]], "ffsim.trotter": [[9, 0, 0, "-", "qdrift"], [9, 0, 0, "-", "trotter"]], "ffsim.trotter.qdrift": [[9, 1, 1, "", "expectation_squared_diag_coulomb"], [9, 1, 1, "", "one_body_square_decomposition"], [9, 1, 1, "", "qdrift_probabilities"], [9, 1, 1, "", "simulate_qdrift_double_factorized"], [9, 1, 1, "", "spectral_norm_diag_coulomb"], [9, 1, 1, "", "spectral_norm_one_body_tensor"], [9, 1, 1, "", "variance_diag_coulomb"], [9, 1, 1, "", "variance_one_body_tensor"]], "ffsim.trotter.trotter": [[9, 1, 1, "", "simulate_trotter_double_factorized"]], "ffsim.variational": [[10, 0, 0, "-", "lucj"]], "ffsim.variational.lucj": [[10, 2, 1, "", "UCJOperator"], [10, 1, 1, "", "apply_ucj_operator"]], "ffsim.variational.lucj.UCJOperator": [[10, 3, 1, "", "diag_coulomb_mats_alpha_alpha"], [10, 3, 1, "", "diag_coulomb_mats_alpha_beta"], [10, 3, 1, "", "final_orbital_rotation"], [10, 5, 1, "", "from_parameters"], [10, 5, 1, "", "from_t_amplitudes"], [10, 4, 1, "", "n_reps"], [10, 4, 1, "", "norb"], [10, 3, 1, "", "orbital_rotations"], [10, 5, 1, "", "to_parameters"], [10, 5, 1, "", "to_t_amplitudes"]], "ffsim.wick": [[0, 1, 1, "", "expectation_power"], [0, 1, 1, "", "expectation_product"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:attribute", "4": "py:property", "5": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "attribute", "Python attribute"], "4": ["py", "property", "Python property"], "5": ["py", "method", "Python method"]}, "titleterms": {"ffsim": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 14], "packag": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "subpackag": [0, 6], "submodul": [0, 1, 2, 3, 4, 5, 7, 8, 9, 10], "molecular_data": 0, "modul": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], "random": 0, "state": 0, "test": 0, "wick": 0, "content": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 18], "contract": [1, 7], "diag_coulomb": [1, 2, 7, 8], "hamiltonian": [1, 3, 15, 16], "num_op_sum": [1, 2, 7, 8], "gate": [2, 8], "orbital_rot": [2, 8], "double_factorized_hamiltonian": 3, "molecular_hamiltonian": 3, "linalg": 4, "double_factor": 4, "given": 4, "predic": 4, "protocol": 5, "linear_oper": 5, "trace": 5, "slow": [6, 7, 8], "trotter": [9, 16], "qdrift": 9, "variat": 10, "lucj": [10, 17], "api": 12, "refer": 12, "document": 13, "indic": 13, "tabl": 13, "introduct": 14, "orbit": 15, "rotat": 15, "quadrat": 15, "time": 15, "evolut": 15, "diagon": 16, "coulomb": 16, "oper": 16, "doubl": 16, "factor": 16, "simul": 16, "represent": 16, "molecular": 16, "brief": 16, "background": 16, "suzuki": 16, "formula": 16, "implement": 16, "The": 17, "local": 17, "unitari": 17, "cluster": 17, "jastrow": 17, "ansatz": 17, "ucj": 17, "tutori": 18}, "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 package": [[0, "ffsim-package"]], "Subpackages": [[0, "subpackages"], [6, "subpackages"]], "Submodules": [[0, "submodules"], [1, "submodules"], [2, "submodules"], [3, "submodules"], [4, "submodules"], [5, "submodules"], [7, "submodules"], [8, "submodules"], [9, "submodules"], [10, "submodules"]], "ffsim.molecular_data module": [[0, "module-ffsim.molecular_data"]], "ffsim.random module": [[0, "module-ffsim.random"]], "ffsim.states module": [[0, "module-ffsim.states"]], "ffsim.testing module": [[0, "module-ffsim.testing"]], "ffsim.wick module": [[0, "module-ffsim.wick"]], "Module contents": [[0, "module-ffsim"], [1, "module-ffsim.contract"], [2, "module-ffsim.gates"], [3, "module-ffsim.hamiltonians"], [4, "module-ffsim.linalg"], [5, "module-ffsim.protocols"], [6, "module-ffsim.slow"], [7, "module-ffsim.slow.contract"], [8, "module-ffsim.slow.gates"], [9, "module-ffsim.trotter"], [10, "module-ffsim.variational"]], "ffsim.contract package": [[1, "ffsim-contract-package"]], "ffsim.contract.diag_coulomb module": [[1, "module-ffsim.contract.diag_coulomb"]], "ffsim.contract.hamiltonian module": [[1, "module-ffsim.contract.hamiltonian"]], "ffsim.contract.num_op_sum module": [[1, "module-ffsim.contract.num_op_sum"]], "ffsim.gates package": [[2, "ffsim-gates-package"]], "ffsim.gates.diag_coulomb module": [[2, "module-ffsim.gates.diag_coulomb"]], "ffsim.gates.gates module": [[2, "module-ffsim.gates.gates"]], "ffsim.gates.num_op_sum module": [[2, "module-ffsim.gates.num_op_sum"]], "ffsim.gates.orbital_rotation module": [[2, "module-ffsim.gates.orbital_rotation"]], "ffsim.hamiltonians package": [[3, "ffsim-hamiltonians-package"]], "ffsim.hamiltonians.double_factorized_hamiltonian module": [[3, "module-ffsim.hamiltonians.double_factorized_hamiltonian"]], "ffsim.hamiltonians.molecular_hamiltonian module": [[3, "module-ffsim.hamiltonians.molecular_hamiltonian"]], "ffsim.linalg package": [[4, "ffsim-linalg-package"]], "ffsim.linalg.double_factorized module": [[4, "module-ffsim.linalg.double_factorized"]], "ffsim.linalg.givens module": [[4, "module-ffsim.linalg.givens"]], "ffsim.linalg.linalg module": [[4, "module-ffsim.linalg.linalg"]], "ffsim.linalg.predicates module": [[4, "module-ffsim.linalg.predicates"]], "ffsim.protocols package": [[5, "ffsim-protocols-package"]], "ffsim.protocols.linear_operator module": [[5, "module-ffsim.protocols.linear_operator"]], "ffsim.protocols.trace module": [[5, "module-ffsim.protocols.trace"]], "ffsim.slow package": [[6, "ffsim-slow-package"]], "ffsim.slow.contract package": [[7, "ffsim-slow-contract-package"]], "ffsim.slow.contract.diag_coulomb module": [[7, "module-ffsim.slow.contract.diag_coulomb"]], "ffsim.slow.contract.num_op_sum module": [[7, "module-ffsim.slow.contract.num_op_sum"]], "ffsim.slow.gates package": [[8, "ffsim-slow-gates-package"]], "ffsim.slow.gates.diag_coulomb module": [[8, "module-ffsim.slow.gates.diag_coulomb"]], "ffsim.slow.gates.num_op_sum module": [[8, "module-ffsim.slow.gates.num_op_sum"]], "ffsim.slow.gates.orbital_rotation module": [[8, "module-ffsim.slow.gates.orbital_rotation"]], "ffsim.trotter package": [[9, "ffsim-trotter-package"]], "ffsim.trotter.qdrift module": [[9, "module-ffsim.trotter.qdrift"]], "ffsim.trotter.trotter module": [[9, "module-ffsim.trotter.trotter"]], "ffsim.variational package": [[10, "ffsim-variational-package"]], "ffsim.variational.lucj module": [[10, "module-ffsim.variational.lucj"]], "ffsim": [[11, "ffsim"]], "API reference": [[12, "api-reference"]], "ffsim documentation": [[13, "ffsim-documentation"]], "Contents:": [[13, null], [18, null]], "Indices and tables": [[13, "indices-and-tables"]], "Introduction to ffsim": [[14, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[15, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[15, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[15, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[16, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[16, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[16, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[16, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[16, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[17, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [17, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[17, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Tutorials": [[18, "tutorials"]]}, "indexentries": {"moleculardata (class in ffsim.molecular_data)": [[0, "ffsim.molecular_data.MolecularData"]], "dim() (in module ffsim.states)": [[0, "ffsim.states.dim"]], "dims() (in module ffsim.states)": [[0, "ffsim.states.dims"]], "expectation_power() (in module ffsim.wick)": [[0, "ffsim.wick.expectation_power"]], "expectation_product() (in module ffsim.wick)": [[0, "ffsim.wick.expectation_product"]], "ffsim": [[0, "module-ffsim"]], "ffsim.molecular_data": [[0, "module-ffsim.molecular_data"]], "ffsim.random": [[0, "module-ffsim.random"]], "ffsim.states": [[0, "module-ffsim.states"]], "ffsim.testing": [[0, "module-ffsim.testing"]], "ffsim.wick": [[0, "module-ffsim.wick"]], "module": [[0, "module-ffsim"], [0, "module-ffsim.molecular_data"], [0, "module-ffsim.random"], [0, "module-ffsim.states"], [0, "module-ffsim.testing"], [0, "module-ffsim.wick"], [1, "module-ffsim.contract"], [1, "module-ffsim.contract.diag_coulomb"], [1, "module-ffsim.contract.hamiltonian"], [1, "module-ffsim.contract.num_op_sum"], [2, "module-ffsim.gates"], [2, "module-ffsim.gates.diag_coulomb"], [2, "module-ffsim.gates.gates"], [2, "module-ffsim.gates.num_op_sum"], [2, "module-ffsim.gates.orbital_rotation"], [3, "module-ffsim.hamiltonians"], [3, "module-ffsim.hamiltonians.double_factorized_hamiltonian"], [3, "module-ffsim.hamiltonians.molecular_hamiltonian"], [4, "module-ffsim.linalg"], [4, "module-ffsim.linalg.double_factorized"], [4, "module-ffsim.linalg.givens"], [4, "module-ffsim.linalg.linalg"], [4, "module-ffsim.linalg.predicates"], [5, "module-ffsim.protocols"], [5, "module-ffsim.protocols.linear_operator"], [5, "module-ffsim.protocols.trace"], [6, "module-ffsim.slow"], [7, "module-ffsim.slow.contract"], [7, "module-ffsim.slow.contract.diag_coulomb"], [7, "module-ffsim.slow.contract.num_op_sum"], [8, "module-ffsim.slow.gates"], [8, "module-ffsim.slow.gates.diag_coulomb"], [8, "module-ffsim.slow.gates.num_op_sum"], [8, "module-ffsim.slow.gates.orbital_rotation"], [9, "module-ffsim.trotter"], [9, "module-ffsim.trotter.qdrift"], [9, "module-ffsim.trotter.trotter"], [10, "module-ffsim.variational"], [10, "module-ffsim.variational.lucj"]], "one_hot() (in module ffsim.states)": [[0, "ffsim.states.one_hot"]], "random_antihermitian() (in module ffsim.random)": [[0, "ffsim.random.random_antihermitian"]], "random_hermitian() (in module ffsim.random)": [[0, "ffsim.random.random_hermitian"]], "random_nelec() (in module ffsim.testing)": [[0, "ffsim.testing.random_nelec"]], "random_occupied_orbitals() (in module ffsim.testing)": [[0, "ffsim.testing.random_occupied_orbitals"]], "random_orthogonal() (in module ffsim.random)": [[0, "ffsim.random.random_orthogonal"]], "random_real_symmetric_matrix() (in module ffsim.random)": [[0, "ffsim.random.random_real_symmetric_matrix"]], "random_special_orthogonal() (in module ffsim.random)": [[0, "ffsim.random.random_special_orthogonal"]], "random_statevector() (in module ffsim.random)": [[0, "ffsim.random.random_statevector"]], "random_t2_amplitudes() (in module ffsim.random)": [[0, "ffsim.random.random_t2_amplitudes"]], "random_two_body_tensor_real() (in module ffsim.random)": [[0, "ffsim.random.random_two_body_tensor_real"]], "random_unitary() (in module ffsim.random)": [[0, "ffsim.random.random_unitary"]], "slater_determinant() (in module ffsim.states)": [[0, "ffsim.states.slater_determinant"]], "slater_determinant_one_rdm() (in module ffsim.states)": [[0, "ffsim.states.slater_determinant_one_rdm"]], "contract_diag_coulomb() (in module ffsim.contract.diag_coulomb)": [[1, "ffsim.contract.diag_coulomb.contract_diag_coulomb"]], "contract_num_op_sum() (in module ffsim.contract.num_op_sum)": [[1, "ffsim.contract.num_op_sum.contract_num_op_sum"]], "diag_coulomb_linop() (in module ffsim.contract.diag_coulomb)": [[1, "ffsim.contract.diag_coulomb.diag_coulomb_linop"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.contract.diag_coulomb": [[1, "module-ffsim.contract.diag_coulomb"]], "ffsim.contract.hamiltonian": [[1, "module-ffsim.contract.hamiltonian"]], "ffsim.contract.num_op_sum": [[1, "module-ffsim.contract.num_op_sum"]], "hamiltonian_linop() (in module ffsim.contract.hamiltonian)": [[1, "ffsim.contract.hamiltonian.hamiltonian_linop"]], "hamiltonian_trace() (in module ffsim.contract.hamiltonian)": [[1, "ffsim.contract.hamiltonian.hamiltonian_trace"]], "num_op_sum_linop() (in module ffsim.contract.num_op_sum)": [[1, "ffsim.contract.num_op_sum.num_op_sum_linop"]], "apply_diag_coulomb_evolution() (in module ffsim.gates.diag_coulomb)": [[2, "ffsim.gates.diag_coulomb.apply_diag_coulomb_evolution"]], "apply_givens_rotation() (in module ffsim.gates.gates)": [[2, "ffsim.gates.gates.apply_givens_rotation"]], "apply_num_interaction() (in module ffsim.gates.gates)": [[2, "ffsim.gates.gates.apply_num_interaction"]], "apply_num_op_prod_interaction() (in module ffsim.gates.gates)": [[2, "ffsim.gates.gates.apply_num_op_prod_interaction"]], "apply_num_op_sum_evolution() (in module ffsim.gates.num_op_sum)": [[2, "ffsim.gates.num_op_sum.apply_num_op_sum_evolution"]], "apply_orbital_rotation() (in module ffsim.gates.orbital_rotation)": [[2, "ffsim.gates.orbital_rotation.apply_orbital_rotation"]], "apply_tunneling_interaction() (in module ffsim.gates.gates)": [[2, "ffsim.gates.gates.apply_tunneling_interaction"]], "ffsim.gates": [[2, "module-ffsim.gates"]], "ffsim.gates.diag_coulomb": [[2, "module-ffsim.gates.diag_coulomb"]], "ffsim.gates.gates": [[2, "module-ffsim.gates.gates"]], "ffsim.gates.num_op_sum": [[2, "module-ffsim.gates.num_op_sum"]], "ffsim.gates.orbital_rotation": [[2, "module-ffsim.gates.orbital_rotation"]], "gen_orbital_rotation_index() (in module ffsim.gates.orbital_rotation)": [[2, "ffsim.gates.orbital_rotation.gen_orbital_rotation_index"]], "doublefactorizedhamiltonian (class in ffsim.hamiltonians.double_factorized_hamiltonian)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian"]], "molecularhamiltonian (class in ffsim.hamiltonians.molecular_hamiltonian)": [[3, "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian"]], "constant (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian attribute)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.constant"]], "constant (ffsim.hamiltonians.molecular_hamiltonian.molecularhamiltonian attribute)": [[3, "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian.constant"]], "diag_coulomb_mats (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian attribute)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.diag_coulomb_mats"]], "double_factorized_hamiltonian() (in module ffsim.hamiltonians.double_factorized_hamiltonian)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.double_factorized_hamiltonian"]], "ffsim.hamiltonians": [[3, "module-ffsim.hamiltonians"]], "ffsim.hamiltonians.double_factorized_hamiltonian": [[3, "module-ffsim.hamiltonians.double_factorized_hamiltonian"]], "ffsim.hamiltonians.molecular_hamiltonian": [[3, "module-ffsim.hamiltonians.molecular_hamiltonian"]], "norb (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian property)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.norb"]], "norb (ffsim.hamiltonians.molecular_hamiltonian.molecularhamiltonian property)": [[3, "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian.norb"]], "one_body_tensor (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian attribute)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.hamiltonians.molecular_hamiltonian.molecularhamiltonian attribute)": [[3, "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian.one_body_tensor"]], "orbital_rotations (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian attribute)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.orbital_rotations"]], "to_number_representation() (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian method)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.to_number_representation"]], "to_z_representation() (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian method)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.to_z_representation"]], "two_body_tensor (ffsim.hamiltonians.molecular_hamiltonian.molecularhamiltonian attribute)": [[3, "ffsim.hamiltonians.molecular_hamiltonian.MolecularHamiltonian.two_body_tensor"]], "z_representation (ffsim.hamiltonians.double_factorized_hamiltonian.doublefactorizedhamiltonian attribute)": [[3, "ffsim.hamiltonians.double_factorized_hamiltonian.DoubleFactorizedHamiltonian.z_representation"]], "apply_matrix_to_slices() (in module ffsim.linalg.givens)": [[4, "ffsim.linalg.givens.apply_matrix_to_slices"]], "double_factorized() (in module ffsim.linalg.double_factorized)": [[4, "ffsim.linalg.double_factorized.double_factorized"]], "double_factorized_t2() (in module ffsim.linalg.double_factorized)": [[4, "ffsim.linalg.double_factorized.double_factorized_t2"]], "expm_multiply_taylor() (in module ffsim.linalg.linalg)": [[4, "ffsim.linalg.linalg.expm_multiply_taylor"]], "ffsim.linalg": [[4, "module-ffsim.linalg"]], "ffsim.linalg.double_factorized": [[4, "module-ffsim.linalg.double_factorized"]], "ffsim.linalg.givens": [[4, "module-ffsim.linalg.givens"]], "ffsim.linalg.linalg": [[4, "module-ffsim.linalg.linalg"]], "ffsim.linalg.predicates": [[4, "module-ffsim.linalg.predicates"]], "givens_decomposition() (in module ffsim.linalg.givens)": [[4, "ffsim.linalg.givens.givens_decomposition"]], "givens_matrix() (in module ffsim.linalg.givens)": [[4, "ffsim.linalg.givens.givens_matrix"]], "is_antihermitian() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_antihermitian"]], "is_hermitian() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_hermitian"]], "is_orthogonal() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_orthogonal"]], "is_real_symmetric() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_real_symmetric"]], "is_special_orthogonal() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_special_orthogonal"]], "is_unitary() (in module ffsim.linalg.predicates)": [[4, "ffsim.linalg.predicates.is_unitary"]], "lup() (in module ffsim.linalg.linalg)": [[4, "ffsim.linalg.linalg.lup"]], "modified_cholesky() (in module ffsim.linalg.double_factorized)": [[4, "ffsim.linalg.double_factorized.modified_cholesky"]], "optimal_diag_coulomb_mats() (in module ffsim.linalg.double_factorized)": [[4, "ffsim.linalg.double_factorized.optimal_diag_coulomb_mats"]], "supportslinearoperator (class in ffsim.protocols.linear_operator)": [[5, "ffsim.protocols.linear_operator.SupportsLinearOperator"]], "supportstrace (class in ffsim.protocols.trace)": [[5, "ffsim.protocols.trace.SupportsTrace"]], "ffsim.protocols": [[5, "module-ffsim.protocols"]], "ffsim.protocols.linear_operator": [[5, "module-ffsim.protocols.linear_operator"]], "ffsim.protocols.trace": [[5, "module-ffsim.protocols.trace"]], "linear_operator() (in module ffsim.protocols.linear_operator)": [[5, "ffsim.protocols.linear_operator.linear_operator"]], "trace() (in module ffsim.protocols.trace)": [[5, "ffsim.protocols.trace.trace"]], "ffsim.slow": [[6, "module-ffsim.slow"]], "ffsim.slow.contract": [[7, "module-ffsim.slow.contract"]], "ffsim.slow.contract.diag_coulomb": [[7, "module-ffsim.slow.contract.diag_coulomb"]], "ffsim.slow.contract.num_op_sum": [[7, "module-ffsim.slow.contract.num_op_sum"]], "apply_diag_coulomb_evolution_in_place_num_rep_numpy() (in module ffsim.slow.gates.diag_coulomb)": [[8, "ffsim.slow.gates.diag_coulomb.apply_diag_coulomb_evolution_in_place_num_rep_numpy"]], "apply_diag_coulomb_evolution_in_place_num_rep_slow() (in module ffsim.slow.gates.diag_coulomb)": [[8, "ffsim.slow.gates.diag_coulomb.apply_diag_coulomb_evolution_in_place_num_rep_slow"]], "apply_diag_coulomb_evolution_in_place_z_rep_slow() (in module ffsim.slow.gates.diag_coulomb)": [[8, "ffsim.slow.gates.diag_coulomb.apply_diag_coulomb_evolution_in_place_z_rep_slow"]], "apply_givens_rotation_in_place_slow() (in module ffsim.slow.gates.orbital_rotation)": [[8, "ffsim.slow.gates.orbital_rotation.apply_givens_rotation_in_place_slow"]], "apply_num_op_sum_evolution_in_place_slow() (in module ffsim.slow.gates.num_op_sum)": [[8, "ffsim.slow.gates.num_op_sum.apply_num_op_sum_evolution_in_place_slow"]], "apply_single_column_transformation_in_place_slow() (in module ffsim.slow.gates.orbital_rotation)": [[8, "ffsim.slow.gates.orbital_rotation.apply_single_column_transformation_in_place_slow"]], "ffsim.slow.gates": [[8, "module-ffsim.slow.gates"]], "ffsim.slow.gates.diag_coulomb": [[8, "module-ffsim.slow.gates.diag_coulomb"]], "ffsim.slow.gates.num_op_sum": [[8, "module-ffsim.slow.gates.num_op_sum"]], "ffsim.slow.gates.orbital_rotation": [[8, "module-ffsim.slow.gates.orbital_rotation"]], "gen_orbital_rotation_index_in_place_slow() (in module ffsim.slow.gates.orbital_rotation)": [[8, "ffsim.slow.gates.orbital_rotation.gen_orbital_rotation_index_in_place_slow"]], "expectation_squared_diag_coulomb() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.expectation_squared_diag_coulomb"]], "ffsim.trotter": [[9, "module-ffsim.trotter"]], "ffsim.trotter.qdrift": [[9, "module-ffsim.trotter.qdrift"]], "ffsim.trotter.trotter": [[9, "module-ffsim.trotter.trotter"]], "one_body_square_decomposition() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.one_body_square_decomposition"]], "qdrift_probabilities() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.qdrift_probabilities"]], "simulate_qdrift_double_factorized() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.simulate_qdrift_double_factorized"]], "simulate_trotter_double_factorized() (in module ffsim.trotter.trotter)": [[9, "ffsim.trotter.trotter.simulate_trotter_double_factorized"]], "spectral_norm_diag_coulomb() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.spectral_norm_diag_coulomb"]], "spectral_norm_one_body_tensor() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.spectral_norm_one_body_tensor"]], "variance_diag_coulomb() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.variance_diag_coulomb"]], "variance_one_body_tensor() (in module ffsim.trotter.qdrift)": [[9, "ffsim.trotter.qdrift.variance_one_body_tensor"]], "ucjoperator (class in ffsim.variational.lucj)": [[10, "ffsim.variational.lucj.UCJOperator"]], "apply_ucj_operator() (in module ffsim.variational.lucj)": [[10, "ffsim.variational.lucj.apply_ucj_operator"]], "diag_coulomb_mats_alpha_alpha (ffsim.variational.lucj.ucjoperator attribute)": [[10, "ffsim.variational.lucj.UCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_beta (ffsim.variational.lucj.ucjoperator attribute)": [[10, "ffsim.variational.lucj.UCJOperator.diag_coulomb_mats_alpha_beta"]], "ffsim.variational": [[10, "module-ffsim.variational"]], "ffsim.variational.lucj": [[10, "module-ffsim.variational.lucj"]], "final_orbital_rotation (ffsim.variational.lucj.ucjoperator attribute)": [[10, "ffsim.variational.lucj.UCJOperator.final_orbital_rotation"]], "from_parameters() (ffsim.variational.lucj.ucjoperator static method)": [[10, "ffsim.variational.lucj.UCJOperator.from_parameters"]], "from_t_amplitudes() (ffsim.variational.lucj.ucjoperator static method)": [[10, "ffsim.variational.lucj.UCJOperator.from_t_amplitudes"]], "n_reps (ffsim.variational.lucj.ucjoperator property)": [[10, "ffsim.variational.lucj.UCJOperator.n_reps"]], "norb (ffsim.variational.lucj.ucjoperator property)": [[10, "ffsim.variational.lucj.UCJOperator.norb"]], "orbital_rotations (ffsim.variational.lucj.ucjoperator attribute)": [[10, "ffsim.variational.lucj.UCJOperator.orbital_rotations"]], "to_parameters() (ffsim.variational.lucj.ucjoperator method)": [[10, "ffsim.variational.lucj.UCJOperator.to_parameters"]], "to_t_amplitudes() (ffsim.variational.lucj.ucjoperator method)": [[10, "ffsim.variational.lucj.UCJOperator.to_t_amplitudes"]]}}) \ No newline at end of file diff --git a/tutorials/01-introduction.ipynb b/tutorials/01-introduction.ipynb index f56d30e9c..b793f492f 100644 --- a/tutorials/01-introduction.ipynb +++ b/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:17.922295Z", - "iopub.status.busy": "2023-09-19T23:56:17.921869Z", - "iopub.status.idle": "2023-09-19T23:56:18.308118Z", - "shell.execute_reply": "2023-09-19T23:56:18.307436Z" + "iopub.execute_input": "2023-09-20T00:05:00.720118Z", + "iopub.status.busy": "2023-09-20T00:05:00.719692Z", + "iopub.status.idle": "2023-09-20T00:05:01.106493Z", + "shell.execute_reply": "2023-09-20T00:05:01.105581Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:18.313652Z", - "iopub.status.busy": "2023-09-19T23:56:18.312328Z", - "iopub.status.idle": "2023-09-19T23:56:18.318345Z", - "shell.execute_reply": "2023-09-19T23:56:18.317796Z" + "iopub.execute_input": "2023-09-20T00:05:01.111714Z", + "iopub.status.busy": "2023-09-20T00:05:01.110229Z", + "iopub.status.idle": "2023-09-20T00:05:01.116809Z", + "shell.execute_reply": "2023-09-20T00:05:01.116084Z" } }, "outputs": [], @@ -92,10 +92,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:18.323021Z", - "iopub.status.busy": "2023-09-19T23:56:18.321940Z", - "iopub.status.idle": "2023-09-19T23:56:18.326450Z", - "shell.execute_reply": "2023-09-19T23:56:18.325912Z" + "iopub.execute_input": "2023-09-20T00:05:01.121897Z", + "iopub.status.busy": "2023-09-20T00:05:01.120737Z", + "iopub.status.idle": "2023-09-20T00:05:01.125776Z", + "shell.execute_reply": "2023-09-20T00:05:01.125120Z" } }, "outputs": [], diff --git a/tutorials/02-orbital-rotation.ipynb b/tutorials/02-orbital-rotation.ipynb index e5baa843f..5c842a451 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-09-19T23:56:20.206287Z", - "iopub.status.busy": "2023-09-19T23:56:20.206027Z", - "iopub.status.idle": "2023-09-19T23:56:20.581716Z", - "shell.execute_reply": "2023-09-19T23:56:20.581023Z" + "iopub.execute_input": "2023-09-20T00:05:03.069372Z", + "iopub.status.busy": "2023-09-20T00:05:03.069107Z", + "iopub.status.idle": "2023-09-20T00:05:03.452353Z", + "shell.execute_reply": "2023-09-20T00:05:03.451534Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:20.586859Z", - "iopub.status.busy": "2023-09-19T23:56:20.585517Z", - "iopub.status.idle": "2023-09-19T23:56:20.644042Z", - "shell.execute_reply": "2023-09-19T23:56:20.643408Z" + "iopub.execute_input": "2023-09-20T00:05:03.457501Z", + "iopub.status.busy": "2023-09-20T00:05:03.456811Z", + "iopub.status.idle": "2023-09-20T00:05:03.494792Z", + "shell.execute_reply": "2023-09-20T00:05:03.493843Z" } }, "outputs": [], @@ -160,10 +160,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:20.650601Z", - "iopub.status.busy": "2023-09-19T23:56:20.648651Z", - "iopub.status.idle": "2023-09-19T23:56:20.672959Z", - "shell.execute_reply": "2023-09-19T23:56:20.672309Z" + "iopub.execute_input": "2023-09-20T00:05:03.500071Z", + "iopub.status.busy": "2023-09-20T00:05:03.499506Z", + "iopub.status.idle": "2023-09-20T00:05:03.516057Z", + "shell.execute_reply": "2023-09-20T00:05:03.515261Z" } }, "outputs": [], @@ -203,10 +203,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:20.679100Z", - "iopub.status.busy": "2023-09-19T23:56:20.677353Z", - "iopub.status.idle": "2023-09-19T23:56:20.684893Z", - "shell.execute_reply": "2023-09-19T23:56:20.684328Z" + "iopub.execute_input": "2023-09-20T00:05:03.522207Z", + "iopub.status.busy": "2023-09-20T00:05:03.520026Z", + "iopub.status.idle": "2023-09-20T00:05:03.529057Z", + "shell.execute_reply": "2023-09-20T00:05:03.528223Z" } }, "outputs": [], diff --git a/tutorials/03-double-factorized.html b/tutorials/03-double-factorized.html index 8b6da9752..f4dd9cae4 100644 --- a/tutorials/03-double-factorized.html +++ b/tutorials/03-double-factorized.html @@ -132,28 +132,28 @@

Double-factorized representation of the molecular Hamiltonian

@@ -297,7 +297,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Hartree Fock energy: -0.8377963825937088
+Hartree Fock energy: -0.8377963825937086
 

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.

@@ -325,7 +325,7 @@

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

Now, let’s test our implementation.

@@ -352,7 +352,7 @@

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

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

@@ -379,7 +379,7 @@

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

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.

@@ -408,7 +408,7 @@

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

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

@@ -436,7 +436,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999999336740057
+Fidelity of Trotter-evolved state with exact state: 0.9999999336740071
 
diff --git a/tutorials/03-double-factorized.ipynb b/tutorials/03-double-factorized.ipynb index 9d62ac8aa..0fc621fd0 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-09-19T23:56:22.779232Z", - "iopub.status.busy": "2023-09-19T23:56:22.778748Z", - "iopub.status.idle": "2023-09-19T23:56:23.286536Z", - "shell.execute_reply": "2023-09-19T23:56:23.285853Z" + "iopub.execute_input": "2023-09-20T00:05:05.425574Z", + "iopub.status.busy": "2023-09-20T00:05:05.425235Z", + "iopub.status.idle": "2023-09-20T00:05:05.925194Z", + "shell.execute_reply": "2023-09-20T00:05:05.924352Z" } }, "outputs": [ @@ -93,10 +93,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.298021Z", - "iopub.status.busy": "2023-09-19T23:56:23.297170Z", - "iopub.status.idle": "2023-09-19T23:56:23.304731Z", - "shell.execute_reply": "2023-09-19T23:56:23.304148Z" + "iopub.execute_input": "2023-09-20T00:05:05.944318Z", + "iopub.status.busy": "2023-09-20T00:05:05.943614Z", + "iopub.status.idle": "2023-09-20T00:05:05.951906Z", + "shell.execute_reply": "2023-09-20T00:05:05.951232Z" } }, "outputs": [ @@ -107,28 +107,28 @@ "Original representation\n", "-----------------------\n", "One-body tensor:\n", - "[[-8.27478830e-01 -2.66405155e-16]\n", - " [-3.07220771e-16 -6.77238770e-01]]\n", + "[[-8.27478830e-01 1.69963606e-16]\n", + " [ 2.27557343e-16 -6.77238770e-01]]\n", "\n", "Two-body tensor:\n", - "[[[[5.23173938e-01 1.57437591e-16]\n", - " [1.57437591e-16 5.33545754e-01]]\n", + "[[[[ 5.23173938e-01 -1.85221301e-16]\n", + " [-1.85221301e-16 5.33545754e-01]]\n", "\n", - " [[2.12704463e-16 2.48240570e-01]\n", - " [2.48240570e-01 1.61492903e-16]]]\n", + " [[-1.60188973e-16 2.48240570e-01]\n", + " [ 2.48240570e-01 -4.63466523e-17]]]\n", "\n", "\n", - " [[[2.12704463e-16 2.48240570e-01]\n", - " [2.48240570e-01 1.61492903e-16]]\n", + " [[[-1.60188973e-16 2.48240570e-01]\n", + " [ 2.48240570e-01 -4.63466523e-17]]\n", "\n", - " [[5.33545754e-01 1.24884750e-16]\n", - " [1.24884750e-16 5.53132024e-01]]]]\n", + " [[ 5.33545754e-01 -6.67297191e-18]\n", + " [-6.67297191e-18 5.53132024e-01]]]]\n", "\n", "Double-factorized representation\n", "--------------------------------\n", "One-body tensor:\n", - "[[-1.21318608e+00 -4.25870402e-16]\n", - " [-4.76015378e-16 -1.07792507e+00]]\n", + "[[-1.21318608e+00 2.85747582e-16]\n", + " [ 3.10988315e-16 -1.07792507e+00]]\n", "\n", "Diagonal Coulomb matrices:\n", "[[[ 5.14653029e-01 5.33545754e-01]\n", @@ -137,18 +137,18 @@ " [[ 2.48240570e-01 -2.48240570e-01]\n", " [-2.48240570e-01 2.48240570e-01]]\n", "\n", - " [[ 1.50800163e-59 -3.58462611e-31]\n", - " [-3.58462611e-31 8.52090881e-03]]]\n", + " [[ 1.44655364e-30 -1.11022302e-16]\n", + " [-1.11022302e-16 8.52090881e-03]]]\n", "\n", "Orbital rotations:\n", - "[[[-1.00000000e+00 8.24520980e-15]\n", - " [ 8.24520980e-15 1.00000000e+00]]\n", + "[[[ 1.00000000e+00 0.00000000e+00]\n", + " [ 0.00000000e+00 1.00000000e+00]]\n", "\n", " [[-7.07106781e-01 -7.07106781e-01]\n", " [ 7.07106781e-01 -7.07106781e-01]]\n", "\n", - " [[ 6.48603030e-15 -1.00000000e+00]\n", - " [-1.00000000e+00 -6.48603030e-15]]]\n" + " [[ 2.93775326e-15 -1.00000000e+00]\n", + " [-1.00000000e+00 -2.93775326e-15]]]\n" ] } ], @@ -227,10 +227,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.308253Z", - "iopub.status.busy": "2023-09-19T23:56:23.307857Z", - "iopub.status.idle": "2023-09-19T23:56:23.313471Z", - "shell.execute_reply": "2023-09-19T23:56:23.312914Z" + "iopub.execute_input": "2023-09-20T00:05:05.955072Z", + "iopub.status.busy": "2023-09-20T00:05:05.954538Z", + "iopub.status.idle": "2023-09-20T00:05:05.960683Z", + "shell.execute_reply": "2023-09-20T00:05:05.960023Z" } }, "outputs": [], @@ -285,10 +285,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.319022Z", - "iopub.status.busy": "2023-09-19T23:56:23.318362Z", - "iopub.status.idle": "2023-09-19T23:56:23.323079Z", - "shell.execute_reply": "2023-09-19T23:56:23.322524Z" + "iopub.execute_input": "2023-09-20T00:05:05.964040Z", + "iopub.status.busy": "2023-09-20T00:05:05.963597Z", + "iopub.status.idle": "2023-09-20T00:05:05.968188Z", + "shell.execute_reply": "2023-09-20T00:05:05.967549Z" } }, "outputs": [], @@ -325,10 +325,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.326628Z", - "iopub.status.busy": "2023-09-19T23:56:23.325955Z", - "iopub.status.idle": "2023-09-19T23:56:23.332135Z", - "shell.execute_reply": "2023-09-19T23:56:23.331556Z" + "iopub.execute_input": "2023-09-20T00:05:05.971193Z", + "iopub.status.busy": "2023-09-20T00:05:05.970801Z", + "iopub.status.idle": "2023-09-20T00:05:05.976950Z", + "shell.execute_reply": "2023-09-20T00:05:05.976125Z" } }, "outputs": [ @@ -336,7 +336,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Hartree Fock energy: -0.8377963825937088\n" + "Hartree Fock energy: -0.8377963825937086\n" ] } ], @@ -367,10 +367,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.335472Z", - "iopub.status.busy": "2023-09-19T23:56:23.334855Z", - "iopub.status.idle": "2023-09-19T23:56:23.349419Z", - "shell.execute_reply": "2023-09-19T23:56:23.348575Z" + "iopub.execute_input": "2023-09-20T00:05:05.981755Z", + "iopub.status.busy": "2023-09-20T00:05:05.981045Z", + "iopub.status.idle": "2023-09-20T00:05:05.995444Z", + "shell.execute_reply": "2023-09-20T00:05:05.994599Z" } }, "outputs": [ @@ -378,7 +378,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.9696296369955066\n" + "Fidelity of evolved state w.r.t. initial state: 0.9696296369955067\n" ] } ], @@ -409,10 +409,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.353728Z", - "iopub.status.busy": "2023-09-19T23:56:23.352931Z", - "iopub.status.idle": "2023-09-19T23:56:23.366920Z", - "shell.execute_reply": "2023-09-19T23:56:23.366250Z" + "iopub.execute_input": "2023-09-20T00:05:05.998882Z", + "iopub.status.busy": "2023-09-20T00:05:05.998635Z", + "iopub.status.idle": "2023-09-20T00:05:06.010620Z", + "shell.execute_reply": "2023-09-20T00:05:06.009917Z" } }, "outputs": [ @@ -420,7 +420,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.999027574408349\n" + "Fidelity of Trotter-evolved state with exact state: 0.9990275744083494\n" ] } ], @@ -450,10 +450,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.370425Z", - "iopub.status.busy": "2023-09-19T23:56:23.370162Z", - "iopub.status.idle": "2023-09-19T23:56:23.423109Z", - "shell.execute_reply": "2023-09-19T23:56:23.421949Z" + "iopub.execute_input": "2023-09-20T00:05:06.013958Z", + "iopub.status.busy": "2023-09-20T00:05:06.013670Z", + "iopub.status.idle": "2023-09-20T00:05:06.075118Z", + "shell.execute_reply": "2023-09-20T00:05:06.073850Z" } }, "outputs": [ @@ -461,7 +461,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109657\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999906233109681\n" ] } ], @@ -493,10 +493,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.426865Z", - "iopub.status.busy": "2023-09-19T23:56:23.426540Z", - "iopub.status.idle": "2023-09-19T23:56:23.468797Z", - "shell.execute_reply": "2023-09-19T23:56:23.467621Z" + "iopub.execute_input": "2023-09-20T00:05:06.078459Z", + "iopub.status.busy": "2023-09-20T00:05:06.078233Z", + "iopub.status.idle": "2023-09-20T00:05:06.124318Z", + "shell.execute_reply": "2023-09-20T00:05:06.123220Z" } }, "outputs": [ @@ -504,7 +504,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109657\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999906233109681\n" ] } ], @@ -535,10 +535,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-09-19T23:56:23.472047Z", - "iopub.status.busy": "2023-09-19T23:56:23.471784Z", - "iopub.status.idle": "2023-09-19T23:56:23.491543Z", - "shell.execute_reply": "2023-09-19T23:56:23.490523Z" + "iopub.execute_input": "2023-09-20T00:05:06.127511Z", + "iopub.status.busy": "2023-09-20T00:05:06.127288Z", + "iopub.status.idle": "2023-09-20T00:05:06.148661Z", + "shell.execute_reply": "2023-09-20T00:05:06.147469Z" } }, "outputs": [ @@ -546,7 +546,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999999336740057\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999999336740071\n" ] } ], diff --git a/tutorials/04-lucj.html b/tutorials/04-lucj.html index 8931af849..97e5c39de 100644 --- a/tutorials/04-lucj.html +++ b/tutorials/04-lucj.html @@ -125,8 +125,8 @@

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -0.9707730767164341  E_corr = -0.1329766941227253
-Energy at initialialization: -0.9696246123746332
+E(CCSD) = -0.9707730767165441  E_corr = -0.1329766941228354
+Energy at initialialization: -0.9696246123746104
 

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.)

@@ -165,15 +165,15 @@

The unitary cluster Jastrow (UCJ) ansatz