diff --git a/.doctrees/api/ffsim.doctree b/.doctrees/api/ffsim.doctree index f44043638..b54f86763 100644 Binary files a/.doctrees/api/ffsim.doctree and b/.doctrees/api/ffsim.doctree differ diff --git a/.doctrees/api/ffsim.qiskit.doctree b/.doctrees/api/ffsim.qiskit.doctree index bd4cdc7ea..404e20a2d 100644 Binary files a/.doctrees/api/ffsim.qiskit.doctree and b/.doctrees/api/ffsim.qiskit.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index b4b5b5330..566ec8a10 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/how-to-guides/entanglement-forging.doctree b/.doctrees/how-to-guides/entanglement-forging.doctree index c3f05dd4c..5baf8e8ec 100644 Binary files a/.doctrees/how-to-guides/entanglement-forging.doctree and b/.doctrees/how-to-guides/entanglement-forging.doctree differ diff --git a/.doctrees/how-to-guides/fermion-operator.doctree b/.doctrees/how-to-guides/fermion-operator.doctree index 9d8539af8..dd5c55cff 100644 Binary files a/.doctrees/how-to-guides/fermion-operator.doctree and b/.doctrees/how-to-guides/fermion-operator.doctree differ diff --git a/.doctrees/how-to-guides/lucj.doctree b/.doctrees/how-to-guides/lucj.doctree index 0a303834c..d1a1eb0c9 100644 Binary files a/.doctrees/how-to-guides/lucj.doctree and b/.doctrees/how-to-guides/lucj.doctree differ diff --git a/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb b/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb index ddacaccdc..34082a168 100644 --- a/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb +++ b/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb @@ -26,10 +26,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.034170Z", - "iopub.status.busy": "2024-04-22T16:04:27.033982Z", - "iopub.status.idle": "2024-04-22T16:04:27.644213Z", - "shell.execute_reply": "2024-04-22T16:04:27.643569Z" + "iopub.execute_input": "2024-04-23T00:56:43.202469Z", + "iopub.status.busy": "2024-04-23T00:56:43.202092Z", + "iopub.status.idle": "2024-04-23T00:56:43.809927Z", + "shell.execute_reply": "2024-04-23T00:56:43.809149Z" } }, "outputs": [ @@ -74,10 +74,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.679076Z", - "iopub.status.busy": "2024-04-22T16:04:27.678605Z", - "iopub.status.idle": "2024-04-22T16:04:27.685994Z", - "shell.execute_reply": "2024-04-22T16:04:27.685515Z" + "iopub.execute_input": "2024-04-23T00:56:43.847691Z", + "iopub.status.busy": "2024-04-23T00:56:43.847206Z", + "iopub.status.idle": "2024-04-23T00:56:43.854665Z", + "shell.execute_reply": "2024-04-23T00:56:43.853953Z" } }, "outputs": [ @@ -118,10 +118,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.688245Z", - "iopub.status.busy": "2024-04-22T16:04:27.688026Z", - "iopub.status.idle": "2024-04-22T16:04:27.692253Z", - "shell.execute_reply": "2024-04-22T16:04:27.691737Z" + "iopub.execute_input": "2024-04-23T00:56:43.857118Z", + "iopub.status.busy": "2024-04-23T00:56:43.856763Z", + "iopub.status.idle": "2024-04-23T00:56:43.861439Z", + "shell.execute_reply": "2024-04-23T00:56:43.860789Z" } }, "outputs": [ @@ -155,10 +155,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.694337Z", - "iopub.status.busy": "2024-04-22T16:04:27.694144Z", - "iopub.status.idle": "2024-04-22T16:04:27.698059Z", - "shell.execute_reply": "2024-04-22T16:04:27.697487Z" + "iopub.execute_input": "2024-04-23T00:56:43.864235Z", + "iopub.status.busy": "2024-04-23T00:56:43.863975Z", + "iopub.status.idle": "2024-04-23T00:56:43.869414Z", + "shell.execute_reply": "2024-04-23T00:56:43.868838Z" } }, "outputs": [ @@ -197,10 +197,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.700411Z", - "iopub.status.busy": "2024-04-22T16:04:27.700045Z", - "iopub.status.idle": "2024-04-22T16:04:27.704279Z", - "shell.execute_reply": "2024-04-22T16:04:27.703790Z" + "iopub.execute_input": "2024-04-23T00:56:43.872093Z", + "iopub.status.busy": "2024-04-23T00:56:43.871820Z", + "iopub.status.idle": "2024-04-23T00:56:43.876892Z", + "shell.execute_reply": "2024-04-23T00:56:43.876286Z" } }, "outputs": [], @@ -226,10 +226,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.706624Z", - "iopub.status.busy": "2024-04-22T16:04:27.706264Z", - "iopub.status.idle": "2024-04-22T16:04:27.737466Z", - "shell.execute_reply": "2024-04-22T16:04:27.737023Z" + "iopub.execute_input": "2024-04-23T00:56:43.879830Z", + "iopub.status.busy": "2024-04-23T00:56:43.879301Z", + "iopub.status.idle": "2024-04-23T00:56:43.909737Z", + "shell.execute_reply": "2024-04-23T00:56:43.909076Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb b/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb index cbe2dce4e..039c09dbc 100644 --- a/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb +++ b/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:29.288977Z", - "iopub.status.busy": "2024-04-22T16:04:29.288522Z", - "iopub.status.idle": "2024-04-22T16:04:30.093700Z", - "shell.execute_reply": "2024-04-22T16:04:30.093049Z" + "iopub.execute_input": "2024-04-23T00:56:45.520052Z", + "iopub.status.busy": "2024-04-23T00:56:45.519860Z", + "iopub.status.idle": "2024-04-23T00:56:46.315631Z", + "shell.execute_reply": "2024-04-23T00:56:46.315040Z" } }, "outputs": [ @@ -80,10 +80,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:30.097967Z", - "iopub.status.busy": "2024-04-22T16:04:30.096867Z", - "iopub.status.idle": "2024-04-22T16:04:30.176612Z", - "shell.execute_reply": "2024-04-22T16:04:30.175995Z" + "iopub.execute_input": "2024-04-23T00:56:46.319829Z", + "iopub.status.busy": "2024-04-23T00:56:46.318731Z", + "iopub.status.idle": "2024-04-23T00:56:46.399162Z", + "shell.execute_reply": "2024-04-23T00:56:46.398592Z" } }, "outputs": [ @@ -91,7 +91,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -74.20656273321643\n" + "Energy at initialialization: -74.20656273321636\n" ] } ], @@ -129,10 +129,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:30.179018Z", - "iopub.status.busy": "2024-04-22T16:04:30.178818Z", - "iopub.status.idle": "2024-04-22T16:04:38.119994Z", - "shell.execute_reply": "2024-04-22T16:04:38.119439Z" + "iopub.execute_input": "2024-04-23T00:56:46.401550Z", + "iopub.status.busy": "2024-04-23T00:56:46.401150Z", + "iopub.status.idle": "2024-04-23T00:56:54.269364Z", + "shell.execute_reply": "2024-04-23T00:56:54.268768Z" } }, "outputs": [ @@ -144,10 +144,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -75.68085112577849\n", + " fun: -75.68085161427761\n", " x: [ 2.996e+00 -7.549e-01 ... 2.650e+00 8.012e-01]\n", " nit: 6\n", - " jac: [ 1.758e-03 9.116e-03 ... -1.192e-02 9.678e-04]\n", + " jac: [ 1.764e-03 9.119e-03 ... -1.192e-02 9.393e-04]\n", " nfev: 112\n", " njev: 7\n", " hess_inv: <15x15 LbfgsInvHessProduct with dtype=float64>\n" diff --git a/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb b/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb index aac1df88e..6f869a948 100644 --- a/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb +++ b/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:39.573088Z", - "iopub.status.busy": "2024-04-22T16:04:39.572902Z", - "iopub.status.idle": "2024-04-22T16:04:40.192325Z", - "shell.execute_reply": "2024-04-22T16:04:40.191678Z" + "iopub.execute_input": "2024-04-23T00:56:55.603885Z", + "iopub.status.busy": "2024-04-23T00:56:55.603691Z", + "iopub.status.idle": "2024-04-23T00:56:56.212992Z", + "shell.execute_reply": "2024-04-23T00:56:56.212389Z" } }, "outputs": [ @@ -40,8 +40,8 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(0), des_a(3)): 0.5,\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", "})" ] @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.195130Z", - "iopub.status.busy": "2024-04-22T16:04:40.194675Z", - "iopub.status.idle": "2024-04-22T16:04:40.198789Z", - "shell.execute_reply": "2024-04-22T16:04:40.198196Z" + "iopub.execute_input": "2024-04-23T00:56:56.215778Z", + "iopub.status.busy": "2024-04-23T00:56:56.215336Z", + "iopub.status.idle": "2024-04-23T00:56:56.219611Z", + "shell.execute_reply": "2024-04-23T00:56:56.219130Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, False, 0), (False, False, 3)): 0.5+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" + "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.201364Z", - "iopub.status.busy": "2024-04-22T16:04:40.201007Z", - "iopub.status.idle": "2024-04-22T16:04:40.205678Z", - "shell.execute_reply": "2024-04-22T16:04:40.205091Z" + "iopub.execute_input": "2024-04-23T00:56:56.221937Z", + "iopub.status.busy": "2024-04-23T00:56:56.221454Z", + "iopub.status.idle": "2024-04-23T00:56:56.225687Z", + "shell.execute_reply": "2024-04-23T00:56:56.225238Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", - " (cre_b(2)): 0-0.25j,\n", + " (des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", " (cre_a(3), des_a(0)): -0.5,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", - " (cre_a(3), des_a(0), 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(0), des_a(3)): 1,\n", + " (cre_b(2)): 0-0.25j\n", "})" ] }, @@ -170,10 +170,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.208188Z", - "iopub.status.busy": "2024-04-22T16:04:40.207818Z", - "iopub.status.idle": "2024-04-22T16:04:40.211803Z", - "shell.execute_reply": "2024-04-22T16:04:40.211242Z" + "iopub.execute_input": "2024-04-23T00:56:56.227811Z", + "iopub.status.busy": "2024-04-23T00:56:56.227437Z", + "iopub.status.idle": "2024-04-23T00:56:56.231708Z", + "shell.execute_reply": "2024-04-23T00:56:56.231100Z" } }, "outputs": [ @@ -181,17 +181,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", + " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", - " (cre_b(2)): -5,\n", + " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", " (cre_a(3), des_a(0)): 0+3j,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (cre_a(0), des_a(3)): 0-6j\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_b(2)): -5\n", "})" ] }, @@ -220,10 +220,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.214222Z", - "iopub.status.busy": "2024-04-22T16:04:40.213830Z", - "iopub.status.idle": "2024-04-22T16:04:40.217550Z", - "shell.execute_reply": "2024-04-22T16:04:40.217080Z" + "iopub.execute_input": "2024-04-23T00:56:56.233934Z", + "iopub.status.busy": "2024-04-23T00:56:56.233587Z", + "iopub.status.idle": "2024-04-23T00:56:56.237170Z", + "shell.execute_reply": "2024-04-23T00:56:56.236595Z" } }, "outputs": [ @@ -231,15 +231,15 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (des_b(3), des_a(3)): 0+1.25j,\n", " (cre_b(2), cre_a(3), des_a(0)): -1,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\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", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (cre_b(2)): -5\n", "})" ] @@ -265,10 +265,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.219944Z", - "iopub.status.busy": "2024-04-22T16:04:40.219576Z", - "iopub.status.idle": "2024-04-22T16:04:40.222851Z", - "shell.execute_reply": "2024-04-22T16:04:40.222276Z" + "iopub.execute_input": "2024-04-23T00:56:56.239586Z", + "iopub.status.busy": "2024-04-23T00:56:56.239241Z", + "iopub.status.idle": "2024-04-23T00:56:56.242414Z", + "shell.execute_reply": "2024-04-23T00:56:56.241943Z" } }, "outputs": [ @@ -298,10 +298,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.225271Z", - "iopub.status.busy": "2024-04-22T16:04:40.224845Z", - "iopub.status.idle": "2024-04-22T16:04:40.228898Z", - "shell.execute_reply": "2024-04-22T16:04:40.228273Z" + "iopub.execute_input": "2024-04-23T00:56:56.244268Z", + "iopub.status.busy": "2024-04-23T00:56:56.244096Z", + "iopub.status.idle": "2024-04-23T00:56:56.248030Z", + "shell.execute_reply": "2024-04-23T00:56:56.247480Z" } }, "outputs": [ @@ -341,10 +341,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.231289Z", - "iopub.status.busy": "2024-04-22T16:04:40.230920Z", - "iopub.status.idle": "2024-04-22T16:04:40.236624Z", - "shell.execute_reply": "2024-04-22T16:04:40.236113Z" + "iopub.execute_input": "2024-04-23T00:56:56.250269Z", + "iopub.status.busy": "2024-04-23T00:56:56.249951Z", + "iopub.status.idle": "2024-04-23T00:56:56.255288Z", + "shell.execute_reply": "2024-04-23T00:56:56.254869Z" } }, "outputs": [ @@ -353,7 +353,7 @@ "text/plain": [ "array([0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " 0.06251429-0.11302447j, 0. +0.j ,\n", + " 0.05141537-0.01882165j, 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", " 0. +0.j ])" ] @@ -380,10 +380,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.238694Z", - "iopub.status.busy": "2024-04-22T16:04:40.238507Z", - "iopub.status.idle": "2024-04-22T16:04:40.249855Z", - "shell.execute_reply": "2024-04-22T16:04:40.249380Z" + "iopub.execute_input": "2024-04-23T00:56:56.257479Z", + "iopub.status.busy": "2024-04-23T00:56:56.257157Z", + "iopub.status.idle": "2024-04-23T00:56:56.268464Z", + "shell.execute_reply": "2024-04-23T00:56:56.268018Z" } }, "outputs": [ diff --git a/.doctrees/nbsphinx/how-to-guides/lucj.ipynb b/.doctrees/nbsphinx/how-to-guides/lucj.ipynb index 2a0e55901..9c7b76de8 100644 --- a/.doctrees/nbsphinx/how-to-guides/lucj.ipynb +++ b/.doctrees/nbsphinx/how-to-guides/lucj.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:42.069523Z", - "iopub.status.busy": "2024-04-22T16:04:42.069085Z", - "iopub.status.idle": "2024-04-22T16:04:43.032878Z", - "shell.execute_reply": "2024-04-22T16:04:43.032192Z" + "iopub.execute_input": "2024-04-23T00:56:57.903154Z", + "iopub.status.busy": "2024-04-23T00:56:57.902956Z", + "iopub.status.idle": "2024-04-23T00:56:58.842455Z", + "shell.execute_reply": "2024-04-23T00:56:58.841826Z" } }, "outputs": [ @@ -25,14 +25,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "converged SCF energy = -77.4456267643963\n" + "converged SCF energy = -77.4456267643962\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "CASCI E = -77.6290254326717 E(CI) = -3.57322412553862 S^2 = 0.0000000\n" + "CASCI E = -77.6290254326717 E(CI) = -3.57322412553863 S^2 = 0.0000000\n" ] } ], @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:43.036297Z", - "iopub.status.busy": "2024-04-22T16:04:43.035909Z", - "iopub.status.idle": "2024-04-22T16:04:43.231283Z", - "shell.execute_reply": "2024-04-22T16:04:43.230677Z" + "iopub.execute_input": "2024-04-23T00:56:58.845597Z", + "iopub.status.busy": "2024-04-23T00:56:58.845309Z", + "iopub.status.idle": "2024-04-23T00:56:59.051584Z", + "shell.execute_reply": "2024-04-23T00:56:59.051019Z" } }, "outputs": [ @@ -118,14 +118,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.49387212754479 E_corr = -0.04824536314851326\n" + "E(CCSD) = -77.49387212754471 E_corr = -0.04824536314851507\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialization: -77.46975600021705\n" + "Energy at initialization: -77.4697560002171\n" ] } ], @@ -170,10 +170,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:43.234632Z", - "iopub.status.busy": "2024-04-22T16:04:43.234242Z", - "iopub.status.idle": "2024-04-22T16:05:28.623702Z", - "shell.execute_reply": "2024-04-22T16:05:28.623095Z" + "iopub.execute_input": "2024-04-23T00:56:59.054301Z", + "iopub.status.busy": "2024-04-23T00:56:59.053813Z", + "iopub.status.idle": "2024-04-23T00:57:43.191892Z", + "shell.execute_reply": "2024-04-23T00:57:43.190955Z" } }, "outputs": [ @@ -185,10 +185,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.50963529384492\n", - " x: [ 1.376e+00 -5.945e-01 ... 8.749e-02 1.395e-01]\n", + " fun: -77.50959827694798\n", + " x: [ 1.252e+00 6.192e-01 ... 8.729e-02 1.372e-01]\n", " nit: 5\n", - " jac: [-9.237e-05 8.257e-04 ... -4.151e-03 -3.071e-03]\n", + " jac: [ 1.705e-04 -5.599e-04 ... -3.682e-03 -4.751e-03]\n", " nfev: 584\n", " njev: 8\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" @@ -243,10 +243,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:05:28.626880Z", - "iopub.status.busy": "2024-04-22T16:05:28.626493Z", - "iopub.status.idle": "2024-04-22T16:06:01.992612Z", - "shell.execute_reply": "2024-04-22T16:06:01.991951Z" + "iopub.execute_input": "2024-04-23T00:57:43.195036Z", + "iopub.status.busy": "2024-04-23T00:57:43.194747Z", + "iopub.status.idle": "2024-04-23T00:58:15.488302Z", + "shell.execute_reply": "2024-04-23T00:58:15.487628Z" } }, "outputs": [ @@ -258,10 +258,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45740510866365\n", - " x: [ 1.375e+00 -5.886e-01 ... 1.712e-03 1.162e-02]\n", + " fun: -77.45740443125672\n", + " x: [ 1.251e+00 6.241e-01 ... -1.591e-03 1.410e-02]\n", " nit: 5\n", - " jac: [-2.430e-04 5.912e-04 ... -1.414e-03 -3.257e-03]\n", + " jac: [-3.268e-05 2.174e-04 ... -2.697e-03 -2.490e-03]\n", " nfev: 423\n", " njev: 9\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -311,10 +311,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:01.996583Z", - "iopub.status.busy": "2024-04-22T16:06:01.995550Z", - "iopub.status.idle": "2024-04-22T16:06:20.125615Z", - "shell.execute_reply": "2024-04-22T16:06:20.125036Z" + "iopub.execute_input": "2024-04-23T00:58:15.491747Z", + "iopub.status.busy": "2024-04-23T00:58:15.491458Z", + "iopub.status.idle": "2024-04-23T00:58:34.417424Z", + "shell.execute_reply": "2024-04-23T00:58:34.416852Z" } }, "outputs": [ @@ -325,34 +325,34 @@ "Number of parameters: 46\n", " message: Stop: Total number of iterations reached limit.\n", " success: False\n", - " fun: -77.47684367002446\n", - " x: [ 1.163e+00 -7.617e-01 ... -6.977e-01 3.986e-01]\n", + " fun: -77.46304381555069\n", + " x: [ 1.315e+00 6.827e-01 ... 5.907e-02 -2.824e-01]\n", " nit: 5\n", - " jac: [ 4.503e-03 3.116e-03 ... 2.734e-03 -8.532e-03]\n", - " nfev: 670\n", + " jac: [-3.738e-04 1.900e-04 ... -5.935e-04 -1.575e-03]\n", + " nfev: 688\n", " njev: 5\n", - " nlinop: 440\n", + " nlinop: 458\n", "\n", "Iteration 1\n", - " Energy: -77.45617013226905\n", - " Norm of gradient: 0.020210672926742775\n", - " Regularization hyperparameter: 0.0017434048084190637\n", - " Variation hyperparameter: 0.2387735391222402\n", + " Energy: -77.45027275285392\n", + " Norm of gradient: 0.020361120472525085\n", + " Regularization hyperparameter: 0.95808369045527\n", + " Variation hyperparameter: 0.600860165397011\n", "Iteration 2\n", - " Energy: -77.45816584713774\n", - " Norm of gradient: 0.016071302328387504\n", - " Regularization hyperparameter: 0.0022599409822063963\n", - " Variation hyperparameter: 0.2388058960030377\n", + " Energy: -77.45703680156946\n", + " Norm of gradient: 0.013027205198137163\n", + " Regularization hyperparameter: 0.025361983601779235\n", + " Variation hyperparameter: 0.6549169149218177\n", "Iteration 3\n", - " Energy: -77.45823033449722\n", - " Norm of gradient: 0.015559776204922056\n", - " Regularization hyperparameter: 1.0968108157468643\n", - " Variation hyperparameter: 0.23454611925037366\n", + " Energy: -77.45807318994828\n", + " Norm of gradient: 0.007991855490291645\n", + " Regularization hyperparameter: 0.00041492763384463573\n", + " Variation hyperparameter: 0.6610093656164645\n", "Iteration 4\n", - " Energy: -77.46318401840293\n", - " Norm of gradient: 0.0290502768037025\n", - " Regularization hyperparameter: 0.005367179953686701\n", - " Variation hyperparameter: 0.4953693465095995\n" + " Energy: -77.45809800966964\n", + " Norm of gradient: 0.0077381151085179475\n", + " Regularization hyperparameter: 0.9595021741490675\n", + " Variation hyperparameter: 0.6668397135509168\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/double-factorized.ipynb b/.doctrees/nbsphinx/tutorials/double-factorized.ipynb index d7b7f5226..63300ef72 100644 --- a/.doctrees/nbsphinx/tutorials/double-factorized.ipynb +++ b/.doctrees/nbsphinx/tutorials/double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:21.920176Z", - "iopub.status.busy": "2024-04-22T16:06:21.919627Z", - "iopub.status.idle": "2024-04-22T16:06:22.718513Z", - "shell.execute_reply": "2024-04-22T16:06:22.717898Z" + "iopub.execute_input": "2024-04-23T00:58:35.924616Z", + "iopub.status.busy": "2024-04-23T00:58:35.924425Z", + "iopub.status.idle": "2024-04-23T00:58:36.716646Z", + "shell.execute_reply": "2024-04-23T00:58:36.716031Z" } }, "outputs": [ @@ -54,7 +54,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "converged SCF energy = -77.4456267643963\n" + "converged SCF energy = -77.4456267643962\n" ] } ], @@ -109,10 +109,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:22.721708Z", - "iopub.status.busy": "2024-04-22T16:06:22.721365Z", - "iopub.status.idle": "2024-04-22T16:06:22.726574Z", - "shell.execute_reply": "2024-04-22T16:06:22.726154Z" + "iopub.execute_input": "2024-04-23T00:58:36.720972Z", + "iopub.status.busy": "2024-04-23T00:58:36.719889Z", + "iopub.status.idle": "2024-04-23T00:58:36.725882Z", + "shell.execute_reply": "2024-04-23T00:58:36.725394Z" } }, "outputs": [ @@ -215,10 +215,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:22.728687Z", - "iopub.status.busy": "2024-04-22T16:06:22.728501Z", - "iopub.status.idle": "2024-04-22T16:06:22.732566Z", - "shell.execute_reply": "2024-04-22T16:06:22.731959Z" + "iopub.execute_input": "2024-04-23T00:58:36.728250Z", + "iopub.status.busy": "2024-04-23T00:58:36.727901Z", + "iopub.status.idle": "2024-04-23T00:58:36.732377Z", + "shell.execute_reply": "2024-04-23T00:58:36.731951Z" } }, "outputs": [], @@ -273,10 +273,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:22.734861Z", - "iopub.status.busy": "2024-04-22T16:06:22.734508Z", - "iopub.status.idle": "2024-04-22T16:06:22.738065Z", - "shell.execute_reply": "2024-04-22T16:06:22.737502Z" + "iopub.execute_input": "2024-04-23T00:58:36.734710Z", + "iopub.status.busy": "2024-04-23T00:58:36.734402Z", + "iopub.status.idle": "2024-04-23T00:58:36.738584Z", + "shell.execute_reply": "2024-04-23T00:58:36.738007Z" } }, "outputs": [], @@ -313,10 +313,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:22.740222Z", - "iopub.status.busy": "2024-04-22T16:06:22.740006Z", - "iopub.status.idle": "2024-04-22T16:06:22.746614Z", - "shell.execute_reply": "2024-04-22T16:06:22.746035Z" + "iopub.execute_input": "2024-04-23T00:58:36.741071Z", + "iopub.status.busy": "2024-04-23T00:58:36.740654Z", + "iopub.status.idle": "2024-04-23T00:58:36.745938Z", + "shell.execute_reply": "2024-04-23T00:58:36.745366Z" } }, "outputs": [ @@ -324,7 +324,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Hartree Fock energy: -77.44562676439625\n" + "Hartree Fock energy: -77.4456267643963\n" ] } ], @@ -352,10 +352,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:22.749511Z", - "iopub.status.busy": "2024-04-22T16:06:22.749290Z", - "iopub.status.idle": "2024-04-22T16:06:23.566643Z", - "shell.execute_reply": "2024-04-22T16:06:23.566074Z" + "iopub.execute_input": "2024-04-23T00:58:36.748871Z", + "iopub.status.busy": "2024-04-23T00:58:36.748354Z", + "iopub.status.idle": "2024-04-23T00:58:37.574111Z", + "shell.execute_reply": "2024-04-23T00:58:37.573520Z" } }, "outputs": [ @@ -363,7 +363,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.931506230140005\n" + "Fidelity of evolved state w.r.t. initial state: 0.9315062301400727\n" ] } ], @@ -394,10 +394,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:23.569971Z", - "iopub.status.busy": "2024-04-22T16:06:23.569602Z", - "iopub.status.idle": "2024-04-22T16:06:23.605082Z", - "shell.execute_reply": "2024-04-22T16:06:23.604458Z" + "iopub.execute_input": "2024-04-23T00:58:37.578111Z", + "iopub.status.busy": "2024-04-23T00:58:37.576977Z", + "iopub.status.idle": "2024-04-23T00:58:37.604966Z", + "shell.execute_reply": "2024-04-23T00:58:37.604442Z" } }, "outputs": [ @@ -405,7 +405,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9928527668213382\n" + "Fidelity of Trotter-evolved state with exact state: 0.9928527668214489\n" ] } ], @@ -435,10 +435,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:23.609458Z", - "iopub.status.busy": "2024-04-22T16:06:23.608481Z", - "iopub.status.idle": "2024-04-22T16:06:23.739130Z", - "shell.execute_reply": "2024-04-22T16:06:23.738596Z" + "iopub.execute_input": "2024-04-23T00:58:37.609137Z", + "iopub.status.busy": "2024-04-23T00:58:37.608155Z", + "iopub.status.idle": "2024-04-23T00:58:37.695751Z", + "shell.execute_reply": "2024-04-23T00:58:37.695229Z" } }, "outputs": [ @@ -446,7 +446,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851286736\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851287997\n" ] } ], @@ -478,10 +478,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:23.742952Z", - "iopub.status.busy": "2024-04-22T16:06:23.741990Z", - "iopub.status.idle": "2024-04-22T16:06:23.854951Z", - "shell.execute_reply": "2024-04-22T16:06:23.854416Z" + "iopub.execute_input": "2024-04-23T00:58:37.699508Z", + "iopub.status.busy": "2024-04-23T00:58:37.698532Z", + "iopub.status.idle": "2024-04-23T00:58:37.778457Z", + "shell.execute_reply": "2024-04-23T00:58:37.777933Z" } }, "outputs": [ @@ -489,7 +489,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851286736\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851287997\n" ] } ], @@ -520,10 +520,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:23.858820Z", - "iopub.status.busy": "2024-04-22T16:06:23.857855Z", - "iopub.status.idle": "2024-04-22T16:06:23.924473Z", - "shell.execute_reply": "2024-04-22T16:06:23.923910Z" + "iopub.execute_input": "2024-04-23T00:58:37.782247Z", + "iopub.status.busy": "2024-04-23T00:58:37.781262Z", + "iopub.status.idle": "2024-04-23T00:58:37.830616Z", + "shell.execute_reply": "2024-04-23T00:58:37.830092Z" } }, "outputs": [ @@ -531,7 +531,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999913261307617\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999913261308897\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/orbital-rotation.ipynb b/.doctrees/nbsphinx/tutorials/orbital-rotation.ipynb index 79ee742b8..b2e4efb33 100644 --- a/.doctrees/nbsphinx/tutorials/orbital-rotation.ipynb +++ b/.doctrees/nbsphinx/tutorials/orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:25.994961Z", - "iopub.status.busy": "2024-04-22T16:06:25.994766Z", - "iopub.status.idle": "2024-04-22T16:06:26.608599Z", - "shell.execute_reply": "2024-04-22T16:06:26.608046Z" + "iopub.execute_input": "2024-04-23T00:58:39.890716Z", + "iopub.status.busy": "2024-04-23T00:58:39.890353Z", + "iopub.status.idle": "2024-04-23T00:58:40.499648Z", + "shell.execute_reply": "2024-04-23T00:58:40.499130Z" } }, "outputs": [], @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:26.611351Z", - "iopub.status.busy": "2024-04-22T16:06:26.611063Z", - "iopub.status.idle": "2024-04-22T16:06:26.641853Z", - "shell.execute_reply": "2024-04-22T16:06:26.641302Z" + "iopub.execute_input": "2024-04-23T00:58:40.502474Z", + "iopub.status.busy": "2024-04-23T00:58:40.502020Z", + "iopub.status.idle": "2024-04-23T00:58:40.532793Z", + "shell.execute_reply": "2024-04-23T00:58:40.532232Z" } }, "outputs": [], @@ -155,10 +155,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:26.645236Z", - "iopub.status.busy": "2024-04-22T16:06:26.644078Z", - "iopub.status.idle": "2024-04-22T16:06:26.663067Z", - "shell.execute_reply": "2024-04-22T16:06:26.662522Z" + "iopub.execute_input": "2024-04-23T00:58:40.536577Z", + "iopub.status.busy": "2024-04-23T00:58:40.535433Z", + "iopub.status.idle": "2024-04-23T00:58:40.554218Z", + "shell.execute_reply": "2024-04-23T00:58:40.553640Z" } }, "outputs": [], @@ -198,10 +198,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:26.666546Z", - "iopub.status.busy": "2024-04-22T16:06:26.666325Z", - "iopub.status.idle": "2024-04-22T16:06:26.672429Z", - "shell.execute_reply": "2024-04-22T16:06:26.671740Z" + "iopub.execute_input": "2024-04-23T00:58:40.557664Z", + "iopub.status.busy": "2024-04-23T00:58:40.557451Z", + "iopub.status.idle": "2024-04-23T00:58:40.563032Z", + "shell.execute_reply": "2024-04-23T00:58:40.562440Z" } }, "outputs": [], diff --git a/.doctrees/tutorials/double-factorized.doctree b/.doctrees/tutorials/double-factorized.doctree index aa3dfd26b..204253464 100644 Binary files a/.doctrees/tutorials/double-factorized.doctree and b/.doctrees/tutorials/double-factorized.doctree differ diff --git a/_modules/ffsim/molecular_data.html b/_modules/ffsim/molecular_data.html index 50584a304..e8d2f16c9 100644 --- a/_modules/ffsim/molecular_data.html +++ b/_modules/ffsim/molecular_data.html @@ -343,13 +343,13 @@

