diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index a4be1ada6..b2ddaa4ed 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb index 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 09a268958..a931e388b 100644 Binary files a/.doctrees/tutorials/03-double-factorized.doctree and b/.doctrees/tutorials/03-double-factorized.doctree differ diff --git a/.doctrees/tutorials/04-lucj.doctree b/.doctrees/tutorials/04-lucj.doctree index 34d6b2460..7e4655065 100644 Binary files a/.doctrees/tutorials/04-lucj.doctree and b/.doctrees/tutorials/04-lucj.doctree differ 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