diff --git a/.doctrees/api/ffsim.doctree b/.doctrees/api/ffsim.doctree index d991f0070..2250c5b71 100644 Binary files a/.doctrees/api/ffsim.doctree and b/.doctrees/api/ffsim.doctree differ diff --git a/.doctrees/api/ffsim.hamiltonians.doctree b/.doctrees/api/ffsim.hamiltonians.doctree index 559ef2d3b..7ddcfc8dd 100644 Binary files a/.doctrees/api/ffsim.hamiltonians.doctree and b/.doctrees/api/ffsim.hamiltonians.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index d78245c7e..1073e3391 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 7c97f92d2..eb6296423 100644 --- a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb +++ b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:54.675927Z", - "iopub.status.busy": "2023-10-25T20:21:54.675704Z", - "iopub.status.idle": "2023-10-25T20:21:54.970497Z", - "shell.execute_reply": "2023-10-25T20:21:54.969938Z" + "iopub.execute_input": "2023-10-25T20:35:03.177848Z", + "iopub.status.busy": "2023-10-25T20:35:03.177651Z", + "iopub.status.idle": "2023-10-25T20:35:03.459674Z", + "shell.execute_reply": "2023-10-25T20:35:03.459100Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:54.973864Z", - "iopub.status.busy": "2023-10-25T20:21:54.973471Z", - "iopub.status.idle": "2023-10-25T20:21:54.978330Z", - "shell.execute_reply": "2023-10-25T20:21:54.977824Z" + "iopub.execute_input": "2023-10-25T20:35:03.463614Z", + "iopub.status.busy": "2023-10-25T20:35:03.462457Z", + "iopub.status.idle": "2023-10-25T20:35:03.467607Z", + "shell.execute_reply": "2023-10-25T20:35:03.467142Z" } }, "outputs": [], @@ -93,10 +93,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:54.980716Z", - "iopub.status.busy": "2023-10-25T20:21:54.980477Z", - "iopub.status.idle": "2023-10-25T20:21:54.984122Z", - "shell.execute_reply": "2023-10-25T20:21:54.983581Z" + "iopub.execute_input": "2023-10-25T20:35:03.471408Z", + "iopub.status.busy": "2023-10-25T20:35:03.470463Z", + "iopub.status.idle": "2023-10-25T20:35:03.474338Z", + "shell.execute_reply": "2023-10-25T20:35:03.473884Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb index 6473e7148..fa69ae294 100644 --- a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb +++ b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:56.483934Z", - "iopub.status.busy": "2023-10-25T20:21:56.483369Z", - "iopub.status.idle": "2023-10-25T20:21:56.779886Z", - "shell.execute_reply": "2023-10-25T20:21:56.779271Z" + "iopub.execute_input": "2023-10-25T20:35:04.971468Z", + "iopub.status.busy": "2023-10-25T20:35:04.971111Z", + "iopub.status.idle": "2023-10-25T20:35:05.249674Z", + "shell.execute_reply": "2023-10-25T20:35:05.249132Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:56.783618Z", - "iopub.status.busy": "2023-10-25T20:21:56.783130Z", - "iopub.status.idle": "2023-10-25T20:21:56.809491Z", - "shell.execute_reply": "2023-10-25T20:21:56.808959Z" + "iopub.execute_input": "2023-10-25T20:35:05.253297Z", + "iopub.status.busy": "2023-10-25T20:35:05.252823Z", + "iopub.status.idle": "2023-10-25T20:35:05.277147Z", + "shell.execute_reply": "2023-10-25T20:35:05.276659Z" } }, "outputs": [], @@ -158,10 +158,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:56.813179Z", - "iopub.status.busy": "2023-10-25T20:21:56.812782Z", - "iopub.status.idle": "2023-10-25T20:21:56.823844Z", - "shell.execute_reply": "2023-10-25T20:21:56.823334Z" + "iopub.execute_input": "2023-10-25T20:35:05.280112Z", + "iopub.status.busy": "2023-10-25T20:35:05.279739Z", + "iopub.status.idle": "2023-10-25T20:35:05.294878Z", + "shell.execute_reply": "2023-10-25T20:35:05.294367Z" } }, "outputs": [], @@ -201,10 +201,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:56.827505Z", - "iopub.status.busy": "2023-10-25T20:21:56.827212Z", - "iopub.status.idle": "2023-10-25T20:21:56.832798Z", - "shell.execute_reply": "2023-10-25T20:21:56.832278Z" + "iopub.execute_input": "2023-10-25T20:35:05.297632Z", + "iopub.status.busy": "2023-10-25T20:35:05.297293Z", + "iopub.status.idle": "2023-10-25T20:35:05.303392Z", + "shell.execute_reply": "2023-10-25T20:35:05.302944Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb index f1ae49482..9420e0f89 100644 --- a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb +++ b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.554855Z", - "iopub.status.busy": "2023-10-25T20:21:58.554654Z", - "iopub.status.idle": "2023-10-25T20:21:58.952682Z", - "shell.execute_reply": "2023-10-25T20:21:58.952002Z" + "iopub.execute_input": "2023-10-25T20:35:06.830652Z", + "iopub.status.busy": "2023-10-25T20:35:06.830244Z", + "iopub.status.idle": "2023-10-25T20:35:07.218102Z", + "shell.execute_reply": "2023-10-25T20:35:07.217498Z" } }, "outputs": [ @@ -92,10 +92,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.956199Z", - "iopub.status.busy": "2023-10-25T20:21:58.955678Z", - "iopub.status.idle": "2023-10-25T20:21:58.962350Z", - "shell.execute_reply": "2023-10-25T20:21:58.961820Z" + "iopub.execute_input": "2023-10-25T20:35:07.222122Z", + "iopub.status.busy": "2023-10-25T20:35:07.221083Z", + "iopub.status.idle": "2023-10-25T20:35:07.228822Z", + "shell.execute_reply": "2023-10-25T20:35:07.228363Z" } }, "outputs": [ @@ -110,44 +110,44 @@ " [-5.57029092e-17 -6.77238770e-01]]\n", "\n", "Two-body tensor:\n", - "[[[[5.23173938e-01 3.58782168e-17]\n", - " [3.58782168e-17 5.33545754e-01]]\n", + "[[[[0.52317394 0. ]\n", + " [0. 0.53354575]]\n", "\n", - " [[2.49859013e-17 2.48240570e-01]\n", - " [2.48240570e-01 4.83067333e-17]]]\n", + " [[0. 0.24824057]\n", + " [0.24824057 0. ]]]\n", "\n", "\n", - " [[[2.49859013e-17 2.48240570e-01]\n", - " [2.48240570e-01 4.83067333e-17]]\n", + " [[[0. 0.24824057]\n", + " [0.24824057 0. ]]\n", "\n", - " [[5.33545754e-01 4.01841799e-17]\n", - " [4.01841799e-17 5.53132024e-01]]]]\n", + " [[0.53354575 0. ]\n", + " [0. 0.55313202]]]]\n", "\n", "Double-factorized representation\n", "--------------------------------\n", "One-body tensor:\n", - "[[-1.21318608e+00 -1.27383424e-16]\n", - " [-8.82879498e-17 -1.07792507e+00]]\n", + "[[-1.21318608e+00 -8.52909490e-17]\n", + " [-5.57029092e-17 -1.07792507e+00]]\n", "\n", "Diagonal Coulomb matrices:\n", - "[[[ 5.14653029e-01 5.33545754e-01]\n", - " [ 5.33545754e-01 5.53132024e-01]]\n", + "[[[ 0.51465303 0.53354575]\n", + " [ 0.53354575 0.55313202]]\n", "\n", - " [[ 2.48240570e-01 -2.48240570e-01]\n", - " [-2.48240570e-01 2.48240570e-01]]\n", + " [[ 0.24824057 -0.24824057]\n", + " [-0.24824057 0.24824057]]\n", "\n", - " [[ 2.27521846e-62 -1.39236953e-32]\n", - " [-1.39236953e-32 8.52090881e-03]]]\n", + " [[ 0. 0. ]\n", + " [ 0. 0.00852091]]]\n", "\n", "Orbital rotations:\n", - "[[[ 1.00000000e+00 0.00000000e+00]\n", - " [ 0.00000000e+00 1.00000000e+00]]\n", + "[[[ 1. 0. ]\n", + " [ 0. 1. ]]\n", "\n", - " [[-7.07106781e-01 -7.07106781e-01]\n", - " [ 7.07106781e-01 -7.07106781e-01]]\n", + " [[-0.70710678 0.70710678]\n", + " [ 0.70710678 0.70710678]]\n", "\n", - " [[-1.27830444e-15 -1.00000000e+00]\n", - " [-1.00000000e+00 1.27830444e-15]]]\n" + " [[ 0. 1. ]\n", + " [ 1. 0. ]]]\n" ] } ], @@ -226,10 +226,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.964994Z", - "iopub.status.busy": "2023-10-25T20:21:58.964800Z", - "iopub.status.idle": "2023-10-25T20:21:58.969237Z", - "shell.execute_reply": "2023-10-25T20:21:58.968662Z" + "iopub.execute_input": "2023-10-25T20:35:07.231721Z", + "iopub.status.busy": "2023-10-25T20:35:07.231326Z", + "iopub.status.idle": "2023-10-25T20:35:07.235822Z", + "shell.execute_reply": "2023-10-25T20:35:07.235383Z" } }, "outputs": [], @@ -284,10 +284,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.971561Z", - "iopub.status.busy": "2023-10-25T20:21:58.971370Z", - "iopub.status.idle": "2023-10-25T20:21:58.975805Z", - "shell.execute_reply": "2023-10-25T20:21:58.975300Z" + "iopub.execute_input": "2023-10-25T20:35:07.238237Z", + "iopub.status.busy": "2023-10-25T20:35:07.237944Z", + "iopub.status.idle": "2023-10-25T20:35:07.241544Z", + "shell.execute_reply": "2023-10-25T20:35:07.241102Z" } }, "outputs": [], @@ -324,10 +324,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.978437Z", - "iopub.status.busy": "2023-10-25T20:21:58.978080Z", - "iopub.status.idle": "2023-10-25T20:21:58.982595Z", - "shell.execute_reply": "2023-10-25T20:21:58.982136Z" + "iopub.execute_input": "2023-10-25T20:35:07.244003Z", + "iopub.status.busy": "2023-10-25T20:35:07.243667Z", + "iopub.status.idle": "2023-10-25T20:35:07.248163Z", + "shell.execute_reply": "2023-10-25T20:35:07.247733Z" } }, "outputs": [ @@ -366,10 +366,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.985006Z", - "iopub.status.busy": "2023-10-25T20:21:58.984666Z", - "iopub.status.idle": "2023-10-25T20:21:58.993265Z", - "shell.execute_reply": "2023-10-25T20:21:58.992815Z" + "iopub.execute_input": "2023-10-25T20:35:07.250637Z", + "iopub.status.busy": "2023-10-25T20:35:07.250292Z", + "iopub.status.idle": "2023-10-25T20:35:07.259162Z", + "shell.execute_reply": "2023-10-25T20:35:07.258584Z" } }, "outputs": [ @@ -408,10 +408,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.995587Z", - "iopub.status.busy": "2023-10-25T20:21:58.995290Z", - "iopub.status.idle": "2023-10-25T20:21:59.002511Z", - "shell.execute_reply": "2023-10-25T20:21:59.002043Z" + "iopub.execute_input": "2023-10-25T20:35:07.261363Z", + "iopub.status.busy": "2023-10-25T20:35:07.261182Z", + "iopub.status.idle": "2023-10-25T20:35:07.268841Z", + "shell.execute_reply": "2023-10-25T20:35:07.268302Z" } }, "outputs": [ @@ -449,10 +449,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:59.004680Z", - "iopub.status.busy": "2023-10-25T20:21:59.004486Z", - "iopub.status.idle": "2023-10-25T20:21:59.041121Z", - "shell.execute_reply": "2023-10-25T20:21:59.040653Z" + "iopub.execute_input": "2023-10-25T20:35:07.272245Z", + "iopub.status.busy": "2023-10-25T20:35:07.271971Z", + "iopub.status.idle": "2023-10-25T20:35:07.310868Z", + "shell.execute_reply": "2023-10-25T20:35:07.310326Z" } }, "outputs": [ @@ -460,7 +460,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109686\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999906233109683\n" ] } ], @@ -492,10 +492,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:59.043638Z", - "iopub.status.busy": "2023-10-25T20:21:59.043332Z", - "iopub.status.idle": "2023-10-25T20:21:59.070826Z", - "shell.execute_reply": "2023-10-25T20:21:59.070341Z" + "iopub.execute_input": "2023-10-25T20:35:07.313500Z", + "iopub.status.busy": "2023-10-25T20:35:07.313201Z", + "iopub.status.idle": "2023-10-25T20:35:07.345334Z", + "shell.execute_reply": "2023-10-25T20:35:07.344444Z" } }, "outputs": [ @@ -503,7 +503,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109686\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999906233109683\n" ] } ], @@ -534,10 +534,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:59.073522Z", - "iopub.status.busy": "2023-10-25T20:21:59.073215Z", - "iopub.status.idle": "2023-10-25T20:21:59.085212Z", - "shell.execute_reply": "2023-10-25T20:21:59.084766Z" + "iopub.execute_input": "2023-10-25T20:35:07.347751Z", + "iopub.status.busy": "2023-10-25T20:35:07.347571Z", + "iopub.status.idle": "2023-10-25T20:35:07.361969Z", + "shell.execute_reply": "2023-10-25T20:35:07.361089Z" } }, "outputs": [ @@ -545,7 +545,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999999336740067\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999999336740071\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb index 360bdfa44..2e5da9900 100644 --- a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb +++ b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:22:00.882746Z", - "iopub.status.busy": "2023-10-25T20:22:00.882257Z", - "iopub.status.idle": "2023-10-25T20:22:01.407281Z", - "shell.execute_reply": "2023-10-25T20:22:01.406757Z" + "iopub.execute_input": "2023-10-25T20:35:09.127230Z", + "iopub.status.busy": "2023-10-25T20:35:09.126861Z", + "iopub.status.idle": "2023-10-25T20:35:09.731464Z", + "shell.execute_reply": "2023-10-25T20:35:09.730938Z" } }, "outputs": [ @@ -25,7 +25,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "converged SCF energy = -77.4456267643962\n" + "converged SCF energy = -77.4456267643961\n" ] }, { @@ -110,10 +110,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:22:01.412282Z", - "iopub.status.busy": "2023-10-25T20:22:01.411120Z", - "iopub.status.idle": "2023-10-25T20:22:01.788588Z", - "shell.execute_reply": "2023-10-25T20:22:01.787987Z" + "iopub.execute_input": "2023-10-25T20:35:09.735037Z", + "iopub.status.busy": "2023-10-25T20:35:09.734503Z", + "iopub.status.idle": "2023-10-25T20:35:10.150599Z", + "shell.execute_reply": "2023-10-25T20:35:10.150030Z" } }, "outputs": [ @@ -121,14 +121,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.49387212754471 E_corr = -0.04824536314851481\n" + "E(CCSD) = -77.49387212754462 E_corr = -0.04824536314851294\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -77.46975600021685\n" + "Energy at initialialization: -77.46975600021707\n" ] } ], @@ -176,10 +176,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:22:01.791394Z", - "iopub.status.busy": "2023-10-25T20:22:01.791131Z", - "iopub.status.idle": "2023-10-25T20:22:56.084656Z", - "shell.execute_reply": "2023-10-25T20:22:56.084141Z" + "iopub.execute_input": "2023-10-25T20:35:10.153461Z", + "iopub.status.busy": "2023-10-25T20:35:10.153250Z", + "iopub.status.idle": "2023-10-25T20:35:55.828394Z", + "shell.execute_reply": "2023-10-25T20:35:55.827838Z" } }, "outputs": [ @@ -191,12 +191,12 @@ " message: CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH\n", " success: True\n", " status: 0\n", - " fun: -77.62901809766743\n", - " x: [-2.484e-01 7.969e-01 ... -5.994e-01 2.612e-02]\n", - " nit: 237\n", - " jac: [ 4.547e-05 6.253e-05 ... 9.095e-05 1.563e-04]\n", - " nfev: 18980\n", - " njev: 260\n", + " fun: -77.62901478093653\n", + " x: [-2.548e-01 6.030e-01 ... 8.487e-01 3.133e-01]\n", + " nit: 201\n", + " jac: [-3.411e-05 5.684e-05 ... -3.695e-05 3.553e-05]\n", + " nfev: 16206\n", + " njev: 222\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" ] } @@ -251,10 +251,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:22:56.087244Z", - "iopub.status.busy": "2023-10-25T20:22:56.086919Z", - "iopub.status.idle": "2023-10-25T20:24:15.899979Z", - "shell.execute_reply": "2023-10-25T20:24:15.899402Z" + "iopub.execute_input": "2023-10-25T20:35:55.831065Z", + "iopub.status.busy": "2023-10-25T20:35:55.830860Z", + "iopub.status.idle": "2023-10-25T20:37:01.553068Z", + "shell.execute_reply": "2023-10-25T20:37:01.552567Z" } }, "outputs": [ @@ -266,12 +266,12 @@ " message: CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH\n", " success: True\n", " status: 0\n", - " fun: -77.6280696593387\n", - " x: [ 2.256e+00 4.570e-01 ... -6.100e-01 4.518e-02]\n", - " nit: 586\n", - " jac: [ 6.963e-05 7.674e-05 ... 2.615e-04 -3.823e-04]\n", - " nfev: 28905\n", - " njev: 615\n", + " fun: -77.62872959177449\n", + " x: [-4.398e-01 1.209e+00 ... 9.303e-01 -3.817e-01]\n", + " nit: 467\n", + " jac: [ 7.788e-04 -1.293e-04 ... 5.684e-05 7.390e-05]\n", + " nfev: 23641\n", + " njev: 503\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" ] } diff --git a/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb b/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb index 80a6baf05..ce59dedc5 100644 --- a/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb +++ b/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:17.762959Z", - "iopub.status.busy": "2023-10-25T20:24:17.762532Z", - "iopub.status.idle": "2023-10-25T20:24:18.221382Z", - "shell.execute_reply": "2023-10-25T20:24:18.220857Z" + "iopub.execute_input": "2023-10-25T20:37:03.214961Z", + "iopub.status.busy": "2023-10-25T20:37:03.214603Z", + "iopub.status.idle": "2023-10-25T20:37:03.665782Z", + "shell.execute_reply": "2023-10-25T20:37:03.665270Z" } }, "outputs": [ @@ -90,10 +90,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:18.226276Z", - "iopub.status.busy": "2023-10-25T20:24:18.224796Z", - "iopub.status.idle": "2023-10-25T20:24:18.265443Z", - "shell.execute_reply": "2023-10-25T20:24:18.264964Z" + "iopub.execute_input": "2023-10-25T20:37:03.670968Z", + "iopub.status.busy": "2023-10-25T20:37:03.669311Z", + "iopub.status.idle": "2023-10-25T20:37:03.706953Z", + "shell.execute_reply": "2023-10-25T20:37:03.706430Z" } }, "outputs": [ @@ -101,7 +101,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -75.68366174447618\n" + "Energy at initialialization: -75.68366174447621\n" ] } ], @@ -135,10 +135,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:18.269135Z", - "iopub.status.busy": "2023-10-25T20:24:18.268227Z", - "iopub.status.idle": "2023-10-25T20:24:20.012424Z", - "shell.execute_reply": "2023-10-25T20:24:20.011652Z" + "iopub.execute_input": "2023-10-25T20:37:03.710817Z", + "iopub.status.busy": "2023-10-25T20:37:03.709874Z", + "iopub.status.idle": "2023-10-25T20:37:05.455758Z", + "shell.execute_reply": "2023-10-25T20:37:05.455155Z" } }, "outputs": [ @@ -150,7 +150,7 @@ " message: Maximum number of function evaluations has been exceeded.\n", " success: False\n", " status: 2\n", - " fun: -75.69448131203954\n", + " fun: -75.69448131142009\n", " x: [ 1.354e+00 9.651e-02 -1.863e-03 1.095e+00 -2.132e-01]\n", " nfev: 100\n", " maxcv: 0.0\n" diff --git a/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb b/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb index 1be1409fa..dc8cac7d6 100644 --- a/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb +++ b/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.457139Z", - "iopub.status.busy": "2023-10-25T20:24:21.456721Z", - "iopub.status.idle": "2023-10-25T20:24:21.754896Z", - "shell.execute_reply": "2023-10-25T20:24:21.754301Z" + "iopub.execute_input": "2023-10-25T20:37:06.834339Z", + "iopub.status.busy": "2023-10-25T20:37:06.833983Z", + "iopub.status.idle": "2023-10-25T20:37:07.114724Z", + "shell.execute_reply": "2023-10-25T20:37:07.114192Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", " (cre_a(0), des_a(3)): 0.5,\n", - " (cre_a(3), des_a(0)): -0.25\n", + " (cre_a(3), des_a(0)): -0.25,\n", + " (cre_b(1), des_b(5), cre_a(4)): 1+1j\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.757956Z", - "iopub.status.busy": "2023-10-25T20:24:21.757656Z", - "iopub.status.idle": "2023-10-25T20:24:21.766508Z", - "shell.execute_reply": "2023-10-25T20:24:21.762905Z" + "iopub.execute_input": "2023-10-25T20:37:07.118784Z", + "iopub.status.busy": "2023-10-25T20:37:07.117777Z", + "iopub.status.idle": "2023-10-25T20:37:07.123505Z", + "shell.execute_reply": "2023-10-25T20:37:07.123048Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" + "'FermionOperator({((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.769556Z", - "iopub.status.busy": "2023-10-25T20:24:21.769352Z", - "iopub.status.idle": "2023-10-25T20:24:21.775327Z", - "shell.execute_reply": "2023-10-25T20:24:21.774828Z" + "iopub.execute_input": "2023-10-25T20:37:07.127103Z", + "iopub.status.busy": "2023-10-25T20:37:07.126199Z", + "iopub.status.idle": "2023-10-25T20:37:07.132512Z", + "shell.execute_reply": "2023-10-25T20:37:07.132066Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_b(2)): 0-0.25j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", " (cre_a(0), des_a(3)): 1,\n", + " (cre_a(3), des_a(0)): -0.5,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", + " (cre_b(2)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", " (des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", - " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", - " (cre_a(3), des_a(0)): -0.5,\n", - " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.777921Z", - "iopub.status.busy": "2023-10-25T20:24:21.777727Z", - "iopub.status.idle": "2023-10-25T20:24:21.783143Z", - "shell.execute_reply": "2023-10-25T20:24:21.782591Z" + "iopub.execute_input": "2023-10-25T20:37:07.136109Z", + "iopub.status.busy": "2023-10-25T20:37:07.135213Z", + "iopub.status.idle": "2023-10-25T20:37:07.140929Z", + "shell.execute_reply": "2023-10-25T20:37:07.140482Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_b(2)): -5,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", + " (cre_b(2)): -5,\n", + " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.785979Z", - "iopub.status.busy": "2023-10-25T20:24:21.785785Z", - "iopub.status.idle": "2023-10-25T20:24:21.790767Z", - "shell.execute_reply": "2023-10-25T20:24:21.790264Z" + "iopub.execute_input": "2023-10-25T20:37:07.144466Z", + "iopub.status.busy": "2023-10-25T20:37:07.143573Z", + "iopub.status.idle": "2023-10-25T20:37:07.149049Z", + "shell.execute_reply": "2023-10-25T20:37:07.148600Z" } }, "outputs": [ @@ -231,15 +231,15 @@ "text/plain": [ "FermionOperator({\n", " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", - " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_b(2)): -5,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (cre_b(2), cre_a(3), des_a(0)): -1,\n", + " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", - " (cre_b(2)): -5\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.793387Z", - "iopub.status.busy": "2023-10-25T20:24:21.793193Z", - "iopub.status.idle": "2023-10-25T20:24:21.797643Z", - "shell.execute_reply": "2023-10-25T20:24:21.797144Z" + "iopub.execute_input": "2023-10-25T20:37:07.152630Z", + "iopub.status.busy": "2023-10-25T20:37:07.151744Z", + "iopub.status.idle": "2023-10-25T20:37:07.156781Z", + "shell.execute_reply": "2023-10-25T20:37:07.156331Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.800381Z", - "iopub.status.busy": "2023-10-25T20:24:21.800192Z", - "iopub.status.idle": "2023-10-25T20:24:21.805824Z", - "shell.execute_reply": "2023-10-25T20:24:21.805322Z" + "iopub.execute_input": "2023-10-25T20:37:07.160764Z", + "iopub.status.busy": "2023-10-25T20:37:07.159841Z", + "iopub.status.idle": "2023-10-25T20:37:07.166312Z", + "shell.execute_reply": "2023-10-25T20:37:07.165878Z" } }, "outputs": [ @@ -340,21 +340,21 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.808537Z", - "iopub.status.busy": "2023-10-25T20:24:21.808342Z", - "iopub.status.idle": "2023-10-25T20:24:21.816002Z", - "shell.execute_reply": "2023-10-25T20:24:21.815505Z" + "iopub.execute_input": "2023-10-25T20:37:07.170009Z", + "iopub.status.busy": "2023-10-25T20:37:07.169123Z", + "iopub.status.idle": "2023-10-25T20:37:07.176665Z", + "shell.execute_reply": "2023-10-25T20:37:07.176224Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([0. +0.j , 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0.14019459+0.05152728j, 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0. +0.j ])" + "array([ 0. +0.j , 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " -0.11830879-0.02112505j, 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0. +0.j ])" ] }, "execution_count": 8, @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.818749Z", - "iopub.status.busy": "2023-10-25T20:24:21.818558Z", - "iopub.status.idle": "2023-10-25T20:24:21.831581Z", - "shell.execute_reply": "2023-10-25T20:24:21.831134Z" + "iopub.execute_input": "2023-10-25T20:37:07.180124Z", + "iopub.status.busy": "2023-10-25T20:37:07.179254Z", + "iopub.status.idle": "2023-10-25T20:37:07.190877Z", + "shell.execute_reply": "2023-10-25T20:37:07.190428Z" } }, "outputs": [ diff --git a/.doctrees/tutorials/03-double-factorized.doctree b/.doctrees/tutorials/03-double-factorized.doctree index 61df3933f..7fe9f54f4 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 d4d778c09..841cd4f29 100644 Binary files a/.doctrees/tutorials/04-lucj.doctree and b/.doctrees/tutorials/04-lucj.doctree differ diff --git a/.doctrees/tutorials/05-entanglement-forging.doctree b/.doctrees/tutorials/05-entanglement-forging.doctree index 44de45d6f..e5d7af149 100644 Binary files a/.doctrees/tutorials/05-entanglement-forging.doctree and b/.doctrees/tutorials/05-entanglement-forging.doctree differ diff --git a/.doctrees/tutorials/06-fermion-operator.doctree b/.doctrees/tutorials/06-fermion-operator.doctree index 10f814e20..889dbcbdb 100644 Binary files a/.doctrees/tutorials/06-fermion-operator.doctree and b/.doctrees/tutorials/06-fermion-operator.doctree differ diff --git a/_modules/ffsim/hamiltonians/double_factorized_hamiltonian.html b/_modules/ffsim/hamiltonians/double_factorized_hamiltonian.html index 4e472859f..44c9c915f 100644 --- a/_modules/ffsim/hamiltonians/double_factorized_hamiltonian.html +++ b/_modules/ffsim/hamiltonians/double_factorized_hamiltonian.html @@ -106,12 +106,12 @@

Source code for ffsim.hamiltonians.double_factorized_hamiltonian

where :math:`i \neq j` or :math:`\sigma \neq \tau`. Attributes: - one_body_tensor: The one-body tensor :math:`\kappa`. - diag_coulomb_mats: The diagonal Coulomb matrices. - orbital_rotations: The orbital rotations. - constant: The constant. - z_representation: Whether the Hamiltonian is in the "Z" representation rather - than the "number" representation. + one_body_tensor (np.ndarray): The one-body tensor :math:`\kappa`. + diag_coulomb_mats (np.ndarray): The diagonal Coulomb matrices. + orbital_rotations (np.ndarray): The orbital rotations. + constant (float): The constant. + z_representation (bool): Whether the Hamiltonian is in the "Z" representation + rather than the "number" representation. """ one_body_tensor: np.ndarray @@ -121,7 +121,7 @@

Source code for ffsim.hamiltonians.double_factorized_hamiltonian

z_representation: bool = False @property - def norb(self): + def norb(self) -> int: """The number of spatial orbitals.""" return self.one_body_tensor.shape[0] diff --git a/_modules/ffsim/hamiltonians/molecular_hamiltonian.html b/_modules/ffsim/hamiltonians/molecular_hamiltonian.html index ad905cada..593bf19c3 100644 --- a/_modules/ffsim/hamiltonians/molecular_hamiltonian.html +++ b/_modules/ffsim/hamiltonians/molecular_hamiltonian.html @@ -78,9 +78,9 @@

Source code for ffsim.hamiltonians.molecular_hamiltonian

the two-body tensor. Attributes: - one_body_tensor: The one-body tensor. - two_body_tensor: The two-body tensor. - constant: The constant. + one_body_tensor (np.ndarray): The one-body tensor. + two_body_tensor (np.ndarray): The two-body tensor. + constant (float): The constant. """ one_body_tensor: np.ndarray @@ -88,7 +88,7 @@

Source code for ffsim.hamiltonians.molecular_hamiltonian

constant: float = 0.0 @property - def norb(self): + def norb(self) -> int: """The number of spatial orbitals.""" return self.one_body_tensor.shape[0] diff --git a/api/ffsim.hamiltonians.html b/api/ffsim.hamiltonians.html index fb2f8ef6e..b23fa530f 100644 --- a/api/ffsim.hamiltonians.html +++ b/api/ffsim.hamiltonians.html @@ -79,31 +79,56 @@

ffsim.hamiltonians one_body_tensor

The one-body tensor \(\kappa\).

+
+
Type:
+

np.ndarray

+
+
diag_coulomb_mats

The diagonal Coulomb matrices.

+
+
Type:
+

np.ndarray

+
+
orbital_rotations

The orbital rotations.

+
+
Type:
+

np.ndarray

+
+
constant

The constant.

+
+
Type:
+

float

+
+
z_representation
-

Whether the Hamiltonian is in the “Z” representation rather -than the “number” representation.

+

Whether the Hamiltonian is in the “Z” representation +rather than the “number” representation.

+
+
Type:
+

bool

+
+
@@ -214,7 +239,7 @@

ffsim.hamiltonians
-property norb
+property norb: int

The number of spatial orbitals.

@@ -259,23 +284,38 @@

ffsim.hamiltonians one_body_tensor

The one-body tensor.

+
+
Type:
+

np.ndarray

+
+
two_body_tensor

The two-body tensor.

+
+
Type:
+

np.ndarray

+
+
constant

The constant.

+
+
Type:
+

float

+
+
-property norb
+property norb: int

The number of spatial orbitals.

diff --git a/api/ffsim.html b/api/ffsim.html index 86ca4a288..d6561da93 100644 --- a/api/ffsim.html +++ b/api/ffsim.html @@ -79,31 +79,56 @@
one_body_tensor

The one-body tensor \(\kappa\).

+
+
Type:
+

np.ndarray

+
+
diag_coulomb_mats

The diagonal Coulomb matrices.

+
+
Type:
+

np.ndarray

+
+
orbital_rotations

The orbital rotations.

+
+
Type:
+

np.ndarray

+
+
constant

The constant.

+
+
Type:
+

float

+
+
z_representation
-

Whether the Hamiltonian is in the “Z” representation rather -than the “number” representation.

+

Whether the Hamiltonian is in the “Z” representation +rather than the “number” representation.

+
+
Type:
+

bool

+
+
@@ -214,7 +239,7 @@
-property norb
+property norb: int

The number of spatial orbitals.

@@ -445,23 +470,38 @@
one_body_tensor

The one-body tensor.

+
+
Type:
+

np.ndarray

+
+
two_body_tensor

The two-body tensor.

+
+
Type:
+

np.ndarray

+
+
constant

The constant.

+
+
Type:
+

float

+
+
-property norb
+property norb: int

The number of spatial orbitals.

diff --git a/searchindex.js b/searchindex.js index da923ef6c..48468cef8 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.gates", "api/ffsim.hamiltonians", "api/ffsim.linalg", "api/ffsim.operators", "api/ffsim.protocols", "api/ffsim.random", "api/ffsim.states", "api/ffsim.testing", "api/ffsim.trotter", "api/ffsim.variational", "index", "tutorials/01-introduction", "tutorials/02-orbital-rotation", "tutorials/03-double-factorized", "tutorials/04-lucj", "tutorials/05-entanglement-forging", "tutorials/06-fermion-operator"], "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.gates.rst", "api/ffsim.hamiltonians.rst", "api/ffsim.linalg.rst", "api/ffsim.operators.rst", "api/ffsim.protocols.rst", "api/ffsim.random.rst", "api/ffsim.states.rst", "api/ffsim.testing.rst", "api/ffsim.trotter.rst", "api/ffsim.variational.rst", "index.rst", "tutorials/01-introduction.ipynb", "tutorials/02-orbital-rotation.ipynb", "tutorials/03-double-factorized.ipynb", "tutorials/04-lucj.ipynb", "tutorials/05-entanglement-forging.ipynb", "tutorials/06-fermion-operator.ipynb"], "titles": ["ffsim", "ffsim.contract", "ffsim.gates", "ffsim.hamiltonians", "ffsim.linalg", "ffsim.operators", "ffsim.protocols", "ffsim.random", "ffsim.states", "ffsim.testing", "ffsim.trotter", "ffsim.variational", "Welcome to ffsim\u2019s documentation!", "Introduction to ffsim", "Orbital rotations and quadratic Hamiltonians", "Diagonal Coulomb operators and double-factorized Trotter simulation", "The local unitary cluster Jastrow (LUCJ) ansatz", "Entanglement forging", "The FermionOperator class"], "terms": {"i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18], "softwar": [0, 12, 13], "librari": [0, 12, 13], "fast": 0, "simul": [0, 10, 12, 13, 14, 16, 17], "fermion": [0, 2, 5, 12, 13, 14, 16, 18], "quantum": [0, 2, 3, 12, 13, 15, 16], "circuit": [0, 3, 12, 13], "class": [0, 3, 5, 6, 7, 8, 11, 12, 13, 16], "doublefactorizedhamiltonian": [0, 3, 10, 12, 15], "one_body_tensor": [0, 3, 8, 14, 15], "diag_coulomb_mat": [0, 3, 15], "orbital_rot": [0, 1, 2, 3, 8, 11, 13, 14, 15], "constant": [0, 3, 15, 16], "0": [0, 2, 3, 5, 10, 11, 14, 15, 16, 17, 18], "z_represent": [0, 1, 2, 3], "fals": [0, 1, 2, 3, 4, 5, 6, 10, 11, 17, 18], "sourc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "base": [0, 3, 4, 5, 6, 11, 16, 17], "object": [0, 3, 4, 5, 6, 11, 12, 16, 18], "A": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 18], "hamiltonian": [0, 10, 11, 12, 16, 17], "doubl": [0, 3, 4, 10, 12, 16], "factor": [0, 3, 4, 10, 12, 16], "form": [0, 1, 3, 4, 5, 8, 11, 14, 15, 16, 18], "low": [0, 3, 4, 13], "rank": [0, 3, 4, 7], "decomposit": [0, 3, 4, 10], "The": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "molecular": [0, 3, 16, 17], "h": [0, 3, 15, 16, 17], "sum_": [0, 1, 2, 3, 4, 8, 11, 14, 15, 16], "pq": [0, 3, 4, 8, 15], "sigma": [0, 1, 2, 3, 11, 14, 15, 16], "kappa_": [0, 3], "dagger_": [0, 2, 3, 14, 15], "p": [0, 2, 3, 4, 15, 16], "a_": [0, 2, 3, 14, 15, 18], "q": [0, 3, 15], "frac12": [0, 3, 11, 15, 16], "sum_t": [0, 3], "ij": [0, 1, 2, 3, 4, 11, 14, 15, 16], "tau": [0, 1, 2, 3, 11, 15, 16], "z": [0, 1, 2, 3, 4, 5, 12, 13, 18], "t": [0, 2, 3, 4, 8, 14, 15], "_": [0, 2, 3, 4, 11, 14, 15, 16], "n": [0, 2, 3, 4, 13, 14, 15, 16], "j": [0, 1, 2, 3, 11, 14, 15, 16, 18], "text": [0, 2, 3, 15], "where": [0, 1, 2, 3, 4, 10, 11, 14, 15, 16], "u": [0, 1, 2, 3, 4], "pi": [0, 2, 3, 17], "qi": [0, 3], "here": [0, 3, 4, 13, 14, 15], "each": [0, 3, 4, 5, 10, 11, 13, 15, 16, 18], "unitari": [0, 1, 2, 3, 4, 6, 7, 8, 11, 12, 14, 15], "matrix": [0, 1, 2, 3, 4, 7, 8, 10, 13, 14, 15, 16, 18], "real": [0, 1, 2, 3, 4, 7, 11, 14, 15, 16, 17], "symmetr": [0, 1, 2, 3, 4, 7, 10, 15, 16], "represent": [0, 1, 3, 4, 13, 18], "an": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18], "altern": [0, 3, 15], "sometim": [0, 3], "yield": [0, 3, 4, 11, 15, 16], "simpler": [0, 3], "under": [0, 2, 3], "jordan": [0, 2, 3], "wigner": [0, 2, 3], "transform": [0, 1, 2, 3, 6, 13, 14], "number": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "oper": [0, 1, 2, 3, 4, 6, 8, 10, 11, 12, 14, 16, 17, 18], "take": [0, 3, 8, 13, 16], "frac": [0, 3], "1": [0, 2, 3, 4, 5, 7, 8, 10, 11, 13, 14, 15, 16, 17, 18], "2": [0, 1, 2, 3, 4, 5, 7, 8, 13, 14, 15, 16, 17, 18], "pauli": [0, 3], "rotat": [0, 1, 2, 3, 4, 8, 11, 12, 13, 15, 16], "basi": [0, 3, 11, 14, 15, 16, 17], "obtain": [0, 3, 14, 15, 16], "rewrit": [0, 3], "two": [0, 3, 4, 6, 7, 8, 10, 11, 15, 16, 17], "bodi": [0, 1, 3, 4, 5, 7, 8, 10, 15, 16, 17], "part": [0, 3, 4], "term": [0, 1, 2, 3, 4, 5, 10, 11, 15, 16, 18], "updat": [0, 3, 15], "one": [0, 1, 2, 3, 4, 8, 10, 13, 15, 16, 17], "appropri": [0, 3], "kappa": [0, 3], "frac18": [0, 3], "asterisk": [0, 3], "denot": [0, 1, 2, 3, 14], "summat": [0, 3], "over": [0, 3], "indic": [0, 3, 4, 5, 8, 16, 18], "neq": [0, 1, 2, 3], "tensor": [0, 1, 3, 4, 7, 15, 16, 17], "diagon": [0, 1, 2, 3, 4, 11, 12, 14, 16], "coulomb": [0, 1, 2, 3, 4, 11, 12, 16], "matric": [0, 1, 3, 4, 8, 11, 14, 15, 16], "orbit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18], "whether": [0, 1, 2, 3, 4, 5, 6, 10, 18], "rather": [0, 3, 13], "than": [0, 3, 12, 13, 16], "static": [0, 3, 11], "from_molecular_hamiltonian": [0, 3, 15], "tol": [0, 3, 4, 11], "1e": [0, 3, 4, 6, 11], "08": [0, 3, 4, 6, 11], "max_vec": [0, 3, 4], "none": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11], "optim": [0, 3, 4, 10, 11, 16, 17], "method": [0, 3, 4, 10, 16, 17], "l": [0, 3, 4, 11, 15, 16], "bfg": [0, 3, 4, 16], "b": [0, 3, 4, 14, 16], "option": [0, 1, 2, 3, 4, 7, 8, 10, 11, 16, 17], "diag_coulomb_mask": [0, 3, 4], "choleski": [0, 3, 4], "true": [0, 2, 3, 4, 5, 6, 10, 13, 16, 18], "act": [0, 3, 5, 18], "h_": [0, 3, 4, 15], "pqr": [0, 3, 4, 15], "r": [0, 3, 4, 8, 15], "": [0, 3, 4, 13, 15, 16, 17, 18], "decompos": [0, 3, 4, 15], "ar": [0, 1, 2, 3, 4, 6, 7, 10, 12, 13, 14, 15, 16, 18], "output": [0, 3, 15, 16], "guarante": [0, 3], "so": [0, 3, 4, 14, 15, 16, 18], "depend": [0, 3, 4, 10, 13], "allow": [0, 2, 3, 4, 16], "error": [0, 3, 4], "threshold": [0, 3, 4], "larger": [0, 3, 4, 5, 18], "lead": [0, 3], "smaller": [0, 3, 4, 5, 15, 18], "furthermor": [0, 3, 4], "max_rank": [0, 3], "paramet": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17], "specifi": [0, 2, 3, 4, 6, 8, 10, 16], "upper": [0, 3, 4, 16], "bound": [0, 3, 4], "default": [0, 3, 4, 7, 11], "behavior": [0, 3, 4, 7], "thi": [0, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 17], "routin": [0, 3, 4, 13, 18], "perform": [0, 3, 4, 11, 14, 15], "straightforward": [0, 3, 4], "exact": [0, 3, 4, 13, 15], "nest": [0, 3, 4], "eigenvalu": [0, 3, 4, 14], "addition": [0, 3, 4], "can": [0, 3, 4, 6, 11, 12, 13, 14, 15, 16, 18], "choos": [0, 3, 4, 13, 16], "coeffici": [0, 1, 2, 3, 4, 5, 11, 14, 16, 18], "store": [0, 3, 4, 15, 16], "achiev": [0, 3, 4, 15], "compress": [0, 3, 4], "enabl": [0, 3, 4], "set": [0, 2, 3, 4, 11, 13, 14, 15, 16], "attempt": [0, 3, 4], "minim": [0, 3, 4, 16, 17], "least": [0, 3, 4], "squar": [0, 3, 4, 16], "function": [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18], "quantifi": [0, 3, 4], "It": [0, 2, 3, 4, 6, 10, 13, 15, 18], "us": [0, 1, 2, 3, 4, 7, 10, 12, 13, 14, 15, 16, 18], "scipi": [0, 3, 4, 6, 13, 14, 15, 16, 17, 18], "pass": [0, 3, 4, 14, 18], "both": [0, 2, 3, 4], "its": [0, 2, 3, 4, 6, 8, 10, 14, 15, 18], "gradient": [0, 3, 4], "return": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18], "constrain": [0, 3, 4], "have": [0, 2, 3, 4, 6, 10, 11, 13, 14, 16, 18], "onli": [0, 2, 3, 4, 13, 14, 16], "certain": [0, 3, 4], "element": [0, 3, 4], "nonzero": [0, 3, 4, 16], "which": [0, 2, 3, 4, 5, 7, 8, 11, 13, 14, 15, 16, 18], "time": [0, 2, 3, 4, 10, 13, 15], "boolean": [0, 3, 4], "valu": [0, 1, 3, 4, 7, 8, 11, 15, 16], "triangular": [0, 3, 4], "becaus": [0, 3, 4, 13, 15, 16, 18], "note": [0, 2, 3, 16, 18], "current": [0, 3], "support": [0, 3, 10, 11, 18], "two_body_tensor": [0, 3, 4, 15], "bool": [0, 1, 2, 3, 4, 5, 6, 10], "float": [0, 2, 3, 4, 6, 7, 10, 15], "toler": [0, 3, 4, 6, 16], "defin": [0, 3, 4, 5, 16, 17], "maximum": [0, 3, 4, 7, 17], "absolut": [0, 3, 4, 6], "differ": [0, 1, 2, 3, 4, 11, 16], "between": [0, 1, 2, 3, 4, 16], "origin": [0, 2, 3, 4, 6, 10, 15], "correspond": [0, 3, 4, 14, 15], "reconstruct": [0, 3, 4], "int": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 17], "limit": [0, 3, 4, 16], "keep": [0, 3, 4], "argument": [0, 3, 4, 8, 10, 14], "overrid": [0, 3, 4], "str": [0, 3, 4, 8, 10], "see": [0, 3, 4, 6], "document": [0, 3, 4, 6], "possibl": [0, 2, 3, 4, 6, 10], "callback": [0, 3, 4], "usag": [0, 3, 4, 18], "dict": [0, 3, 4, 5, 16, 17], "ndarrai": [0, 1, 2, 3, 4, 6, 7, 8, 10, 11, 15], "mask": [0, 3, 4], "modifi": [0, 2, 3, 4, 6, 10], "If": [0, 1, 2, 3, 4, 6, 7, 10, 18], "full": [0, 3, 4, 13], "instead": [0, 3, 4], "much": [0, 3, 4, 12, 13], "more": [0, 3, 4, 13, 16], "expens": [0, 3, 4], "ignor": [0, 3, 4, 15], "type": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "refer": [0, 3, 4, 7, 11, 16], "arxiv": [0, 3, 4, 7], "1808": [0, 3, 4], "02625": [0, 3, 4], "2104": [0, 3, 4], "08957": [0, 3, 4], "properti": [0, 3, 11, 14], "norb": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18], "spatial": [0, 1, 2, 3, 6, 8, 9, 11, 13, 15, 16, 18], "to_number_represent": [0, 3], "to_z_represent": [0, 3], "fermionact": [0, 5, 12], "action": [0, 1, 5, 14, 18], "spin": [0, 1, 2, 5, 11, 12, 13, 14, 16, 17, 18], "orb": [0, 5, 18], "namedtupl": [0, 5], "creat": [0, 5, 13, 14, 15, 16, 18], "new": [0, 5, 14, 18], "instanc": [0, 5, 7, 14, 15], "alia": [0, 5], "field": [0, 5], "fermionoper": [0, 5, 12], "coeff": [0, 1, 2, 5], "repres": [0, 3, 5, 6, 8, 10, 13, 16, 18], "linear": [0, 1, 2, 4, 5, 6, 14, 18], "combin": [0, 1, 2, 5, 14, 18], "product": [0, 2, 5, 8, 15, 18], "creation": [0, 2, 5, 14, 18], "annihil": [0, 5, 18], "tupl": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 15, 18], "complex": [0, 1, 4, 5, 7, 8], "conserves_particle_numb": [0, 5, 18], "conserv": [0, 5, 13, 18], "particl": [0, 5, 8, 9, 12, 13, 14, 18], "otherwis": [0, 5, 6, 10], "conserves_spin_z": [0, 5, 18], "compon": [0, 5, 12, 13, 18], "many_body_ord": [0, 5], "mani": [0, 5, 12], "order": [0, 5, 10, 11, 13, 15, 16, 18], "length": [0, 2, 5, 13, 15, 16], "longest": [0, 5], "contain": [0, 4, 5, 8, 11, 16, 18], "normal_ord": [0, 5, 18], "normal": [0, 5, 18], "equival": [0, 2, 5], "ha": [0, 1, 2, 4, 5, 8, 11, 13, 14, 15, 16, 17], "been": [0, 5, 17], "reorder": [0, 5], "canon": [0, 5], "In": [0, 5, 8, 11, 14, 15, 16, 17, 18], "compris": [0, 5, 18], "appear": [0, 5, 18], "from": [0, 5, 7, 11, 12, 13, 14, 16, 17, 18], "left": [0, 2, 5, 6, 10, 14, 18], "right": [0, 2, 5, 14, 18], "descend": [0, 5, 18], "lexicograph": [0, 5, 18], "That": [0, 5, 14, 18], "all": [0, 5, 8, 16, 18], "befor": [0, 2, 5, 6, 10, 16, 18], "within": [0, 4, 5, 18], "beta": [0, 1, 2, 5, 6, 8, 9, 10, 11, 13, 16, 18], "alpha": [0, 1, 2, 5, 6, 8, 9, 10, 11, 13, 16, 18], "hopgateansatzoper": [0, 11, 12, 17], "interaction_pair": [0, 11, 17], "theta": [0, 2, 11, 17], "hop": [0, 2, 11], "gate": [0, 11, 12, 16], "ansatz": [0, 11, 12, 17], "moleculardata": [0, 12, 15, 16, 17], "nelec": [0, 1, 2, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18], "core_energi": 0, "dipole_integr": 0, "orbital_symmetri": 0, "data": [0, 2, 6, 7, 10, 15, 16, 17, 18], "electron": [0, 1, 2, 6, 7, 8, 9, 10, 11, 13, 15], "core": [0, 4], "energi": [0, 11, 14, 15, 16, 17], "dipol": 0, "integr": 0, "symmetri": [0, 12, 13, 14, 15, 16, 17], "from_hartree_fock": [0, 15, 16, 17], "hartree_fock": [0, 15, 16, 17], "active_spac": [0, 16, 17], "initi": [0, 7, 9, 10, 11, 15, 16, 17], "hartre": [0, 15, 16], "fock": [0, 15, 16], "calcul": [0, 13, 15, 16], "scf": [0, 15, 16, 17], "iter": 0, "list": [0, 1, 2, 4, 8, 9, 16, 17], "activ": [0, 16, 17], "space": [0, 8, 16, 17], "molecularhamiltonian": [0, 3, 12, 15], "call": [0, 3, 13, 14, 15, 18], "supportsapplyunitari": [0, 6, 11, 12], "arg": [0, 6], "kwarg": [0, 6], "protocol": [0, 12], "appli": [0, 1, 2, 4, 6, 8, 13, 14, 15, 16], "vector": [0, 1, 2, 4, 6, 7, 8, 10, 11, 13, 14, 16, 17, 18], "supportsapproximateequ": [0, 6, 12], "compar": [0, 6, 15], "approxim": [0, 4, 6, 15], "supportslinearoper": [0, 6, 11, 12], "convert": [0, 1, 6, 8, 11, 13, 14, 15, 18], "linearoper": [0, 1, 6, 11, 14, 15, 18], "supportstrac": [0, 6, 12], "whose": [0, 4, 6, 13], "trace": [0, 6, 12, 15], "comput": [0, 2, 4, 6, 11, 14, 16, 17], "ucjoper": [0, 11, 12, 16], "diag_coulomb_mats_alpha_alpha": [0, 11], "diag_coulomb_mats_alpha_beta": [0, 11], "final_orbital_rot": [0, 11], "cluster": [0, 11, 12], "jastrow": [0, 11, 12], "ucj": [0, 11], "prod_": [0, 11, 16], "k": [0, 4, 8, 11, 14, 15, 16, 18], "mathcal": [0, 1, 2, 11, 14, 15, 16], "w_k": [0, 11, 16], "e": [0, 2, 10, 11, 15, 16, 17, 18], "_k": [0, 11, 15, 16], "dagger": [0, 1, 2, 4, 8, 11, 14, 15, 16, 18], "mathbf": [0, 11, 14, 15, 16], "n_": [0, 1, 2, 11, 13, 14, 15, 16], "commut": [0, 11, 15, 16], "total": [0, 11, 15, 16], "we": [0, 11, 14, 15, 16, 17, 18], "enforc": [0, 11, 16], "As": [0, 11, 13, 14, 15, 16], "result": [0, 1, 4, 7, 11, 14, 15, 16, 17], "describ": [0, 1, 2, 8, 11, 13, 14, 15, 16, 18], "involv": [0, 11, 16], "same": [0, 11, 13, 16], "To": [0, 11, 13, 14, 15, 16], "variat": [0, 12, 16], "final": [0, 10, 11, 15, 16], "includ": [0, 4, 11, 12, 13, 14, 15], "end": [0, 2, 11, 14, 16], "from_paramet": [0, 11, 16], "param": [0, 11], "n_rep": [0, 11, 16, 17], "alpha_alpha_indic": [0, 11, 16], "alpha_beta_indic": [0, 11, 16], "with_final_orbital_rot": [0, 11], "from_t_amplitud": [0, 11, 16], "t2_amplitud": [0, 4, 11], "t1_amplitud": [0, 11], "t2": [0, 4, 7, 11, 16], "t1": [0, 11, 16], "amplitud": [0, 4, 7, 11, 16], "repetit": [0, 11, 16], "to_paramet": [0, 11, 16], "to_t_amplitud": [0, 11], "nocc": [0, 7, 11], "possibli": [0, 11], "apply_diag_coulomb_evolut": [0, 2, 12, 15], "vec": [0, 1, 2, 4, 6, 10, 13, 14, 15, 18], "mat": [0, 1, 2, 4], "mat_alpha_beta": [0, 1, 2], "occupations_a": [0, 1, 2], "occupations_b": [0, 1, 2], "strings_a": [0, 1, 2], "strings_b": [0, 1, 2], "orbital_rotation_index_a": [0, 2], "orbital_rotation_index_b": [0, 2], "copi": [0, 2, 6, 10, 18], "evolut": [0, 2, 10, 15], "exp": [0, 2, 14], "z_": [0, 1, 2], "also": [0, 1, 2, 6, 10, 14, 18], "given": [0, 1, 2, 4, 10, 14, 15], "place": [0, 1, 2, 6, 8, 10, 16, 18], "sum": [0, 1, 2, 15, 17], "state": [0, 1, 2, 7, 10, 11, 12, 14, 15, 16, 17], "interact": [0, 1, 2, 13], "occupi": [0, 1, 2, 7, 8, 9, 15], "string": [0, 1, 2, 8, 10, 13, 18], "index": [0, 2, 5, 8, 11, 13, 16, 18], "alwai": [0, 2, 4, 6, 10, 14], "newli": [0, 2, 6, 10], "alloc": [0, 2, 6, 10], "untouch": [0, 2, 6, 10], "mai": [0, 2, 4, 6, 10, 16], "still": [0, 2, 6, 10, 16], "overwritten": [0, 2, 6, 10], "evolv": [0, 2, 10, 15], "apply_fsim_g": [0, 2, 12], "phi": [0, 2], "target_orb": [0, 2], "fsim": [0, 2], "consist": [0, 2], "tunnel": [0, 2], "follow": [0, 2, 10, 12, 13, 14, 15, 16, 18], "neg": [0, 2], "sign": [0, 2], "convent": [0, 2], "angl": [0, 2, 17], "nn": [0, 2], "dagger_i": [0, 2], "a_i": [0, 2], "dagger_j": [0, 2], "a_j": [0, 1, 2], "when": [0, 2, 15, 16, 18], "neighbor": [0, 2], "qubit": [0, 2, 16], "begin": [0, 2, 14, 16], "pmatrix": [0, 2], "co": [0, 2, 17], "sin": [0, 2, 17], "apply_givens_rot": [0, 2, 12], "g": [0, 2, 16], "apply_hop_g": [0, 2, 12], "apply_num_interact": [0, 2, 12], "apply_num_num_interact": [0, 2, 12], "apply_num_op_prod_interact": [0, 2, 12], "np": [0, 2, 6, 7, 9, 10, 14, 15, 16, 17], "prod": [0, 2], "sequenc": [0, 2, 8, 11], "pair": [0, 2, 8, 9], "integ": [0, 2, 8], "give": [0, 2, 14], "first": [0, 2, 4, 6, 8, 14, 15, 16, 17], "second": [0, 2, 4, 8, 15, 17], "apply_num_op_sum_evolut": [0, 2, 12, 14, 15], "lambda_i": [0, 1, 2, 14], "rais": [0, 2], "valueerror": [0, 2], "must": [0, 2, 4, 18], "dimension": [0, 2, 4, 10, 13], "apply_orbital_rot": [0, 2, 12, 13, 14], "allow_row_permut": [0, 2], "allow_col_permut": [0, 2], "map": [0, 2, 14, 18], "mapsto": [0, 2, 14], "u_": [0, 2], "ji": [0, 2, 14], "log": [0, 2], "permut": [0, 2, 4], "row": [0, 2, 13], "column": [0, 2, 4, 13, 14], "wa": [0, 2], "well": [0, 2], "actual": [0, 2, 14, 16], "effect": [0, 2, 6, 16], "apply_tunneling_interact": [0, 2, 12], "apply_unitari": [0, 6, 12, 16], "obj": [0, 6], "ani": [0, 6, 14, 16], "approx_eq": [0, 6, 12], "other": [0, 6, 8, 16], "rtol": [0, 4, 6], "05": [0, 4, 6, 16], "atol": [0, 4, 6], "equal": [0, 6], "isclos": [0, 6], "interpret": [0, 6], "rel": [0, 4, 6], "numer": [0, 4, 6, 18], "up": [0, 6, 14], "cre": [0, 5, 12], "cre_a": [0, 5, 12, 18], "cre_b": [0, 5, 12, 18], "de": [0, 5, 12], "destroi": [0, 5, 18], "des_a": [0, 5, 12, 18], "des_b": [0, 5, 12, 18], "dim": [0, 7, 8, 10, 12, 13, 18], "get": [0, 8, 14, 15, 16, 17], "dimens": [0, 7, 8, 10, 13], "fci": [0, 8, 13, 16, 17], "dim_a": [0, 8, 13], "dim_b": [0, 8, 13], "expectation_pow": [0, 8, 12], "one_rdm": [0, 8, 10], "power": [0, 8], "expect": [0, 8, 14], "w": [0, 8, 14, 15], "slater": [0, 8, 10, 13, 14, 15], "determin": [0, 4, 8, 10, 13, 14, 15], "o": [0, 8, 17], "m_": [0, 1, 4, 8], "a_p": [0, 8], "a_q": [0, 8], "m": [0, 1, 4, 8, 14], "let": [0, 8, 15, 18], "lvert": [0, 8, 16], "psi": [0, 8, 16], "rangl": [0, 8, 16], "Then": [0, 8], "quantiti": [0, 8], "langl": [0, 8], "rvert": [0, 8], "reduc": [0, 4, 8, 10], "densiti": [0, 8, 10], "expectation_product": [0, 8, 12], "o_1": [0, 8], "o_2": [0, 8], "dot": [0, 8], "o_k": [0, 8], "indices_to_str": [0, 8, 12], "statevector": [0, 8, 10, 13, 14], "bitstr": [0, 8], "exampl": [0, 8, 13, 14, 16, 18], "3": [0, 8, 13, 14, 15, 16, 17, 18], "rang": [0, 8, 13, 14, 15, 16], "assert": [0, 8, 13], "011001": [0, 8], "011010": [0, 8], "011100": [0, 8], "101001": [0, 8], "101010": [0, 8], "101100": [0, 8], "110001": [0, 8], "110010": [0, 8], "110100": [0, 8], "linear_oper": [0, 6, 12, 15, 16, 17, 18], "multireference_st": [0, 11, 12, 17], "ansatz_oper": [0, 11], "reference_occup": [0, 11, 17], "root": [0, 11], "multirefer": [0, 11], "occup": [0, 11, 13, 14, 15], "desir": [0, 8, 11], "eigenvector": [0, 11, 14], "lowest": [0, 11, 14, 15], "one_hot": [0, 8, 12], "shape": [0, 4, 7, 8, 10, 13, 16], "dtype": [0, 7, 8, 16], "arrai": [0, 4, 8, 10, 13, 18], "zero": [0, 8, 17], "except": [0, 8], "hot": [0, 8], "simulate_qdrift_double_factor": [0, 10, 12], "n_step": [0, 10, 15], "probabl": [0, 10], "norm": [0, 10], "n_sampl": [0, 10], "seed": [0, 7, 9, 10, 13, 14], "via": [0, 10, 15], "qdrift": [0, 10], "trotter": [0, 12], "step": [0, 10, 14, 15], "sampl": [0, 7, 9, 10], "els": [0, 7, 10], "explicit": [0, 10], "proport": [0, 10, 14], "spectral": [0, 10], "uniform": [0, 7, 10], "requir": [0, 10, 16], "whenev": [0, 10], "complet": [0, 10], "character": [0, 10], "trajectori": [0, 10], "pseudorandom": [0, 7, 9, 10], "gener": [0, 7, 9, 10, 12, 13, 14, 15, 16], "should": [0, 7, 9, 10, 14, 15], "valid": [0, 7, 9, 10], "input": [0, 1, 7, 9, 10, 16], "random": [0, 9, 10, 12, 13, 14, 18], "default_rng": [0, 7, 9, 10], "numpi": [0, 4, 10, 13, 14, 15, 16, 17], "just": [0, 10, 15, 16], "simulate_trotter_double_factor": [0, 10, 12, 15], "suzuki": [0, 10], "formula": [0, 10], "slater_determin": [0, 8, 12, 13, 14, 15, 16], "occupied_orbit": [0, 8, 13, 14, 15, 16], "configur": [0, 8, 13], "word": [0, 8, 16], "slater_determinant_one_rdm": [0, 8, 12], "similarli": [0, 8, 15], "construct": [1, 15, 16, 17, 18], "contract_diag_coulomb": 1, "contract_num_op_sum": 1, "diag_coulomb_linop": 1, "implement": [1, 13, 14, 16], "num_op_sum_linop": 1, "one_body_linop": [1, 14], "algebra": [4, 18], "util": [4, 7, 9], "apply_matrix_to_slic": 4, "target": 4, "slice": 4, "out": [4, 15], "double_factor": 4, "ell": 4, "pk": 4, "qk": 4, "respect": 4, "too": 4, "small": 4, "exce": 4, "collect": 4, "double_factorized_t2": 4, "t_": 4, "ijab": 4, "ap": 4, "ip": 4, "bq": 4, "jq": 4, "expm_multiply_taylor": 4, "12": [4, 18], "expm": 4, "taylor": 4, "seri": 4, "expans": 4, "givens_decomposit": 4, "is_antihermitian": 4, "anti": [4, 7], "hermitian": [4, 7, 14], "is_hermitian": 4, "is_orthogon": 4, "orthogon": [4, 7], "union": 4, "bool_": 4, "is_real_symmetr": 4, "is_special_orthogon": 4, "special": [4, 7, 12, 13], "is_unitari": 4, "lup": 4, "pivot": 4, "lu": 4, "rtype": 4, "lower": 4, "unit": 4, "modified_choleski": 4, "v_i": 4, "posit": [4, 17], "definit": 4, "No": 4, "check": [4, 14, 15], "verifi": 4, "1711": 4, "02242": 4, "assembl": 4, "reduced_matrix": 4, "subspac": [4, 18], "span": 4, "some": [4, 15, 18], "v_j": 4, "random_antihermitian": 7, "width": 7, "height": 7, "dype": 7, "random_hermitian": [7, 14], "random_orthogon": 7, "distribut": 7, "haar": 7, "measur": 7, "math": [7, 17], "ph": 7, "0609050": 7, "random_real_symmetric_matrix": 7, "random_special_orthogon": 7, "random_statevector": [7, 18], "random_t2_amplitud": 7, "random_two_body_tensor_r": 7, "random_unitari": [7, 13, 14], "random_nelec": 9, "n_alpha": [9, 13, 14, 15, 16, 17], "n_beta": [9, 13, 14, 15, 16, 17], "random_occupied_orbit": 9, "occ_a": 9, "occ_b": 9, "preserv": [12, 18], "categori": 12, "chemistri": 12, "By": [12, 13], "exploit": 12, "algorithm": 12, "faster": 12, "introduct": 12, "quadrat": [12, 15], "local": 12, "lucj": 12, "entangl": 12, "forg": 12, "expos": 12, "top": 12, "level": [12, 13, 15], "namespac": 12, "avail": 12, "alreadi": [12, 15], "contract": [12, 14], "linalg": [12, 14, 15, 18], "test": [12, 14, 15], "advantag": 13, "effici": [13, 18], "doe": [13, 18], "primari": 13, "wai": [13, 14, 16], "directli": [13, 15], "code": [13, 15, 16, 18], "show": [13, 14, 15, 16, 17, 18], "how": [13, 14, 15, 16, 17, 18], "import": [13, 14, 15, 16, 17, 18], "6": [13, 14, 15, 16, 17, 18], "1234": [13, 14], "rotated_vec": [13, 14], "plain": 13, "Its": 13, "fix": 13, "For": [13, 14, 16, 18], "system": [13, 14], "conveni": 13, "comb": 13, "standard": 13, "often": [13, 16], "simpli": [13, 14], "reshap": 13, "reshaped_vec": 13, "choic": 13, "pyscf": [13, 15, 16, 17], "modul": 13, "tutori": [14, 15, 16, 17], "ffsim": [14, 15, 16, 17, 18], "fundament": 14, "mode": 14, "sum_j": 14, "th": 14, "satisfi": [14, 18], "anticommut": 14, "relat": [14, 16], "thei": [14, 16, 18], "align": [14, 16], "_1": 14, "_2": 14, "section": 14, "ll": [14, 15, 16], "demonstr": [14, 15, 16], "task": 14, "consid": [14, 16], "rewritten": 14, "introduc": [14, 16], "eigendecomposit": 14, "sum_k": [14, 15], "lambda_k": 14, "ik": 14, "jk": 14, "our": [14, 15, 16], "ground": [14, 16], "pick": 14, "phase": 14, "spars": [14, 15, 18], "eig": [14, 18], "eigsh": 14, "la": 14, "fact": 14, "you": 14, "illustr": 14, "purpos": 14, "explicitli": 14, "eigh": [14, 15], "evolved_vec": 14, "conj": 14, "undo": 14, "expected_phas": 14, "1j": [14, 15, 18], "assert_allclos": 14, "mention": [14, 15], "abov": [14, 15, 18], "below": [14, 15, 16], "better": [14, 15], "4": [14, 15, 16, 17, 18], "evolved_vec_alt": 14, "daunt": 15, "scale": 15, "cell": [15, 16], "hydrogen": 15, "molecul": [15, 16, 17], "stretch": [15, 16], "bond": [15, 16, 17], "build": [15, 16, 17], "h2": 15, "mol": [15, 16, 17], "gto": [15, 16, 17], "mole": [15, 16, 17], "atom": [15, 16, 17], "8": [15, 18], "sto": [15, 16, 17], "6g": [15, 16, 17], "d2h": [15, 16], "rhf": [15, 16, 17], "kernel": [15, 16, 17], "mol_data": [15, 16, 17], "mol_hamiltonian": [15, 16, 17], "df_hamiltonian": 15, "converg": [15, 16, 17], "837796382593709": 15, "dataclass": [15, 16], "print": [15, 16, 17, 18], "inform": [15, 18], "One": 15, "27478830e": 15, "01": [15, 16, 17], "52909490e": 15, "17": 15, "5": [15, 16, 17, 18], "57029092e": 15, "77238770e": 15, "23173938e": 15, "58782168e": 15, "33545754e": 15, "49859013e": 15, "48240570e": 15, "83067333e": 15, "01841799e": 15, "53132024e": 15, "21318608e": 15, "00": [15, 16, 17], "27383424e": 15, "16": 15, "82879498e": 15, "07792507e": 15, "14653029e": 15, "27521846e": 15, "62": 15, "39236953e": 15, "32": 15, "52090881e": 15, "03": [15, 17], "00000000e": 15, "7": [15, 16, 18], "07106781e": 15, "27830444e": 15, "15": 15, "rest": 15, "although": 15, "built": 15, "manual": 15, "asymmetr": 15, "basic": 15, "h_k": 15, "divid": 15, "singl": 15, "exponenti": 15, "individu": [15, 18], "do": [15, 18], "approx": 15, "prod_k": 15, "higher": 15, "deriv": 15, "write": 15, "recal": 15, "addit": [15, 18], "think": 15, "compos": 15, "def": [15, 16, 17], "simulate_trotter_step_double_factor": 15, "one_body_energi": 15, "one_body_basis_chang": 15, "zip": [15, 17], "finish": 15, "handl": 15, "split": 15, "multipl": [15, 18], "wrote": 15, "step_tim": 15, "match": 15, "initial_st": 15, "\u03c8": [15, 16, 17], "hf_energi": 15, "vdot": [15, 16, 17], "f": [15, 16, 17], "8377963825937084": 15, "now": 15, "later": 15, "exact_st": 15, "expm_multipli": 15, "tracea": 15, "fidel": 15, "ab": 15, "9696296369955066": 15, "final_st": [15, 16], "9990275744083494": 15, "improv": 15, "increas": 15, "10": 15, "9999906233109686": 15, "commonli": 15, "known": 15, "fourth": 15, "reproduc": 15, "9": [15, 16, 17, 18], "fewer": 15, "9999999336740067": 15, "ethen": 16, "mcscf": [16, 17], "bond_dist": 16, "678": 16, "5626": 16, "c": 16, "9289": 16, "nelectron": 16, "ca": [16, 17], "casci": [16, 17], "nca": [16, 17], "neleca": [16, 17], "mo": [16, 17], "sort_mo": [16, 17], "energy_fci": [16, 17], "77": 16, "4456267643962": 16, "6290254326717": 16, "ci": [16, 17], "57322412553862": 16, "0000000": [16, 17], "phi_0": 16, "taken": 16, "express": 16, "previou": 16, "constructor": 16, "provid": 16, "truncat": 16, "ccsd": 16, "mp2": 16, "run": 16, "sinc": 16, "cc": 16, "frozen": 16, "nao_nr": 16, "reference_st": 16, "ansatz_st": [16, 17], "initiali": [16, 17], "49387212754471": 16, "e_corr": 16, "04824536314851481": 16, "46975600021685": 16, "facilit": 16, "convers": 16, "precis": 16, "somewhat": 16, "complic": 16, "short": 16, "entri": 16, "non": 16, "redund": 16, "associ": [16, 18], "fun": [16, 17], "x": [16, 17], "x0": [16, 17], "maxfun": 16, "50000": 16, "len": [16, 17], "72": 16, "messag": [16, 17], "rel_reduction_of_f_": 16, "lt": 16, "_factr": 16, "epsmch": 16, "success": [16, 17], "statu": [16, 17], "62901809766743": 16, "484e": 16, "969e": 16, "994e": 16, "612e": 16, "02": [16, 17], "nit": 16, "237": 16, "jac": 16, "547e": 16, "253e": 16, "095e": [16, 17], "563e": 16, "04": 16, "nfev": [16, 17], "18980": 16, "njev": 16, "260": 16, "hess_inv": 16, "72x72": 16, "lbfgsinvhessproduct": 16, "float64": 16, "gt": 16, "either": 16, "connect": 16, "swap": 16, "network": 16, "make": 16, "challeng": 16, "noisi": 16, "pre": 16, "fault": 16, "processor": 16, "idea": 16, "impos": 16, "sparsiti": 16, "constraint": 16, "them": 16, "depth": 16, "topologi": 16, "triangl": 16, "need": 16, "lattic": 16, "parallel": 16, "line": 16, "rung": 16, "ladder": 16, "With": 16, "setup": 16, "while": 16, "share": 16, "ldot": 16, "without": 16, "Of": 16, "cours": 16, "less": 16, "notic": 16, "decreas": 16, "46": 16, "6280696593387": 16, "256e": 16, "570e": 16, "100e": 16, "518e": 16, "586": 16, "963e": 16, "674e": 16, "615e": 16, "823e": 16, "28905": 16, "615": 16, "46x46": 16, "water": 17, "equilibrium": 17, "radius_1": 17, "958": 17, "radius_2": 17, "bond_angle_deg": 17, "104": 17, "478": 17, "h1_x": 17, "h2_x": 17, "180": 17, "h2_y": 17, "c2v": 17, "n_electron": 17, "mo_occ": 17, "75": 17, "6787887956297": 17, "7079508859773": 17, "14": 17, "3336207346502": 17, "reference_occupations_spati": 17, "68366174447618": 17, "cobyla": 17, "maxit": 17, "100": 17, "evalu": 17, "exceed": 17, "69448131203954": 17, "354e": 17, "651e": 17, "863e": 17, "132e": 17, "maxcv": 17, "25": 18, "Such": 18, "programmat": 18, "dictionari": 18, "hash": 18, "tabl": 18, "three": 18, "piec": 18, "being": 18, "upon": 18, "intern": 18, "itself": 18, "recommend": 18, "helper": 18, "shown": 18, "op1": 18, "repr": 18, "view": 18, "displai": 18, "39": 18, "0j": 18, "arithmet": 18, "multipli": 18, "scalar": 18, "go": 18, "op": 18, "op2": 18, "op3": 18, "25j": 18, "0625": 18, "125": 18, "2j": 18, "5j": 18, "good": 18, "awar": 18, "especi": 18, "avoid": 18, "These": 18, "subtract": 18, "divis": 18, "6j": 18, "4j": 18, "12j": 18, "3j": 18, "far": 18, "criteria": 18, "op4": 18, "linop": 18, "onto": 18, "14019459": 18, "05152728j": 18, "most": 18, "lm": 18, "21984743e": 18, "18j": 18}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_power"], [0, 5, 1, "", "expectation_product"], [0, 5, 1, "", "indices_to_strings"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "one_hot"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_one_rdm"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.MolecularData": [[0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 3, 1, "", "from_hartree_fock"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.UCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"ffsim": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "contract": 1, "gate": 2, "hamiltonian": [3, 14, 15], "linalg": 4, "oper": [5, 15], "protocol": 6, "random": 7, "state": 8, "test": 9, "trotter": [10, 15], "variat": 11, "welcom": 12, "": 12, "document": 12, "tutori": 12, "api": 12, "refer": 12, "modul": 12, "submodul": 12, "introduct": 13, "orbit": 14, "rotat": 14, "quadrat": 14, "time": 14, "evolut": 14, "diagon": 15, "coulomb": 15, "doubl": 15, "factor": 15, "simul": 15, "represent": 15, "molecular": 15, "brief": 15, "background": 15, "suzuki": 15, "formula": 15, "implement": 15, "The": [16, 18], "local": 16, "unitari": 16, "cluster": 16, "jastrow": 16, "lucj": 16, "ansatz": 16, "ucj": 16, "entangl": 17, "forg": 17, "fermionoper": 18, "class": 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": [[0, "module-ffsim"]], "ffsim.contract": [[1, "ffsim-contract"]], "ffsim.gates": [[2, "ffsim-gates"]], "ffsim.hamiltonians": [[3, "ffsim-hamiltonians"]], "ffsim.linalg": [[4, "ffsim-linalg"]], "ffsim.operators": [[5, "ffsim-operators"]], "ffsim.protocols": [[6, "ffsim-protocols"]], "ffsim.random": [[7, "ffsim-random"]], "ffsim.states": [[8, "ffsim-states"]], "ffsim.testing": [[9, "ffsim-testing"]], "ffsim.trotter": [[10, "ffsim-trotter"]], "ffsim.variational": [[11, "ffsim-variational"]], "Welcome to ffsim\u2019s documentation!": [[12, "welcome-to-ffsim-s-documentation"]], "Tutorials": [[12, "tutorials"]], "API Reference": [[12, "api-reference"]], "ffsim module": [[12, "ffsim-module"]], "Submodules": [[12, "submodules"]], "Introduction to ffsim": [[13, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[14, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[14, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[14, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[15, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[15, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[15, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[15, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[15, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[16, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [16, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[16, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Entanglement forging": [[17, "Entanglement-forging"]], "The FermionOperator class": [[18, "The-FermionOperator-class"]]}, "indexentries": {"doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian"]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction"]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator"]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator"]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData"]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian"]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary"]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality"]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator"]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace"]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator"]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action"]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution"]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate"]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation"]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate"]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction"]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction"]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction"]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution"]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation"]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction"]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary"]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq"]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number"]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z"]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant"]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant"]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy"]], "cre() (in module ffsim)": [[0, "ffsim.cre"]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a"]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b"]], "des() (in module ffsim)": [[0, "ffsim.des"]], "des_a() (in module ffsim)": [[0, "ffsim.des_a"]], "des_b() (in module ffsim)": [[0, "ffsim.des_b"]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats"]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta"]], "dim() (in module ffsim)": [[0, "ffsim.dim"]], "dims() (in module ffsim)": [[0, "ffsim.dims"]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals"]], "expectation_power() (in module ffsim)": [[0, "ffsim.expectation_power"]], "expectation_product() (in module ffsim)": [[0, "ffsim.expectation_product"]], "ffsim": [[0, "module-ffsim"]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation"]], "from_hartree_fock() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_hartree_fock"]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian"]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters"]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes"]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian"]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings"]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator"]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order"]], "module": [[0, "module-ffsim"]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state"]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps"]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec"]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb"]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb"]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb"]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb"]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered"]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor"]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor"]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot"]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb"]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations"]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations"]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries"]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized"]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized"]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant"]], "slater_determinant_one_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_one_rdm"]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin"]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation"]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters"]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes"]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation"]], "trace() (in module ffsim)": [[0, "ffsim.trace"]], "two_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_tensor"]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor"]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.gates", "api/ffsim.hamiltonians", "api/ffsim.linalg", "api/ffsim.operators", "api/ffsim.protocols", "api/ffsim.random", "api/ffsim.states", "api/ffsim.testing", "api/ffsim.trotter", "api/ffsim.variational", "index", "tutorials/01-introduction", "tutorials/02-orbital-rotation", "tutorials/03-double-factorized", "tutorials/04-lucj", "tutorials/05-entanglement-forging", "tutorials/06-fermion-operator"], "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.gates.rst", "api/ffsim.hamiltonians.rst", "api/ffsim.linalg.rst", "api/ffsim.operators.rst", "api/ffsim.protocols.rst", "api/ffsim.random.rst", "api/ffsim.states.rst", "api/ffsim.testing.rst", "api/ffsim.trotter.rst", "api/ffsim.variational.rst", "index.rst", "tutorials/01-introduction.ipynb", "tutorials/02-orbital-rotation.ipynb", "tutorials/03-double-factorized.ipynb", "tutorials/04-lucj.ipynb", "tutorials/05-entanglement-forging.ipynb", "tutorials/06-fermion-operator.ipynb"], "titles": ["ffsim", "ffsim.contract", "ffsim.gates", "ffsim.hamiltonians", "ffsim.linalg", "ffsim.operators", "ffsim.protocols", "ffsim.random", "ffsim.states", "ffsim.testing", "ffsim.trotter", "ffsim.variational", "Welcome to ffsim\u2019s documentation!", "Introduction to ffsim", "Orbital rotations and quadratic Hamiltonians", "Diagonal Coulomb operators and double-factorized Trotter simulation", "The local unitary cluster Jastrow (LUCJ) ansatz", "Entanglement forging", "The FermionOperator class"], "terms": {"i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 18], "softwar": [0, 12, 13], "librari": [0, 12, 13], "fast": 0, "simul": [0, 10, 12, 13, 14, 16, 17], "fermion": [0, 2, 5, 12, 13, 14, 16, 18], "quantum": [0, 2, 3, 12, 13, 15, 16], "circuit": [0, 3, 12, 13], "class": [0, 3, 5, 6, 7, 8, 11, 12, 13, 16], "doublefactorizedhamiltonian": [0, 3, 10, 12, 15], "one_body_tensor": [0, 3, 8, 14, 15], "diag_coulomb_mat": [0, 3, 15], "orbital_rot": [0, 1, 2, 3, 8, 11, 13, 14, 15], "constant": [0, 3, 15, 16], "0": [0, 2, 3, 5, 10, 11, 14, 15, 16, 17, 18], "z_represent": [0, 1, 2, 3], "fals": [0, 1, 2, 3, 4, 5, 6, 10, 11, 17, 18], "sourc": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "base": [0, 3, 4, 5, 6, 11, 16, 17], "object": [0, 3, 4, 5, 6, 11, 12, 16, 18], "A": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 14, 15, 16, 18], "hamiltonian": [0, 10, 11, 12, 16, 17], "doubl": [0, 3, 4, 10, 12, 16], "factor": [0, 3, 4, 10, 12, 16], "form": [0, 1, 3, 4, 5, 8, 11, 14, 15, 16, 18], "low": [0, 3, 4, 13], "rank": [0, 3, 4, 7], "decomposit": [0, 3, 4, 10], "The": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "molecular": [0, 3, 16, 17], "h": [0, 3, 15, 16, 17], "sum_": [0, 1, 2, 3, 4, 8, 11, 14, 15, 16], "pq": [0, 3, 4, 8, 15], "sigma": [0, 1, 2, 3, 11, 14, 15, 16], "kappa_": [0, 3], "dagger_": [0, 2, 3, 14, 15], "p": [0, 2, 3, 4, 15, 16], "a_": [0, 2, 3, 14, 15, 18], "q": [0, 3, 15], "frac12": [0, 3, 11, 15, 16], "sum_t": [0, 3], "ij": [0, 1, 2, 3, 4, 11, 14, 15, 16], "tau": [0, 1, 2, 3, 11, 15, 16], "z": [0, 1, 2, 3, 4, 5, 12, 13, 18], "t": [0, 2, 3, 4, 8, 14, 15], "_": [0, 2, 3, 4, 11, 14, 15, 16], "n": [0, 2, 3, 4, 13, 14, 15, 16], "j": [0, 1, 2, 3, 11, 14, 15, 16, 18], "text": [0, 2, 3, 15], "where": [0, 1, 2, 3, 4, 10, 11, 14, 15, 16], "u": [0, 1, 2, 3, 4], "pi": [0, 2, 3, 17], "qi": [0, 3], "here": [0, 3, 4, 13, 14, 15], "each": [0, 3, 4, 5, 10, 11, 13, 15, 16, 18], "unitari": [0, 1, 2, 3, 4, 6, 7, 8, 11, 12, 14, 15], "matrix": [0, 1, 2, 3, 4, 7, 8, 10, 13, 14, 15, 16, 18], "real": [0, 1, 2, 3, 4, 7, 11, 14, 15, 16, 17], "symmetr": [0, 1, 2, 3, 4, 7, 10, 15, 16], "represent": [0, 1, 3, 4, 13, 18], "an": [0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 13, 14, 15, 16, 18], "altern": [0, 3, 15], "sometim": [0, 3], "yield": [0, 3, 4, 11, 15, 16], "simpler": [0, 3], "under": [0, 2, 3], "jordan": [0, 2, 3], "wigner": [0, 2, 3], "transform": [0, 1, 2, 3, 6, 13, 14], "number": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18], "oper": [0, 1, 2, 3, 4, 6, 8, 10, 11, 12, 14, 16, 17, 18], "take": [0, 3, 8, 13, 16], "frac": [0, 3], "1": [0, 2, 3, 4, 5, 7, 8, 10, 11, 13, 14, 15, 16, 17, 18], "2": [0, 1, 2, 3, 4, 5, 7, 8, 13, 14, 15, 16, 17, 18], "pauli": [0, 3], "rotat": [0, 1, 2, 3, 4, 8, 11, 12, 13, 15, 16], "basi": [0, 3, 11, 14, 15, 16, 17], "obtain": [0, 3, 14, 15, 16], "rewrit": [0, 3], "two": [0, 3, 4, 6, 7, 8, 10, 11, 15, 16, 17], "bodi": [0, 1, 3, 4, 5, 7, 8, 10, 15, 16, 17], "part": [0, 3, 4], "term": [0, 1, 2, 3, 4, 5, 10, 11, 15, 16, 18], "updat": [0, 3, 15], "one": [0, 1, 2, 3, 4, 8, 10, 13, 15, 16, 17], "appropri": [0, 3], "kappa": [0, 3], "frac18": [0, 3], "asterisk": [0, 3], "denot": [0, 1, 2, 3, 14], "summat": [0, 3], "over": [0, 3], "indic": [0, 3, 4, 5, 8, 16, 18], "neq": [0, 1, 2, 3], "tensor": [0, 1, 3, 4, 7, 15, 16, 17], "type": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "np": [0, 2, 3, 6, 7, 9, 10, 14, 15, 16, 17], "ndarrai": [0, 1, 2, 3, 4, 6, 7, 8, 10, 11, 15], "diagon": [0, 1, 2, 3, 4, 11, 12, 14, 16], "coulomb": [0, 1, 2, 3, 4, 11, 12, 16], "matric": [0, 1, 3, 4, 8, 11, 14, 15, 16], "orbit": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 15, 16, 18], "float": [0, 2, 3, 4, 6, 7, 10, 15], "whether": [0, 1, 2, 3, 4, 5, 6, 10, 18], "rather": [0, 3, 13], "than": [0, 3, 12, 13, 16], "bool": [0, 1, 2, 3, 4, 5, 6, 10], "static": [0, 3, 11], "from_molecular_hamiltonian": [0, 3, 15], "tol": [0, 3, 4, 11], "1e": [0, 3, 4, 6, 11], "08": [0, 3, 4, 6, 11], "max_vec": [0, 3, 4], "none": [0, 1, 2, 3, 4, 7, 8, 9, 10, 11], "optim": [0, 3, 4, 10, 11, 16, 17], "method": [0, 3, 4, 10, 16, 17], "l": [0, 3, 4, 11, 15, 16], "bfg": [0, 3, 4, 16], "b": [0, 3, 4, 14, 16], "option": [0, 1, 2, 3, 4, 7, 8, 10, 11, 16, 17], "diag_coulomb_mask": [0, 3, 4], "choleski": [0, 3, 4], "true": [0, 2, 3, 4, 5, 6, 10, 13, 16, 18], "act": [0, 3, 5, 18], "h_": [0, 3, 4, 15], "pqr": [0, 3, 4, 15], "r": [0, 3, 4, 8, 15], "": [0, 3, 4, 13, 15, 16, 17, 18], "decompos": [0, 3, 4, 15], "ar": [0, 1, 2, 3, 4, 6, 7, 10, 12, 13, 14, 15, 16, 18], "output": [0, 3, 15, 16], "guarante": [0, 3], "so": [0, 3, 4, 14, 15, 16, 18], "depend": [0, 3, 4, 10, 13], "allow": [0, 2, 3, 4, 16], "error": [0, 3, 4], "threshold": [0, 3, 4], "larger": [0, 3, 4, 5, 18], "lead": [0, 3], "smaller": [0, 3, 4, 5, 15, 18], "furthermor": [0, 3, 4], "max_rank": [0, 3], "paramet": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 16, 17], "specifi": [0, 2, 3, 4, 6, 8, 10, 16], "upper": [0, 3, 4, 16], "bound": [0, 3, 4], "default": [0, 3, 4, 7, 11], "behavior": [0, 3, 4, 7], "thi": [0, 2, 3, 4, 6, 8, 10, 12, 13, 14, 15, 16, 17], "routin": [0, 3, 4, 13, 18], "perform": [0, 3, 4, 11, 14, 15], "straightforward": [0, 3, 4], "exact": [0, 3, 4, 13, 15], "nest": [0, 3, 4], "eigenvalu": [0, 3, 4, 14], "addition": [0, 3, 4], "can": [0, 3, 4, 6, 11, 12, 13, 14, 15, 16, 18], "choos": [0, 3, 4, 13, 16], "coeffici": [0, 1, 2, 3, 4, 5, 11, 14, 16, 18], "store": [0, 3, 4, 15, 16], "achiev": [0, 3, 4, 15], "compress": [0, 3, 4], "enabl": [0, 3, 4], "set": [0, 2, 3, 4, 11, 13, 14, 15, 16], "attempt": [0, 3, 4], "minim": [0, 3, 4, 16, 17], "least": [0, 3, 4], "squar": [0, 3, 4, 16], "function": [0, 1, 2, 3, 4, 6, 8, 10, 13, 14, 15, 16, 17, 18], "quantifi": [0, 3, 4], "It": [0, 2, 3, 4, 6, 10, 13, 15, 18], "us": [0, 1, 2, 3, 4, 7, 10, 12, 13, 14, 15, 16, 18], "scipi": [0, 3, 4, 6, 13, 14, 15, 16, 17, 18], "pass": [0, 3, 4, 14, 18], "both": [0, 2, 3, 4], "its": [0, 2, 3, 4, 6, 8, 10, 14, 15, 18], "gradient": [0, 3, 4], "return": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 16, 17, 18], "constrain": [0, 3, 4], "have": [0, 2, 3, 4, 6, 10, 11, 13, 14, 16, 18], "onli": [0, 2, 3, 4, 13, 14, 16], "certain": [0, 3, 4], "element": [0, 3, 4], "nonzero": [0, 3, 4, 16], "which": [0, 2, 3, 4, 5, 7, 8, 11, 13, 14, 15, 16, 18], "time": [0, 2, 3, 4, 10, 13, 15], "boolean": [0, 3, 4], "valu": [0, 1, 3, 4, 7, 8, 11, 15, 16], "triangular": [0, 3, 4], "becaus": [0, 3, 4, 13, 15, 16, 18], "note": [0, 2, 3, 16, 18], "current": [0, 3], "support": [0, 3, 10, 11, 18], "two_body_tensor": [0, 3, 4, 15], "toler": [0, 3, 4, 6, 16], "defin": [0, 3, 4, 5, 16, 17], "maximum": [0, 3, 4, 7, 17], "absolut": [0, 3, 4, 6], "differ": [0, 1, 2, 3, 4, 11, 16], "between": [0, 1, 2, 3, 4, 16], "origin": [0, 2, 3, 4, 6, 10, 15], "correspond": [0, 3, 4, 14, 15], "reconstruct": [0, 3, 4], "int": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 15, 17], "limit": [0, 3, 4, 16], "keep": [0, 3, 4], "argument": [0, 3, 4, 8, 10, 14], "overrid": [0, 3, 4], "str": [0, 3, 4, 8, 10], "see": [0, 3, 4, 6], "document": [0, 3, 4, 6], "possibl": [0, 2, 3, 4, 6, 10], "callback": [0, 3, 4], "usag": [0, 3, 4, 18], "dict": [0, 3, 4, 5, 16, 17], "mask": [0, 3, 4], "modifi": [0, 2, 3, 4, 6, 10], "If": [0, 1, 2, 3, 4, 6, 7, 10, 18], "full": [0, 3, 4, 13], "instead": [0, 3, 4], "much": [0, 3, 4, 12, 13], "more": [0, 3, 4, 13, 16], "expens": [0, 3, 4], "ignor": [0, 3, 4, 15], "refer": [0, 3, 4, 7, 11, 16], "arxiv": [0, 3, 4, 7], "1808": [0, 3, 4], "02625": [0, 3, 4], "2104": [0, 3, 4], "08957": [0, 3, 4], "properti": [0, 3, 11, 14], "norb": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18], "spatial": [0, 1, 2, 3, 6, 8, 9, 11, 13, 15, 16, 18], "to_number_represent": [0, 3], "to_z_represent": [0, 3], "fermionact": [0, 5, 12], "action": [0, 1, 5, 14, 18], "spin": [0, 1, 2, 5, 11, 12, 13, 14, 16, 17, 18], "orb": [0, 5, 18], "namedtupl": [0, 5], "creat": [0, 5, 13, 14, 15, 16, 18], "new": [0, 5, 14, 18], "instanc": [0, 5, 7, 14, 15], "alia": [0, 5], "field": [0, 5], "fermionoper": [0, 5, 12], "coeff": [0, 1, 2, 5], "repres": [0, 3, 5, 6, 8, 10, 13, 16, 18], "linear": [0, 1, 2, 4, 5, 6, 14, 18], "combin": [0, 1, 2, 5, 14, 18], "product": [0, 2, 5, 8, 15, 18], "creation": [0, 2, 5, 14, 18], "annihil": [0, 5, 18], "tupl": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 15, 18], "complex": [0, 1, 4, 5, 7, 8], "conserves_particle_numb": [0, 5, 18], "conserv": [0, 5, 13, 18], "particl": [0, 5, 8, 9, 12, 13, 14, 18], "otherwis": [0, 5, 6, 10], "conserves_spin_z": [0, 5, 18], "compon": [0, 5, 12, 13, 18], "many_body_ord": [0, 5], "mani": [0, 5, 12], "order": [0, 5, 10, 11, 13, 15, 16, 18], "length": [0, 2, 5, 13, 15, 16], "longest": [0, 5], "contain": [0, 4, 5, 8, 11, 16, 18], "normal_ord": [0, 5, 18], "normal": [0, 5, 18], "equival": [0, 2, 5], "ha": [0, 1, 2, 4, 5, 8, 11, 13, 14, 15, 16, 17], "been": [0, 5, 17], "reorder": [0, 5], "canon": [0, 5], "In": [0, 5, 8, 11, 14, 15, 16, 17, 18], "compris": [0, 5, 18], "appear": [0, 5, 18], "from": [0, 5, 7, 11, 12, 13, 14, 16, 17, 18], "left": [0, 2, 5, 6, 10, 14, 18], "right": [0, 2, 5, 14, 18], "descend": [0, 5, 18], "lexicograph": [0, 5, 18], "That": [0, 5, 14, 18], "all": [0, 5, 8, 16, 18], "befor": [0, 2, 5, 6, 10, 16, 18], "within": [0, 4, 5, 18], "beta": [0, 1, 2, 5, 6, 8, 9, 10, 11, 13, 16, 18], "alpha": [0, 1, 2, 5, 6, 8, 9, 10, 11, 13, 16, 18], "hopgateansatzoper": [0, 11, 12, 17], "interaction_pair": [0, 11, 17], "theta": [0, 2, 11, 17], "hop": [0, 2, 11], "gate": [0, 11, 12, 16], "ansatz": [0, 11, 12, 17], "moleculardata": [0, 12, 15, 16, 17], "nelec": [0, 1, 2, 6, 8, 9, 10, 11, 13, 14, 15, 16, 17, 18], "core_energi": 0, "dipole_integr": 0, "orbital_symmetri": 0, "data": [0, 2, 6, 7, 10, 15, 16, 17, 18], "electron": [0, 1, 2, 6, 7, 8, 9, 10, 11, 13, 15], "core": [0, 4], "energi": [0, 11, 14, 15, 16, 17], "dipol": 0, "integr": 0, "symmetri": [0, 12, 13, 14, 15, 16, 17], "from_hartree_fock": [0, 15, 16, 17], "hartree_fock": [0, 15, 16, 17], "active_spac": [0, 16, 17], "initi": [0, 7, 9, 10, 11, 15, 16, 17], "hartre": [0, 15, 16], "fock": [0, 15, 16], "calcul": [0, 13, 15, 16], "scf": [0, 15, 16, 17], "iter": 0, "list": [0, 1, 2, 4, 8, 9, 16, 17], "activ": [0, 16, 17], "space": [0, 8, 16, 17], "molecularhamiltonian": [0, 3, 12, 15], "call": [0, 3, 13, 14, 15, 18], "supportsapplyunitari": [0, 6, 11, 12], "arg": [0, 6], "kwarg": [0, 6], "protocol": [0, 12], "appli": [0, 1, 2, 4, 6, 8, 13, 14, 15, 16], "vector": [0, 1, 2, 4, 6, 7, 8, 10, 11, 13, 14, 16, 17, 18], "supportsapproximateequ": [0, 6, 12], "compar": [0, 6, 15], "approxim": [0, 4, 6, 15], "supportslinearoper": [0, 6, 11, 12], "convert": [0, 1, 6, 8, 11, 13, 14, 15, 18], "linearoper": [0, 1, 6, 11, 14, 15, 18], "supportstrac": [0, 6, 12], "whose": [0, 4, 6, 13], "trace": [0, 6, 12, 15], "comput": [0, 2, 4, 6, 11, 14, 16, 17], "ucjoper": [0, 11, 12, 16], "diag_coulomb_mats_alpha_alpha": [0, 11], "diag_coulomb_mats_alpha_beta": [0, 11], "final_orbital_rot": [0, 11], "cluster": [0, 11, 12], "jastrow": [0, 11, 12], "ucj": [0, 11], "prod_": [0, 11, 16], "k": [0, 4, 8, 11, 14, 15, 16, 18], "mathcal": [0, 1, 2, 11, 14, 15, 16], "w_k": [0, 11, 16], "e": [0, 2, 10, 11, 15, 16, 17, 18], "_k": [0, 11, 15, 16], "dagger": [0, 1, 2, 4, 8, 11, 14, 15, 16, 18], "mathbf": [0, 11, 14, 15, 16], "n_": [0, 1, 2, 11, 13, 14, 15, 16], "commut": [0, 11, 15, 16], "total": [0, 11, 15, 16], "we": [0, 11, 14, 15, 16, 17, 18], "enforc": [0, 11, 16], "As": [0, 11, 13, 14, 15, 16], "result": [0, 1, 4, 7, 11, 14, 15, 16, 17], "describ": [0, 1, 2, 8, 11, 13, 14, 15, 16, 18], "involv": [0, 11, 16], "same": [0, 11, 13, 16], "To": [0, 11, 13, 14, 15, 16], "variat": [0, 12, 16], "final": [0, 10, 11, 15, 16], "includ": [0, 4, 11, 12, 13, 14, 15], "end": [0, 2, 11, 14, 16], "from_paramet": [0, 11, 16], "param": [0, 11], "n_rep": [0, 11, 16, 17], "alpha_alpha_indic": [0, 11, 16], "alpha_beta_indic": [0, 11, 16], "with_final_orbital_rot": [0, 11], "from_t_amplitud": [0, 11, 16], "t2_amplitud": [0, 4, 11], "t1_amplitud": [0, 11], "t2": [0, 4, 7, 11, 16], "t1": [0, 11, 16], "amplitud": [0, 4, 7, 11, 16], "repetit": [0, 11, 16], "to_paramet": [0, 11, 16], "to_t_amplitud": [0, 11], "nocc": [0, 7, 11], "possibli": [0, 11], "apply_diag_coulomb_evolut": [0, 2, 12, 15], "vec": [0, 1, 2, 4, 6, 10, 13, 14, 15, 18], "mat": [0, 1, 2, 4], "mat_alpha_beta": [0, 1, 2], "occupations_a": [0, 1, 2], "occupations_b": [0, 1, 2], "strings_a": [0, 1, 2], "strings_b": [0, 1, 2], "orbital_rotation_index_a": [0, 2], "orbital_rotation_index_b": [0, 2], "copi": [0, 2, 6, 10, 18], "evolut": [0, 2, 10, 15], "exp": [0, 2, 14], "z_": [0, 1, 2], "also": [0, 1, 2, 6, 10, 14, 18], "given": [0, 1, 2, 4, 10, 14, 15], "place": [0, 1, 2, 6, 8, 10, 16, 18], "sum": [0, 1, 2, 15, 17], "state": [0, 1, 2, 7, 10, 11, 12, 14, 15, 16, 17], "interact": [0, 1, 2, 13], "occupi": [0, 1, 2, 7, 8, 9, 15], "string": [0, 1, 2, 8, 10, 13, 18], "index": [0, 2, 5, 8, 11, 13, 16, 18], "alwai": [0, 2, 4, 6, 10, 14], "newli": [0, 2, 6, 10], "alloc": [0, 2, 6, 10], "untouch": [0, 2, 6, 10], "mai": [0, 2, 4, 6, 10, 16], "still": [0, 2, 6, 10, 16], "overwritten": [0, 2, 6, 10], "evolv": [0, 2, 10, 15], "apply_fsim_g": [0, 2, 12], "phi": [0, 2], "target_orb": [0, 2], "fsim": [0, 2], "consist": [0, 2], "tunnel": [0, 2], "follow": [0, 2, 10, 12, 13, 14, 15, 16, 18], "neg": [0, 2], "sign": [0, 2], "convent": [0, 2], "angl": [0, 2, 17], "nn": [0, 2], "dagger_i": [0, 2], "a_i": [0, 2], "dagger_j": [0, 2], "a_j": [0, 1, 2], "when": [0, 2, 15, 16, 18], "neighbor": [0, 2], "qubit": [0, 2, 16], "begin": [0, 2, 14, 16], "pmatrix": [0, 2], "co": [0, 2, 17], "sin": [0, 2, 17], "apply_givens_rot": [0, 2, 12], "g": [0, 2, 16], "apply_hop_g": [0, 2, 12], "apply_num_interact": [0, 2, 12], "apply_num_num_interact": [0, 2, 12], "apply_num_op_prod_interact": [0, 2, 12], "prod": [0, 2], "sequenc": [0, 2, 8, 11], "pair": [0, 2, 8, 9], "integ": [0, 2, 8], "give": [0, 2, 14], "first": [0, 2, 4, 6, 8, 14, 15, 16, 17], "second": [0, 2, 4, 8, 15, 17], "apply_num_op_sum_evolut": [0, 2, 12, 14, 15], "lambda_i": [0, 1, 2, 14], "rais": [0, 2], "valueerror": [0, 2], "must": [0, 2, 4, 18], "dimension": [0, 2, 4, 10, 13], "apply_orbital_rot": [0, 2, 12, 13, 14], "allow_row_permut": [0, 2], "allow_col_permut": [0, 2], "map": [0, 2, 14, 18], "mapsto": [0, 2, 14], "u_": [0, 2], "ji": [0, 2, 14], "log": [0, 2], "permut": [0, 2, 4], "row": [0, 2, 13], "column": [0, 2, 4, 13, 14], "wa": [0, 2], "well": [0, 2], "actual": [0, 2, 14, 16], "effect": [0, 2, 6, 16], "apply_tunneling_interact": [0, 2, 12], "apply_unitari": [0, 6, 12, 16], "obj": [0, 6], "ani": [0, 6, 14, 16], "approx_eq": [0, 6, 12], "other": [0, 6, 8, 16], "rtol": [0, 4, 6], "05": [0, 4, 6, 16], "atol": [0, 4, 6], "equal": [0, 6], "isclos": [0, 6], "interpret": [0, 6], "rel": [0, 4, 6], "numer": [0, 4, 6, 18], "up": [0, 6, 14], "cre": [0, 5, 12], "cre_a": [0, 5, 12, 18], "cre_b": [0, 5, 12, 18], "de": [0, 5, 12], "destroi": [0, 5, 18], "des_a": [0, 5, 12, 18], "des_b": [0, 5, 12, 18], "dim": [0, 7, 8, 10, 12, 13, 18], "get": [0, 8, 14, 15, 16, 17], "dimens": [0, 7, 8, 10, 13], "fci": [0, 8, 13, 16, 17], "dim_a": [0, 8, 13], "dim_b": [0, 8, 13], "expectation_pow": [0, 8, 12], "one_rdm": [0, 8, 10], "power": [0, 8], "expect": [0, 8, 14], "w": [0, 8, 14, 15], "slater": [0, 8, 10, 13, 14, 15], "determin": [0, 4, 8, 10, 13, 14, 15], "o": [0, 8, 17], "m_": [0, 1, 4, 8], "a_p": [0, 8], "a_q": [0, 8], "m": [0, 1, 4, 8, 14], "let": [0, 8, 15, 18], "lvert": [0, 8, 16], "psi": [0, 8, 16], "rangl": [0, 8, 16], "Then": [0, 8], "quantiti": [0, 8], "langl": [0, 8], "rvert": [0, 8], "reduc": [0, 4, 8, 10], "densiti": [0, 8, 10], "expectation_product": [0, 8, 12], "o_1": [0, 8], "o_2": [0, 8], "dot": [0, 8], "o_k": [0, 8], "indices_to_str": [0, 8, 12], "statevector": [0, 8, 10, 13, 14], "bitstr": [0, 8], "exampl": [0, 8, 13, 14, 16, 18], "3": [0, 8, 13, 14, 15, 16, 17, 18], "rang": [0, 8, 13, 14, 15, 16], "assert": [0, 8, 13], "011001": [0, 8], "011010": [0, 8], "011100": [0, 8], "101001": [0, 8], "101010": [0, 8], "101100": [0, 8], "110001": [0, 8], "110010": [0, 8], "110100": [0, 8], "linear_oper": [0, 6, 12, 15, 16, 17, 18], "multireference_st": [0, 11, 12, 17], "ansatz_oper": [0, 11], "reference_occup": [0, 11, 17], "root": [0, 11], "multirefer": [0, 11], "occup": [0, 11, 13, 14, 15], "desir": [0, 8, 11], "eigenvector": [0, 11, 14], "lowest": [0, 11, 14, 15], "one_hot": [0, 8, 12], "shape": [0, 4, 7, 8, 10, 13, 16], "dtype": [0, 7, 8, 16], "arrai": [0, 4, 8, 10, 13, 18], "zero": [0, 8, 17], "except": [0, 8], "hot": [0, 8], "simulate_qdrift_double_factor": [0, 10, 12], "n_step": [0, 10, 15], "probabl": [0, 10], "norm": [0, 10], "n_sampl": [0, 10], "seed": [0, 7, 9, 10, 13, 14], "via": [0, 10, 15], "qdrift": [0, 10], "trotter": [0, 12], "step": [0, 10, 14, 15], "sampl": [0, 7, 9, 10], "els": [0, 7, 10], "explicit": [0, 10], "proport": [0, 10, 14], "spectral": [0, 10], "uniform": [0, 7, 10], "requir": [0, 10, 16], "whenev": [0, 10], "complet": [0, 10], "character": [0, 10], "trajectori": [0, 10], "pseudorandom": [0, 7, 9, 10], "gener": [0, 7, 9, 10, 12, 13, 14, 15, 16], "should": [0, 7, 9, 10, 14, 15], "valid": [0, 7, 9, 10], "input": [0, 1, 7, 9, 10, 16], "random": [0, 9, 10, 12, 13, 14, 18], "default_rng": [0, 7, 9, 10], "numpi": [0, 4, 10, 13, 14, 15, 16, 17], "just": [0, 10, 15, 16], "simulate_trotter_double_factor": [0, 10, 12, 15], "suzuki": [0, 10], "formula": [0, 10], "slater_determin": [0, 8, 12, 13, 14, 15, 16], "occupied_orbit": [0, 8, 13, 14, 15, 16], "configur": [0, 8, 13], "word": [0, 8, 16], "slater_determinant_one_rdm": [0, 8, 12], "similarli": [0, 8, 15], "construct": [1, 15, 16, 17, 18], "contract_diag_coulomb": 1, "contract_num_op_sum": 1, "diag_coulomb_linop": 1, "implement": [1, 13, 14, 16], "num_op_sum_linop": 1, "one_body_linop": [1, 14], "algebra": [4, 18], "util": [4, 7, 9], "apply_matrix_to_slic": 4, "target": 4, "slice": 4, "out": [4, 15], "double_factor": 4, "ell": 4, "pk": 4, "qk": 4, "respect": 4, "too": 4, "small": 4, "exce": 4, "collect": 4, "double_factorized_t2": 4, "t_": 4, "ijab": 4, "ap": 4, "ip": 4, "bq": 4, "jq": 4, "expm_multiply_taylor": 4, "12": [4, 18], "expm": 4, "taylor": 4, "seri": 4, "expans": 4, "givens_decomposit": 4, "is_antihermitian": 4, "anti": [4, 7], "hermitian": [4, 7, 14], "is_hermitian": 4, "is_orthogon": 4, "orthogon": [4, 7], "union": 4, "bool_": 4, "is_real_symmetr": 4, "is_special_orthogon": 4, "special": [4, 7, 12, 13], "is_unitari": 4, "lup": 4, "pivot": 4, "lu": 4, "rtype": 4, "lower": 4, "unit": 4, "modified_choleski": 4, "v_i": 4, "posit": [4, 17], "definit": 4, "No": 4, "check": [4, 14, 15], "verifi": 4, "1711": 4, "02242": 4, "assembl": 4, "reduced_matrix": 4, "subspac": [4, 18], "span": 4, "some": [4, 15, 18], "v_j": 4, "random_antihermitian": 7, "width": 7, "height": 7, "dype": 7, "random_hermitian": [7, 14], "random_orthogon": 7, "distribut": 7, "haar": 7, "measur": 7, "math": [7, 17], "ph": 7, "0609050": 7, "random_real_symmetric_matrix": 7, "random_special_orthogon": 7, "random_statevector": [7, 18], "random_t2_amplitud": 7, "random_two_body_tensor_r": 7, "random_unitari": [7, 13, 14], "random_nelec": 9, "n_alpha": [9, 13, 14, 15, 16, 17], "n_beta": [9, 13, 14, 15, 16, 17], "random_occupied_orbit": 9, "occ_a": 9, "occ_b": 9, "preserv": [12, 18], "categori": 12, "chemistri": 12, "By": [12, 13], "exploit": 12, "algorithm": 12, "faster": 12, "introduct": 12, "quadrat": [12, 15], "local": 12, "lucj": 12, "entangl": 12, "forg": 12, "expos": 12, "top": 12, "level": [12, 13, 15], "namespac": 12, "avail": 12, "alreadi": [12, 15], "contract": [12, 14], "linalg": [12, 14, 15, 18], "test": [12, 14, 15], "advantag": 13, "effici": [13, 18], "doe": [13, 18], "primari": 13, "wai": [13, 14, 16], "directli": [13, 15], "code": [13, 15, 16, 18], "show": [13, 14, 15, 16, 17, 18], "how": [13, 14, 15, 16, 17, 18], "import": [13, 14, 15, 16, 17, 18], "6": [13, 14, 15, 16, 17, 18], "1234": [13, 14], "rotated_vec": [13, 14], "plain": 13, "Its": 13, "fix": 13, "For": [13, 14, 16, 18], "system": [13, 14], "conveni": 13, "comb": 13, "standard": 13, "often": [13, 16], "simpli": [13, 14], "reshap": 13, "reshaped_vec": 13, "choic": 13, "pyscf": [13, 15, 16, 17], "modul": 13, "tutori": [14, 15, 16, 17], "ffsim": [14, 15, 16, 17, 18], "fundament": 14, "mode": 14, "sum_j": 14, "th": 14, "satisfi": [14, 18], "anticommut": 14, "relat": [14, 16], "thei": [14, 16, 18], "align": [14, 16], "_1": 14, "_2": 14, "section": 14, "ll": [14, 15, 16], "demonstr": [14, 15, 16], "task": 14, "consid": [14, 16], "rewritten": 14, "introduc": [14, 16], "eigendecomposit": 14, "sum_k": [14, 15], "lambda_k": 14, "ik": 14, "jk": 14, "our": [14, 15, 16], "ground": [14, 16], "pick": 14, "phase": 14, "spars": [14, 15, 18], "eig": [14, 18], "eigsh": 14, "la": 14, "fact": 14, "you": 14, "illustr": 14, "purpos": 14, "explicitli": 14, "eigh": [14, 15], "evolved_vec": 14, "conj": 14, "undo": 14, "expected_phas": 14, "1j": [14, 15, 18], "assert_allclos": 14, "mention": [14, 15], "abov": [14, 15, 18], "below": [14, 15, 16], "better": [14, 15], "4": [14, 15, 16, 17, 18], "evolved_vec_alt": 14, "daunt": 15, "scale": 15, "cell": [15, 16], "hydrogen": 15, "molecul": [15, 16, 17], "stretch": [15, 16], "bond": [15, 16, 17], "build": [15, 16, 17], "h2": 15, "mol": [15, 16, 17], "gto": [15, 16, 17], "mole": [15, 16, 17], "atom": [15, 16, 17], "8": [15, 16, 18], "sto": [15, 16, 17], "6g": [15, 16, 17], "d2h": [15, 16], "rhf": [15, 16, 17], "kernel": [15, 16, 17], "mol_data": [15, 16, 17], "mol_hamiltonian": [15, 16, 17], "df_hamiltonian": 15, "converg": [15, 16, 17], "837796382593709": 15, "dataclass": [15, 16], "print": [15, 16, 17, 18], "inform": [15, 18], "One": 15, "27478830e": 15, "01": [15, 16, 17], "52909490e": 15, "17": 15, "5": [15, 16, 17, 18], "57029092e": 15, "77238770e": 15, "52317394": 15, "53354575": 15, "24824057": 15, "55313202": 15, "21318608e": 15, "00": [15, 16, 17], "07792507e": 15, "51465303": 15, "00852091": 15, "70710678": 15, "rest": 15, "although": 15, "built": 15, "manual": 15, "asymmetr": 15, "basic": 15, "h_k": 15, "divid": 15, "singl": 15, "exponenti": 15, "individu": [15, 18], "do": [15, 18], "approx": 15, "prod_k": 15, "higher": 15, "deriv": 15, "write": 15, "recal": 15, "addit": [15, 18], "think": 15, "compos": 15, "def": [15, 16, 17], "simulate_trotter_step_double_factor": 15, "one_body_energi": 15, "one_body_basis_chang": 15, "zip": [15, 17], "finish": 15, "handl": 15, "split": 15, "multipl": [15, 18], "wrote": 15, "step_tim": 15, "match": 15, "initial_st": 15, "\u03c8": [15, 16, 17], "hf_energi": 15, "vdot": [15, 16, 17], "f": [15, 16, 17], "8377963825937084": 15, "now": 15, "later": 15, "exact_st": 15, "expm_multipli": 15, "tracea": 15, "fidel": 15, "ab": 15, "9696296369955066": 15, "7": [15, 16, 18], "final_st": [15, 16], "9990275744083494": 15, "improv": 15, "increas": 15, "10": 15, "9999906233109683": 15, "commonli": 15, "known": 15, "fourth": 15, "reproduc": 15, "9": [15, 16, 17, 18], "fewer": 15, "9999999336740071": 15, "ethen": 16, "mcscf": [16, 17], "bond_dist": 16, "678": 16, "5626": 16, "c": 16, "9289": 16, "nelectron": 16, "ca": [16, 17], "casci": [16, 17], "nca": [16, 17], "neleca": [16, 17], "mo": [16, 17], "sort_mo": [16, 17], "energy_fci": [16, 17], "77": 16, "4456267643961": 16, "6290254326717": 16, "ci": [16, 17], "57322412553862": 16, "0000000": [16, 17], "phi_0": 16, "taken": 16, "express": 16, "previou": 16, "constructor": 16, "provid": 16, "truncat": 16, "ccsd": 16, "mp2": 16, "run": 16, "sinc": 16, "cc": 16, "frozen": 16, "nao_nr": 16, "reference_st": 16, "ansatz_st": [16, 17], "initiali": [16, 17], "49387212754462": 16, "e_corr": 16, "04824536314851294": 16, "46975600021707": 16, "facilit": 16, "convers": 16, "precis": 16, "somewhat": 16, "complic": 16, "short": 16, "entri": 16, "non": 16, "redund": 16, "associ": [16, 18], "fun": [16, 17], "x": [16, 17], "x0": [16, 17], "maxfun": 16, "50000": 16, "len": [16, 17], "72": 16, "messag": [16, 17], "rel_reduction_of_f_": 16, "lt": 16, "_factr": 16, "epsmch": 16, "success": [16, 17], "statu": [16, 17], "62901478093653": 16, "548e": 16, "030e": 16, "487e": 16, "133e": 16, "nit": 16, "201": 16, "jac": 16, "411e": 16, "684e": 16, "695e": 16, "553e": 16, "nfev": [16, 17], "16206": 16, "njev": 16, "222": 16, "hess_inv": 16, "72x72": 16, "lbfgsinvhessproduct": 16, "float64": 16, "gt": 16, "either": 16, "connect": 16, "swap": 16, "network": 16, "make": 16, "challeng": 16, "noisi": 16, "pre": 16, "fault": 16, "processor": 16, "idea": 16, "impos": 16, "sparsiti": 16, "constraint": 16, "them": 16, "depth": 16, "topologi": 16, "triangl": 16, "need": 16, "lattic": 16, "parallel": 16, "line": 16, "rung": 16, "ladder": 16, "With": 16, "setup": 16, "while": 16, "share": 16, "ldot": 16, "without": 16, "Of": 16, "cours": 16, "less": 16, "notic": 16, "decreas": 16, "46": 16, "62872959177449": 16, "398e": 16, "209e": 16, "303e": 16, "817e": 16, "467": 16, "788e": 16, "04": 16, "293e": 16, "390e": 16, "23641": 16, "503": 16, "46x46": 16, "water": 17, "equilibrium": 17, "radius_1": 17, "958": 17, "radius_2": 17, "bond_angle_deg": 17, "104": 17, "478": 17, "h1_x": 17, "h2_x": 17, "180": 17, "h2_y": 17, "c2v": 17, "n_electron": 17, "mo_occ": 17, "75": 17, "6787887956297": 17, "7079508859773": 17, "14": 17, "3336207346502": 17, "reference_occupations_spati": 17, "68366174447621": 17, "cobyla": 17, "maxit": 17, "100": 17, "evalu": 17, "exceed": 17, "69448131142009": 17, "354e": 17, "651e": 17, "02": 17, "863e": 17, "03": 17, "095e": 17, "132e": 17, "maxcv": 17, "25": 18, "Such": 18, "programmat": 18, "dictionari": 18, "hash": 18, "tabl": 18, "three": 18, "piec": 18, "being": 18, "upon": 18, "intern": 18, "itself": 18, "recommend": 18, "helper": 18, "shown": 18, "op1": 18, "repr": 18, "view": 18, "displai": 18, "39": 18, "0j": 18, "arithmet": 18, "multipli": 18, "scalar": 18, "go": 18, "op": 18, "op2": 18, "op3": 18, "5j": 18, "25j": 18, "2j": 18, "0625": 18, "125": 18, "good": 18, "awar": 18, "especi": 18, "avoid": 18, "These": 18, "subtract": 18, "divis": 18, "6j": 18, "3j": 18, "4j": 18, "12j": 18, "far": 18, "criteria": 18, "op4": 18, "linop": 18, "onto": 18, "11830879": 18, "02112505j": 18, "most": 18, "lm": 18, "21984743e": 18, "18j": 18}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_power"], [0, 5, 1, "", "expectation_product"], [0, 5, 1, "", "indices_to_strings"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "one_hot"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_one_rdm"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.MolecularData": [[0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 3, 1, "", "from_hartree_fock"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.UCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"ffsim": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], "contract": 1, "gate": 2, "hamiltonian": [3, 14, 15], "linalg": 4, "oper": [5, 15], "protocol": 6, "random": 7, "state": 8, "test": 9, "trotter": [10, 15], "variat": 11, "welcom": 12, "": 12, "document": 12, "tutori": 12, "api": 12, "refer": 12, "modul": 12, "submodul": 12, "introduct": 13, "orbit": 14, "rotat": 14, "quadrat": 14, "time": 14, "evolut": 14, "diagon": 15, "coulomb": 15, "doubl": 15, "factor": 15, "simul": 15, "represent": 15, "molecular": 15, "brief": 15, "background": 15, "suzuki": 15, "formula": 15, "implement": 15, "The": [16, 18], "local": 16, "unitari": 16, "cluster": 16, "jastrow": 16, "lucj": 16, "ansatz": 16, "ucj": 16, "entangl": 17, "forg": 17, "fermionoper": 18, "class": 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": [[0, "module-ffsim"]], "ffsim.contract": [[1, "ffsim-contract"]], "ffsim.gates": [[2, "ffsim-gates"]], "ffsim.hamiltonians": [[3, "ffsim-hamiltonians"]], "ffsim.linalg": [[4, "ffsim-linalg"]], "ffsim.operators": [[5, "ffsim-operators"]], "ffsim.protocols": [[6, "ffsim-protocols"]], "ffsim.random": [[7, "ffsim-random"]], "ffsim.states": [[8, "ffsim-states"]], "ffsim.testing": [[9, "ffsim-testing"]], "ffsim.trotter": [[10, "ffsim-trotter"]], "ffsim.variational": [[11, "ffsim-variational"]], "Welcome to ffsim\u2019s documentation!": [[12, "welcome-to-ffsim-s-documentation"]], "Tutorials": [[12, "tutorials"]], "API Reference": [[12, "api-reference"]], "ffsim module": [[12, "ffsim-module"]], "Submodules": [[12, "submodules"]], "Introduction to ffsim": [[13, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[14, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[14, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[14, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[15, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[15, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[15, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[15, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[15, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[16, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [16, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[16, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Entanglement forging": [[17, "Entanglement-forging"]], "The FermionOperator class": [[18, "The-FermionOperator-class"]]}, "indexentries": {"doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian"]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction"]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator"]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator"]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData"]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian"]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary"]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality"]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator"]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace"]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator"]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action"]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution"]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate"]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation"]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate"]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction"]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction"]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction"]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution"]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation"]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction"]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary"]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq"]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number"]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z"]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant"]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant"]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy"]], "cre() (in module ffsim)": [[0, "ffsim.cre"]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a"]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b"]], "des() (in module ffsim)": [[0, "ffsim.des"]], "des_a() (in module ffsim)": [[0, "ffsim.des_a"]], "des_b() (in module ffsim)": [[0, "ffsim.des_b"]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats"]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta"]], "dim() (in module ffsim)": [[0, "ffsim.dim"]], "dims() (in module ffsim)": [[0, "ffsim.dims"]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals"]], "expectation_power() (in module ffsim)": [[0, "ffsim.expectation_power"]], "expectation_product() (in module ffsim)": [[0, "ffsim.expectation_product"]], "ffsim": [[0, "module-ffsim"]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation"]], "from_hartree_fock() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_hartree_fock"]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian"]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters"]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes"]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian"]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings"]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator"]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order"]], "module": [[0, "module-ffsim"]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state"]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps"]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec"]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb"]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb"]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb"]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb"]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered"]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor"]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor"]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot"]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb"]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations"]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations"]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries"]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized"]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized"]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant"]], "slater_determinant_one_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_one_rdm"]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin"]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation"]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters"]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes"]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation"]], "trace() (in module ffsim)": [[0, "ffsim.trace"]], "two_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_tensor"]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor"]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation"]]}}) \ No newline at end of file diff --git a/tutorials/01-introduction.ipynb b/tutorials/01-introduction.ipynb index 7c97f92d2..eb6296423 100644 --- a/tutorials/01-introduction.ipynb +++ b/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:54.675927Z", - "iopub.status.busy": "2023-10-25T20:21:54.675704Z", - "iopub.status.idle": "2023-10-25T20:21:54.970497Z", - "shell.execute_reply": "2023-10-25T20:21:54.969938Z" + "iopub.execute_input": "2023-10-25T20:35:03.177848Z", + "iopub.status.busy": "2023-10-25T20:35:03.177651Z", + "iopub.status.idle": "2023-10-25T20:35:03.459674Z", + "shell.execute_reply": "2023-10-25T20:35:03.459100Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:54.973864Z", - "iopub.status.busy": "2023-10-25T20:21:54.973471Z", - "iopub.status.idle": "2023-10-25T20:21:54.978330Z", - "shell.execute_reply": "2023-10-25T20:21:54.977824Z" + "iopub.execute_input": "2023-10-25T20:35:03.463614Z", + "iopub.status.busy": "2023-10-25T20:35:03.462457Z", + "iopub.status.idle": "2023-10-25T20:35:03.467607Z", + "shell.execute_reply": "2023-10-25T20:35:03.467142Z" } }, "outputs": [], @@ -93,10 +93,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:54.980716Z", - "iopub.status.busy": "2023-10-25T20:21:54.980477Z", - "iopub.status.idle": "2023-10-25T20:21:54.984122Z", - "shell.execute_reply": "2023-10-25T20:21:54.983581Z" + "iopub.execute_input": "2023-10-25T20:35:03.471408Z", + "iopub.status.busy": "2023-10-25T20:35:03.470463Z", + "iopub.status.idle": "2023-10-25T20:35:03.474338Z", + "shell.execute_reply": "2023-10-25T20:35:03.473884Z" } }, "outputs": [], diff --git a/tutorials/02-orbital-rotation.ipynb b/tutorials/02-orbital-rotation.ipynb index 6473e7148..fa69ae294 100644 --- a/tutorials/02-orbital-rotation.ipynb +++ b/tutorials/02-orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:56.483934Z", - "iopub.status.busy": "2023-10-25T20:21:56.483369Z", - "iopub.status.idle": "2023-10-25T20:21:56.779886Z", - "shell.execute_reply": "2023-10-25T20:21:56.779271Z" + "iopub.execute_input": "2023-10-25T20:35:04.971468Z", + "iopub.status.busy": "2023-10-25T20:35:04.971111Z", + "iopub.status.idle": "2023-10-25T20:35:05.249674Z", + "shell.execute_reply": "2023-10-25T20:35:05.249132Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:56.783618Z", - "iopub.status.busy": "2023-10-25T20:21:56.783130Z", - "iopub.status.idle": "2023-10-25T20:21:56.809491Z", - "shell.execute_reply": "2023-10-25T20:21:56.808959Z" + "iopub.execute_input": "2023-10-25T20:35:05.253297Z", + "iopub.status.busy": "2023-10-25T20:35:05.252823Z", + "iopub.status.idle": "2023-10-25T20:35:05.277147Z", + "shell.execute_reply": "2023-10-25T20:35:05.276659Z" } }, "outputs": [], @@ -158,10 +158,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:56.813179Z", - "iopub.status.busy": "2023-10-25T20:21:56.812782Z", - "iopub.status.idle": "2023-10-25T20:21:56.823844Z", - "shell.execute_reply": "2023-10-25T20:21:56.823334Z" + "iopub.execute_input": "2023-10-25T20:35:05.280112Z", + "iopub.status.busy": "2023-10-25T20:35:05.279739Z", + "iopub.status.idle": "2023-10-25T20:35:05.294878Z", + "shell.execute_reply": "2023-10-25T20:35:05.294367Z" } }, "outputs": [], @@ -201,10 +201,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:56.827505Z", - "iopub.status.busy": "2023-10-25T20:21:56.827212Z", - "iopub.status.idle": "2023-10-25T20:21:56.832798Z", - "shell.execute_reply": "2023-10-25T20:21:56.832278Z" + "iopub.execute_input": "2023-10-25T20:35:05.297632Z", + "iopub.status.busy": "2023-10-25T20:35:05.297293Z", + "iopub.status.idle": "2023-10-25T20:35:05.303392Z", + "shell.execute_reply": "2023-10-25T20:35:05.302944Z" } }, "outputs": [], diff --git a/tutorials/03-double-factorized.html b/tutorials/03-double-factorized.html index a61ae687d..b29bd0431 100644 --- a/tutorials/03-double-factorized.html +++ b/tutorials/03-double-factorized.html @@ -135,44 +135,44 @@