Source code for ffsim.molecular_data

 
     @property
     def mole(self) -> gto.Mole:
-        """The pySCF Mole class for this molecular data."""
+        """The PySCF Mole class for this molecular data."""
         mol = gto.Mole()
         return mol.build(atom=self.atom, basis=self.basis, symmetry=self.symmetry)
 
     @property
     def scf(self) -> gto.Mole:
-        """The pySCF SCF class for this molecular data."""
+        """The PySCF SCF class for this molecular data."""
         hartree_fock = pyscf.scf.RHF(self.mole)
         hartree_fock.mo_occ = self.mo_occ
         hartree_fock.mo_coeff = self.mo_coeff
@@ -428,12 +428,12 @@ 

Source code for ffsim.molecular_data

         active_space: Iterable[int] | None = None,
         scf_func=pyscf.scf.RHF,
     ) -> "MolecularData":
-        """Initialize a MolecularData object from a pySCF molecule.
+        """Initialize a MolecularData object from a PySCF molecule.
 
         Args:
             molecule: The molecule.
             active_space: An optional list of orbitals to use for the active space.
-            scf_func: The pySCF SCF function to use for the Hartree-Fock calculation.
+            scf_func: The PySCF SCF function to use for the Hartree-Fock calculation.
         """
         hartree_fock = scf_func(molecule)
         hartree_fock.run()
diff --git a/_modules/ffsim/qiskit/util.html b/_modules/ffsim/qiskit/util.html
index 8b4c91979..7ff256108 100644
--- a/_modules/ffsim/qiskit/util.html
+++ b/_modules/ffsim/qiskit/util.html
@@ -260,7 +260,7 @@ 

Source code for ffsim.qiskit.util

     """Convert an ffsim statevector to a Qiskit statevector.
 
     Args:
-        vec: A statevector in ffsim/pySCF format. It should be a one-dimensional vector
+        vec: A statevector in ffsim/PySCF format. It should be a one-dimensional vector
             of length ``comb(norb, n_alpha) * comb(norb, n_beta)``.
         norb: The number of spatial orbitals.
         nelec: The number of alpha and beta electrons.
diff --git a/api/ffsim.html b/api/ffsim.html
index 31d53cea9..dcd8aad11 100644
--- a/api/ffsim.html
+++ b/api/ffsim.html
@@ -721,13 +721,13 @@
 
static from_mole(molecule, active_space=None, scf_func=<function RHF>)[source]
-

Initialize a MolecularData object from a pySCF molecule.

+

Initialize a MolecularData object from a PySCF molecule.

Parameters:
  • molecule (Mole) – The molecule.

  • active_space (Iterable[int] | None) – An optional list of orbitals to use for the active space.

  • -
  • scf_func – The pySCF SCF function to use for the Hartree-Fock calculation.

  • +
  • scf_func – The PySCF SCF function to use for the Hartree-Fock calculation.

Return type:
@@ -762,7 +762,7 @@
property mole: Mole
-

The pySCF Mole class for this molecular data.

+

The PySCF Mole class for this molecular data.

@@ -796,7 +796,7 @@
property scf: Mole
-

The pySCF SCF class for this molecular data.

+

The PySCF SCF class for this molecular data.

diff --git a/api/ffsim.qiskit.html b/api/ffsim.qiskit.html index 22b6e1627..f9187aa46 100644 --- a/api/ffsim.qiskit.html +++ b/api/ffsim.qiskit.html @@ -333,7 +333,7 @@
Parameters:
    -
  • vec (ndarray) – A statevector in ffsim/pySCF format. It should be a one-dimensional vector +

  • vec (ndarray) – A statevector in ffsim/PySCF format. It should be a one-dimensional vector of length comb(norb, n_alpha) * comb(norb, n_beta).

  • norb (int) – The number of spatial orbitals.

  • nelec (tuple[int, int]) – The number of alpha and beta electrons.

  • diff --git a/explanations/state-vectors-and-gates.ipynb b/explanations/state-vectors-and-gates.ipynb index ddacaccdc..34082a168 100644 --- a/explanations/state-vectors-and-gates.ipynb +++ b/explanations/state-vectors-and-gates.ipynb @@ -26,10 +26,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.034170Z", - "iopub.status.busy": "2024-04-22T16:04:27.033982Z", - "iopub.status.idle": "2024-04-22T16:04:27.644213Z", - "shell.execute_reply": "2024-04-22T16:04:27.643569Z" + "iopub.execute_input": "2024-04-23T00:56:43.202469Z", + "iopub.status.busy": "2024-04-23T00:56:43.202092Z", + "iopub.status.idle": "2024-04-23T00:56:43.809927Z", + "shell.execute_reply": "2024-04-23T00:56:43.809149Z" } }, "outputs": [ @@ -74,10 +74,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.679076Z", - "iopub.status.busy": "2024-04-22T16:04:27.678605Z", - "iopub.status.idle": "2024-04-22T16:04:27.685994Z", - "shell.execute_reply": "2024-04-22T16:04:27.685515Z" + "iopub.execute_input": "2024-04-23T00:56:43.847691Z", + "iopub.status.busy": "2024-04-23T00:56:43.847206Z", + "iopub.status.idle": "2024-04-23T00:56:43.854665Z", + "shell.execute_reply": "2024-04-23T00:56:43.853953Z" } }, "outputs": [ @@ -118,10 +118,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.688245Z", - "iopub.status.busy": "2024-04-22T16:04:27.688026Z", - "iopub.status.idle": "2024-04-22T16:04:27.692253Z", - "shell.execute_reply": "2024-04-22T16:04:27.691737Z" + "iopub.execute_input": "2024-04-23T00:56:43.857118Z", + "iopub.status.busy": "2024-04-23T00:56:43.856763Z", + "iopub.status.idle": "2024-04-23T00:56:43.861439Z", + "shell.execute_reply": "2024-04-23T00:56:43.860789Z" } }, "outputs": [ @@ -155,10 +155,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.694337Z", - "iopub.status.busy": "2024-04-22T16:04:27.694144Z", - "iopub.status.idle": "2024-04-22T16:04:27.698059Z", - "shell.execute_reply": "2024-04-22T16:04:27.697487Z" + "iopub.execute_input": "2024-04-23T00:56:43.864235Z", + "iopub.status.busy": "2024-04-23T00:56:43.863975Z", + "iopub.status.idle": "2024-04-23T00:56:43.869414Z", + "shell.execute_reply": "2024-04-23T00:56:43.868838Z" } }, "outputs": [ @@ -197,10 +197,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.700411Z", - "iopub.status.busy": "2024-04-22T16:04:27.700045Z", - "iopub.status.idle": "2024-04-22T16:04:27.704279Z", - "shell.execute_reply": "2024-04-22T16:04:27.703790Z" + "iopub.execute_input": "2024-04-23T00:56:43.872093Z", + "iopub.status.busy": "2024-04-23T00:56:43.871820Z", + "iopub.status.idle": "2024-04-23T00:56:43.876892Z", + "shell.execute_reply": "2024-04-23T00:56:43.876286Z" } }, "outputs": [], @@ -226,10 +226,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:27.706624Z", - "iopub.status.busy": "2024-04-22T16:04:27.706264Z", - "iopub.status.idle": "2024-04-22T16:04:27.737466Z", - "shell.execute_reply": "2024-04-22T16:04:27.737023Z" + "iopub.execute_input": "2024-04-23T00:56:43.879830Z", + "iopub.status.busy": "2024-04-23T00:56:43.879301Z", + "iopub.status.idle": "2024-04-23T00:56:43.909737Z", + "shell.execute_reply": "2024-04-23T00:56:43.909076Z" } }, "outputs": [], diff --git a/how-to-guides/entanglement-forging.html b/how-to-guides/entanglement-forging.html index aed8decc9..4557ab898 100644 --- a/how-to-guides/entanglement-forging.html +++ b/how-to-guides/entanglement-forging.html @@ -316,7 +316,7 @@

    How to simulate entanglement forging
    -Energy at initialialization: -74.20656273321643
    +Energy at initialialization: -74.20656273321636
     

@@ -277,7 +277,7 @@

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

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

@@ -305,17 +305,17 @@