Double-factorized representation of the molecular Hamiltonian
-Fidelity of Trotter-evolved state with exact state: 0.9999906233109686
+Fidelity of Trotter-evolved state with exact state: 0.9999906233109683
 

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

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

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

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

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

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

diff --git a/tutorials/03-double-factorized.ipynb b/tutorials/03-double-factorized.ipynb index f1ae49482..9420e0f89 100644 --- a/tutorials/03-double-factorized.ipynb +++ b/tutorials/03-double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.554855Z", - "iopub.status.busy": "2023-10-25T20:21:58.554654Z", - "iopub.status.idle": "2023-10-25T20:21:58.952682Z", - "shell.execute_reply": "2023-10-25T20:21:58.952002Z" + "iopub.execute_input": "2023-10-25T20:35:06.830652Z", + "iopub.status.busy": "2023-10-25T20:35:06.830244Z", + "iopub.status.idle": "2023-10-25T20:35:07.218102Z", + "shell.execute_reply": "2023-10-25T20:35:07.217498Z" } }, "outputs": [ @@ -92,10 +92,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.956199Z", - "iopub.status.busy": "2023-10-25T20:21:58.955678Z", - "iopub.status.idle": "2023-10-25T20:21:58.962350Z", - "shell.execute_reply": "2023-10-25T20:21:58.961820Z" + "iopub.execute_input": "2023-10-25T20:35:07.222122Z", + "iopub.status.busy": "2023-10-25T20:35:07.221083Z", + "iopub.status.idle": "2023-10-25T20:35:07.228822Z", + "shell.execute_reply": "2023-10-25T20:35:07.228363Z" } }, "outputs": [ @@ -110,44 +110,44 @@ " [-5.57029092e-17 -6.77238770e-01]]\n", "\n", "Two-body tensor:\n", - "[[[[5.23173938e-01 3.58782168e-17]\n", - " [3.58782168e-17 5.33545754e-01]]\n", + "[[[[0.52317394 0. ]\n", + " [0. 0.53354575]]\n", "\n", - " [[2.49859013e-17 2.48240570e-01]\n", - " [2.48240570e-01 4.83067333e-17]]]\n", + " [[0. 0.24824057]\n", + " [0.24824057 0. ]]]\n", "\n", "\n", - " [[[2.49859013e-17 2.48240570e-01]\n", - " [2.48240570e-01 4.83067333e-17]]\n", + " [[[0. 0.24824057]\n", + " [0.24824057 0. ]]\n", "\n", - " [[5.33545754e-01 4.01841799e-17]\n", - " [4.01841799e-17 5.53132024e-01]]]]\n", + " [[0.53354575 0. ]\n", + " [0. 0.55313202]]]]\n", "\n", "Double-factorized representation\n", "--------------------------------\n", "One-body tensor:\n", - "[[-1.21318608e+00 -1.27383424e-16]\n", - " [-8.82879498e-17 -1.07792507e+00]]\n", + "[[-1.21318608e+00 -8.52909490e-17]\n", + " [-5.57029092e-17 -1.07792507e+00]]\n", "\n", "Diagonal Coulomb matrices:\n", - "[[[ 5.14653029e-01 5.33545754e-01]\n", - " [ 5.33545754e-01 5.53132024e-01]]\n", + "[[[ 0.51465303 0.53354575]\n", + " [ 0.53354575 0.55313202]]\n", "\n", - " [[ 2.48240570e-01 -2.48240570e-01]\n", - " [-2.48240570e-01 2.48240570e-01]]\n", + " [[ 0.24824057 -0.24824057]\n", + " [-0.24824057 0.24824057]]\n", "\n", - " [[ 2.27521846e-62 -1.39236953e-32]\n", - " [-1.39236953e-32 8.52090881e-03]]]\n", + " [[ 0. 0. ]\n", + " [ 0. 0.00852091]]]\n", "\n", "Orbital rotations:\n", - "[[[ 1.00000000e+00 0.00000000e+00]\n", - " [ 0.00000000e+00 1.00000000e+00]]\n", + "[[[ 1. 0. ]\n", + " [ 0. 1. ]]\n", "\n", - " [[-7.07106781e-01 -7.07106781e-01]\n", - " [ 7.07106781e-01 -7.07106781e-01]]\n", + " [[-0.70710678 0.70710678]\n", + " [ 0.70710678 0.70710678]]\n", "\n", - " [[-1.27830444e-15 -1.00000000e+00]\n", - " [-1.00000000e+00 1.27830444e-15]]]\n" + " [[ 0. 1. ]\n", + " [ 1. 0. ]]]\n" ] } ], @@ -226,10 +226,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.964994Z", - "iopub.status.busy": "2023-10-25T20:21:58.964800Z", - "iopub.status.idle": "2023-10-25T20:21:58.969237Z", - "shell.execute_reply": "2023-10-25T20:21:58.968662Z" + "iopub.execute_input": "2023-10-25T20:35:07.231721Z", + "iopub.status.busy": "2023-10-25T20:35:07.231326Z", + "iopub.status.idle": "2023-10-25T20:35:07.235822Z", + "shell.execute_reply": "2023-10-25T20:35:07.235383Z" } }, "outputs": [], @@ -284,10 +284,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.971561Z", - "iopub.status.busy": "2023-10-25T20:21:58.971370Z", - "iopub.status.idle": "2023-10-25T20:21:58.975805Z", - "shell.execute_reply": "2023-10-25T20:21:58.975300Z" + "iopub.execute_input": "2023-10-25T20:35:07.238237Z", + "iopub.status.busy": "2023-10-25T20:35:07.237944Z", + "iopub.status.idle": "2023-10-25T20:35:07.241544Z", + "shell.execute_reply": "2023-10-25T20:35:07.241102Z" } }, "outputs": [], @@ -324,10 +324,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.978437Z", - "iopub.status.busy": "2023-10-25T20:21:58.978080Z", - "iopub.status.idle": "2023-10-25T20:21:58.982595Z", - "shell.execute_reply": "2023-10-25T20:21:58.982136Z" + "iopub.execute_input": "2023-10-25T20:35:07.244003Z", + "iopub.status.busy": "2023-10-25T20:35:07.243667Z", + "iopub.status.idle": "2023-10-25T20:35:07.248163Z", + "shell.execute_reply": "2023-10-25T20:35:07.247733Z" } }, "outputs": [ @@ -366,10 +366,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.985006Z", - "iopub.status.busy": "2023-10-25T20:21:58.984666Z", - "iopub.status.idle": "2023-10-25T20:21:58.993265Z", - "shell.execute_reply": "2023-10-25T20:21:58.992815Z" + "iopub.execute_input": "2023-10-25T20:35:07.250637Z", + "iopub.status.busy": "2023-10-25T20:35:07.250292Z", + "iopub.status.idle": "2023-10-25T20:35:07.259162Z", + "shell.execute_reply": "2023-10-25T20:35:07.258584Z" } }, "outputs": [ @@ -408,10 +408,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:58.995587Z", - "iopub.status.busy": "2023-10-25T20:21:58.995290Z", - "iopub.status.idle": "2023-10-25T20:21:59.002511Z", - "shell.execute_reply": "2023-10-25T20:21:59.002043Z" + "iopub.execute_input": "2023-10-25T20:35:07.261363Z", + "iopub.status.busy": "2023-10-25T20:35:07.261182Z", + "iopub.status.idle": "2023-10-25T20:35:07.268841Z", + "shell.execute_reply": "2023-10-25T20:35:07.268302Z" } }, "outputs": [ @@ -449,10 +449,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:59.004680Z", - "iopub.status.busy": "2023-10-25T20:21:59.004486Z", - "iopub.status.idle": "2023-10-25T20:21:59.041121Z", - "shell.execute_reply": "2023-10-25T20:21:59.040653Z" + "iopub.execute_input": "2023-10-25T20:35:07.272245Z", + "iopub.status.busy": "2023-10-25T20:35:07.271971Z", + "iopub.status.idle": "2023-10-25T20:35:07.310868Z", + "shell.execute_reply": "2023-10-25T20:35:07.310326Z" } }, "outputs": [ @@ -460,7 +460,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109686\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999906233109683\n" ] } ], @@ -492,10 +492,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:59.043638Z", - "iopub.status.busy": "2023-10-25T20:21:59.043332Z", - "iopub.status.idle": "2023-10-25T20:21:59.070826Z", - "shell.execute_reply": "2023-10-25T20:21:59.070341Z" + "iopub.execute_input": "2023-10-25T20:35:07.313500Z", + "iopub.status.busy": "2023-10-25T20:35:07.313201Z", + "iopub.status.idle": "2023-10-25T20:35:07.345334Z", + "shell.execute_reply": "2023-10-25T20:35:07.344444Z" } }, "outputs": [ @@ -503,7 +503,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999906233109686\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999906233109683\n" ] } ], @@ -534,10 +534,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:21:59.073522Z", - "iopub.status.busy": "2023-10-25T20:21:59.073215Z", - "iopub.status.idle": "2023-10-25T20:21:59.085212Z", - "shell.execute_reply": "2023-10-25T20:21:59.084766Z" + "iopub.execute_input": "2023-10-25T20:35:07.347751Z", + "iopub.status.busy": "2023-10-25T20:35:07.347571Z", + "iopub.status.idle": "2023-10-25T20:35:07.361969Z", + "shell.execute_reply": "2023-10-25T20:35:07.361089Z" } }, "outputs": [ @@ -545,7 +545,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999999336740067\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999999336740071\n" ] } ], diff --git a/tutorials/04-lucj.html b/tutorials/04-lucj.html index 1a818ce87..71e1918e6 100644 --- a/tutorials/04-lucj.html +++ b/tutorials/04-lucj.html @@ -95,7 +95,7 @@

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

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -77.49387212754471  E_corr = -0.04824536314851481
-Energy at initialialization: -77.46975600021685
+E(CCSD) = -77.49387212754462  E_corr = -0.04824536314851294
+Energy at initialialization: -77.46975600021707
 

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

@@ -192,12 +192,12 @@

The unitary cluster Jastrow (UCJ) ansatz\n" ] } @@ -251,10 +251,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:22:56.087244Z", - "iopub.status.busy": "2023-10-25T20:22:56.086919Z", - "iopub.status.idle": "2023-10-25T20:24:15.899979Z", - "shell.execute_reply": "2023-10-25T20:24:15.899402Z" + "iopub.execute_input": "2023-10-25T20:35:55.831065Z", + "iopub.status.busy": "2023-10-25T20:35:55.830860Z", + "iopub.status.idle": "2023-10-25T20:37:01.553068Z", + "shell.execute_reply": "2023-10-25T20:37:01.552567Z" } }, "outputs": [ @@ -266,12 +266,12 @@ " message: CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH\n", " success: True\n", " status: 0\n", - " fun: -77.6280696593387\n", - " x: [ 2.256e+00 4.570e-01 ... -6.100e-01 4.518e-02]\n", - " nit: 586\n", - " jac: [ 6.963e-05 7.674e-05 ... 2.615e-04 -3.823e-04]\n", - " nfev: 28905\n", - " njev: 615\n", + " fun: -77.62872959177449\n", + " x: [-4.398e-01 1.209e+00 ... 9.303e-01 -3.817e-01]\n", + " nit: 467\n", + " jac: [ 7.788e-04 -1.293e-04 ... 5.684e-05 7.390e-05]\n", + " nfev: 23641\n", + " njev: 503\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" ] } diff --git a/tutorials/05-entanglement-forging.html b/tutorials/05-entanglement-forging.html index ee12b570a..e25281439 100644 --- a/tutorials/05-entanglement-forging.html +++ b/tutorials/05-entanglement-forging.html @@ -139,7 +139,7 @@

Entanglement forging
-Energy at initialialization: -75.68366174447618
+Energy at initialialization: -75.68366174447621
 
@@ -99,7 +99,7 @@

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

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

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

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

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

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

The FermionOperator class
-array([0.        +0.j        , 0.        +0.j        ,
-       0.        +0.j        , 0.        +0.j        ,
-       0.14019459+0.05152728j, 0.        +0.j        ,
-       0.        +0.j        , 0.        +0.j        ,
-       0.        +0.j        ])
+array([ 0.        +0.j        ,  0.        +0.j        ,
+        0.        +0.j        ,  0.        +0.j        ,
+       -0.11830879-0.02112505j,  0.        +0.j        ,
+        0.        +0.j        ,  0.        +0.j        ,
+        0.        +0.j        ])
 

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

diff --git a/tutorials/06-fermion-operator.ipynb b/tutorials/06-fermion-operator.ipynb index 1be1409fa..dc8cac7d6 100644 --- a/tutorials/06-fermion-operator.ipynb +++ b/tutorials/06-fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.457139Z", - "iopub.status.busy": "2023-10-25T20:24:21.456721Z", - "iopub.status.idle": "2023-10-25T20:24:21.754896Z", - "shell.execute_reply": "2023-10-25T20:24:21.754301Z" + "iopub.execute_input": "2023-10-25T20:37:06.834339Z", + "iopub.status.busy": "2023-10-25T20:37:06.833983Z", + "iopub.status.idle": "2023-10-25T20:37:07.114724Z", + "shell.execute_reply": "2023-10-25T20:37:07.114192Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", " (cre_a(0), des_a(3)): 0.5,\n", - " (cre_a(3), des_a(0)): -0.25\n", + " (cre_a(3), des_a(0)): -0.25,\n", + " (cre_b(1), des_b(5), cre_a(4)): 1+1j\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.757956Z", - "iopub.status.busy": "2023-10-25T20:24:21.757656Z", - "iopub.status.idle": "2023-10-25T20:24:21.766508Z", - "shell.execute_reply": "2023-10-25T20:24:21.762905Z" + "iopub.execute_input": "2023-10-25T20:37:07.118784Z", + "iopub.status.busy": "2023-10-25T20:37:07.117777Z", + "iopub.status.idle": "2023-10-25T20:37:07.123505Z", + "shell.execute_reply": "2023-10-25T20:37:07.123048Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" + "'FermionOperator({((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.769556Z", - "iopub.status.busy": "2023-10-25T20:24:21.769352Z", - "iopub.status.idle": "2023-10-25T20:24:21.775327Z", - "shell.execute_reply": "2023-10-25T20:24:21.774828Z" + "iopub.execute_input": "2023-10-25T20:37:07.127103Z", + "iopub.status.busy": "2023-10-25T20:37:07.126199Z", + "iopub.status.idle": "2023-10-25T20:37:07.132512Z", + "shell.execute_reply": "2023-10-25T20:37:07.132066Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_b(2)): 0-0.25j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", " (cre_a(0), des_a(3)): 1,\n", + " (cre_a(3), des_a(0)): -0.5,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", + " (cre_b(2)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", " (des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", - " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", - " (cre_a(3), des_a(0)): -0.5,\n", - " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.777921Z", - "iopub.status.busy": "2023-10-25T20:24:21.777727Z", - "iopub.status.idle": "2023-10-25T20:24:21.783143Z", - "shell.execute_reply": "2023-10-25T20:24:21.782591Z" + "iopub.execute_input": "2023-10-25T20:37:07.136109Z", + "iopub.status.busy": "2023-10-25T20:37:07.135213Z", + "iopub.status.idle": "2023-10-25T20:37:07.140929Z", + "shell.execute_reply": "2023-10-25T20:37:07.140482Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_b(2)): -5,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", + " (cre_b(2)): -5,\n", + " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", - " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1\n", + " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.785979Z", - "iopub.status.busy": "2023-10-25T20:24:21.785785Z", - "iopub.status.idle": "2023-10-25T20:24:21.790767Z", - "shell.execute_reply": "2023-10-25T20:24:21.790264Z" + "iopub.execute_input": "2023-10-25T20:37:07.144466Z", + "iopub.status.busy": "2023-10-25T20:37:07.143573Z", + "iopub.status.idle": "2023-10-25T20:37:07.149049Z", + "shell.execute_reply": "2023-10-25T20:37:07.148600Z" } }, "outputs": [ @@ -231,15 +231,15 @@ "text/plain": [ "FermionOperator({\n", " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", - " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_b(2)): -5,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (cre_b(2), cre_a(3), des_a(0)): -1,\n", + " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", - " (cre_b(2)): -5\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.793387Z", - "iopub.status.busy": "2023-10-25T20:24:21.793193Z", - "iopub.status.idle": "2023-10-25T20:24:21.797643Z", - "shell.execute_reply": "2023-10-25T20:24:21.797144Z" + "iopub.execute_input": "2023-10-25T20:37:07.152630Z", + "iopub.status.busy": "2023-10-25T20:37:07.151744Z", + "iopub.status.idle": "2023-10-25T20:37:07.156781Z", + "shell.execute_reply": "2023-10-25T20:37:07.156331Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.800381Z", - "iopub.status.busy": "2023-10-25T20:24:21.800192Z", - "iopub.status.idle": "2023-10-25T20:24:21.805824Z", - "shell.execute_reply": "2023-10-25T20:24:21.805322Z" + "iopub.execute_input": "2023-10-25T20:37:07.160764Z", + "iopub.status.busy": "2023-10-25T20:37:07.159841Z", + "iopub.status.idle": "2023-10-25T20:37:07.166312Z", + "shell.execute_reply": "2023-10-25T20:37:07.165878Z" } }, "outputs": [ @@ -340,21 +340,21 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.808537Z", - "iopub.status.busy": "2023-10-25T20:24:21.808342Z", - "iopub.status.idle": "2023-10-25T20:24:21.816002Z", - "shell.execute_reply": "2023-10-25T20:24:21.815505Z" + "iopub.execute_input": "2023-10-25T20:37:07.170009Z", + "iopub.status.busy": "2023-10-25T20:37:07.169123Z", + "iopub.status.idle": "2023-10-25T20:37:07.176665Z", + "shell.execute_reply": "2023-10-25T20:37:07.176224Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([0. +0.j , 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0.14019459+0.05152728j, 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0. +0.j ])" + "array([ 0. +0.j , 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " -0.11830879-0.02112505j, 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0. +0.j ])" ] }, "execution_count": 8, @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-25T20:24:21.818749Z", - "iopub.status.busy": "2023-10-25T20:24:21.818558Z", - "iopub.status.idle": "2023-10-25T20:24:21.831581Z", - "shell.execute_reply": "2023-10-25T20:24:21.831134Z" + "iopub.execute_input": "2023-10-25T20:37:07.180124Z", + "iopub.status.busy": "2023-10-25T20:37:07.179254Z", + "iopub.status.idle": "2023-10-25T20:37:07.190877Z", + "shell.execute_reply": "2023-10-25T20:37:07.190428Z" } }, "outputs": [