How to use the FermionOperator class
 FermionOperator({
-    (des_a(3), des_b(3)): 0.0625,
+    (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,
+    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
+    (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,
     (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,
     (cre_b(1), des_b(5), cre_a(4)): 2+2j,
-    (cre_b(2)): 0-0.25j,
+    (des_a(3), des_b(3)): 0.0625,
+    (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,
     (cre_a(3), des_a(0)): -0.5,
     (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,
-    (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,
-    (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,
-    (cre_a(3), des_a(0), 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(0), des_a(3)): 1,
+    (cre_b(2)): 0-0.25j
 })
 
@@ -344,17 +344,17 @@

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

How to use the FermionOperator class
 FermionOperator({
+    (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,
     (des_b(3), des_a(3)): 0+1.25j,
     (cre_b(2), cre_a(3), des_a(0)): -1,
-    (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,
-    (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,
     (cre_b(2), cre_a(0), des_a(3)): 2,
-    (cre_a(3), des_a(0)): 0+3j,
-    (cre_b(1), cre_a(4), des_b(5)): -12+12j,
     (cre_a(0), des_a(3)): 0-6j,
-    (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,
+    (cre_b(1), cre_a(4), des_b(5)): -12+12j,
+    (cre_a(3), des_a(0)): 0+3j,
+    (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,
+    (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,
     (cre_b(2)): -5
 })
 
@@ -455,7 +455,7 @@

How to use the FermionOperator class
 array([0.        +0.j        , 0.        +0.j        ,
        0.        +0.j        , 0.        +0.j        ,
-       0.06251429-0.11302447j, 0.        +0.j        ,
+       0.05141537-0.01882165j, 0.        +0.j        ,
        0.        +0.j        , 0.        +0.j        ,
        0.        +0.j        ])
 
diff --git a/how-to-guides/fermion-operator.ipynb b/how-to-guides/fermion-operator.ipynb index aac1df88e..6f869a948 100644 --- a/how-to-guides/fermion-operator.ipynb +++ b/how-to-guides/fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:39.573088Z", - "iopub.status.busy": "2024-04-22T16:04:39.572902Z", - "iopub.status.idle": "2024-04-22T16:04:40.192325Z", - "shell.execute_reply": "2024-04-22T16:04:40.191678Z" + "iopub.execute_input": "2024-04-23T00:56:55.603885Z", + "iopub.status.busy": "2024-04-23T00:56:55.603691Z", + "iopub.status.idle": "2024-04-23T00:56:56.212992Z", + "shell.execute_reply": "2024-04-23T00:56:56.212389Z" } }, "outputs": [ @@ -40,8 +40,8 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(0), des_a(3)): 0.5,\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", "})" ] @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.195130Z", - "iopub.status.busy": "2024-04-22T16:04:40.194675Z", - "iopub.status.idle": "2024-04-22T16:04:40.198789Z", - "shell.execute_reply": "2024-04-22T16:04:40.198196Z" + "iopub.execute_input": "2024-04-23T00:56:56.215778Z", + "iopub.status.busy": "2024-04-23T00:56:56.215336Z", + "iopub.status.idle": "2024-04-23T00:56:56.219611Z", + "shell.execute_reply": "2024-04-23T00:56:56.219130Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, False, 0), (False, False, 3)): 0.5+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" + "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.201364Z", - "iopub.status.busy": "2024-04-22T16:04:40.201007Z", - "iopub.status.idle": "2024-04-22T16:04:40.205678Z", - "shell.execute_reply": "2024-04-22T16:04:40.205091Z" + "iopub.execute_input": "2024-04-23T00:56:56.221937Z", + "iopub.status.busy": "2024-04-23T00:56:56.221454Z", + "iopub.status.idle": "2024-04-23T00:56:56.225687Z", + "shell.execute_reply": "2024-04-23T00:56:56.225238Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", - " (cre_b(2)): 0-0.25j,\n", + " (des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", " (cre_a(3), des_a(0)): -0.5,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", - " (cre_a(3), des_a(0), 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(0), des_a(3)): 1,\n", + " (cre_b(2)): 0-0.25j\n", "})" ] }, @@ -170,10 +170,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.208188Z", - "iopub.status.busy": "2024-04-22T16:04:40.207818Z", - "iopub.status.idle": "2024-04-22T16:04:40.211803Z", - "shell.execute_reply": "2024-04-22T16:04:40.211242Z" + "iopub.execute_input": "2024-04-23T00:56:56.227811Z", + "iopub.status.busy": "2024-04-23T00:56:56.227437Z", + "iopub.status.idle": "2024-04-23T00:56:56.231708Z", + "shell.execute_reply": "2024-04-23T00:56:56.231100Z" } }, "outputs": [ @@ -181,17 +181,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", + " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", - " (cre_b(2)): -5,\n", + " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", " (cre_a(3), des_a(0)): 0+3j,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", - " (cre_a(0), des_a(3)): 0-6j\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_b(2)): -5\n", "})" ] }, @@ -220,10 +220,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.214222Z", - "iopub.status.busy": "2024-04-22T16:04:40.213830Z", - "iopub.status.idle": "2024-04-22T16:04:40.217550Z", - "shell.execute_reply": "2024-04-22T16:04:40.217080Z" + "iopub.execute_input": "2024-04-23T00:56:56.233934Z", + "iopub.status.busy": "2024-04-23T00:56:56.233587Z", + "iopub.status.idle": "2024-04-23T00:56:56.237170Z", + "shell.execute_reply": "2024-04-23T00:56:56.236595Z" } }, "outputs": [ @@ -231,15 +231,15 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (des_b(3), des_a(3)): 0+1.25j,\n", " (cre_b(2), cre_a(3), des_a(0)): -1,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\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", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (cre_b(2)): -5\n", "})" ] @@ -265,10 +265,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.219944Z", - "iopub.status.busy": "2024-04-22T16:04:40.219576Z", - "iopub.status.idle": "2024-04-22T16:04:40.222851Z", - "shell.execute_reply": "2024-04-22T16:04:40.222276Z" + "iopub.execute_input": "2024-04-23T00:56:56.239586Z", + "iopub.status.busy": "2024-04-23T00:56:56.239241Z", + "iopub.status.idle": "2024-04-23T00:56:56.242414Z", + "shell.execute_reply": "2024-04-23T00:56:56.241943Z" } }, "outputs": [ @@ -298,10 +298,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.225271Z", - "iopub.status.busy": "2024-04-22T16:04:40.224845Z", - "iopub.status.idle": "2024-04-22T16:04:40.228898Z", - "shell.execute_reply": "2024-04-22T16:04:40.228273Z" + "iopub.execute_input": "2024-04-23T00:56:56.244268Z", + "iopub.status.busy": "2024-04-23T00:56:56.244096Z", + "iopub.status.idle": "2024-04-23T00:56:56.248030Z", + "shell.execute_reply": "2024-04-23T00:56:56.247480Z" } }, "outputs": [ @@ -341,10 +341,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.231289Z", - "iopub.status.busy": "2024-04-22T16:04:40.230920Z", - "iopub.status.idle": "2024-04-22T16:04:40.236624Z", - "shell.execute_reply": "2024-04-22T16:04:40.236113Z" + "iopub.execute_input": "2024-04-23T00:56:56.250269Z", + "iopub.status.busy": "2024-04-23T00:56:56.249951Z", + "iopub.status.idle": "2024-04-23T00:56:56.255288Z", + "shell.execute_reply": "2024-04-23T00:56:56.254869Z" } }, "outputs": [ @@ -353,7 +353,7 @@ "text/plain": [ "array([0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " 0.06251429-0.11302447j, 0. +0.j ,\n", + " 0.05141537-0.01882165j, 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", " 0. +0.j ])" ] @@ -380,10 +380,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:04:40.238694Z", - "iopub.status.busy": "2024-04-22T16:04:40.238507Z", - "iopub.status.idle": "2024-04-22T16:04:40.249855Z", - "shell.execute_reply": "2024-04-22T16:04:40.249380Z" + "iopub.execute_input": "2024-04-23T00:56:56.257479Z", + "iopub.status.busy": "2024-04-23T00:56:56.257157Z", + "iopub.status.idle": "2024-04-23T00:56:56.268464Z", + "shell.execute_reply": "2024-04-23T00:56:56.268018Z" } }, "outputs": [ diff --git a/how-to-guides/lucj.html b/how-to-guides/lucj.html index 69f6e36f3..ae65ccaa3 100644 --- a/how-to-guides/lucj.html +++ b/how-to-guides/lucj.html @@ -268,7 +268,7 @@

How to simulate the local unitary cluster Jastrow (LUCJ) ansatz
-converged SCF energy = -77.4456267643963
+converged SCF energy = -77.4456267643962
 
@@ -330,7 +330,7 @@

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -77.49387212754479  E_corr = -0.04824536314851326
+E(CCSD) = -77.49387212754471  E_corr = -0.04824536314851507
 

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

@@ -377,10 +377,10 @@

The unitary cluster Jastrow (UCJ) ansatz\n" @@ -243,10 +243,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:05:28.626880Z", - "iopub.status.busy": "2024-04-22T16:05:28.626493Z", - "iopub.status.idle": "2024-04-22T16:06:01.992612Z", - "shell.execute_reply": "2024-04-22T16:06:01.991951Z" + "iopub.execute_input": "2024-04-23T00:57:43.195036Z", + "iopub.status.busy": "2024-04-23T00:57:43.194747Z", + "iopub.status.idle": "2024-04-23T00:58:15.488302Z", + "shell.execute_reply": "2024-04-23T00:58:15.487628Z" } }, "outputs": [ @@ -258,10 +258,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45740510866365\n", - " x: [ 1.375e+00 -5.886e-01 ... 1.712e-03 1.162e-02]\n", + " fun: -77.45740443125672\n", + " x: [ 1.251e+00 6.241e-01 ... -1.591e-03 1.410e-02]\n", " nit: 5\n", - " jac: [-2.430e-04 5.912e-04 ... -1.414e-03 -3.257e-03]\n", + " jac: [-3.268e-05 2.174e-04 ... -2.697e-03 -2.490e-03]\n", " nfev: 423\n", " njev: 9\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -311,10 +311,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:01.996583Z", - "iopub.status.busy": "2024-04-22T16:06:01.995550Z", - "iopub.status.idle": "2024-04-22T16:06:20.125615Z", - "shell.execute_reply": "2024-04-22T16:06:20.125036Z" + "iopub.execute_input": "2024-04-23T00:58:15.491747Z", + "iopub.status.busy": "2024-04-23T00:58:15.491458Z", + "iopub.status.idle": "2024-04-23T00:58:34.417424Z", + "shell.execute_reply": "2024-04-23T00:58:34.416852Z" } }, "outputs": [ @@ -325,34 +325,34 @@ "Number of parameters: 46\n", " message: Stop: Total number of iterations reached limit.\n", " success: False\n", - " fun: -77.47684367002446\n", - " x: [ 1.163e+00 -7.617e-01 ... -6.977e-01 3.986e-01]\n", + " fun: -77.46304381555069\n", + " x: [ 1.315e+00 6.827e-01 ... 5.907e-02 -2.824e-01]\n", " nit: 5\n", - " jac: [ 4.503e-03 3.116e-03 ... 2.734e-03 -8.532e-03]\n", - " nfev: 670\n", + " jac: [-3.738e-04 1.900e-04 ... -5.935e-04 -1.575e-03]\n", + " nfev: 688\n", " njev: 5\n", - " nlinop: 440\n", + " nlinop: 458\n", "\n", "Iteration 1\n", - " Energy: -77.45617013226905\n", - " Norm of gradient: 0.020210672926742775\n", - " Regularization hyperparameter: 0.0017434048084190637\n", - " Variation hyperparameter: 0.2387735391222402\n", + " Energy: -77.45027275285392\n", + " Norm of gradient: 0.020361120472525085\n", + " Regularization hyperparameter: 0.95808369045527\n", + " Variation hyperparameter: 0.600860165397011\n", "Iteration 2\n", - " Energy: -77.45816584713774\n", - " Norm of gradient: 0.016071302328387504\n", - " Regularization hyperparameter: 0.0022599409822063963\n", - " Variation hyperparameter: 0.2388058960030377\n", + " Energy: -77.45703680156946\n", + " Norm of gradient: 0.013027205198137163\n", + " Regularization hyperparameter: 0.025361983601779235\n", + " Variation hyperparameter: 0.6549169149218177\n", "Iteration 3\n", - " Energy: -77.45823033449722\n", - " Norm of gradient: 0.015559776204922056\n", - " Regularization hyperparameter: 1.0968108157468643\n", - " Variation hyperparameter: 0.23454611925037366\n", + " Energy: -77.45807318994828\n", + " Norm of gradient: 0.007991855490291645\n", + " Regularization hyperparameter: 0.00041492763384463573\n", + " Variation hyperparameter: 0.6610093656164645\n", "Iteration 4\n", - " Energy: -77.46318401840293\n", - " Norm of gradient: 0.0290502768037025\n", - " Regularization hyperparameter: 0.005367179953686701\n", - " Variation hyperparameter: 0.4953693465095995\n" + " Energy: -77.45809800966964\n", + " Norm of gradient: 0.0077381151085179475\n", + " Regularization hyperparameter: 0.9595021741490675\n", + " Variation hyperparameter: 0.6668397135509168\n" ] } ], diff --git a/searchindex.js b/searchindex.js index e49386e17..809c5e415 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API Reference": [[7, "api-reference"]], "Brief background on Trotter-Suzuki formulas": [[16, "Brief-background-on-Trotter-Suzuki-formulas"]], "Citing ffsim": [[14, "citing-ffsim"]], "Developer guide": [[14, "developer-guide"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[16, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[16, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Explanations": [[8, "explanations"]], "Gates": [[9, "Gates"]], "How to simulate entanglement forging": [[10, "How-to-simulate-entanglement-forging"]], "How to simulate the local unitary cluster Jastrow (LUCJ) ansatz": [[13, "How-to-simulate-the-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"]], "How to use the FermionOperator class": [[11, "How-to-use-the-FermionOperator-class"]], "How-to guides": [[12, "how-to-guides"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[16, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Install from source": [[15, "install-from-source"]], "Installation": [[14, "installation"], [15, "installation"]], "Next steps": [[14, "next-steps"]], "Optimize with the linear method": [[13, "Optimize-with-the-linear-method"]], "Orbital rotations": [[18, "Orbital-rotations"]], "Orbital rotations and quadratic Hamiltonians": [[18, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Pip install": [[15, "pip-install"]], "State vectors": [[9, "State-vectors"]], "State vectors and gates": [[9, "State-vectors-and-gates"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[13, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"]], "The unitary cluster Jastrow (UCJ) ansatz": [[13, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Time evolution by a quadratic Hamiltonian": [[18, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[16, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Tutorials": [[17, "tutorials"]], "Use within Docker": [[15, "use-within-docker"]], "ffsim": [[0, "module-ffsim"], [14, "ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "ffsim.qiskit": [[4, "module-ffsim.qiskit"]], "ffsim.random": [[5, "module-ffsim.random"]], "ffsim.testing": [[6, "module-ffsim.testing"]]}, "docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.linalg", "api/ffsim.optimize", "api/ffsim.qiskit", "api/ffsim.random", "api/ffsim.testing", "api/index", "explanations/index", "explanations/state-vectors-and-gates", "how-to-guides/entanglement-forging", "how-to-guides/fermion-operator", "how-to-guides/index", "how-to-guides/lucj", "index", "install", "tutorials/double-factorized", "tutorials/index", "tutorials/orbital-rotation"], "envversion": {"nbsphinx": 4, "sphinx": 61, "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}, "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.linalg.rst", "api/ffsim.optimize.rst", "api/ffsim.qiskit.rst", "api/ffsim.random.rst", "api/ffsim.testing.rst", "api/index.md", "explanations/index.md", "explanations/state-vectors-and-gates.ipynb", "how-to-guides/entanglement-forging.ipynb", "how-to-guides/fermion-operator.ipynb", "how-to-guides/index.md", "how-to-guides/lucj.ipynb", "index.md", "install.md", "tutorials/double-factorized.ipynb", "tutorials/index.md", "tutorials/orbital-rotation.ipynb"], "indexentries": {"action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action", false]], "active_space (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.active_space", false]], "alpha (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA", false]], "alpha_and_beta (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA_AND_BETA", false]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution", false]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate", false]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation", false]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate", false]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices", false]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction", false]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction", false]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction", false]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution", false]], "apply_on_site_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_interaction", false]], "apply_on_site_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_num_num_interaction", false]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation", false]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction", false]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary", false]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq", false]], "assert_allclose_up_to_global_phase() (in module ffsim.testing)": [[6, "ffsim.testing.assert_allclose_up_to_global_phase", false]], "atom (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.atom", false]], "basis (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.basis", false]], "beta (ffsim.spin attribute)": [[0, "ffsim.Spin.BETA", false]], "c (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.c", false]], "ccsd_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_energy", false]], "ccsd_t1 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t1", false]], "ccsd_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t2", false]], "coeffs (ffsim.productstatesum attribute)": [[0, "ffsim.ProductStateSum.coeffs", false]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number", false]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z", false]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant", false]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant", false]], "constant (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.constant", false]], "contract_diag_coulomb() (in module ffsim.contract)": [[1, "ffsim.contract.contract_diag_coulomb", false]], "contract_num_op_sum() (in module ffsim.contract)": [[1, "ffsim.contract.contract_num_op_sum", false]], "contract_one_body() (in module ffsim.contract)": [[1, "ffsim.contract.contract_one_body", false]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy", false]], "cre() (in module ffsim)": [[0, "ffsim.cre", false]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a", false]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b", false]], "des() (in module ffsim)": [[0, "ffsim.des", false]], "des_a() (in module ffsim)": [[0, "ffsim.des_a", false]], "des_b() (in module ffsim)": [[0, "ffsim.des_b", false]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop", false]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats", false]], "diag_coulomb_mats_alpha_alpha (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_alpha", false]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha", false]], "diag_coulomb_mats_alpha_beta (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_beta", false]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta", false]], "diagcoulombevolutionjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW", false]], "dim() (in module ffsim)": [[0, "ffsim.dim", false]], "dims() (in module ffsim)": [[0, "ffsim.dims", false]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals", false]], "double_factorized() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized", false]], "double_factorized_t2() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2", false]], "doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian", false]], "dropnegligible (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DropNegligible", false]], "expectation_one_body_power() (in module ffsim)": [[0, "ffsim.expectation_one_body_power", false]], "expectation_one_body_product() (in module ffsim)": [[0, "ffsim.expectation_one_body_product", false]], "expectation_product_state() (ffsim.singlefactorizedhamiltonian method)": [[0, "ffsim.SingleFactorizedHamiltonian.expectation_product_state", false]], "expm_multiply_taylor() (in module ffsim.linalg)": [[2, "ffsim.linalg.expm_multiply_taylor", false]], "fci_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_energy", false]], "fci_vec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_vec", false]], "fermi_hubbard_1d() (in module ffsim)": [[0, "ffsim.fermi_hubbard_1d", false]], "fermion_operator() (in module ffsim)": [[0, "ffsim.fermion_operator", false]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction", false]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator", false]], "ffsim": [[0, "module-ffsim", false]], "ffsim.contract": [[1, "module-ffsim.contract", false]], "ffsim.linalg": [[2, "module-ffsim.linalg", false]], "ffsim.optimize": [[3, "module-ffsim.optimize", false]], "ffsim.qiskit": [[4, "module-ffsim.qiskit", false]], "ffsim.random": [[5, "module-ffsim.random", false]], "ffsim.testing": [[6, "module-ffsim.testing", false]], "ffsim_vec_to_qiskit_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.ffsim_vec_to_qiskit_vec", false]], "final_orbital_rotation (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation", false]], "from_mole() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_mole", false]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian", false]], "from_molecular_hamiltonian() (ffsim.singlefactorizedhamiltonian static method)": [[0, "ffsim.SingleFactorizedHamiltonian.from_molecular_hamiltonian", false]], "from_parameters() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_parameters", false]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters", false]], "from_scf() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_scf", false]], "from_t_amplitudes() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_t_amplitudes", false]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes", false]], "generate_norb_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec", false]], "generate_norb_nelec_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec_spin", false]], "generate_norb_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_spin", false]], "givens_decomposition() (in module ffsim.linalg)": [[2, "ffsim.linalg.givens_decomposition", false]], "givensrotation (class in ffsim.linalg)": [[2, "ffsim.linalg.GivensRotation", false]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian", false]], "hartree_fock_state() (in module ffsim)": [[0, "ffsim.hartree_fock_state", false]], "hf_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.hf_energy", false]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator", false]], "i (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.i", false]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings", false]], "init_cache() (in module ffsim)": [[0, "ffsim.init_cache", false]], "inverse() (ffsim.qiskit.diagcoulombevolutionjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW.inverse", false]], "inverse() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.inverse", false]], "is_antihermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_antihermitian", false]], "is_hermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_hermitian", false]], "is_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_orthogonal", false]], "is_real_symmetric() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_real_symmetric", false]], "is_special_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_special_orthogonal", false]], "is_unitary() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_unitary", false]], "j (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.j", false]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator", false]], "lup() (in module ffsim.linalg)": [[2, "ffsim.linalg.lup", false]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order", false]], "match_global_phase() (in module ffsim.linalg)": [[2, "ffsim.linalg.match_global_phase", false]], "mergeorbitalrotations (class in ffsim.qiskit)": [[4, "ffsim.qiskit.MergeOrbitalRotations", false]], "minimize_linear_method() (in module ffsim.optimize)": [[3, "ffsim.optimize.minimize_linear_method", false]], "mo_coeff (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_coeff", false]], "mo_occ (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_occ", false]], "modified_cholesky() (in module ffsim.linalg)": [[2, "ffsim.linalg.modified_cholesky", false]], "module": [[0, "module-ffsim", false], [1, "module-ffsim.contract", false], [2, "module-ffsim.linalg", false], [3, "module-ffsim.optimize", false], [4, "module-ffsim.qiskit", false], [5, "module-ffsim.random", false], [6, "module-ffsim.testing", false]], "mole (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.mole", false]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData", false]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian", false]], "mp2_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_energy", false]], "mp2_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_t2", false]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state", false]], "multireference_state_prod() (in module ffsim)": [[0, "ffsim.multireference_state_prod", false]], "n_params() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.n_params", false]], "n_params() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.n_params", false]], "n_reps (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.n_reps", false]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps", false]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec", false]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb", false]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb", false]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb", false]], "norb (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.norb", false]], "norb (ffsim.singlefactorizedhamiltonian property)": [[0, "ffsim.SingleFactorizedHamiltonian.norb", false]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb", false]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered", false]], "num_op_sum_linop() (in module ffsim.contract)": [[1, "ffsim.contract.num_op_sum_linop", false]], "number_operator() (in module ffsim)": [[0, "ffsim.number_operator", false]], "one_body_linop() (in module ffsim.contract)": [[1, "ffsim.contract.one_body_linop", false]], "one_body_squares (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_squares", false]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor", false]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor", false]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor", false]], "one_body_tensor (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_tensor", false]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot", false]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb", false]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations", false]], "orbital_rotations (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.orbital_rotations", false]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations", false]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries", false]], "orbitalrotationjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.OrbitalRotationJW", false]], "productstatesum (class in ffsim)": [[0, "ffsim.ProductStateSum", false]], "qiskit_vec_to_ffsim_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.qiskit_vec_to_ffsim_vec", false]], "random_antihermitian() (in module ffsim.random)": [[5, "ffsim.random.random_antihermitian", false]], "random_hermitian() (in module ffsim.random)": [[5, "ffsim.random.random_hermitian", false]], "random_molecular_hamiltonian() (in module ffsim.random)": [[5, "ffsim.random.random_molecular_hamiltonian", false]], "random_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.random_nelec", false]], "random_occupied_orbitals() (in module ffsim.testing)": [[6, "ffsim.testing.random_occupied_orbitals", false]], "random_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_orthogonal", false]], "random_real_symmetric_matrix() (in module ffsim.random)": [[5, "ffsim.random.random_real_symmetric_matrix", false]], "random_special_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_special_orthogonal", false]], "random_statevector() (in module ffsim.random)": [[5, "ffsim.random.random_statevector", false]], "random_t2_amplitudes() (in module ffsim.random)": [[5, "ffsim.random.random_t2_amplitudes", false]], "random_two_body_tensor() (in module ffsim.random)": [[5, "ffsim.random.random_two_body_tensor", false]], "random_unitary() (in module ffsim.random)": [[5, "ffsim.random.random_unitary", false]], "rdm() (in module ffsim)": [[0, "ffsim.rdm", false]], "realucjoperator (class in ffsim)": [[0, "ffsim.RealUCJOperator", false]], "reduced_matrix() (in module ffsim.linalg)": [[2, "ffsim.linalg.reduced_matrix", false]], "reduced_matrix_product_states() (ffsim.singlefactorizedhamiltonian method)": [[0, "ffsim.SingleFactorizedHamiltonian.reduced_matrix_product_states", false]], "rotated() (ffsim.molecularhamiltonian method)": [[0, "ffsim.MolecularHamiltonian.rotated", false]], "run() (ffsim.qiskit.dropnegligible method)": [[4, "ffsim.qiskit.DropNegligible.run", false]], "run() (ffsim.qiskit.mergeorbitalrotations method)": [[4, "ffsim.qiskit.MergeOrbitalRotations.run", false]], "run_ccsd() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_ccsd", false]], "run_fci() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_fci", false]], "run_mp2() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_mp2", false]], "s (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.s", false]], "scf (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.scf", false]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized", false]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized", false]], "singlefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.SingleFactorizedHamiltonian", false]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant", false]], "slater_determinant_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_rdm", false]], "spin (class in ffsim)": [[0, "ffsim.Spin", false]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin", false]], "spin (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.spin", false]], "spin_square() (in module ffsim)": [[0, "ffsim.spin_square", false]], "states (ffsim.productstatesum attribute)": [[0, "ffsim.ProductStateSum.states", false]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary", false]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality", false]], "supportsfermionoperator (class in ffsim)": [[0, "ffsim.SupportsFermionOperator", false]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator", false]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace", false]], "symmetry (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.symmetry", false]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation", false]], "to_parameters() (ffsim.hopgateansatzoperator method)": [[0, "ffsim.HopGateAnsatzOperator.to_parameters", false]], "to_parameters() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_parameters", false]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters", false]], "to_t_amplitudes() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_t_amplitudes", false]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes", false]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation", false]], "trace() (in module ffsim)": [[0, "ffsim.trace", false]], "two_body_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_integrals", false]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor", false]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator", false]], "ucjoperatorjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOperatorJW", false]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation", false]]}, "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, "", "ProductStateSum"], [0, 1, 1, "", "RealUCJOperator"], [0, 1, 1, "", "SingleFactorizedHamiltonian"], [0, 1, 1, "", "Spin"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsFermionOperator"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_on_site_interaction"], [0, 5, 1, "", "apply_on_site_num_num_interaction"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [1, 0, 0, "-", "contract"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_one_body_power"], [0, 5, 1, "", "expectation_one_body_product"], [0, 5, 1, "", "fermi_hubbard_1d"], [0, 5, 1, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [0, 5, 1, "", "indices_to_strings"], [0, 5, 1, "", "init_cache"], [2, 0, 0, "-", "linalg"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "multireference_state_prod"], [0, 5, 1, "", "number_operator"], [0, 5, 1, "", "one_hot"], [3, 0, 0, "-", "optimize"], [4, 0, 0, "-", "qiskit"], [5, 0, 0, "-", "random"], [0, 5, 1, "", "rdm"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_rdm"], [0, 5, 1, "", "spin_square"], [6, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.HopGateAnsatzOperator": [[0, 3, 1, "", "to_parameters"]], "ffsim.MolecularData": [[0, 2, 1, "", "active_space"], [0, 2, 1, "", "atom"], [0, 2, 1, "", "basis"], [0, 2, 1, "", "ccsd_energy"], [0, 2, 1, "", "ccsd_t1"], [0, 2, 1, "", "ccsd_t2"], [0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 2, 1, "", "fci_energy"], [0, 2, 1, "", "fci_vec"], [0, 3, 1, "", "from_mole"], [0, 3, 1, "", "from_scf"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "hf_energy"], [0, 2, 1, "", "mo_coeff"], [0, 2, 1, "", "mo_occ"], [0, 4, 1, "", "mole"], [0, 2, 1, "", "mp2_energy"], [0, 2, 1, "", "mp2_t2"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 3, 1, "", "run_ccsd"], [0, 3, 1, "", "run_fci"], [0, 3, 1, "", "run_mp2"], [0, 4, 1, "", "scf"], [0, 2, 1, "", "spin"], [0, 2, 1, "", "symmetry"], [0, 2, 1, "", "two_body_integrals"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 3, 1, "", "rotated"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.ProductStateSum": [[0, 2, 1, "", "coeffs"], [0, 2, 1, "", "states"]], "ffsim.RealUCJOperator": [[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, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.SingleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 3, 1, "", "expectation_product_state"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_squares"], [0, 2, 1, "", "one_body_tensor"], [0, 3, 1, "", "reduced_matrix_product_states"]], "ffsim.Spin": [[0, 2, 1, "", "ALPHA"], [0, 2, 1, "", "ALPHA_AND_BETA"], [0, 2, 1, "", "BETA"]], "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, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.contract": [[1, 5, 1, "", "contract_diag_coulomb"], [1, 5, 1, "", "contract_num_op_sum"], [1, 5, 1, "", "contract_one_body"], [1, 5, 1, "", "diag_coulomb_linop"], [1, 5, 1, "", "num_op_sum_linop"], [1, 5, 1, "", "one_body_linop"]], "ffsim.linalg": [[2, 1, 1, "", "GivensRotation"], [2, 5, 1, "", "apply_matrix_to_slices"], [2, 5, 1, "", "double_factorized"], [2, 5, 1, "", "double_factorized_t2"], [2, 5, 1, "", "expm_multiply_taylor"], [2, 5, 1, "", "givens_decomposition"], [2, 5, 1, "", "is_antihermitian"], [2, 5, 1, "", "is_hermitian"], [2, 5, 1, "", "is_orthogonal"], [2, 5, 1, "", "is_real_symmetric"], [2, 5, 1, "", "is_special_orthogonal"], [2, 5, 1, "", "is_unitary"], [2, 5, 1, "", "lup"], [2, 5, 1, "", "match_global_phase"], [2, 5, 1, "", "modified_cholesky"], [2, 5, 1, "", "reduced_matrix"]], "ffsim.linalg.GivensRotation": [[2, 2, 1, "", "c"], [2, 2, 1, "", "i"], [2, 2, 1, "", "j"], [2, 2, 1, "", "s"]], "ffsim.optimize": [[3, 5, 1, "", "minimize_linear_method"]], "ffsim.qiskit": [[4, 1, 1, "", "DiagCoulombEvolutionJW"], [4, 1, 1, "", "DropNegligible"], [4, 1, 1, "", "MergeOrbitalRotations"], [4, 1, 1, "", "OrbitalRotationJW"], [4, 1, 1, "", "UCJOperatorJW"], [4, 5, 1, "", "ffsim_vec_to_qiskit_vec"], [4, 5, 1, "", "qiskit_vec_to_ffsim_vec"]], "ffsim.qiskit.DiagCoulombEvolutionJW": [[4, 3, 1, "", "inverse"]], "ffsim.qiskit.DropNegligible": [[4, 3, 1, "", "run"]], "ffsim.qiskit.MergeOrbitalRotations": [[4, 3, 1, "", "run"]], "ffsim.qiskit.OrbitalRotationJW": [[4, 3, 1, "", "inverse"]], "ffsim.random": [[5, 5, 1, "", "random_antihermitian"], [5, 5, 1, "", "random_hermitian"], [5, 5, 1, "", "random_molecular_hamiltonian"], [5, 5, 1, "", "random_orthogonal"], [5, 5, 1, "", "random_real_symmetric_matrix"], [5, 5, 1, "", "random_special_orthogonal"], [5, 5, 1, "", "random_statevector"], [5, 5, 1, "", "random_t2_amplitudes"], [5, 5, 1, "", "random_two_body_tensor"], [5, 5, 1, "", "random_unitary"]], "ffsim.testing": [[6, 5, 1, "", "assert_allclose_up_to_global_phase"], [6, 5, 1, "", "generate_norb_nelec"], [6, 5, 1, "", "generate_norb_nelec_spin"], [6, 5, 1, "", "generate_norb_spin"], [6, 5, 1, "", "random_nelec"], [6, 5, 1, "", "random_occupied_orbitals"]]}, "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"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "terms": {"": [0, 2, 4, 7, 9, 10, 11, 13, 15, 16], "0": [0, 2, 3, 6, 9, 10, 11, 13, 16, 18], "00": [10, 13], "0000000": [10, 13], "001011": [0, 9], "001101": [0, 9], "001110": [0, 9], "0017434048084190637": 13, "0022599409822063963": 13, "005367179953686701": 13, "01": [10, 13], "010011": [0, 9], "010101": [0, 9], "010110": [0, 9], "012e": 10, "015559776204922056": 13, "016071302328387504": 13, "02": [10, 13], "020210672926742775": 13, "02242": 2, "02625": 2, "0290502768037025": 13, "03": [10, 13], "04": [10, 13], "04824536314851326": 13, "05": [0, 2, 3, 4, 13], "0609050": 5, "0625": [0, 11], "06251429": 11, "07": 6, "071e": 13, "08": [0, 2, 3, 4], "08957": 2, "0968108157468643": 13, "0j": 11, "1": [0, 2, 3, 5, 9, 10, 11, 13, 16, 18], "10": 16, "100": 10, "1000": 3, "100011": [0, 9], "100101": [0, 9], "100110": [0, 9], "104": 10, "112": 10, "11302447j": 11, "116e": [10, 13], "12": [2, 11], "1234": [9, 10, 18], "125": [0, 11], "12j": 11, "15": 10, "151e": 13, "15x15": 10, "162e": 13, "163e": 13, "1711": 2, "180": 10, "1808": 2, "18j": 11, "192e": 10, "1e": [0, 2, 3, 4, 6], "1j": [0, 11, 16, 18], "2": [0, 1, 2, 4, 5, 9, 10, 11, 13, 16, 18], "20656273321643": 10, "2104": 2, "21984743e": 11, "23": 10, "23454611925037366": 13, "237e": 13, "2387735391222402": 13, "2388058960030377": 13, "25": [0, 11], "257e": 13, "25j": [0, 11], "2j": [0, 11], "2n": 9, "3": [0, 2, 4, 9, 10, 11, 13, 16, 18], "375e": 13, "376e": 13, "39": [9, 11], "395e": 13, "3j": 11, "4": [0, 2, 9, 10, 11, 13, 16, 18], "414e": 13, "423": 13, "430e": 13, "440": 13, "44562676439625": 16, "4456267643963": [13, 16], "45617013226905": 13, "45740510866365": 13, "45816584713774": 13, "45823033449722": 13, "46": 13, "46318401840293": 13, "46975600021705": 13, "46x46": 13, "47684367002446": 13, "478": 10, "49387212754479": 13, "4953693465095995": 13, "4j": 11, "5": [0, 3, 9, 11, 13, 16], "503e": 13, "50963529384492": 13, "532e": 13, "549e": 10, "5626": [13, 16], "57322412553862": 13, "584": 13, "58888": 15, "5j": [0, 11], "6": [9, 10, 11, 13, 16, 18], "617e": 13, "6290254326717": 13, "6332495815006": 10, "64": 9, "650e": 10, "670": 13, "678": [13, 16], "6787887956297": 10, "678e": 10, "68085112577849": 10, "6g": [0, 10, 13, 16], "6j": 11, "7": [10, 11, 13, 16], "712e": 13, "72": 13, "7288249991515": 10, "72x72": 13, "734e": 13, "74": 10, "749e": 13, "75": 10, "758e": 10, "77": [13, 16], "8": [10, 11, 13, 16], "886e": 13, "9": [9, 10, 11, 13, 16], "912e": 13, "9289": [13, 16], "931506230140005": 16, "945e": 13, "958": 10, "977e": 13, "986e": 13, "9928527668213382": 16, "996e": 10, "9999320851286736": 16, "9999913261307617": 16, "A": [0, 1, 2, 3, 4, 5, 6, 9, 11, 13, 15, 16, 18], "AND": 10, "As": [0, 13, 16, 18], "By": 14, "For": [0, 3, 9, 11, 13, 15, 18], "If": [0, 1, 2, 3, 4, 5, 6, 11], "In": [0, 9, 10, 11, 13, 16, 18], "It": [0, 2, 3, 4, 9, 11, 13, 15, 16], "Its": 3, "NO": [10, 13], "No": 2, "Of": 13, "On": [9, 15], "One": [0, 16], "Such": 11, "That": [0, 3, 11, 18], "The": [0, 1, 2, 3, 4, 5, 6, 9, 11, 14, 15, 16, 18], "Then": [0, 14], "These": 11, "To": [0, 9, 13, 16, 18], "With": 13, "_": [0, 2, 4, 10, 13, 16, 18], "_1": 18, "_2": 18, "_k": [0, 13, 16], "a_": [0, 4, 11, 16, 18], "a_j": 1, "a_p": 0, "a_q": 0, "ab": 16, "abl": 15, "about": 14, "abov": [11, 16, 18], "absolut": [0, 2, 6], "acceler": 15, "accept": 13, "access": 15, "achiev": [2, 16], "across": 15, "act": [0, 2, 11], "action": [0, 1, 7, 11, 15, 18], "activ": [0, 10, 13, 16], "active_spac": [0, 7, 10, 13, 16], "actual": [0, 6, 13, 18], "ad": 0, "addit": [0, 11, 16], "addition": 2, "after": [3, 13], "al": 2, "algebra": [2, 11], "algorithm": [2, 3, 13, 14], "alia": [0, 2], "align": [0, 13, 18], "all": [0, 3, 6, 11, 13, 15], "alloc": 0, "allow": [0, 2, 13, 15], "allow_col_permut": 0, "allow_row_permut": 0, "alpha": [0, 1, 4, 6, 7, 9, 11, 13], "alpha_alpha_indic": [0, 13], "alpha_and_beta": [0, 4, 7], "alpha_beta_indic": [0, 13], "alpha_i": 0, "alpha_j": 0, "alreadi": [0, 16], "also": [0, 1, 3, 4, 9, 11, 13, 18], "altern": [0, 16], "although": 16, "alwai": [0, 2, 5, 9, 18], "amplitud": [0, 2, 5, 13], "an": [0, 1, 2, 4, 5, 9, 11, 13, 14, 16, 18], "angl": [0, 10], "ani": [0, 3, 13, 18], "annihil": [0, 11], "anoth": [2, 6], "ansatz": [0, 3, 10, 12], "ansatz_oper": 0, "ansatz_st": 13, "anti": [2, 5], "anticommut": 18, "ao": 0, "ap": 2, "appear": [0, 2, 11], "append": [6, 13], "appli": [0, 1, 2, 3, 9, 13, 16, 18], "apply_": 9, "apply_diag_coulomb_evolut": [0, 7, 16], "apply_fsim_g": [0, 7], "apply_givens_rot": [0, 7], "apply_hop_g": [0, 7], "apply_matrix_to_slic": [2, 7], "apply_num_interact": [0, 7], "apply_num_num_interact": [0, 7], "apply_num_op_prod_interact": [0, 7], "apply_num_op_sum_evolut": [0, 7, 16, 18], "apply_on_site_interact": [0, 7], "apply_on_site_num_num_interact": [0, 7], "apply_orbital_rot": [0, 7, 9, 18], "apply_tunneling_interact": [0, 7], "apply_unitari": [0, 7, 13], "appropri": 0, "approx": 16, "approx_eq": [0, 7], "approxim": [0, 2, 3, 16], "apt": 15, "ar": [0, 1, 2, 4, 5, 6, 9, 11, 13, 15, 16, 18], "arch": 15, "arg": [0, 4], "argument": [0, 2, 3, 9, 18], "arithmet": 11, "arrai": [0, 2, 6, 9, 11], "arxiv": [2, 5], "assembl": 2, "assert": 9, "assert_allclos": [9, 18], "assert_allclose_up_to_global_phas": [6, 7], "assertionerror": 6, "associ": [0, 3, 9, 11, 13], "assum": [4, 9], "asterisk": 0, "asymmetr": 16, "atol": [0, 2, 4, 6], "atom": [0, 7, 10, 13, 16], "attempt": 2, "attribut": 3, "author": 14, "avail": 15, "avoid": [0, 11], "awar": 11, "b": [0, 2, 3, 6, 10, 13, 16, 18], "backflow": 3, "base": [0, 2, 4], "basi": [0, 2, 7, 10, 13, 16, 18], "basic": 16, "becaus": [11, 16], "been": 0, "befor": [0, 9, 11, 13, 15], "begin": [0, 2, 9, 13, 18], "behavior": [2, 5], "being": [2, 11, 13], "below": [0, 13, 16, 18], "benchmark": 0, "beta": [0, 1, 4, 6, 7, 9, 11, 13], "beta_i": 0, "beta_j": 0, "better": [16, 18], "between": [0, 1, 2, 3, 13], "bfg": [0, 2, 3, 10, 13], "bibtex": 14, "bit": 9, "bitstr": [0, 9], "bla": 15, "block_diag": 0, "bodi": [0, 1, 2, 5, 10, 13, 16], "bond": [10, 13, 16], "bond_angle_deg": 10, "bond_dist": [13, 16], "bool": [0, 1, 2, 3, 6], "bool_": 2, "both": [0, 2], "bound": [0, 2], "boundari": 0, "bq": 2, "break": 14, "brickwork": 10, "browser": 15, "build": [10, 13, 15, 16], "built": 16, "c": [0, 2, 7, 13, 16], "c2v": 10, "cach": 0, "calcul": [0, 9, 13, 16], "call": [0, 3, 9, 11, 13, 16, 18], "callabl": [3, 13], "callback": [0, 2, 3, 13], "can": [0, 2, 9, 11, 13, 14, 15, 16, 18], "canon": 0, "casci": [10, 13], "case": 6, "categori": 14, "cc": 13, "ccsd": [0, 13], "ccsd_energi": [0, 7], "ccsd_t1": [0, 7], "ccsd_t2": [0, 7], "cd": 15, "cdot": 2, "cell": [9, 13, 16], "certain": 2, "challeng": 13, "chang": 14, "character": 0, "check": [2, 6, 9, 14, 16, 18], "chemic": 0, "chemical_potenti": 0, "chemistri": 14, "choic": [0, 6, 9], "choleski": [0, 2], "choos": [2, 9, 13], "ci": [10, 13], "circuit": [0, 4, 9, 14], "class": [0, 2, 4, 5, 12, 13], "clement": 2, "clone": 15, "cluster": [0, 4, 12], "co": [0, 10], "code": [4, 9, 11, 13, 14, 16], "coeff": [0, 1, 7], "coeffici": [0, 1, 2, 11, 13, 18], "collect": [2, 13], "column": [0, 2, 9, 18], "com": [14, 15], "comb": 4, "combin": [0, 1, 11, 18], "command": 15, "commonli": 16, "commun": [14, 15], "commut": [0, 13, 16], "compar": [0, 6, 16], "compil": 15, "complet": 0, "complex": [0, 1, 2, 5], "complic": 13, "compon": [0, 11, 14], "compos": [15, 16], "compress": [0, 2], "compris": [0, 11], "comput": [0, 2, 10, 13, 18], "concaten": 9, "condit": 0, "configur": [0, 9, 15], "conflict": 6, "conj": 18, "conjug": 2, "connect": 13, "consecut": 4, "conserv": [0, 11, 14], "conserves_particle_numb": [0, 7, 11], "conserves_spin_z": [0, 7, 11], "consid": [13, 18], "consist": 0, "constant": [0, 5, 7, 13, 16], "constrain": 2, "constraint": 13, "construct": [0, 1, 3, 4, 9, 10, 11, 13, 16], "constructor": 13, "contain": [0, 2, 3, 11, 13, 14, 15], "contract": [7, 18], "contract_diag_coulomb": [1, 7], "contract_num_op_sum": [1, 7], "contract_one_bodi": [1, 7], "contrast": 9, "contribut": 14, "control": 3, "conveni": 9, "convent": 0, "converg": [3, 10, 13, 16], "convers": 13, "convert": [0, 1, 4, 9, 11, 13, 16, 18], "coordin": 0, "copi": [0, 11], "core": 0, "core_energi": [0, 7], "correl": 3, "correspond": [0, 2, 3, 4, 9, 13, 16, 18], "cost": 0, "coulomb": [0, 1, 2, 4, 13, 17], "count": 0, "cours": 13, "cre": [0, 7], "cre_a": [0, 7, 11], "cre_b": [0, 7, 11], "creat": [0, 9, 11, 13, 16, 18], "creation": [0, 11, 18], "criteria": 11, "current": [0, 2, 13, 14], "d": [2, 15], "d2h": [13, 16], "dag": 4, "dagcircuit": 4, "dagger": [0, 1, 2, 11, 13, 16, 18], "dagger_": [0, 4, 16, 18], "dagger_i": 1, "data": [0, 5, 10, 11, 13, 16], "dataclass": [13, 16], "daunt": 16, "de": [0, 7], "decompos": [2, 16], "decomposit": [0, 2], "decreas": 13, "def": [10, 13, 16], "default": [0, 2, 3, 5], "default_rng": [0, 5, 6, 10], "defaultdict": 13, "defin": [0, 2, 10, 13, 16], "definit": [0, 2, 3], "demonstr": [9, 13, 16, 18], "denot": [0, 1, 2, 4, 18], "densiti": 0, "depend": [0, 2, 3, 15], "deprec": 0, "depth": 13, "deriv": 16, "des_a": [0, 7, 11], "des_b": [0, 7, 11], "descend": [0, 11], "describ": [0, 1, 2, 11, 13, 16, 18], "descript": [0, 4], "design": 2, "desir": [0, 6], "destroi": [0, 11], "determin": [0, 2, 9, 16], "dev": 15, "devel": 15, "develop": 4, "df_hamiltonian": 16, "diag_coulomb_indic": [0, 2], "diag_coulomb_linop": [1, 7], "diag_coulomb_mat": [0, 7, 16], "diag_coulomb_mats_alpha_alpha": [0, 7], "diag_coulomb_mats_alpha_beta": [0, 7], "diagcoulombevolutionjw": [4, 7], "diagon": [0, 1, 2, 4, 13, 17, 18], "dict": [0, 2, 3, 10, 13], "dictionari": [0, 11], "differ": [0, 1, 2, 3, 4, 13, 15], "dim": [0, 5, 7, 9, 11], "dim_a": [0, 9], "dim_b": [0, 9], "dimens": [0, 5, 9], "dimension": [0, 2, 4, 9], "dipol": 0, "dipole_integr": [0, 7], "directli": [13, 15, 16], "directori": 15, "disclaim": 14, "disjoint": 2, "displai": 11, "distribut": 5, "divid": 16, "divis": [0, 11], "dnf": 15, "do": [11, 16], "dockerfil": 15, "docstr": 0, "document": [0, 2], "doe": 11, "dot": 0, "doubl": [0, 2, 13, 17], "double_factor": [0, 2, 7], "double_factorized_t2": [2, 7], "doublefactorizedhamiltonian": [0, 7, 16], "down": 9, "drop": 4, "dropneglig": [4, 7], "dtype": [0, 5, 10, 13], "e": [0, 2, 4, 10, 11, 13, 16], "e_corr": 13, "each": [0, 2, 3, 9, 11, 13, 16], "effect": [0, 4, 13], "effici": 11, "eig": [11, 18], "eigendecomposit": 18, "eigenvalu": [0, 2, 3, 18], "eigenvector": [0, 18], "eigh": [16, 18], "eigsh": 18, "either": [2, 13], "electron": [0, 1, 4, 5, 6, 9, 16], "element": [0, 2], "ell": 2, "els": [0, 5, 9], "elsewher": 0, "enabl": 2, "end": [0, 2, 13, 18], "energi": [0, 3, 10, 13, 16, 18], "enforc": [0, 13], "entangl": 12, "entir": 2, "entri": [0, 2, 9, 13], "enumer": [0, 13], "environ": 15, "epsilon": 3, "equal": [0, 2, 6], "equal_nan": 6, "equilibrium": 10, "equival": 0, "err_msg": 6, "error": [0, 2, 6], "especi": 11, "et": 2, "ethen": [13, 16], "evalu": [3, 10], "everywher": 9, "evolut": [0, 4, 16], "evolv": [0, 16], "evolved_vec": 18, "evolved_vec_alt": 18, "exact": [2, 16], "exact_st": 16, "exampl": [0, 9, 11, 13, 15, 18], "exce": [2, 10], "except": [0, 3], "exp": [0, 2, 4, 6, 18], "expand": 0, "expans": [2, 3], "expect": [0, 3], "expectation_one_body_pow": [0, 7], "expectation_one_body_product": [0, 7], "expectation_product_st": [0, 7], "expected_phas": 18, "expens": [0, 2], "experiment": 14, "explain": 9, "explan": [0, 14], "explicit": 0, "explicitli": 18, "exploit": 14, "expm": 2, "expm_multipli": 16, "expm_multiply_taylor": [2, 7], "exponenti": 16, "express": [9, 13], "f": [3, 9, 10, 13, 16], "facilit": 13, "fact": 18, "factor": [0, 2, 13, 17], "failur": 6, "fals": [0, 1, 2, 4, 10, 11, 13], "far": 11, "fast": 0, "faster": [13, 14], "fault": 13, "fci": [0, 9, 13], "fci_energi": [0, 7], "fci_vec": [0, 7], "fcivec": 0, "fedora": 15, "feenberg": 3, "fermi": 0, "fermi_hubbard_1d": [0, 7], "fermion": [0, 11, 13, 14, 18], "fermion_oper": [0, 7], "fermionact": [0, 7], "fermionoper": [0, 7, 12], "few": 15, "fewer": [3, 16], "ffsim": [7, 9, 10, 11, 13, 15, 16, 18], "ffsim_vec_to_qiskit_vec": [4, 7], "fidel": 16, "field": [0, 2], "file": 15, "filter": 0, "final": [0, 3, 13, 16], "final_orbital_rot": [0, 7], "final_st": [13, 16], "finish": 16, "finit": 3, "first": [0, 2, 4, 9, 10, 13, 16, 18], "fix": 9, "flag": 0, "float": [0, 2, 3, 5, 6, 16], "float64": [10, 13], "fock": [0, 9, 13, 16, 18], "follow": [0, 3, 9, 11, 13, 14, 15, 16, 18], "foot": 0, "forg": 12, "form": [0, 1, 2, 11, 13, 16, 18], "format": [0, 4], "formula": 0, "fourth": 16, "frac": [0, 2], "frac12": [0, 13, 16], "frac18": 0, "framework": 15, "from": [0, 5, 9, 10, 11, 13, 14, 18], "from_mol": [0, 7, 10, 16], "from_molecular_hamiltonian": [0, 7, 16], "from_paramet": [0, 7, 13], "from_scf": [0, 7, 13], "from_t_amplitud": [0, 7, 13], "frozen": 13, "fsim": 0, "full": [0, 2, 9], "fun": [3, 10, 13], "function": [0, 1, 2, 3, 9, 11, 13, 16, 18], "fundament": 18, "furthermor": [0, 2], "g": [0, 4, 10, 13], "g_": 2, "g_1": 2, "g_k": 2, "g_l": 2, "gate": [0, 4, 8, 13, 14], "gener": [0, 3, 5, 6, 9, 13, 14, 16, 18], "generate_norb_nelec": [6, 7], "generate_norb_nelec_spin": [6, 7], "generate_norb_spin": [6, 7], "get": [0, 9, 10, 13, 16, 18], "git": 15, "github": [14, 15], "give": [0, 18], "given": [0, 1, 2, 4, 6, 16, 18], "givens_decomposit": [2, 7], "givensrot": [2, 7], "global": 6, "go": [0, 11], "good": 11, "gradient": [2, 3, 13], "greater": 3, "ground": [13, 18], "gt": [10, 13], "gto": [10, 13, 16], "gtol": 3, "guess": 3, "guid": [10, 13], "h": [0, 10, 13, 16], "h1_x": 10, "h2_x": 10, "h2_y": 10, "h_": [0, 2, 16], "h_k": 16, "ha": [0, 1, 2, 4, 9, 13, 16, 18], "haar": 5, "ham": 9, "hamiltonian": [0, 3, 5, 7, 10, 13, 17], "hand": 9, "handl": 16, "hartre": [0, 9, 13, 16, 18], "hartree_fock": [0, 13], "hartree_fock_st": [0, 7, 9, 13, 16, 18], "hasattr": 13, "hash": 11, "have": [0, 2, 9, 11, 13, 15, 18], "height": 5, "helper": 11, "here": [0, 2, 13, 16, 18], "hermitian": [0, 2, 5, 18], "hess_inv": [10, 13], "hf_energi": [0, 7, 16], "higher": [0, 16], "hold": 3, "home": 15, "hop": 0, "hopgateansatzoper": [0, 7, 10], "host": 14, "hot": 0, "how": [0, 9, 14, 16, 18], "howev": 14, "http": [14, 15], "hubbard": 0, "hyperparamet": [3, 13], "i": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 18], "idea": 13, "ignor": [0, 2, 16], "ij": [0, 1, 2, 4, 13, 16, 18], "ijab": 2, "ik": 18, "illustr": 18, "imag": 15, "implement": [1, 3, 4, 13, 15, 18], "import": [0, 9, 10, 11, 13, 16, 18], "impos": 13, "improv": 16, "includ": [0, 2, 9, 13, 14, 15, 16, 18], "incorpor": 0, "increas": [0, 9, 13, 16], "increment": 3, "incur": 3, "index": [0, 9, 11, 13], "indic": [0, 2, 9, 11, 13], "indices_to_str": [0, 7, 9], "individu": [9, 11, 16], "info": 13, "inform": [11, 13, 14], "init_cach": [0, 7], "initi": [0, 3, 5, 6, 10, 13, 16], "initial_st": 16, "initiali": 10, "input": [0, 1, 3, 5, 6, 13], "instanc": [5, 16, 18], "instead": [0, 2, 13], "instruct": [14, 15], "int": [0, 1, 2, 3, 4, 5, 6, 10, 16], "integ": [0, 2], "integr": 0, "interact": [0, 1], "interaction_pair": [0, 10], "interfac": [13, 15], "interferomet": 2, "intermedi": 13, "intermediate_result": [3, 13], "intern": 11, "interpret": 0, "introduc": [13, 14, 18], "invers": [4, 7], "involv": [0, 13], "ip": 2, "is_antihermitian": [2, 7], "is_hermitian": [2, 7], "is_orthogon": [2, 7], "is_real_symmetr": [2, 7], "is_special_orthogon": [2, 7], "is_unitari": [2, 7], "isclos": 0, "iter": [0, 3, 6, 13], "its": [0, 2, 9, 11, 16, 18], "itself": [0, 9, 11], "j": [0, 1, 2, 4, 7, 9, 10, 11, 13, 16, 18], "jac": [3, 10, 13], "jastrow": [0, 3, 4, 12], "ji": [0, 18], "jk": 18, "jordan": [0, 4], "jq": 2, "jupyt": 15, "just": [0, 9, 13, 15, 16], "k": [0, 2, 11, 13, 16, 18], "kappa": 0, "kappa_": 0, "keep": [0, 2], "kernel": 13, "known": 16, "kron": 0, "kwarg": [0, 4], "l": [0, 2, 3, 10, 13, 16], "label": [4, 9], "ladder": 13, "lambda_i": [0, 1, 18], "lambda_k": 18, "langl": 0, "larger": [0, 2, 3, 11], "last": [3, 4], "later": 16, "lattic": 13, "layer": 2, "lbfgsinvhessproduct": [10, 13], "ldot": [2, 13], "lead": [0, 3], "least": 2, "left": [0, 4, 9, 11, 18], "len": [10, 13], "length": [0, 4, 9, 13, 16], "leq": [0, 2], "less": [2, 13], "let": [0, 9, 11, 16], "level": 16, "lexicograph": [0, 11], "libopenbla": 15, "librari": [0, 14], "like": [13, 15], "limit": [0, 2, 10, 13], "linalg": [0, 7, 11, 13, 16, 18], "lindep": 3, "line": 13, "linear": [0, 1, 2, 3, 11, 18], "linear_oper": [0, 7, 11, 13, 16], "linearoper": [0, 1, 3, 11, 13, 16, 18], "linop": 11, "linux": 15, "list": [0, 2, 6, 9, 10, 13], "ll": [13, 16, 18], "lm": 11, "local": 12, "localhost": 15, "log": [0, 4], "longest": 0, "lookup": 0, "low": 0, "lower": [0, 2], "lowest": [0, 9, 16, 18], "lt": [10, 13], "lu": 2, "lucj": 12, "lup": [2, 7], "lvert": [0, 9, 13], "m": [0, 1, 2, 18], "m_": [0, 1, 2], "maco": 15, "mai": [0, 2, 3, 13, 14, 15, 18], "main": [13, 15], "make": 13, "manag": 15, "mani": [0, 14], "manual": 16, "many_body_ord": [0, 7], "map": [0, 11, 18], "mapsto": [0, 18], "mat": [0, 1, 2, 4, 9], "mat_alpha_beta": [0, 1, 4], "match": [2, 9, 16], "match_global_phas": [2, 7], "math": [5, 10], "mathbf": [0, 13, 16, 18], "mathcal": [0, 1, 13, 16, 18], "matric": [0, 1, 2, 13, 16, 18], "matrix": [0, 1, 2, 3, 4, 5, 9, 11, 13, 16, 18], "max_vec": [0, 2], "maxfun": 10, "maximum": [0, 2, 3, 5], "maxit": [3, 13], "mcscf": [10, 13], "measur": 5, "mention": [16, 18], "merg": 4, "mergeorbitalrot": [4, 7], "messag": [6, 10, 13], "method": [0, 2, 3, 10, 11, 14], "minim": [0, 2, 3, 10, 13], "minimize_linear_method": [3, 7, 13], "mo_coeff": [0, 7], "mo_occ": [0, 7], "mode": 18, "model": 0, "modifi": [0, 2], "modified_choleski": [2, 7], "modul": [0, 9], "mol": [10, 13, 16], "mol_data": [10, 13, 16], "mol_hamiltonian": [10, 13, 16], "mole": [0, 7, 10, 13, 16], "molecul": [0, 10, 13, 16], "molecular": [0, 5, 9, 10, 13], "moleculardata": [0, 7, 10, 13, 16], "molecularhamiltonian": [0, 5, 7, 16], "more": [0, 2, 3, 13], "most": [0, 2, 11], "mp2": [0, 13], "mp2_energi": [0, 7], "mp2_t2": [0, 7], "mu": 0, "much": [0, 2, 14], "multipl": [0, 11, 16], "multipli": [0, 11], "multiport": 2, "multirefer": 0, "multireference_st": [0, 7], "multireference_state_prod": [0, 7, 10], "must": [0, 2, 3, 11], "n": [0, 2, 9, 13, 16, 18], "n_": [0, 1, 4, 9, 13, 16, 18], "n_alpha": [4, 6, 9, 18], "n_beta": [4, 6, 9, 18], "n_layer": 10, "n_p": 0, "n_param": [0, 7], "n_rep": [0, 7, 13], "n_sampl": 0, "n_step": [0, 16], "name": [0, 9, 15], "namedtupl": [0, 2], "nan": 6, "nao_nr": [10, 13], "nativ": 14, "navig": 15, "ndarrai": [0, 1, 2, 3, 4, 5, 6, 13, 16], "nearest": 0, "nearest_neighbor_interact": 0, "need": [0, 13, 15], "neg": 0, "neglig": 4, "neighbor": 0, "nelec": [0, 1, 4, 6, 7, 9, 10, 11, 13, 16, 18], "nelectron": [13, 16], "neq": [0, 1, 4], "nest": 2, "network": 13, "new": [0, 11, 18], "newli": 0, "nfev": [3, 10, 13], "nit": [10, 13], "njev": [10, 13], "nlinop": [3, 13], "nn": 0, "nocc": [0, 5], "noisi": 13, "non": 13, "none": [0, 1, 2, 3, 4, 5, 6], "nonzero": [0, 2, 13], "norb": [0, 1, 4, 5, 6, 7, 9, 10, 11, 13, 16, 18], "norb_rang": 6, "norm": [0, 3, 13], "normal": [0, 11], "normal_ord": [0, 7, 11], "note": [0, 2, 3, 9, 11], "notebook": 15, "notic": 13, "notimplementederror": 4, "now": 16, "np": [0, 5, 6, 9, 10, 13, 16, 18], "num_op_sum_linop": [1, 7], "number": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 13, 14, 16, 18], "number_oper": [0, 7], "numer": [0, 2, 11], "numpi": [0, 2, 6, 9, 10, 13, 16, 18], "o": [0, 10], "o_1": 0, "o_2": 0, "o_k": 0, "obj": 0, "object": [0, 2, 3, 11, 13], "obtain": [0, 13, 16, 18], "occ_a": 6, "occ_b": 6, "occup": [0, 9, 16, 18], "occupi": [0, 5, 6, 9, 16], "occupied_orbit": [0, 9, 18], "often": 13, "onc": 15, "one": [0, 1, 2, 4, 5, 9, 10, 13, 15, 16], "one_body_basis_chang": 16, "one_body_energi": 16, "one_body_integr": 0, "one_body_linop": [1, 7, 18], "one_body_squar": [0, 7], "one_body_tensor": [0, 7, 16, 18], "one_hot": [0, 7], "one_rdm": 0, "onli": [0, 2, 13, 15, 18], "onsit": 0, "onto": 11, "op": [0, 11], "op1": [0, 11], "op2": [0, 11], "op3": 11, "op4": 11, "openbla": 15, "oper": [0, 1, 2, 3, 4, 10, 11, 13, 15, 17, 18], "optim": [0, 2, 7, 10], "optimize_hyperparamet": 3, "optimize_hyperparameters_arg": 3, "optimizeresult": [3, 13], "option": [0, 1, 2, 3, 9, 10, 13, 15], "orb": [0, 7, 11], "orbit": [0, 1, 2, 4, 5, 6, 9, 11, 13, 16, 17], "orbital_rot": [0, 1, 4, 7, 9, 16, 18], "orbital_symmetri": [0, 7], "orbitalrotationjw": [4, 7], "order": [0, 4, 9, 11, 13, 16], "origin": [0, 2, 16], "orthogon": [2, 5], "other": [0, 9, 13], "otherwis": 0, "our": [13, 16, 18], "out": [2, 14, 16], "output": [0, 3, 13, 16], "over": 0, "overal": 3, "overrid": [0, 2], "overwritten": 0, "p": [0, 2, 13, 16], "packag": 15, "pacman": 15, "page": 9, "pair": [0, 2, 6], "parallel": [2, 13], "param": 0, "paramet": [0, 1, 2, 3, 4, 5, 6, 10, 13], "params_to_vec": [3, 13], "part": [0, 9], "particl": [0, 6, 11, 14, 18], "pass": [0, 2, 4, 9, 11, 13, 18], "pauli": 0, "perform": [0, 2, 3, 16, 18], "period": 0, "permut": [0, 2], "persist": 15, "ph": 5, "phase": [0, 2, 6, 18], "phi": [0, 2, 6], "phi_0": 13, "pi": [0, 10], "pick": 18, "piec": 11, "pip": 14, "pivot": 2, "pk": 2, "place": [0, 1, 4, 11, 13, 15], "plain": 9, "pmatrix": [0, 2], "posit": [2, 3, 9, 10], "possibl": [0, 2, 6, 14], "possibli": [0, 13], "potenti": 0, "power": 0, "pq": [0, 2, 16], "pqr": [0, 2, 16], "pre": 13, "precis": [6, 13], "prepar": 0, "present": 3, "preserv": 11, "previou": [9, 13], "previous": 9, "print": [0, 6, 9, 10, 11, 13, 16], "probabl": 0, "problem": 3, "processor": 13, "prod_": [0, 4, 13], "prod_k": 16, "prod_state_sum": 0, "produc": 9, "product": [0, 9, 11, 16], "productstatesum": [0, 7], "programmat": 11, "project": 3, "properti": [0, 2, 18], "proport": [0, 18], "protocol": 0, "provid": [13, 15], "pseudorandom": [0, 5, 6], "psi": [0, 13], "purpos": 18, "pypi": 15, "pyscf": [0, 4, 9, 10, 13, 16], "q": [0, 16], "qdrift": 0, "qi": 0, "qiskit": [7, 14, 15], "qiskit_vec_to_ffsim_vec": [4, 7], "qk": 2, "quadrat": [16, 17], "qualnam": 0, "quantifi": 2, "quantiti": 0, "quantum": [0, 4, 9, 13, 14, 16], "qubit": [0, 4, 13], "r": [0, 2, 16], "radius_1": 10, "radius_2": 10, "rais": [0, 2, 4, 6], "random": [0, 6, 7, 9, 10, 11, 18], "random_antihermitian": [5, 7], "random_hermitian": [5, 7, 18], "random_molecular_hamiltonian": [5, 7], "random_nelec": [6, 7], "random_occupied_orbit": [6, 7], "random_orthogon": [5, 7], "random_real_symmetric_matrix": [5, 7], "random_special_orthogon": [5, 7], "random_statevector": [5, 7, 11], "random_t2_amplitud": [5, 7], "random_two_body_tensor": [5, 7], "random_unitari": [5, 7, 9, 18], "rang": [0, 6, 9, 10, 13, 16, 18], "rangl": [0, 9, 13], "rank": [0, 2, 5], "rather": 0, "rdm": [0, 7], "rdm1": 0, "rdm2": 0, "rdm3": 0, "rdm4": 0, "reach": 13, "real": [0, 1, 2, 3, 4, 5, 6, 13, 16, 18], "realucjoper": [0, 7], "recal": 16, "recommend": [11, 14], "reconstruct": [0, 2], "recover": 0, "reduc": [0, 2], "reduced_matrix": [2, 7], "reduced_matrix_product_st": [0, 7], "redund": 13, "refer": [0, 2, 3, 5, 13, 14], "reference_occup": [0, 10], "reference_occupations_spati": 10, "reference_st": 13, "regular": [3, 13], "rel": [0, 2, 6], "relat": [13, 18], "releas": 14, "reorder": 0, "repetit": [0, 13], "repositori": 15, "repr": 11, "repres": [0, 2, 3, 9, 11, 13], "represent": [0, 1, 2, 9, 11], "reproduc": 16, "requir": [0, 9, 13, 15], "reshap": 9, "resourc": 14, "respect": [0, 2, 3], "rest": [0, 16], "result": [0, 1, 2, 3, 5, 9, 10, 13, 16, 18], "return": [0, 1, 2, 3, 4, 5, 6, 10, 11, 13, 16], "return_lower_rank": 0, "rewrit": 0, "rewritten": 18, "rhf": [0, 13], "right": [0, 4, 9, 11, 18], "rng": 10, "root": 0, "rotat": [0, 1, 2, 4, 7, 9, 13, 16, 17], "rotated_vec": 9, "routin": [2, 11], "row": [0, 9], "rtol": [0, 2, 4, 6], "rtype": 2, "run": [0, 4, 7, 13, 14, 15], "run_ccsd": [0, 7], "run_fci": [0, 7, 10, 13], "run_mp2": [0, 7], "rung": 13, "rust": 15, "rvert": 0, "s_": [0, 9], "sa": 18, "same": [0, 9, 13], "sampl": [0, 5, 6], "satisfi": [11, 15, 18], "save": [13, 15], "scalar": [0, 11], "scale": 16, "scf": [0, 7, 10, 13, 16], "scf_func": 0, "scipi": [0, 2, 3, 10, 11, 13, 16, 18], "scipy_optimize_minimize_arg": 3, "second": [0, 2, 10, 16], "section": 18, "sector": 0, "see": [0, 2, 4, 14, 15], "seed": [0, 5, 6, 9, 18], "select": 3, "separ": 9, "sequenc": [0, 2], "seri": 2, "set": [0, 2, 13, 16, 18], "setup": 13, "shape": [0, 2, 5, 13, 16], "share": 13, "short": 13, "should": [0, 2, 4, 5, 6, 15, 16, 18], "show": [10, 11, 13, 16, 18], "shown": 11, "side": 0, "sigma": [0, 1, 4, 13, 16, 18], "sign": 0, "signatur": 3, "similar": 13, "similarli": [0, 16], "simpl": 15, "simpler": 0, "simpli": [9, 18], "simul": [0, 9, 12, 14, 17, 18], "simulate_qdrift_double_factor": [0, 7], "simulate_trotter_double_factor": [0, 7, 16], "simulate_trotter_step_double_factor": 16, "sin": [0, 10], "sinc": [0, 2, 13], "singl": [0, 16], "singlefactorizedhamiltonian": [0, 7], "site": 0, "size": [3, 10], "slater": [0, 9, 16], "slater_det": 9, "slater_determin": [0, 7, 9], "slater_determinant_rdm": [0, 7], "slice": 2, "small": [2, 13], "smaller": [0, 2, 11, 16], "so": [0, 2, 11, 13, 15, 16, 18], "softwar": [0, 14], "solv": 3, "some": [0, 2, 6, 11, 13], "sometim": [0, 9], "somewhat": 13, "sourc": [0, 1, 2, 3, 4, 5, 6, 14], "space": [0, 9, 10, 13, 16], "span": [0, 2], "spars": [11, 16, 18], "sparsiti": 13, "spatial": [0, 1, 4, 6, 9, 11, 13, 16], "special": [2, 5, 14], "specif": 9, "specifi": [0, 2, 3, 6, 9, 13], "spectral": 0, "speed": 3, "spin": [0, 1, 4, 6, 7, 9, 11, 13, 14, 18], "spin_squar": [0, 7], "spin_sum": 0, "split": 16, "squar": [0, 2, 13], "standard": 13, "star": 2, "start": [0, 14], "state": [0, 1, 3, 5, 7, 8, 10, 13, 14, 16, 18], "statevector": [0, 4, 18], "static": 0, "statu": [10, 13], "step": [0, 16, 18], "step_tim": 16, "still": [0, 13], "sto": [0, 10, 13, 16], "stop": [10, 13], "store": [0, 2, 13, 16], "store_fci_vec": 0, "store_t1": 0, "store_t2": 0, "str": [0, 2, 6], "straightforward": 2, "strength": 0, "stretch": [13, 16], "strictli": 3, "string": [0, 9, 11], "structur": 0, "subdirectori": 15, "subspac": [0, 2, 11], "subsystem": [9, 15], "subtract": [0, 11], "success": [10, 13], "sudo": 15, "sum": [0, 1, 4, 16], "sum_": [0, 1, 2, 4, 13, 16, 18], "sum_j": 18, "sum_k": [16, 18], "sum_t": 0, "summat": 0, "support": [0, 2, 11, 15], "supportsapplyunitari": [0, 7], "supportsapproximateequ": [0, 7], "supportsfermionoper": [0, 7], "supportslinearoper": [0, 7], "supportstrac": [0, 7], "suzuki": 0, "swap": 13, "symmetr": [0, 1, 2, 4, 5, 13, 16], "symmetri": [0, 7, 10, 13, 14, 16, 18], "system": [9, 15, 18], "t": [0, 2, 4, 14, 16, 18], "t1": [0, 13], "t2": [0, 2, 5, 13], "t2_amplitud": 2, "t_": 2, "tabl": [0, 11], "take": [0, 3, 13], "taken": 13, "target": 2, "target_orb": 0, "task": 18, "tau": [0, 1, 4, 13, 16], "taylor": 2, "tensor": [0, 1, 2, 5, 10, 13, 16], "term": [0, 1, 2, 4, 5, 11, 13, 16], "test": [7, 9, 16, 18], "text": [0, 16], "th": [2, 18], "than": [0, 13, 14], "thei": [0, 11, 13, 18], "them": [9, 13], "therefor": 2, "theta": [0, 10], "thi": [0, 2, 4, 9, 10, 13, 14, 15, 16, 18], "think": [2, 16], "those": 3, "three": 11, "threshold": [0, 2, 3], "time": [0, 2, 3, 4, 9, 16], "titl": 14, "to_number_represent": [0, 7], "to_paramet": [0, 7, 13], "to_t_amplitud": [0, 7], "to_z_represent": [0, 7], "tol": [0, 2], "toler": [0, 2, 6, 13], "too": 2, "topologi": 13, "total": [0, 10, 13, 16], "trace": [0, 7, 16], "tracea": 16, "trajectori": 0, "transform": [0, 1, 4, 18], "transformationpass": 4, "treat": 0, "triangl": 13, "trianglular": [0, 2], "triangular": [0, 2], "triplet": 6, "trotter": [0, 17], "true": [0, 2, 3, 4, 6, 11], "truncat": 13, "tunnel": 0, "tupl": [0, 1, 2, 4, 6, 11, 16], "tutori": [14, 16, 18], "two": [0, 2, 5, 9, 10, 13, 15, 16], "two_body_integr": [0, 7], "two_body_tensor": [0, 2, 7, 16], "type": [0, 1, 2, 3, 4, 5, 6, 15], "typic": 0, "u": [0, 1, 2, 4], "u_": 0, "ubuntu": 15, "ucj": 0, "ucj_oper": 4, "ucjoper": [0, 4, 7, 13], "ucjoperatorjw": [4, 7], "under": [0, 4], "undo": 18, "uniform": [0, 5, 10], "unimpl": 4, "union": 2, "unit": 2, "unitari": [0, 1, 2, 4, 5, 9, 12, 16, 18], "univers": 2, "unlik": 0, "unord": 0, "unpack": 9, "untouch": 0, "up": [0, 3, 6, 9, 15, 18], "updat": [0, 16], "upon": 11, "upper": [0, 2, 13], "url": 14, "us": [0, 1, 2, 3, 4, 5, 9, 12, 13, 14, 16, 18], "usag": [0, 2, 11], "user": 15, "usual": 0, "util": [2, 5, 6], "v": 0, "v_i": 2, "v_j": 2, "valid": [0, 4, 5, 6], "valu": [0, 1, 2, 3, 6, 13, 16], "valueerror": [0, 2], "vari": 0, "variat": [0, 3, 13], "vdot": [13, 16], "vec": [0, 1, 2, 4, 9, 11, 16, 18], "vec_a": 0, "vec_b": 0, "vector": [0, 1, 2, 3, 4, 5, 8, 10, 11, 13, 14, 18], "verbos": 6, "verifi": 2, "via": [0, 16], "view": 11, "volum": 15, "w": [0, 13, 16, 18], "w_k": [0, 13], "wa": [0, 3], "wai": [13, 18], "warn": 14, "water": 10, "wavefunct": [3, 13], "we": [0, 2, 9, 10, 11, 13, 14, 15, 16, 18], "web": 15, "weight": 9, "well": [0, 3, 9, 14, 15], "when": [0, 3, 4, 9, 11, 13, 14, 16], "whenev": 0, "where": [0, 1, 2, 3, 4, 9, 13, 15, 16, 18], "whether": [0, 1, 2, 3, 11], "which": [0, 2, 4, 5, 9, 11, 13, 15, 16, 18], "while": 13, "whose": [0, 2, 9], "width": 5, "wigner": [0, 4], "william": 2, "window": [14, 15], "wise": 2, "with_final_orbital_rot": 0, "within": [0, 2, 11], "without": [13, 14], "won": 14, "word": [0, 13], "work": [14, 15], "would": [9, 13], "write": 16, "wrote": 16, "wsl": 15, "x": [3, 10, 13], "x0": [3, 10, 13], "yaml": 15, "yield": [0, 2, 10, 13, 16], "you": [9, 13, 14, 15, 18], "your": 15, "z": [0, 1, 2, 4, 11, 13, 14], "z_": [0, 1, 4], "z_represent": [0, 1, 4, 7], "zero": [0, 2], "zip": [0, 10, 13, 16], "\u03c8": [13, 16]}, "titles": ["ffsim", "ffsim.contract", "ffsim.linalg", "ffsim.optimize", "ffsim.qiskit", "ffsim.random", "ffsim.testing", "API Reference", "Explanations", "State vectors and gates", "How to simulate entanglement forging", "How to use the FermionOperator class", "How-to guides", "How to simulate the local unitary cluster Jastrow (LUCJ) ansatz", "ffsim", "Installation", "Diagonal Coulomb operators and double-factorized Trotter simulation", "Tutorials", "Orbital rotations and quadratic Hamiltonians"], "titleterms": {"The": 13, "ansatz": 13, "api": 7, "background": 16, "brief": 16, "cite": 14, "class": 11, "cluster": 13, "contract": 1, "coulomb": 16, "develop": 14, "diagon": 16, "docker": 15, "doubl": 16, "entangl": 10, "evolut": 18, "explan": 8, "factor": 16, "fermionoper": 11, "ffsim": [0, 1, 2, 3, 4, 5, 6, 14], "forg": 10, "formula": 16, "from": 15, "gate": 9, "guid": [12, 14], "hamiltonian": [16, 18], "how": [10, 11, 12, 13], "implement": 16, "instal": [14, 15], "jastrow": 13, "linalg": 2, "linear": 13, "local": 13, "lucj": 13, "method": 13, "molecular": 16, "next": 14, "oper": 16, "optim": [3, 13], "orbit": 18, "pip": 15, "qiskit": 4, "quadrat": 18, "random": 5, "refer": 7, "represent": 16, "rotat": 18, "simul": [10, 13, 16], "sourc": 15, "state": 9, "step": 14, "suzuki": 16, "test": 6, "time": 18, "trotter": 16, "tutori": 17, "ucj": 13, "unitari": 13, "us": [11, 15], "vector": 9, "within": 15}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API Reference": [[7, "api-reference"]], "Brief background on Trotter-Suzuki formulas": [[16, "Brief-background-on-Trotter-Suzuki-formulas"]], "Citing ffsim": [[14, "citing-ffsim"]], "Developer guide": [[14, "developer-guide"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[16, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[16, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Explanations": [[8, "explanations"]], "Gates": [[9, "Gates"]], "How to simulate entanglement forging": [[10, "How-to-simulate-entanglement-forging"]], "How to simulate the local unitary cluster Jastrow (LUCJ) ansatz": [[13, "How-to-simulate-the-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"]], "How to use the FermionOperator class": [[11, "How-to-use-the-FermionOperator-class"]], "How-to guides": [[12, "how-to-guides"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[16, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Install from source": [[15, "install-from-source"]], "Installation": [[14, "installation"], [15, "installation"]], "Next steps": [[14, "next-steps"]], "Optimize with the linear method": [[13, "Optimize-with-the-linear-method"]], "Orbital rotations": [[18, "Orbital-rotations"]], "Orbital rotations and quadratic Hamiltonians": [[18, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Pip install": [[15, "pip-install"]], "State vectors": [[9, "State-vectors"]], "State vectors and gates": [[9, "State-vectors-and-gates"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[13, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"]], "The unitary cluster Jastrow (UCJ) ansatz": [[13, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Time evolution by a quadratic Hamiltonian": [[18, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[16, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Tutorials": [[17, "tutorials"]], "Use within Docker": [[15, "use-within-docker"]], "ffsim": [[0, "module-ffsim"], [14, "ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "ffsim.qiskit": [[4, "module-ffsim.qiskit"]], "ffsim.random": [[5, "module-ffsim.random"]], "ffsim.testing": [[6, "module-ffsim.testing"]]}, "docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.linalg", "api/ffsim.optimize", "api/ffsim.qiskit", "api/ffsim.random", "api/ffsim.testing", "api/index", "explanations/index", "explanations/state-vectors-and-gates", "how-to-guides/entanglement-forging", "how-to-guides/fermion-operator", "how-to-guides/index", "how-to-guides/lucj", "index", "install", "tutorials/double-factorized", "tutorials/index", "tutorials/orbital-rotation"], "envversion": {"nbsphinx": 4, "sphinx": 61, "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}, "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.linalg.rst", "api/ffsim.optimize.rst", "api/ffsim.qiskit.rst", "api/ffsim.random.rst", "api/ffsim.testing.rst", "api/index.md", "explanations/index.md", "explanations/state-vectors-and-gates.ipynb", "how-to-guides/entanglement-forging.ipynb", "how-to-guides/fermion-operator.ipynb", "how-to-guides/index.md", "how-to-guides/lucj.ipynb", "index.md", "install.md", "tutorials/double-factorized.ipynb", "tutorials/index.md", "tutorials/orbital-rotation.ipynb"], "indexentries": {"action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action", false]], "active_space (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.active_space", false]], "alpha (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA", false]], "alpha_and_beta (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA_AND_BETA", false]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution", false]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate", false]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation", false]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate", false]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices", false]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction", false]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction", false]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction", false]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution", false]], "apply_on_site_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_interaction", false]], "apply_on_site_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_num_num_interaction", false]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation", false]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction", false]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary", false]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq", false]], "assert_allclose_up_to_global_phase() (in module ffsim.testing)": [[6, "ffsim.testing.assert_allclose_up_to_global_phase", false]], "atom (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.atom", false]], "basis (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.basis", false]], "beta (ffsim.spin attribute)": [[0, "ffsim.Spin.BETA", false]], "c (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.c", false]], "ccsd_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_energy", false]], "ccsd_t1 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t1", false]], "ccsd_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t2", false]], "coeffs (ffsim.productstatesum attribute)": [[0, "ffsim.ProductStateSum.coeffs", false]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number", false]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z", false]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant", false]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant", false]], "constant (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.constant", false]], "contract_diag_coulomb() (in module ffsim.contract)": [[1, "ffsim.contract.contract_diag_coulomb", false]], "contract_num_op_sum() (in module ffsim.contract)": [[1, "ffsim.contract.contract_num_op_sum", false]], "contract_one_body() (in module ffsim.contract)": [[1, "ffsim.contract.contract_one_body", false]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy", false]], "cre() (in module ffsim)": [[0, "ffsim.cre", false]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a", false]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b", false]], "des() (in module ffsim)": [[0, "ffsim.des", false]], "des_a() (in module ffsim)": [[0, "ffsim.des_a", false]], "des_b() (in module ffsim)": [[0, "ffsim.des_b", false]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop", false]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats", false]], "diag_coulomb_mats_alpha_alpha (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_alpha", false]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha", false]], "diag_coulomb_mats_alpha_beta (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_beta", false]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta", false]], "diagcoulombevolutionjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW", false]], "dim() (in module ffsim)": [[0, "ffsim.dim", false]], "dims() (in module ffsim)": [[0, "ffsim.dims", false]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals", false]], "double_factorized() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized", false]], "double_factorized_t2() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2", false]], "doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian", false]], "dropnegligible (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DropNegligible", false]], "expectation_one_body_power() (in module ffsim)": [[0, "ffsim.expectation_one_body_power", false]], "expectation_one_body_product() (in module ffsim)": [[0, "ffsim.expectation_one_body_product", false]], "expectation_product_state() (ffsim.singlefactorizedhamiltonian method)": [[0, "ffsim.SingleFactorizedHamiltonian.expectation_product_state", false]], "expm_multiply_taylor() (in module ffsim.linalg)": [[2, "ffsim.linalg.expm_multiply_taylor", false]], "fci_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_energy", false]], "fci_vec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_vec", false]], "fermi_hubbard_1d() (in module ffsim)": [[0, "ffsim.fermi_hubbard_1d", false]], "fermion_operator() (in module ffsim)": [[0, "ffsim.fermion_operator", false]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction", false]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator", false]], "ffsim": [[0, "module-ffsim", false]], "ffsim.contract": [[1, "module-ffsim.contract", false]], "ffsim.linalg": [[2, "module-ffsim.linalg", false]], "ffsim.optimize": [[3, "module-ffsim.optimize", false]], "ffsim.qiskit": [[4, "module-ffsim.qiskit", false]], "ffsim.random": [[5, "module-ffsim.random", false]], "ffsim.testing": [[6, "module-ffsim.testing", false]], "ffsim_vec_to_qiskit_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.ffsim_vec_to_qiskit_vec", false]], "final_orbital_rotation (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation", false]], "from_mole() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_mole", false]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian", false]], "from_molecular_hamiltonian() (ffsim.singlefactorizedhamiltonian static method)": [[0, "ffsim.SingleFactorizedHamiltonian.from_molecular_hamiltonian", false]], "from_parameters() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_parameters", false]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters", false]], "from_scf() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_scf", false]], "from_t_amplitudes() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_t_amplitudes", false]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes", false]], "generate_norb_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec", false]], "generate_norb_nelec_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec_spin", false]], "generate_norb_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_spin", false]], "givens_decomposition() (in module ffsim.linalg)": [[2, "ffsim.linalg.givens_decomposition", false]], "givensrotation (class in ffsim.linalg)": [[2, "ffsim.linalg.GivensRotation", false]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian", false]], "hartree_fock_state() (in module ffsim)": [[0, "ffsim.hartree_fock_state", false]], "hf_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.hf_energy", false]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator", false]], "i (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.i", false]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings", false]], "init_cache() (in module ffsim)": [[0, "ffsim.init_cache", false]], "inverse() (ffsim.qiskit.diagcoulombevolutionjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW.inverse", false]], "inverse() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.inverse", false]], "is_antihermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_antihermitian", false]], "is_hermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_hermitian", false]], "is_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_orthogonal", false]], "is_real_symmetric() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_real_symmetric", false]], "is_special_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_special_orthogonal", false]], "is_unitary() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_unitary", false]], "j (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.j", false]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator", false]], "lup() (in module ffsim.linalg)": [[2, "ffsim.linalg.lup", false]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order", false]], "match_global_phase() (in module ffsim.linalg)": [[2, "ffsim.linalg.match_global_phase", false]], "mergeorbitalrotations (class in ffsim.qiskit)": [[4, "ffsim.qiskit.MergeOrbitalRotations", false]], "minimize_linear_method() (in module ffsim.optimize)": [[3, "ffsim.optimize.minimize_linear_method", false]], "mo_coeff (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_coeff", false]], "mo_occ (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_occ", false]], "modified_cholesky() (in module ffsim.linalg)": [[2, "ffsim.linalg.modified_cholesky", false]], "module": [[0, "module-ffsim", false], [1, "module-ffsim.contract", false], [2, "module-ffsim.linalg", false], [3, "module-ffsim.optimize", false], [4, "module-ffsim.qiskit", false], [5, "module-ffsim.random", false], [6, "module-ffsim.testing", false]], "mole (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.mole", false]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData", false]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian", false]], "mp2_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_energy", false]], "mp2_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_t2", false]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state", false]], "multireference_state_prod() (in module ffsim)": [[0, "ffsim.multireference_state_prod", false]], "n_params() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.n_params", false]], "n_params() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.n_params", false]], "n_reps (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.n_reps", false]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps", false]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec", false]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb", false]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb", false]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb", false]], "norb (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.norb", false]], "norb (ffsim.singlefactorizedhamiltonian property)": [[0, "ffsim.SingleFactorizedHamiltonian.norb", false]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb", false]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered", false]], "num_op_sum_linop() (in module ffsim.contract)": [[1, "ffsim.contract.num_op_sum_linop", false]], "number_operator() (in module ffsim)": [[0, "ffsim.number_operator", false]], "one_body_linop() (in module ffsim.contract)": [[1, "ffsim.contract.one_body_linop", false]], "one_body_squares (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_squares", false]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor", false]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor", false]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor", false]], "one_body_tensor (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_tensor", false]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot", false]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb", false]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations", false]], "orbital_rotations (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.orbital_rotations", false]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations", false]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries", false]], "orbitalrotationjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.OrbitalRotationJW", false]], "productstatesum (class in ffsim)": [[0, "ffsim.ProductStateSum", false]], "qiskit_vec_to_ffsim_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.qiskit_vec_to_ffsim_vec", false]], "random_antihermitian() (in module ffsim.random)": [[5, "ffsim.random.random_antihermitian", false]], "random_hermitian() (in module ffsim.random)": [[5, "ffsim.random.random_hermitian", false]], "random_molecular_hamiltonian() (in module ffsim.random)": [[5, "ffsim.random.random_molecular_hamiltonian", false]], "random_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.random_nelec", false]], "random_occupied_orbitals() (in module ffsim.testing)": [[6, "ffsim.testing.random_occupied_orbitals", false]], "random_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_orthogonal", false]], "random_real_symmetric_matrix() (in module ffsim.random)": [[5, "ffsim.random.random_real_symmetric_matrix", false]], "random_special_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_special_orthogonal", false]], "random_statevector() (in module ffsim.random)": [[5, "ffsim.random.random_statevector", false]], "random_t2_amplitudes() (in module ffsim.random)": [[5, "ffsim.random.random_t2_amplitudes", false]], "random_two_body_tensor() (in module ffsim.random)": [[5, "ffsim.random.random_two_body_tensor", false]], "random_unitary() (in module ffsim.random)": [[5, "ffsim.random.random_unitary", false]], "rdm() (in module ffsim)": [[0, "ffsim.rdm", false]], "realucjoperator (class in ffsim)": [[0, "ffsim.RealUCJOperator", false]], "reduced_matrix() (in module ffsim.linalg)": [[2, "ffsim.linalg.reduced_matrix", false]], "reduced_matrix_product_states() (ffsim.singlefactorizedhamiltonian method)": [[0, "ffsim.SingleFactorizedHamiltonian.reduced_matrix_product_states", false]], "rotated() (ffsim.molecularhamiltonian method)": [[0, "ffsim.MolecularHamiltonian.rotated", false]], "run() (ffsim.qiskit.dropnegligible method)": [[4, "ffsim.qiskit.DropNegligible.run", false]], "run() (ffsim.qiskit.mergeorbitalrotations method)": [[4, "ffsim.qiskit.MergeOrbitalRotations.run", false]], "run_ccsd() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_ccsd", false]], "run_fci() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_fci", false]], "run_mp2() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_mp2", false]], "s (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.s", false]], "scf (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.scf", false]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized", false]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized", false]], "singlefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.SingleFactorizedHamiltonian", false]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant", false]], "slater_determinant_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_rdm", false]], "spin (class in ffsim)": [[0, "ffsim.Spin", false]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin", false]], "spin (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.spin", false]], "spin_square() (in module ffsim)": [[0, "ffsim.spin_square", false]], "states (ffsim.productstatesum attribute)": [[0, "ffsim.ProductStateSum.states", false]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary", false]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality", false]], "supportsfermionoperator (class in ffsim)": [[0, "ffsim.SupportsFermionOperator", false]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator", false]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace", false]], "symmetry (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.symmetry", false]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation", false]], "to_parameters() (ffsim.hopgateansatzoperator method)": [[0, "ffsim.HopGateAnsatzOperator.to_parameters", false]], "to_parameters() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_parameters", false]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters", false]], "to_t_amplitudes() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_t_amplitudes", false]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes", false]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation", false]], "trace() (in module ffsim)": [[0, "ffsim.trace", false]], "two_body_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_integrals", false]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor", false]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator", false]], "ucjoperatorjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOperatorJW", false]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation", false]]}, "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, "", "ProductStateSum"], [0, 1, 1, "", "RealUCJOperator"], [0, 1, 1, "", "SingleFactorizedHamiltonian"], [0, 1, 1, "", "Spin"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsFermionOperator"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_on_site_interaction"], [0, 5, 1, "", "apply_on_site_num_num_interaction"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [1, 0, 0, "-", "contract"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_one_body_power"], [0, 5, 1, "", "expectation_one_body_product"], [0, 5, 1, "", "fermi_hubbard_1d"], [0, 5, 1, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [0, 5, 1, "", "indices_to_strings"], [0, 5, 1, "", "init_cache"], [2, 0, 0, "-", "linalg"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "multireference_state_prod"], [0, 5, 1, "", "number_operator"], [0, 5, 1, "", "one_hot"], [3, 0, 0, "-", "optimize"], [4, 0, 0, "-", "qiskit"], [5, 0, 0, "-", "random"], [0, 5, 1, "", "rdm"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_rdm"], [0, 5, 1, "", "spin_square"], [6, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.HopGateAnsatzOperator": [[0, 3, 1, "", "to_parameters"]], "ffsim.MolecularData": [[0, 2, 1, "", "active_space"], [0, 2, 1, "", "atom"], [0, 2, 1, "", "basis"], [0, 2, 1, "", "ccsd_energy"], [0, 2, 1, "", "ccsd_t1"], [0, 2, 1, "", "ccsd_t2"], [0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 2, 1, "", "fci_energy"], [0, 2, 1, "", "fci_vec"], [0, 3, 1, "", "from_mole"], [0, 3, 1, "", "from_scf"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "hf_energy"], [0, 2, 1, "", "mo_coeff"], [0, 2, 1, "", "mo_occ"], [0, 4, 1, "", "mole"], [0, 2, 1, "", "mp2_energy"], [0, 2, 1, "", "mp2_t2"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 3, 1, "", "run_ccsd"], [0, 3, 1, "", "run_fci"], [0, 3, 1, "", "run_mp2"], [0, 4, 1, "", "scf"], [0, 2, 1, "", "spin"], [0, 2, 1, "", "symmetry"], [0, 2, 1, "", "two_body_integrals"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 3, 1, "", "rotated"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.ProductStateSum": [[0, 2, 1, "", "coeffs"], [0, 2, 1, "", "states"]], "ffsim.RealUCJOperator": [[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, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.SingleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 3, 1, "", "expectation_product_state"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_squares"], [0, 2, 1, "", "one_body_tensor"], [0, 3, 1, "", "reduced_matrix_product_states"]], "ffsim.Spin": [[0, 2, 1, "", "ALPHA"], [0, 2, 1, "", "ALPHA_AND_BETA"], [0, 2, 1, "", "BETA"]], "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, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.contract": [[1, 5, 1, "", "contract_diag_coulomb"], [1, 5, 1, "", "contract_num_op_sum"], [1, 5, 1, "", "contract_one_body"], [1, 5, 1, "", "diag_coulomb_linop"], [1, 5, 1, "", "num_op_sum_linop"], [1, 5, 1, "", "one_body_linop"]], "ffsim.linalg": [[2, 1, 1, "", "GivensRotation"], [2, 5, 1, "", "apply_matrix_to_slices"], [2, 5, 1, "", "double_factorized"], [2, 5, 1, "", "double_factorized_t2"], [2, 5, 1, "", "expm_multiply_taylor"], [2, 5, 1, "", "givens_decomposition"], [2, 5, 1, "", "is_antihermitian"], [2, 5, 1, "", "is_hermitian"], [2, 5, 1, "", "is_orthogonal"], [2, 5, 1, "", "is_real_symmetric"], [2, 5, 1, "", "is_special_orthogonal"], [2, 5, 1, "", "is_unitary"], [2, 5, 1, "", "lup"], [2, 5, 1, "", "match_global_phase"], [2, 5, 1, "", "modified_cholesky"], [2, 5, 1, "", "reduced_matrix"]], "ffsim.linalg.GivensRotation": [[2, 2, 1, "", "c"], [2, 2, 1, "", "i"], [2, 2, 1, "", "j"], [2, 2, 1, "", "s"]], "ffsim.optimize": [[3, 5, 1, "", "minimize_linear_method"]], "ffsim.qiskit": [[4, 1, 1, "", "DiagCoulombEvolutionJW"], [4, 1, 1, "", "DropNegligible"], [4, 1, 1, "", "MergeOrbitalRotations"], [4, 1, 1, "", "OrbitalRotationJW"], [4, 1, 1, "", "UCJOperatorJW"], [4, 5, 1, "", "ffsim_vec_to_qiskit_vec"], [4, 5, 1, "", "qiskit_vec_to_ffsim_vec"]], "ffsim.qiskit.DiagCoulombEvolutionJW": [[4, 3, 1, "", "inverse"]], "ffsim.qiskit.DropNegligible": [[4, 3, 1, "", "run"]], "ffsim.qiskit.MergeOrbitalRotations": [[4, 3, 1, "", "run"]], "ffsim.qiskit.OrbitalRotationJW": [[4, 3, 1, "", "inverse"]], "ffsim.random": [[5, 5, 1, "", "random_antihermitian"], [5, 5, 1, "", "random_hermitian"], [5, 5, 1, "", "random_molecular_hamiltonian"], [5, 5, 1, "", "random_orthogonal"], [5, 5, 1, "", "random_real_symmetric_matrix"], [5, 5, 1, "", "random_special_orthogonal"], [5, 5, 1, "", "random_statevector"], [5, 5, 1, "", "random_t2_amplitudes"], [5, 5, 1, "", "random_two_body_tensor"], [5, 5, 1, "", "random_unitary"]], "ffsim.testing": [[6, 5, 1, "", "assert_allclose_up_to_global_phase"], [6, 5, 1, "", "generate_norb_nelec"], [6, 5, 1, "", "generate_norb_nelec_spin"], [6, 5, 1, "", "generate_norb_spin"], [6, 5, 1, "", "random_nelec"], [6, 5, 1, "", "random_occupied_orbitals"]]}, "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"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "terms": {"": [0, 2, 4, 7, 9, 10, 11, 13, 15, 16], "0": [0, 2, 3, 6, 9, 10, 11, 13, 16, 18], "00": [10, 13], "0000000": [10, 13], "00041492763384463573": 13, "001011": [0, 9], "001101": [0, 9], "001110": [0, 9], "0077381151085179475": 13, "007991855490291645": 13, "01": [10, 13], "010011": [0, 9], "010101": [0, 9], "010110": [0, 9], "012e": 10, "013027205198137163": 13, "01882165j": 11, "02": [10, 13], "020361120472525085": 13, "02242": 2, "025361983601779235": 13, "02625": 2, "03": [10, 13], "04": [10, 13], "04824536314851507": 13, "05": [0, 2, 3, 4, 13], "05141537": 11, "0609050": 5, "0625": [0, 11], "07": 6, "08": [0, 2, 3, 4], "08957": 2, "0j": 11, "1": [0, 2, 3, 5, 9, 10, 11, 13, 16, 18], "10": 16, "100": 10, "1000": 3, "100011": [0, 9], "100101": [0, 9], "100110": [0, 9], "104": 10, "112": 10, "119e": 10, "12": [2, 11], "1234": [9, 10, 18], "125": [0, 11], "12j": 11, "15": 10, "15x15": 10, "1711": 2, "174e": 13, "180": 10, "1808": 2, "18j": 11, "192e": [10, 13], "1e": [0, 2, 3, 4, 6], "1j": [0, 11, 16, 18], "2": [0, 1, 2, 4, 5, 9, 10, 11, 13, 16, 18], "20656273321636": 10, "2104": 2, "21984743e": 11, "23": 10, "241e": 13, "25": [0, 11], "251e": 13, "252e": 13, "25j": [0, 11], "268e": 13, "2j": [0, 11], "2n": 9, "3": [0, 2, 4, 9, 10, 11, 13, 16, 18], "315e": 13, "372e": 13, "39": [9, 11], "393e": 10, "3j": 11, "4": [0, 2, 9, 10, 11, 13, 16, 18], "410e": 13, "423": 13, "4456267643962": [13, 16], "4456267643963": 16, "45027275285392": 13, "45703680156946": 13, "45740443125672": 13, "458": 13, "45807318994828": 13, "45809800966964": 13, "46": 13, "46304381555069": 13, "4697560002171": 13, "46x46": 13, "478": 10, "490e": 13, "49387212754471": 13, "4j": 11, "5": [0, 3, 9, 11, 13, 16], "50959827694798": 13, "549e": 10, "5626": [13, 16], "57322412553863": 13, "575e": 13, "584": 13, "58888": 15, "591e": 13, "599e": 13, "5j": [0, 11], "6": [9, 10, 11, 13, 16, 18], "600860165397011": 13, "6290254326717": 13, "6332495815006": 10, "64": 9, "650e": 10, "6549169149218177": 13, "6610093656164645": 13, "6668397135509168": 13, "678": [13, 16], "6787887956297": 10, "68085161427761": 10, "682e": 13, "688": 13, "697e": 13, "6g": [0, 10, 13, 16], "6j": 11, "7": [10, 11, 16], "705e": 13, "72": 13, "7288249991515": 10, "729e": 13, "72x72": 13, "738e": 13, "74": 10, "75": 10, "751e": 13, "764e": 10, "77": [13, 16], "8": [10, 11, 13, 16], "824e": 13, "827e": 13, "9": [9, 10, 11, 13, 16], "900e": 13, "907e": 13, "9289": [13, 16], "9315062301400727": 16, "935e": 13, "958": 10, "95808369045527": 13, "9595021741490675": 13, "9928527668214489": 16, "996e": 10, "9999320851287997": 16, "9999913261308897": 16, "A": [0, 1, 2, 3, 4, 5, 6, 9, 11, 13, 15, 16, 18], "AND": 10, "As": [0, 13, 16, 18], "By": 14, "For": [0, 3, 9, 11, 13, 15, 18], "If": [0, 1, 2, 3, 4, 5, 6, 11], "In": [0, 9, 10, 11, 13, 16, 18], "It": [0, 2, 3, 4, 9, 11, 13, 15, 16], "Its": 3, "NO": [10, 13], "No": 2, "Of": 13, "On": [9, 15], "One": [0, 16], "Such": 11, "That": [0, 3, 11, 18], "The": [0, 1, 2, 3, 4, 5, 6, 9, 11, 14, 15, 16, 18], "Then": [0, 14], "These": 11, "To": [0, 9, 13, 16, 18], "With": 13, "_": [0, 2, 4, 10, 13, 16, 18], "_1": 18, "_2": 18, "_k": [0, 13, 16], "a_": [0, 4, 11, 16, 18], "a_j": 1, "a_p": 0, "a_q": 0, "ab": 16, "abl": 15, "about": 14, "abov": [11, 16, 18], "absolut": [0, 2, 6], "acceler": 15, "accept": 13, "access": 15, "achiev": [2, 16], "across": 15, "act": [0, 2, 11], "action": [0, 1, 7, 11, 15, 18], "activ": [0, 10, 13, 16], "active_spac": [0, 7, 10, 13, 16], "actual": [0, 6, 13, 18], "ad": 0, "addit": [0, 11, 16], "addition": 2, "after": [3, 13], "al": 2, "algebra": [2, 11], "algorithm": [2, 3, 13, 14], "alia": [0, 2], "align": [0, 13, 18], "all": [0, 3, 6, 11, 13, 15], "alloc": 0, "allow": [0, 2, 13, 15], "allow_col_permut": 0, "allow_row_permut": 0, "alpha": [0, 1, 4, 6, 7, 9, 11, 13], "alpha_alpha_indic": [0, 13], "alpha_and_beta": [0, 4, 7], "alpha_beta_indic": [0, 13], "alpha_i": 0, "alpha_j": 0, "alreadi": [0, 16], "also": [0, 1, 3, 4, 9, 11, 13, 18], "altern": [0, 16], "although": 16, "alwai": [0, 2, 5, 9, 18], "amplitud": [0, 2, 5, 13], "an": [0, 1, 2, 4, 5, 9, 11, 13, 14, 16, 18], "angl": [0, 10], "ani": [0, 3, 13, 18], "annihil": [0, 11], "anoth": [2, 6], "ansatz": [0, 3, 10, 12], "ansatz_oper": 0, "ansatz_st": 13, "anti": [2, 5], "anticommut": 18, "ao": 0, "ap": 2, "appear": [0, 2, 11], "append": [6, 13], "appli": [0, 1, 2, 3, 9, 13, 16, 18], "apply_": 9, "apply_diag_coulomb_evolut": [0, 7, 16], "apply_fsim_g": [0, 7], "apply_givens_rot": [0, 7], "apply_hop_g": [0, 7], "apply_matrix_to_slic": [2, 7], "apply_num_interact": [0, 7], "apply_num_num_interact": [0, 7], "apply_num_op_prod_interact": [0, 7], "apply_num_op_sum_evolut": [0, 7, 16, 18], "apply_on_site_interact": [0, 7], "apply_on_site_num_num_interact": [0, 7], "apply_orbital_rot": [0, 7, 9, 18], "apply_tunneling_interact": [0, 7], "apply_unitari": [0, 7, 13], "appropri": 0, "approx": 16, "approx_eq": [0, 7], "approxim": [0, 2, 3, 16], "apt": 15, "ar": [0, 1, 2, 4, 5, 6, 9, 11, 13, 15, 16, 18], "arch": 15, "arg": [0, 4], "argument": [0, 2, 3, 9, 18], "arithmet": 11, "arrai": [0, 2, 6, 9, 11], "arxiv": [2, 5], "assembl": 2, "assert": 9, "assert_allclos": [9, 18], "assert_allclose_up_to_global_phas": [6, 7], "assertionerror": 6, "associ": [0, 3, 9, 11, 13], "assum": [4, 9], "asterisk": 0, "asymmetr": 16, "atol": [0, 2, 4, 6], "atom": [0, 7, 10, 13, 16], "attempt": 2, "attribut": 3, "author": 14, "avail": 15, "avoid": [0, 11], "awar": 11, "b": [0, 2, 3, 6, 10, 13, 16, 18], "backflow": 3, "base": [0, 2, 4], "basi": [0, 2, 7, 10, 13, 16, 18], "basic": 16, "becaus": [11, 16], "been": 0, "befor": [0, 9, 11, 13, 15], "begin": [0, 2, 9, 13, 18], "behavior": [2, 5], "being": [2, 11, 13], "below": [0, 13, 16, 18], "benchmark": 0, "beta": [0, 1, 4, 6, 7, 9, 11, 13], "beta_i": 0, "beta_j": 0, "better": [16, 18], "between": [0, 1, 2, 3, 13], "bfg": [0, 2, 3, 10, 13], "bibtex": 14, "bit": 9, "bitstr": [0, 9], "bla": 15, "block_diag": 0, "bodi": [0, 1, 2, 5, 10, 13, 16], "bond": [10, 13, 16], "bond_angle_deg": 10, "bond_dist": [13, 16], "bool": [0, 1, 2, 3, 6], "bool_": 2, "both": [0, 2], "bound": [0, 2], "boundari": 0, "bq": 2, "break": 14, "brickwork": 10, "browser": 15, "build": [10, 13, 15, 16], "built": 16, "c": [0, 2, 7, 13, 16], "c2v": 10, "cach": 0, "calcul": [0, 9, 13, 16], "call": [0, 3, 9, 11, 13, 16, 18], "callabl": [3, 13], "callback": [0, 2, 3, 13], "can": [0, 2, 9, 11, 13, 14, 15, 16, 18], "canon": 0, "casci": [10, 13], "case": 6, "categori": 14, "cc": 13, "ccsd": [0, 13], "ccsd_energi": [0, 7], "ccsd_t1": [0, 7], "ccsd_t2": [0, 7], "cd": 15, "cdot": 2, "cell": [9, 13, 16], "certain": 2, "challeng": 13, "chang": 14, "character": 0, "check": [2, 6, 9, 14, 16, 18], "chemic": 0, "chemical_potenti": 0, "chemistri": 14, "choic": [0, 6, 9], "choleski": [0, 2], "choos": [2, 9, 13], "ci": [10, 13], "circuit": [0, 4, 9, 14], "class": [0, 2, 4, 5, 12, 13], "clement": 2, "clone": 15, "cluster": [0, 4, 12], "co": [0, 10], "code": [4, 9, 11, 13, 14, 16], "coeff": [0, 1, 7], "coeffici": [0, 1, 2, 11, 13, 18], "collect": [2, 13], "column": [0, 2, 9, 18], "com": [14, 15], "comb": 4, "combin": [0, 1, 11, 18], "command": 15, "commonli": 16, "commun": [14, 15], "commut": [0, 13, 16], "compar": [0, 6, 16], "compil": 15, "complet": 0, "complex": [0, 1, 2, 5], "complic": 13, "compon": [0, 11, 14], "compos": [15, 16], "compress": [0, 2], "compris": [0, 11], "comput": [0, 2, 10, 13, 18], "concaten": 9, "condit": 0, "configur": [0, 9, 15], "conflict": 6, "conj": 18, "conjug": 2, "connect": 13, "consecut": 4, "conserv": [0, 11, 14], "conserves_particle_numb": [0, 7, 11], "conserves_spin_z": [0, 7, 11], "consid": [13, 18], "consist": 0, "constant": [0, 5, 7, 13, 16], "constrain": 2, "constraint": 13, "construct": [0, 1, 3, 4, 9, 10, 11, 13, 16], "constructor": 13, "contain": [0, 2, 3, 11, 13, 14, 15], "contract": [7, 18], "contract_diag_coulomb": [1, 7], "contract_num_op_sum": [1, 7], "contract_one_bodi": [1, 7], "contrast": 9, "contribut": 14, "control": 3, "conveni": 9, "convent": 0, "converg": [3, 10, 13, 16], "convers": 13, "convert": [0, 1, 4, 9, 11, 13, 16, 18], "coordin": 0, "copi": [0, 11], "core": 0, "core_energi": [0, 7], "correl": 3, "correspond": [0, 2, 3, 4, 9, 13, 16, 18], "cost": 0, "coulomb": [0, 1, 2, 4, 13, 17], "count": 0, "cours": 13, "cre": [0, 7], "cre_a": [0, 7, 11], "cre_b": [0, 7, 11], "creat": [0, 9, 11, 13, 16, 18], "creation": [0, 11, 18], "criteria": 11, "current": [0, 2, 13, 14], "d": [2, 15], "d2h": [13, 16], "dag": 4, "dagcircuit": 4, "dagger": [0, 1, 2, 11, 13, 16, 18], "dagger_": [0, 4, 16, 18], "dagger_i": 1, "data": [0, 5, 10, 11, 13, 16], "dataclass": [13, 16], "daunt": 16, "de": [0, 7], "decompos": [2, 16], "decomposit": [0, 2], "decreas": 13, "def": [10, 13, 16], "default": [0, 2, 3, 5], "default_rng": [0, 5, 6, 10], "defaultdict": 13, "defin": [0, 2, 10, 13, 16], "definit": [0, 2, 3], "demonstr": [9, 13, 16, 18], "denot": [0, 1, 2, 4, 18], "densiti": 0, "depend": [0, 2, 3, 15], "deprec": 0, "depth": 13, "deriv": 16, "des_a": [0, 7, 11], "des_b": [0, 7, 11], "descend": [0, 11], "describ": [0, 1, 2, 11, 13, 16, 18], "descript": [0, 4], "design": 2, "desir": [0, 6], "destroi": [0, 11], "determin": [0, 2, 9, 16], "dev": 15, "devel": 15, "develop": 4, "df_hamiltonian": 16, "diag_coulomb_indic": [0, 2], "diag_coulomb_linop": [1, 7], "diag_coulomb_mat": [0, 7, 16], "diag_coulomb_mats_alpha_alpha": [0, 7], "diag_coulomb_mats_alpha_beta": [0, 7], "diagcoulombevolutionjw": [4, 7], "diagon": [0, 1, 2, 4, 13, 17, 18], "dict": [0, 2, 3, 10, 13], "dictionari": [0, 11], "differ": [0, 1, 2, 3, 4, 13, 15], "dim": [0, 5, 7, 9, 11], "dim_a": [0, 9], "dim_b": [0, 9], "dimens": [0, 5, 9], "dimension": [0, 2, 4, 9], "dipol": 0, "dipole_integr": [0, 7], "directli": [13, 15, 16], "directori": 15, "disclaim": 14, "disjoint": 2, "displai": 11, "distribut": 5, "divid": 16, "divis": [0, 11], "dnf": 15, "do": [11, 16], "dockerfil": 15, "docstr": 0, "document": [0, 2], "doe": 11, "dot": 0, "doubl": [0, 2, 13, 17], "double_factor": [0, 2, 7], "double_factorized_t2": [2, 7], "doublefactorizedhamiltonian": [0, 7, 16], "down": 9, "drop": 4, "dropneglig": [4, 7], "dtype": [0, 5, 10, 13], "e": [0, 2, 4, 10, 11, 13, 16], "e_corr": 13, "each": [0, 2, 3, 9, 11, 13, 16], "effect": [0, 4, 13], "effici": 11, "eig": [11, 18], "eigendecomposit": 18, "eigenvalu": [0, 2, 3, 18], "eigenvector": [0, 18], "eigh": [16, 18], "eigsh": 18, "either": [2, 13], "electron": [0, 1, 4, 5, 6, 9, 16], "element": [0, 2], "ell": 2, "els": [0, 5, 9], "elsewher": 0, "enabl": 2, "end": [0, 2, 13, 18], "energi": [0, 3, 10, 13, 16, 18], "enforc": [0, 13], "entangl": 12, "entir": 2, "entri": [0, 2, 9, 13], "enumer": [0, 13], "environ": 15, "epsilon": 3, "equal": [0, 2, 6], "equal_nan": 6, "equilibrium": 10, "equival": 0, "err_msg": 6, "error": [0, 2, 6], "especi": 11, "et": 2, "ethen": [13, 16], "evalu": [3, 10], "everywher": 9, "evolut": [0, 4, 16], "evolv": [0, 16], "evolved_vec": 18, "evolved_vec_alt": 18, "exact": [2, 16], "exact_st": 16, "exampl": [0, 9, 11, 13, 15, 18], "exce": [2, 10], "except": [0, 3], "exp": [0, 2, 4, 6, 18], "expand": 0, "expans": [2, 3], "expect": [0, 3], "expectation_one_body_pow": [0, 7], "expectation_one_body_product": [0, 7], "expectation_product_st": [0, 7], "expected_phas": 18, "expens": [0, 2], "experiment": 14, "explain": 9, "explan": [0, 14], "explicit": 0, "explicitli": 18, "exploit": 14, "expm": 2, "expm_multipli": 16, "expm_multiply_taylor": [2, 7], "exponenti": 16, "express": [9, 13], "f": [3, 9, 10, 13, 16], "facilit": 13, "fact": 18, "factor": [0, 2, 13, 17], "failur": 6, "fals": [0, 1, 2, 4, 10, 11, 13], "far": 11, "fast": 0, "faster": [13, 14], "fault": 13, "fci": [0, 9, 13], "fci_energi": [0, 7], "fci_vec": [0, 7], "fcivec": 0, "fedora": 15, "feenberg": 3, "fermi": 0, "fermi_hubbard_1d": [0, 7], "fermion": [0, 11, 13, 14, 18], "fermion_oper": [0, 7], "fermionact": [0, 7], "fermionoper": [0, 7, 12], "few": 15, "fewer": [3, 16], "ffsim": [7, 9, 10, 11, 13, 15, 16, 18], "ffsim_vec_to_qiskit_vec": [4, 7], "fidel": 16, "field": [0, 2], "file": 15, "filter": 0, "final": [0, 3, 13, 16], "final_orbital_rot": [0, 7], "final_st": [13, 16], "finish": 16, "finit": 3, "first": [0, 2, 4, 9, 10, 13, 16, 18], "fix": 9, "flag": 0, "float": [0, 2, 3, 5, 6, 16], "float64": [10, 13], "fock": [0, 9, 13, 16, 18], "follow": [0, 3, 9, 11, 13, 14, 15, 16, 18], "foot": 0, "forg": 12, "form": [0, 1, 2, 11, 13, 16, 18], "format": [0, 4], "formula": 0, "fourth": 16, "frac": [0, 2], "frac12": [0, 13, 16], "frac18": 0, "framework": 15, "from": [0, 5, 9, 10, 11, 13, 14, 18], "from_mol": [0, 7, 10, 16], "from_molecular_hamiltonian": [0, 7, 16], "from_paramet": [0, 7, 13], "from_scf": [0, 7, 13], "from_t_amplitud": [0, 7, 13], "frozen": 13, "fsim": 0, "full": [0, 2, 9], "fun": [3, 10, 13], "function": [0, 1, 2, 3, 9, 11, 13, 16, 18], "fundament": 18, "furthermor": [0, 2], "g": [0, 4, 10, 13], "g_": 2, "g_1": 2, "g_k": 2, "g_l": 2, "gate": [0, 4, 8, 13, 14], "gener": [0, 3, 5, 6, 9, 13, 14, 16, 18], "generate_norb_nelec": [6, 7], "generate_norb_nelec_spin": [6, 7], "generate_norb_spin": [6, 7], "get": [0, 9, 10, 13, 16, 18], "git": 15, "github": [14, 15], "give": [0, 18], "given": [0, 1, 2, 4, 6, 16, 18], "givens_decomposit": [2, 7], "givensrot": [2, 7], "global": 6, "go": [0, 11], "good": 11, "gradient": [2, 3, 13], "greater": 3, "ground": [13, 18], "gt": [10, 13], "gto": [10, 13, 16], "gtol": 3, "guess": 3, "guid": [10, 13], "h": [0, 10, 13, 16], "h1_x": 10, "h2_x": 10, "h2_y": 10, "h_": [0, 2, 16], "h_k": 16, "ha": [0, 1, 2, 4, 9, 13, 16, 18], "haar": 5, "ham": 9, "hamiltonian": [0, 3, 5, 7, 10, 13, 17], "hand": 9, "handl": 16, "hartre": [0, 9, 13, 16, 18], "hartree_fock": [0, 13], "hartree_fock_st": [0, 7, 9, 13, 16, 18], "hasattr": 13, "hash": 11, "have": [0, 2, 9, 11, 13, 15, 18], "height": 5, "helper": 11, "here": [0, 2, 13, 16, 18], "hermitian": [0, 2, 5, 18], "hess_inv": [10, 13], "hf_energi": [0, 7, 16], "higher": [0, 16], "hold": 3, "home": 15, "hop": 0, "hopgateansatzoper": [0, 7, 10], "host": 14, "hot": 0, "how": [0, 9, 14, 16, 18], "howev": 14, "http": [14, 15], "hubbard": 0, "hyperparamet": [3, 13], "i": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 13, 14, 15, 16, 18], "idea": 13, "ignor": [0, 2, 16], "ij": [0, 1, 2, 4, 13, 16, 18], "ijab": 2, "ik": 18, "illustr": 18, "imag": 15, "implement": [1, 3, 4, 13, 15, 18], "import": [0, 9, 10, 11, 13, 16, 18], "impos": 13, "improv": 16, "includ": [0, 2, 9, 13, 14, 15, 16, 18], "incorpor": 0, "increas": [0, 9, 13, 16], "increment": 3, "incur": 3, "index": [0, 9, 11, 13], "indic": [0, 2, 9, 11, 13], "indices_to_str": [0, 7, 9], "individu": [9, 11, 16], "info": 13, "inform": [11, 13, 14], "init_cach": [0, 7], "initi": [0, 3, 5, 6, 10, 13, 16], "initial_st": 16, "initiali": 10, "input": [0, 1, 3, 5, 6, 13], "instanc": [5, 16, 18], "instead": [0, 2, 13], "instruct": [14, 15], "int": [0, 1, 2, 3, 4, 5, 6, 10, 16], "integ": [0, 2], "integr": 0, "interact": [0, 1], "interaction_pair": [0, 10], "interfac": [13, 15], "interferomet": 2, "intermedi": 13, "intermediate_result": [3, 13], "intern": 11, "interpret": 0, "introduc": [13, 14, 18], "invers": [4, 7], "involv": [0, 13], "ip": 2, "is_antihermitian": [2, 7], "is_hermitian": [2, 7], "is_orthogon": [2, 7], "is_real_symmetr": [2, 7], "is_special_orthogon": [2, 7], "is_unitari": [2, 7], "isclos": 0, "iter": [0, 3, 6, 13], "its": [0, 2, 9, 11, 16, 18], "itself": [0, 9, 11], "j": [0, 1, 2, 4, 7, 9, 10, 11, 13, 16, 18], "jac": [3, 10, 13], "jastrow": [0, 3, 4, 12], "ji": [0, 18], "jk": 18, "jordan": [0, 4], "jq": 2, "jupyt": 15, "just": [0, 9, 13, 15, 16], "k": [0, 2, 11, 13, 16, 18], "kappa": 0, "kappa_": 0, "keep": [0, 2], "kernel": 13, "known": 16, "kron": 0, "kwarg": [0, 4], "l": [0, 2, 3, 10, 13, 16], "label": [4, 9], "ladder": 13, "lambda_i": [0, 1, 18], "lambda_k": 18, "langl": 0, "larger": [0, 2, 3, 11], "last": [3, 4], "later": 16, "lattic": 13, "layer": 2, "lbfgsinvhessproduct": [10, 13], "ldot": [2, 13], "lead": [0, 3], "least": 2, "left": [0, 4, 9, 11, 18], "len": [10, 13], "length": [0, 4, 9, 13, 16], "leq": [0, 2], "less": [2, 13], "let": [0, 9, 11, 16], "level": 16, "lexicograph": [0, 11], "libopenbla": 15, "librari": [0, 14], "like": [13, 15], "limit": [0, 2, 10, 13], "linalg": [0, 7, 11, 13, 16, 18], "lindep": 3, "line": 13, "linear": [0, 1, 2, 3, 11, 18], "linear_oper": [0, 7, 11, 13, 16], "linearoper": [0, 1, 3, 11, 13, 16, 18], "linop": 11, "linux": 15, "list": [0, 2, 6, 9, 10, 13], "ll": [13, 16, 18], "lm": 11, "local": 12, "localhost": 15, "log": [0, 4], "longest": 0, "lookup": 0, "low": 0, "lower": [0, 2], "lowest": [0, 9, 16, 18], "lt": [10, 13], "lu": 2, "lucj": 12, "lup": [2, 7], "lvert": [0, 9, 13], "m": [0, 1, 2, 18], "m_": [0, 1, 2], "maco": 15, "mai": [0, 2, 3, 13, 14, 15, 18], "main": [13, 15], "make": 13, "manag": 15, "mani": [0, 14], "manual": 16, "many_body_ord": [0, 7], "map": [0, 11, 18], "mapsto": [0, 18], "mat": [0, 1, 2, 4, 9], "mat_alpha_beta": [0, 1, 4], "match": [2, 9, 16], "match_global_phas": [2, 7], "math": [5, 10], "mathbf": [0, 13, 16, 18], "mathcal": [0, 1, 13, 16, 18], "matric": [0, 1, 2, 13, 16, 18], "matrix": [0, 1, 2, 3, 4, 5, 9, 11, 13, 16, 18], "max_vec": [0, 2], "maxfun": 10, "maximum": [0, 2, 3, 5], "maxit": [3, 13], "mcscf": [10, 13], "measur": 5, "mention": [16, 18], "merg": 4, "mergeorbitalrot": [4, 7], "messag": [6, 10, 13], "method": [0, 2, 3, 10, 11, 14], "minim": [0, 2, 3, 10, 13], "minimize_linear_method": [3, 7, 13], "mo_coeff": [0, 7], "mo_occ": [0, 7], "mode": 18, "model": 0, "modifi": [0, 2], "modified_choleski": [2, 7], "modul": [0, 9], "mol": [10, 13, 16], "mol_data": [10, 13, 16], "mol_hamiltonian": [10, 13, 16], "mole": [0, 7, 10, 13, 16], "molecul": [0, 10, 13, 16], "molecular": [0, 5, 9, 10, 13], "moleculardata": [0, 7, 10, 13, 16], "molecularhamiltonian": [0, 5, 7, 16], "more": [0, 2, 3, 13], "most": [0, 2, 11], "mp2": [0, 13], "mp2_energi": [0, 7], "mp2_t2": [0, 7], "mu": 0, "much": [0, 2, 14], "multipl": [0, 11, 16], "multipli": [0, 11], "multiport": 2, "multirefer": 0, "multireference_st": [0, 7], "multireference_state_prod": [0, 7, 10], "must": [0, 2, 3, 11], "n": [0, 2, 9, 13, 16, 18], "n_": [0, 1, 4, 9, 13, 16, 18], "n_alpha": [4, 6, 9, 18], "n_beta": [4, 6, 9, 18], "n_layer": 10, "n_p": 0, "n_param": [0, 7], "n_rep": [0, 7, 13], "n_sampl": 0, "n_step": [0, 16], "name": [0, 9, 15], "namedtupl": [0, 2], "nan": 6, "nao_nr": [10, 13], "nativ": 14, "navig": 15, "ndarrai": [0, 1, 2, 3, 4, 5, 6, 13, 16], "nearest": 0, "nearest_neighbor_interact": 0, "need": [0, 13, 15], "neg": 0, "neglig": 4, "neighbor": 0, "nelec": [0, 1, 4, 6, 7, 9, 10, 11, 13, 16, 18], "nelectron": [13, 16], "neq": [0, 1, 4], "nest": 2, "network": 13, "new": [0, 11, 18], "newli": 0, "nfev": [3, 10, 13], "nit": [10, 13], "njev": [10, 13], "nlinop": [3, 13], "nn": 0, "nocc": [0, 5], "noisi": 13, "non": 13, "none": [0, 1, 2, 3, 4, 5, 6], "nonzero": [0, 2, 13], "norb": [0, 1, 4, 5, 6, 7, 9, 10, 11, 13, 16, 18], "norb_rang": 6, "norm": [0, 3, 13], "normal": [0, 11], "normal_ord": [0, 7, 11], "note": [0, 2, 3, 9, 11], "notebook": 15, "notic": 13, "notimplementederror": 4, "now": 16, "np": [0, 5, 6, 9, 10, 13, 16, 18], "num_op_sum_linop": [1, 7], "number": [0, 1, 2, 3, 4, 5, 6, 9, 10, 11, 13, 14, 16, 18], "number_oper": [0, 7], "numer": [0, 2, 11], "numpi": [0, 2, 6, 9, 10, 13, 16, 18], "o": [0, 10], "o_1": 0, "o_2": 0, "o_k": 0, "obj": 0, "object": [0, 2, 3, 11, 13], "obtain": [0, 13, 16, 18], "occ_a": 6, "occ_b": 6, "occup": [0, 9, 16, 18], "occupi": [0, 5, 6, 9, 16], "occupied_orbit": [0, 9, 18], "often": 13, "onc": 15, "one": [0, 1, 2, 4, 5, 9, 10, 13, 15, 16], "one_body_basis_chang": 16, "one_body_energi": 16, "one_body_integr": 0, "one_body_linop": [1, 7, 18], "one_body_squar": [0, 7], "one_body_tensor": [0, 7, 16, 18], "one_hot": [0, 7], "one_rdm": 0, "onli": [0, 2, 13, 15, 18], "onsit": 0, "onto": 11, "op": [0, 11], "op1": [0, 11], "op2": [0, 11], "op3": 11, "op4": 11, "openbla": 15, "oper": [0, 1, 2, 3, 4, 10, 11, 13, 15, 17, 18], "optim": [0, 2, 7, 10], "optimize_hyperparamet": 3, "optimize_hyperparameters_arg": 3, "optimizeresult": [3, 13], "option": [0, 1, 2, 3, 9, 10, 13, 15], "orb": [0, 7, 11], "orbit": [0, 1, 2, 4, 5, 6, 9, 11, 13, 16, 17], "orbital_rot": [0, 1, 4, 7, 9, 16, 18], "orbital_symmetri": [0, 7], "orbitalrotationjw": [4, 7], "order": [0, 4, 9, 11, 13, 16], "origin": [0, 2, 16], "orthogon": [2, 5], "other": [0, 9, 13], "otherwis": 0, "our": [13, 16, 18], "out": [2, 14, 16], "output": [0, 3, 13, 16], "over": 0, "overal": 3, "overrid": [0, 2], "overwritten": 0, "p": [0, 2, 13, 16], "packag": 15, "pacman": 15, "page": 9, "pair": [0, 2, 6], "parallel": [2, 13], "param": 0, "paramet": [0, 1, 2, 3, 4, 5, 6, 10, 13], "params_to_vec": [3, 13], "part": [0, 9], "particl": [0, 6, 11, 14, 18], "pass": [0, 2, 4, 9, 11, 13, 18], "pauli": 0, "perform": [0, 2, 3, 16, 18], "period": 0, "permut": [0, 2], "persist": 15, "ph": 5, "phase": [0, 2, 6, 18], "phi": [0, 2, 6], "phi_0": 13, "pi": [0, 10], "pick": 18, "piec": 11, "pip": 14, "pivot": 2, "pk": 2, "place": [0, 1, 4, 11, 13, 15], "plain": 9, "pmatrix": [0, 2], "posit": [2, 3, 9, 10], "possibl": [0, 2, 6, 14], "possibli": [0, 13], "potenti": 0, "power": 0, "pq": [0, 2, 16], "pqr": [0, 2, 16], "pre": 13, "precis": [6, 13], "prepar": 0, "present": 3, "preserv": 11, "previou": [9, 13], "previous": 9, "print": [0, 6, 9, 10, 11, 13, 16], "probabl": 0, "problem": 3, "processor": 13, "prod_": [0, 4, 13], "prod_k": 16, "prod_state_sum": 0, "produc": 9, "product": [0, 9, 11, 16], "productstatesum": [0, 7], "programmat": 11, "project": 3, "properti": [0, 2, 18], "proport": [0, 18], "protocol": 0, "provid": [13, 15], "pseudorandom": [0, 5, 6], "psi": [0, 13], "purpos": 18, "pypi": 15, "pyscf": [0, 4, 9, 10, 13, 16], "q": [0, 16], "qdrift": 0, "qi": 0, "qiskit": [7, 14, 15], "qiskit_vec_to_ffsim_vec": [4, 7], "qk": 2, "quadrat": [16, 17], "qualnam": 0, "quantifi": 2, "quantiti": 0, "quantum": [0, 4, 9, 13, 14, 16], "qubit": [0, 4, 13], "r": [0, 2, 16], "radius_1": 10, "radius_2": 10, "rais": [0, 2, 4, 6], "random": [0, 6, 7, 9, 10, 11, 18], "random_antihermitian": [5, 7], "random_hermitian": [5, 7, 18], "random_molecular_hamiltonian": [5, 7], "random_nelec": [6, 7], "random_occupied_orbit": [6, 7], "random_orthogon": [5, 7], "random_real_symmetric_matrix": [5, 7], "random_special_orthogon": [5, 7], "random_statevector": [5, 7, 11], "random_t2_amplitud": [5, 7], "random_two_body_tensor": [5, 7], "random_unitari": [5, 7, 9, 18], "rang": [0, 6, 9, 10, 13, 16, 18], "rangl": [0, 9, 13], "rank": [0, 2, 5], "rather": 0, "rdm": [0, 7], "rdm1": 0, "rdm2": 0, "rdm3": 0, "rdm4": 0, "reach": 13, "real": [0, 1, 2, 3, 4, 5, 6, 13, 16, 18], "realucjoper": [0, 7], "recal": 16, "recommend": [11, 14], "reconstruct": [0, 2], "recover": 0, "reduc": [0, 2], "reduced_matrix": [2, 7], "reduced_matrix_product_st": [0, 7], "redund": 13, "refer": [0, 2, 3, 5, 13, 14], "reference_occup": [0, 10], "reference_occupations_spati": 10, "reference_st": 13, "regular": [3, 13], "rel": [0, 2, 6], "relat": [13, 18], "releas": 14, "reorder": 0, "repetit": [0, 13], "repositori": 15, "repr": 11, "repres": [0, 2, 3, 9, 11, 13], "represent": [0, 1, 2, 9, 11], "reproduc": 16, "requir": [0, 9, 13, 15], "reshap": 9, "resourc": 14, "respect": [0, 2, 3], "rest": [0, 16], "result": [0, 1, 2, 3, 5, 9, 10, 13, 16, 18], "return": [0, 1, 2, 3, 4, 5, 6, 10, 11, 13, 16], "return_lower_rank": 0, "rewrit": 0, "rewritten": 18, "rhf": [0, 13], "right": [0, 4, 9, 11, 18], "rng": 10, "root": 0, "rotat": [0, 1, 2, 4, 7, 9, 13, 16, 17], "rotated_vec": 9, "routin": [2, 11], "row": [0, 9], "rtol": [0, 2, 4, 6], "rtype": 2, "run": [0, 4, 7, 13, 14, 15], "run_ccsd": [0, 7], "run_fci": [0, 7, 10, 13], "run_mp2": [0, 7], "rung": 13, "rust": 15, "rvert": 0, "s_": [0, 9], "sa": 18, "same": [0, 9, 13], "sampl": [0, 5, 6], "satisfi": [11, 15, 18], "save": [13, 15], "scalar": [0, 11], "scale": 16, "scf": [0, 7, 10, 13, 16], "scf_func": 0, "scipi": [0, 2, 3, 10, 11, 13, 16, 18], "scipy_optimize_minimize_arg": 3, "second": [0, 2, 10, 16], "section": 18, "sector": 0, "see": [0, 2, 4, 14, 15], "seed": [0, 5, 6, 9, 18], "select": 3, "separ": 9, "sequenc": [0, 2], "seri": 2, "set": [0, 2, 13, 16, 18], "setup": 13, "shape": [0, 2, 5, 13, 16], "share": 13, "short": 13, "should": [0, 2, 4, 5, 6, 15, 16, 18], "show": [10, 11, 13, 16, 18], "shown": 11, "side": 0, "sigma": [0, 1, 4, 13, 16, 18], "sign": 0, "signatur": 3, "similar": 13, "similarli": [0, 16], "simpl": 15, "simpler": 0, "simpli": [9, 18], "simul": [0, 9, 12, 14, 17, 18], "simulate_qdrift_double_factor": [0, 7], "simulate_trotter_double_factor": [0, 7, 16], "simulate_trotter_step_double_factor": 16, "sin": [0, 10], "sinc": [0, 2, 13], "singl": [0, 16], "singlefactorizedhamiltonian": [0, 7], "site": 0, "size": [3, 10], "slater": [0, 9, 16], "slater_det": 9, "slater_determin": [0, 7, 9], "slater_determinant_rdm": [0, 7], "slice": 2, "small": [2, 13], "smaller": [0, 2, 11, 16], "so": [0, 2, 11, 13, 15, 16, 18], "softwar": [0, 14], "solv": 3, "some": [0, 2, 6, 11, 13], "sometim": [0, 9], "somewhat": 13, "sourc": [0, 1, 2, 3, 4, 5, 6, 14], "space": [0, 9, 10, 13, 16], "span": [0, 2], "spars": [11, 16, 18], "sparsiti": 13, "spatial": [0, 1, 4, 6, 9, 11, 13, 16], "special": [2, 5, 14], "specif": 9, "specifi": [0, 2, 3, 6, 9, 13], "spectral": 0, "speed": 3, "spin": [0, 1, 4, 6, 7, 9, 11, 13, 14, 18], "spin_squar": [0, 7], "spin_sum": 0, "split": 16, "squar": [0, 2, 13], "standard": 13, "star": 2, "start": [0, 14], "state": [0, 1, 3, 5, 7, 8, 10, 13, 14, 16, 18], "statevector": [0, 4, 18], "static": 0, "statu": [10, 13], "step": [0, 16, 18], "step_tim": 16, "still": [0, 13], "sto": [0, 10, 13, 16], "stop": [10, 13], "store": [0, 2, 13, 16], "store_fci_vec": 0, "store_t1": 0, "store_t2": 0, "str": [0, 2, 6], "straightforward": 2, "strength": 0, "stretch": [13, 16], "strictli": 3, "string": [0, 9, 11], "structur": 0, "subdirectori": 15, "subspac": [0, 2, 11], "subsystem": [9, 15], "subtract": [0, 11], "success": [10, 13], "sudo": 15, "sum": [0, 1, 4, 16], "sum_": [0, 1, 2, 4, 13, 16, 18], "sum_j": 18, "sum_k": [16, 18], "sum_t": 0, "summat": 0, "support": [0, 2, 11, 15], "supportsapplyunitari": [0, 7], "supportsapproximateequ": [0, 7], "supportsfermionoper": [0, 7], "supportslinearoper": [0, 7], "supportstrac": [0, 7], "suzuki": 0, "swap": 13, "symmetr": [0, 1, 2, 4, 5, 13, 16], "symmetri": [0, 7, 10, 13, 14, 16, 18], "system": [9, 15, 18], "t": [0, 2, 4, 14, 16, 18], "t1": [0, 13], "t2": [0, 2, 5, 13], "t2_amplitud": 2, "t_": 2, "tabl": [0, 11], "take": [0, 3, 13], "taken": 13, "target": 2, "target_orb": 0, "task": 18, "tau": [0, 1, 4, 13, 16], "taylor": 2, "tensor": [0, 1, 2, 5, 10, 13, 16], "term": [0, 1, 2, 4, 5, 11, 13, 16], "test": [7, 9, 16, 18], "text": [0, 16], "th": [2, 18], "than": [0, 13, 14], "thei": [0, 11, 13, 18], "them": [9, 13], "therefor": 2, "theta": [0, 10], "thi": [0, 2, 4, 9, 10, 13, 14, 15, 16, 18], "think": [2, 16], "those": 3, "three": 11, "threshold": [0, 2, 3], "time": [0, 2, 3, 4, 9, 16], "titl": 14, "to_number_represent": [0, 7], "to_paramet": [0, 7, 13], "to_t_amplitud": [0, 7], "to_z_represent": [0, 7], "tol": [0, 2], "toler": [0, 2, 6, 13], "too": 2, "topologi": 13, "total": [0, 10, 13, 16], "trace": [0, 7, 16], "tracea": 16, "trajectori": 0, "transform": [0, 1, 4, 18], "transformationpass": 4, "treat": 0, "triangl": 13, "trianglular": [0, 2], "triangular": [0, 2], "triplet": 6, "trotter": [0, 17], "true": [0, 2, 3, 4, 6, 11], "truncat": 13, "tunnel": 0, "tupl": [0, 1, 2, 4, 6, 11, 16], "tutori": [14, 16, 18], "two": [0, 2, 5, 9, 10, 13, 15, 16], "two_body_integr": [0, 7], "two_body_tensor": [0, 2, 7, 16], "type": [0, 1, 2, 3, 4, 5, 6, 15], "typic": 0, "u": [0, 1, 2, 4], "u_": 0, "ubuntu": 15, "ucj": 0, "ucj_oper": 4, "ucjoper": [0, 4, 7, 13], "ucjoperatorjw": [4, 7], "under": [0, 4], "undo": 18, "uniform": [0, 5, 10], "unimpl": 4, "union": 2, "unit": 2, "unitari": [0, 1, 2, 4, 5, 9, 12, 16, 18], "univers": 2, "unlik": 0, "unord": 0, "unpack": 9, "untouch": 0, "up": [0, 3, 6, 9, 15, 18], "updat": [0, 16], "upon": 11, "upper": [0, 2, 13], "url": 14, "us": [0, 1, 2, 3, 4, 5, 9, 12, 13, 14, 16, 18], "usag": [0, 2, 11], "user": 15, "usual": 0, "util": [2, 5, 6], "v": 0, "v_i": 2, "v_j": 2, "valid": [0, 4, 5, 6], "valu": [0, 1, 2, 3, 6, 13, 16], "valueerror": [0, 2], "vari": 0, "variat": [0, 3, 13], "vdot": [13, 16], "vec": [0, 1, 2, 4, 9, 11, 16, 18], "vec_a": 0, "vec_b": 0, "vector": [0, 1, 2, 3, 4, 5, 8, 10, 11, 13, 14, 18], "verbos": 6, "verifi": 2, "via": [0, 16], "view": 11, "volum": 15, "w": [0, 13, 16, 18], "w_k": [0, 13], "wa": [0, 3], "wai": [13, 18], "warn": 14, "water": 10, "wavefunct": [3, 13], "we": [0, 2, 9, 10, 11, 13, 14, 15, 16, 18], "web": 15, "weight": 9, "well": [0, 3, 9, 14, 15], "when": [0, 3, 4, 9, 11, 13, 14, 16], "whenev": 0, "where": [0, 1, 2, 3, 4, 9, 13, 15, 16, 18], "whether": [0, 1, 2, 3, 11], "which": [0, 2, 4, 5, 9, 11, 13, 15, 16, 18], "while": 13, "whose": [0, 2, 9], "width": 5, "wigner": [0, 4], "william": 2, "window": [14, 15], "wise": 2, "with_final_orbital_rot": 0, "within": [0, 2, 11], "without": [13, 14], "won": 14, "word": [0, 13], "work": [14, 15], "would": [9, 13], "write": 16, "wrote": 16, "wsl": 15, "x": [3, 10, 13], "x0": [3, 10, 13], "yaml": 15, "yield": [0, 2, 10, 13, 16], "you": [9, 13, 14, 15, 18], "your": 15, "z": [0, 1, 2, 4, 11, 13, 14], "z_": [0, 1, 4], "z_represent": [0, 1, 4, 7], "zero": [0, 2], "zip": [0, 10, 13, 16], "\u03c8": [13, 16]}, "titles": ["ffsim", "ffsim.contract", "ffsim.linalg", "ffsim.optimize", "ffsim.qiskit", "ffsim.random", "ffsim.testing", "API Reference", "Explanations", "State vectors and gates", "How to simulate entanglement forging", "How to use the FermionOperator class", "How-to guides", "How to simulate the local unitary cluster Jastrow (LUCJ) ansatz", "ffsim", "Installation", "Diagonal Coulomb operators and double-factorized Trotter simulation", "Tutorials", "Orbital rotations and quadratic Hamiltonians"], "titleterms": {"The": 13, "ansatz": 13, "api": 7, "background": 16, "brief": 16, "cite": 14, "class": 11, "cluster": 13, "contract": 1, "coulomb": 16, "develop": 14, "diagon": 16, "docker": 15, "doubl": 16, "entangl": 10, "evolut": 18, "explan": 8, "factor": 16, "fermionoper": 11, "ffsim": [0, 1, 2, 3, 4, 5, 6, 14], "forg": 10, "formula": 16, "from": 15, "gate": 9, "guid": [12, 14], "hamiltonian": [16, 18], "how": [10, 11, 12, 13], "implement": 16, "instal": [14, 15], "jastrow": 13, "linalg": 2, "linear": 13, "local": 13, "lucj": 13, "method": 13, "molecular": 16, "next": 14, "oper": 16, "optim": [3, 13], "orbit": 18, "pip": 15, "qiskit": 4, "quadrat": 18, "random": 5, "refer": 7, "represent": 16, "rotat": 18, "simul": [10, 13, 16], "sourc": 15, "state": 9, "step": 14, "suzuki": 16, "test": 6, "time": 18, "trotter": 16, "tutori": 17, "ucj": 13, "unitari": 13, "us": [11, 15], "vector": 9, "within": 15}}) \ No newline at end of file diff --git a/tutorials/double-factorized.html b/tutorials/double-factorized.html index 9a6b080af..e77f7da3e 100644 --- a/tutorials/double-factorized.html +++ b/tutorials/double-factorized.html @@ -291,7 +291,7 @@

Double-factorized representation of the molecular Hamiltonian
-converged SCF energy = -77.4456267643963
+converged SCF energy = -77.4456267643962
 

Here, mol_hamiltonian is an instance of MolecularHamiltonian, a dataclass that stores the one- and two-body tensors, and df_hamiltonian is an instance of DoubleFactorizedHamiltonian, a dataclass that stores the updated one-body-tensor, diagonal Coulomb matrices, and orbital rotations. In the cell below, we print out the shapes of the tensors describing the original and double-factorized representations.

@@ -474,7 +474,7 @@

Implementing Trotter simulation of the double-factorized Hamiltonian
-Hartree Fock energy: -77.44562676439625
+Hartree Fock energy: -77.4456267643963
 

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

@@ -502,7 +502,7 @@

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

Now, let’s test our implementation.

@@ -529,7 +529,7 @@

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

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

@@ -556,7 +556,7 @@

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

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.

@@ -585,7 +585,7 @@

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

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

@@ -613,7 +613,7 @@

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

diff --git a/tutorials/double-factorized.ipynb b/tutorials/double-factorized.ipynb index d7b7f5226..63300ef72 100644 --- a/tutorials/double-factorized.ipynb +++ b/tutorials/double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:21.920176Z", - "iopub.status.busy": "2024-04-22T16:06:21.919627Z", - "iopub.status.idle": "2024-04-22T16:06:22.718513Z", - "shell.execute_reply": "2024-04-22T16:06:22.717898Z" + "iopub.execute_input": "2024-04-23T00:58:35.924616Z", + "iopub.status.busy": "2024-04-23T00:58:35.924425Z", + "iopub.status.idle": "2024-04-23T00:58:36.716646Z", + "shell.execute_reply": "2024-04-23T00:58:36.716031Z" } }, "outputs": [ @@ -54,7 +54,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "converged SCF energy = -77.4456267643963\n" + "converged SCF energy = -77.4456267643962\n" ] } ], @@ -109,10 +109,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:22.721708Z", - "iopub.status.busy": "2024-04-22T16:06:22.721365Z", - "iopub.status.idle": "2024-04-22T16:06:22.726574Z", - "shell.execute_reply": "2024-04-22T16:06:22.726154Z" + "iopub.execute_input": "2024-04-23T00:58:36.720972Z", + "iopub.status.busy": "2024-04-23T00:58:36.719889Z", + "iopub.status.idle": "2024-04-23T00:58:36.725882Z", + "shell.execute_reply": "2024-04-23T00:58:36.725394Z" } }, "outputs": [ @@ -215,10 +215,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:22.728687Z", - "iopub.status.busy": "2024-04-22T16:06:22.728501Z", - "iopub.status.idle": "2024-04-22T16:06:22.732566Z", - "shell.execute_reply": "2024-04-22T16:06:22.731959Z" + "iopub.execute_input": "2024-04-23T00:58:36.728250Z", + "iopub.status.busy": "2024-04-23T00:58:36.727901Z", + "iopub.status.idle": "2024-04-23T00:58:36.732377Z", + "shell.execute_reply": "2024-04-23T00:58:36.731951Z" } }, "outputs": [], @@ -273,10 +273,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:22.734861Z", - "iopub.status.busy": "2024-04-22T16:06:22.734508Z", - "iopub.status.idle": "2024-04-22T16:06:22.738065Z", - "shell.execute_reply": "2024-04-22T16:06:22.737502Z" + "iopub.execute_input": "2024-04-23T00:58:36.734710Z", + "iopub.status.busy": "2024-04-23T00:58:36.734402Z", + "iopub.status.idle": "2024-04-23T00:58:36.738584Z", + "shell.execute_reply": "2024-04-23T00:58:36.738007Z" } }, "outputs": [], @@ -313,10 +313,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:22.740222Z", - "iopub.status.busy": "2024-04-22T16:06:22.740006Z", - "iopub.status.idle": "2024-04-22T16:06:22.746614Z", - "shell.execute_reply": "2024-04-22T16:06:22.746035Z" + "iopub.execute_input": "2024-04-23T00:58:36.741071Z", + "iopub.status.busy": "2024-04-23T00:58:36.740654Z", + "iopub.status.idle": "2024-04-23T00:58:36.745938Z", + "shell.execute_reply": "2024-04-23T00:58:36.745366Z" } }, "outputs": [ @@ -324,7 +324,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Hartree Fock energy: -77.44562676439625\n" + "Hartree Fock energy: -77.4456267643963\n" ] } ], @@ -352,10 +352,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:22.749511Z", - "iopub.status.busy": "2024-04-22T16:06:22.749290Z", - "iopub.status.idle": "2024-04-22T16:06:23.566643Z", - "shell.execute_reply": "2024-04-22T16:06:23.566074Z" + "iopub.execute_input": "2024-04-23T00:58:36.748871Z", + "iopub.status.busy": "2024-04-23T00:58:36.748354Z", + "iopub.status.idle": "2024-04-23T00:58:37.574111Z", + "shell.execute_reply": "2024-04-23T00:58:37.573520Z" } }, "outputs": [ @@ -363,7 +363,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of evolved state w.r.t. initial state: 0.931506230140005\n" + "Fidelity of evolved state w.r.t. initial state: 0.9315062301400727\n" ] } ], @@ -394,10 +394,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:23.569971Z", - "iopub.status.busy": "2024-04-22T16:06:23.569602Z", - "iopub.status.idle": "2024-04-22T16:06:23.605082Z", - "shell.execute_reply": "2024-04-22T16:06:23.604458Z" + "iopub.execute_input": "2024-04-23T00:58:37.578111Z", + "iopub.status.busy": "2024-04-23T00:58:37.576977Z", + "iopub.status.idle": "2024-04-23T00:58:37.604966Z", + "shell.execute_reply": "2024-04-23T00:58:37.604442Z" } }, "outputs": [ @@ -405,7 +405,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9928527668213382\n" + "Fidelity of Trotter-evolved state with exact state: 0.9928527668214489\n" ] } ], @@ -435,10 +435,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:23.609458Z", - "iopub.status.busy": "2024-04-22T16:06:23.608481Z", - "iopub.status.idle": "2024-04-22T16:06:23.739130Z", - "shell.execute_reply": "2024-04-22T16:06:23.738596Z" + "iopub.execute_input": "2024-04-23T00:58:37.609137Z", + "iopub.status.busy": "2024-04-23T00:58:37.608155Z", + "iopub.status.idle": "2024-04-23T00:58:37.695751Z", + "shell.execute_reply": "2024-04-23T00:58:37.695229Z" } }, "outputs": [ @@ -446,7 +446,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851286736\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851287997\n" ] } ], @@ -478,10 +478,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:23.742952Z", - "iopub.status.busy": "2024-04-22T16:06:23.741990Z", - "iopub.status.idle": "2024-04-22T16:06:23.854951Z", - "shell.execute_reply": "2024-04-22T16:06:23.854416Z" + "iopub.execute_input": "2024-04-23T00:58:37.699508Z", + "iopub.status.busy": "2024-04-23T00:58:37.698532Z", + "iopub.status.idle": "2024-04-23T00:58:37.778457Z", + "shell.execute_reply": "2024-04-23T00:58:37.777933Z" } }, "outputs": [ @@ -489,7 +489,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999320851286736\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999320851287997\n" ] } ], @@ -520,10 +520,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:23.858820Z", - "iopub.status.busy": "2024-04-22T16:06:23.857855Z", - "iopub.status.idle": "2024-04-22T16:06:23.924473Z", - "shell.execute_reply": "2024-04-22T16:06:23.923910Z" + "iopub.execute_input": "2024-04-23T00:58:37.782247Z", + "iopub.status.busy": "2024-04-23T00:58:37.781262Z", + "iopub.status.idle": "2024-04-23T00:58:37.830616Z", + "shell.execute_reply": "2024-04-23T00:58:37.830092Z" } }, "outputs": [ @@ -531,7 +531,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9999913261307617\n" + "Fidelity of Trotter-evolved state with exact state: 0.9999913261308897\n" ] } ], diff --git a/tutorials/orbital-rotation.ipynb b/tutorials/orbital-rotation.ipynb index 79ee742b8..b2e4efb33 100644 --- a/tutorials/orbital-rotation.ipynb +++ b/tutorials/orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:25.994961Z", - "iopub.status.busy": "2024-04-22T16:06:25.994766Z", - "iopub.status.idle": "2024-04-22T16:06:26.608599Z", - "shell.execute_reply": "2024-04-22T16:06:26.608046Z" + "iopub.execute_input": "2024-04-23T00:58:39.890716Z", + "iopub.status.busy": "2024-04-23T00:58:39.890353Z", + "iopub.status.idle": "2024-04-23T00:58:40.499648Z", + "shell.execute_reply": "2024-04-23T00:58:40.499130Z" } }, "outputs": [], @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:26.611351Z", - "iopub.status.busy": "2024-04-22T16:06:26.611063Z", - "iopub.status.idle": "2024-04-22T16:06:26.641853Z", - "shell.execute_reply": "2024-04-22T16:06:26.641302Z" + "iopub.execute_input": "2024-04-23T00:58:40.502474Z", + "iopub.status.busy": "2024-04-23T00:58:40.502020Z", + "iopub.status.idle": "2024-04-23T00:58:40.532793Z", + "shell.execute_reply": "2024-04-23T00:58:40.532232Z" } }, "outputs": [], @@ -155,10 +155,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:26.645236Z", - "iopub.status.busy": "2024-04-22T16:06:26.644078Z", - "iopub.status.idle": "2024-04-22T16:06:26.663067Z", - "shell.execute_reply": "2024-04-22T16:06:26.662522Z" + "iopub.execute_input": "2024-04-23T00:58:40.536577Z", + "iopub.status.busy": "2024-04-23T00:58:40.535433Z", + "iopub.status.idle": "2024-04-23T00:58:40.554218Z", + "shell.execute_reply": "2024-04-23T00:58:40.553640Z" } }, "outputs": [], @@ -198,10 +198,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-22T16:06:26.666546Z", - "iopub.status.busy": "2024-04-22T16:06:26.666325Z", - "iopub.status.idle": "2024-04-22T16:06:26.672429Z", - "shell.execute_reply": "2024-04-22T16:06:26.671740Z" + "iopub.execute_input": "2024-04-23T00:58:40.557664Z", + "iopub.status.busy": "2024-04-23T00:58:40.557451Z", + "iopub.status.idle": "2024-04-23T00:58:40.563032Z", + "shell.execute_reply": "2024-04-23T00:58:40.562440Z" } }, "outputs": [],