From 262206033dee1bcf8a97717ed54965748a4b6572 Mon Sep 17 00:00:00 2001 From: kevinsung Date: Sat, 28 Oct 2023 20:07:43 +0000 Subject: [PATCH] deploy: 3e1ab01ffa1b94781bd8ff0dfc516edd34465649 --- .doctrees/api/ffsim.doctree | Bin 482591 -> 482591 bytes .doctrees/environment.pickle | Bin 1530678 -> 1530624 bytes .../nbsphinx/tutorials/01-introduction.ipynb | 24 ++-- .../tutorials/02-orbital-rotation.ipynb | 32 ++--- .../tutorials/03-double-factorized.ipynb | 80 +++++------ .doctrees/nbsphinx/tutorials/04-lucj.ipynb | 58 ++++---- .../tutorials/05-entanglement-forging.ipynb | 28 ++-- .../tutorials/06-fermion-operator.ipynb | 130 +++++++++--------- .doctrees/tutorials/04-lucj.doctree | Bin 38269 -> 38275 bytes .../tutorials/05-entanglement-forging.doctree | Bin 15260 -> 15260 bytes .../tutorials/06-fermion-operator.doctree | Bin 41445 -> 41385 bytes api/ffsim.html | 14 +- searchindex.js | 2 +- tutorials/01-introduction.ipynb | 24 ++-- tutorials/02-orbital-rotation.ipynb | 32 ++--- tutorials/03-double-factorized.ipynb | 80 +++++------ tutorials/04-lucj.html | 26 ++-- tutorials/04-lucj.ipynb | 58 ++++---- tutorials/05-entanglement-forging.html | 4 +- tutorials/05-entanglement-forging.ipynb | 28 ++-- tutorials/06-fermion-operator.html | 58 ++++---- tutorials/06-fermion-operator.ipynb | 130 +++++++++--------- 22 files changed, 404 insertions(+), 404 deletions(-) diff --git a/.doctrees/api/ffsim.doctree b/.doctrees/api/ffsim.doctree index af93486eaf3547093abe4bb6235b74f3f778acd9..8cd5f895e795ec347c39b1ec8c413e4570abae46 100644 GIT binary patch delta 298 zcmbQgOLqP)*@i8Q$Hb@qR%Mi!{$HF?WV(YQqx|$U3P8d@f>8#Ggv9do5{%5#{UjKL zrr(ohASH8D g8C^)%*8WS45r~<9m>Gy!fS47C*|z^uV^=i;05_LhoB#j- delta 318 zcmbQgOLqP)*@i8Q$Hb=_$S{gb-><;PJ3U*0QER$`8YACyc?m{cToPQ%*Gn)mPw!S_ z|nvrMvY6YMH@d}LU(^+MJ+OSA$?~q}9$~=9#0;4IaC4$pmD=^w)k>HvRw1ji} zDn-T{Ow*66FiKBftHLNX{edc@_VhCfKo_d1GAc|zrvSA6g9^~qYeB4fRYuwA3ltb7 nr*BXLI%$q7qYIgO+kdGs0x=U1GXpUT5VHa?+xA~-?5bt}Xn9_l diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 70209c30285f77aafde7b64ae67051b3f8f379f2..d9d40e906a04f52ec63d6846f841a61efbea02f7 100644 GIT binary patch delta 20334 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 delta 21272 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 VgHlCmT8=%+!oWh!$>|;X{{RS}D`)@! diff --git a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb index 88a59d993..d7cc89e30 100644 --- a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb +++ b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:57.494469Z", - "iopub.status.busy": "2023-10-28T19:56:57.493902Z", - "iopub.status.idle": "2023-10-28T19:56:57.847046Z", - "shell.execute_reply": "2023-10-28T19:56:57.846341Z" + "iopub.execute_input": "2023-10-28T20:07:20.401461Z", + "iopub.status.busy": "2023-10-28T20:07:20.401121Z", + "iopub.status.idle": "2023-10-28T20:07:20.703750Z", + "shell.execute_reply": "2023-10-28T20:07:20.703173Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:57.851550Z", - "iopub.status.busy": "2023-10-28T19:56:57.851221Z", - "iopub.status.idle": "2023-10-28T19:56:57.856768Z", - "shell.execute_reply": "2023-10-28T19:56:57.856129Z" + "iopub.execute_input": "2023-10-28T20:07:20.707031Z", + "iopub.status.busy": "2023-10-28T20:07:20.706500Z", + "iopub.status.idle": "2023-10-28T20:07:20.710355Z", + "shell.execute_reply": "2023-10-28T20:07:20.709877Z" } }, "outputs": [], @@ -93,10 +93,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:57.860349Z", - "iopub.status.busy": "2023-10-28T19:56:57.860112Z", - "iopub.status.idle": "2023-10-28T19:56:57.864176Z", - "shell.execute_reply": "2023-10-28T19:56:57.863497Z" + "iopub.execute_input": "2023-10-28T20:07:20.713007Z", + "iopub.status.busy": "2023-10-28T20:07:20.712659Z", + "iopub.status.idle": "2023-10-28T20:07:20.715302Z", + "shell.execute_reply": "2023-10-28T20:07:20.714835Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb index c8ee0e05a..b4794c505 100644 --- a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb +++ b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:59.593497Z", - "iopub.status.busy": "2023-10-28T19:56:59.593034Z", - "iopub.status.idle": "2023-10-28T19:56:59.932252Z", - "shell.execute_reply": "2023-10-28T19:56:59.931556Z" + "iopub.execute_input": "2023-10-28T20:07:22.220446Z", + "iopub.status.busy": "2023-10-28T20:07:22.219941Z", + "iopub.status.idle": "2023-10-28T20:07:22.551221Z", + "shell.execute_reply": "2023-10-28T20:07:22.550658Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:59.936669Z", - "iopub.status.busy": "2023-10-28T19:56:59.935356Z", - "iopub.status.idle": "2023-10-28T19:56:59.966062Z", - "shell.execute_reply": "2023-10-28T19:56:59.965446Z" + "iopub.execute_input": "2023-10-28T20:07:22.555073Z", + "iopub.status.busy": "2023-10-28T20:07:22.554573Z", + "iopub.status.idle": "2023-10-28T20:07:22.579118Z", + "shell.execute_reply": "2023-10-28T20:07:22.578594Z" } }, "outputs": [], @@ -158,10 +158,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:59.970497Z", - "iopub.status.busy": "2023-10-28T19:56:59.969486Z", - "iopub.status.idle": "2023-10-28T19:56:59.981641Z", - "shell.execute_reply": "2023-10-28T19:56:59.981083Z" + "iopub.execute_input": "2023-10-28T20:07:22.582070Z", + "iopub.status.busy": "2023-10-28T20:07:22.581707Z", + "iopub.status.idle": "2023-10-28T20:07:22.591276Z", + "shell.execute_reply": "2023-10-28T20:07:22.590784Z" } }, "outputs": [], @@ -201,10 +201,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:59.985779Z", - "iopub.status.busy": "2023-10-28T19:56:59.984741Z", - "iopub.status.idle": "2023-10-28T19:56:59.991033Z", - "shell.execute_reply": "2023-10-28T19:56:59.990498Z" + "iopub.execute_input": "2023-10-28T20:07:22.594064Z", + "iopub.status.busy": "2023-10-28T20:07:22.593641Z", + "iopub.status.idle": "2023-10-28T20:07:22.598228Z", + "shell.execute_reply": "2023-10-28T20:07:22.597772Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb index 5ab8dcae6..c2f4b367a 100644 --- a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb +++ b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:01.816606Z", - "iopub.status.busy": "2023-10-28T19:57:01.816139Z", - "iopub.status.idle": "2023-10-28T19:57:02.269592Z", - "shell.execute_reply": "2023-10-28T19:57:02.268923Z" + "iopub.execute_input": "2023-10-28T20:07:24.178723Z", + "iopub.status.busy": "2023-10-28T20:07:24.178296Z", + "iopub.status.idle": "2023-10-28T20:07:24.561004Z", + "shell.execute_reply": "2023-10-28T20:07:24.560402Z" } }, "outputs": [ @@ -92,10 +92,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.273091Z", - "iopub.status.busy": "2023-10-28T19:57:02.272489Z", - "iopub.status.idle": "2023-10-28T19:57:02.279238Z", - "shell.execute_reply": "2023-10-28T19:57:02.278680Z" + "iopub.execute_input": "2023-10-28T20:07:24.564402Z", + "iopub.status.busy": "2023-10-28T20:07:24.564115Z", + "iopub.status.idle": "2023-10-28T20:07:24.571264Z", + "shell.execute_reply": "2023-10-28T20:07:24.570743Z" } }, "outputs": [ @@ -226,10 +226,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.282320Z", - "iopub.status.busy": "2023-10-28T19:57:02.281889Z", - "iopub.status.idle": "2023-10-28T19:57:02.288366Z", - "shell.execute_reply": "2023-10-28T19:57:02.287798Z" + "iopub.execute_input": "2023-10-28T20:07:24.573812Z", + "iopub.status.busy": "2023-10-28T20:07:24.573615Z", + "iopub.status.idle": "2023-10-28T20:07:24.579816Z", + "shell.execute_reply": "2023-10-28T20:07:24.579361Z" } }, "outputs": [], @@ -284,10 +284,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.291418Z", - "iopub.status.busy": "2023-10-28T19:57:02.290779Z", - "iopub.status.idle": "2023-10-28T19:57:02.295337Z", - "shell.execute_reply": "2023-10-28T19:57:02.294754Z" + "iopub.execute_input": "2023-10-28T20:07:24.582432Z", + "iopub.status.busy": "2023-10-28T20:07:24.581943Z", + "iopub.status.idle": "2023-10-28T20:07:24.585673Z", + "shell.execute_reply": "2023-10-28T20:07:24.585226Z" } }, "outputs": [], @@ -324,10 +324,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.298733Z", - "iopub.status.busy": "2023-10-28T19:57:02.298072Z", - "iopub.status.idle": "2023-10-28T19:57:02.304222Z", - "shell.execute_reply": "2023-10-28T19:57:02.303655Z" + "iopub.execute_input": "2023-10-28T20:07:24.588189Z", + "iopub.status.busy": "2023-10-28T20:07:24.587710Z", + "iopub.status.idle": "2023-10-28T20:07:24.591992Z", + "shell.execute_reply": "2023-10-28T20:07:24.591553Z" } }, "outputs": [ @@ -363,10 +363,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.307485Z", - "iopub.status.busy": "2023-10-28T19:57:02.306821Z", - "iopub.status.idle": "2023-10-28T19:57:02.321261Z", - "shell.execute_reply": "2023-10-28T19:57:02.320589Z" + "iopub.execute_input": "2023-10-28T20:07:24.594492Z", + "iopub.status.busy": "2023-10-28T20:07:24.593981Z", + "iopub.status.idle": "2023-10-28T20:07:24.602421Z", + "shell.execute_reply": "2023-10-28T20:07:24.601967Z" } }, "outputs": [ @@ -405,10 +405,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.324312Z", - "iopub.status.busy": "2023-10-28T19:57:02.323837Z", - "iopub.status.idle": "2023-10-28T19:57:02.332671Z", - "shell.execute_reply": "2023-10-28T19:57:02.332082Z" + "iopub.execute_input": "2023-10-28T20:07:24.604872Z", + "iopub.status.busy": "2023-10-28T20:07:24.604392Z", + "iopub.status.idle": "2023-10-28T20:07:24.612065Z", + "shell.execute_reply": "2023-10-28T20:07:24.611599Z" } }, "outputs": [ @@ -446,10 +446,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.335925Z", - "iopub.status.busy": "2023-10-28T19:57:02.335284Z", - "iopub.status.idle": "2023-10-28T19:57:02.386391Z", - "shell.execute_reply": "2023-10-28T19:57:02.385471Z" + "iopub.execute_input": "2023-10-28T20:07:24.614530Z", + "iopub.status.busy": "2023-10-28T20:07:24.614072Z", + "iopub.status.idle": "2023-10-28T20:07:24.645447Z", + "shell.execute_reply": "2023-10-28T20:07:24.644894Z" } }, "outputs": [ @@ -489,10 +489,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.389625Z", - "iopub.status.busy": "2023-10-28T19:57:02.389378Z", - "iopub.status.idle": "2023-10-28T19:57:02.428555Z", - "shell.execute_reply": "2023-10-28T19:57:02.427602Z" + "iopub.execute_input": "2023-10-28T20:07:24.648484Z", + "iopub.status.busy": "2023-10-28T20:07:24.648142Z", + "iopub.status.idle": "2023-10-28T20:07:24.671472Z", + "shell.execute_reply": "2023-10-28T20:07:24.670987Z" } }, "outputs": [ @@ -531,10 +531,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.431653Z", - "iopub.status.busy": "2023-10-28T19:57:02.431422Z", - "iopub.status.idle": "2023-10-28T19:57:02.450116Z", - "shell.execute_reply": "2023-10-28T19:57:02.449332Z" + "iopub.execute_input": "2023-10-28T20:07:24.676519Z", + "iopub.status.busy": "2023-10-28T20:07:24.674841Z", + "iopub.status.idle": "2023-10-28T20:07:24.687872Z", + "shell.execute_reply": "2023-10-28T20:07:24.687413Z" } }, "outputs": [ diff --git a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb index 0703ef6c4..5a6e7b27a 100644 --- a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb +++ b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:04.658235Z", - "iopub.status.busy": "2023-10-28T19:57:04.657833Z", - "iopub.status.idle": "2023-10-28T19:57:05.406982Z", - "shell.execute_reply": "2023-10-28T19:57:05.406356Z" + "iopub.execute_input": "2023-10-28T20:07:26.591119Z", + "iopub.status.busy": "2023-10-28T20:07:26.590681Z", + "iopub.status.idle": "2023-10-28T20:07:27.189916Z", + "shell.execute_reply": "2023-10-28T20:07:27.189315Z" } }, "outputs": [ @@ -110,10 +110,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:05.411884Z", - "iopub.status.busy": "2023-10-28T19:57:05.410722Z", - "iopub.status.idle": "2023-10-28T19:57:05.810459Z", - "shell.execute_reply": "2023-10-28T19:57:05.809617Z" + "iopub.execute_input": "2023-10-28T20:07:27.193386Z", + "iopub.status.busy": "2023-10-28T20:07:27.193027Z", + "iopub.status.idle": "2023-10-28T20:07:27.766115Z", + "shell.execute_reply": "2023-10-28T20:07:27.765598Z" } }, "outputs": [ @@ -121,14 +121,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.49387212754476 E_corr = -0.04824536314851395\n" + "E(CCSD) = -77.49387212754471 E_corr = -0.04824536314851384\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -77.4697560002169\n" + "Energy at initialialization: -77.46975600021688\n" ] } ], @@ -173,10 +173,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:05.813778Z", - "iopub.status.busy": "2023-10-28T19:57:05.813478Z", - "iopub.status.idle": "2023-10-28T19:57:09.511038Z", - "shell.execute_reply": "2023-10-28T19:57:09.510421Z" + "iopub.execute_input": "2023-10-28T20:07:27.770029Z", + "iopub.status.busy": "2023-10-28T20:07:27.769106Z", + "iopub.status.idle": "2023-10-28T20:07:31.079867Z", + "shell.execute_reply": "2023-10-28T20:07:31.079346Z" } }, "outputs": [ @@ -188,12 +188,12 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.51494874300114\n", - " x: [-1.555e-01 1.932e-01 ... -6.056e-01 1.968e-01]\n", + " fun: -77.51583903768034\n", + " x: [-1.449e-01 1.884e-01 ... -6.223e-01 -6.098e-02]\n", " nit: 9\n", - " jac: [-6.976e-03 -2.986e-03 ... -8.328e-03 2.274e-03]\n", - " nfev: 1095\n", - " njev: 15\n", + " jac: [ 4.260e-03 -8.711e-03 ... -2.869e-03 -1.806e-03]\n", + " nfev: 1168\n", + " njev: 16\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" ] } @@ -246,10 +246,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:09.514206Z", - "iopub.status.busy": "2023-10-28T19:57:09.513991Z", - "iopub.status.idle": "2023-10-28T19:57:12.848253Z", - "shell.execute_reply": "2023-10-28T19:57:12.847650Z" + "iopub.execute_input": "2023-10-28T20:07:31.083296Z", + "iopub.status.busy": "2023-10-28T20:07:31.082908Z", + "iopub.status.idle": "2023-10-28T20:07:34.131505Z", + "shell.execute_reply": "2023-10-28T20:07:34.130918Z" } }, "outputs": [ @@ -261,12 +261,12 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45981953688877\n", - " x: [-3.348e-01 7.867e-02 ... -5.151e-01 2.150e-01]\n", - " nit: 14\n", - " jac: [ 9.408e-04 8.114e-04 ... -3.837e-04 -1.720e-04]\n", - " nfev: 1034\n", - " njev: 22\n", + " fun: -77.45996000866644\n", + " x: [-3.655e-01 7.790e-02 ... -6.125e-01 1.518e-01]\n", + " nit: 16\n", + " jac: [ 3.951e-04 7.077e-04 ... -2.217e-04 -2.436e-03]\n", + " nfev: 1081\n", + " njev: 23\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" ] } diff --git a/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb b/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb index 789aecd4e..82e452941 100644 --- a/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb +++ b/.doctrees/nbsphinx/tutorials/05-entanglement-forging.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:14.828936Z", - "iopub.status.busy": "2023-10-28T19:57:14.828179Z", - "iopub.status.idle": "2023-10-28T19:57:15.483816Z", - "shell.execute_reply": "2023-10-28T19:57:15.483170Z" + "iopub.execute_input": "2023-10-28T20:07:35.975832Z", + "iopub.status.busy": "2023-10-28T20:07:35.975473Z", + "iopub.status.idle": "2023-10-28T20:07:36.556064Z", + "shell.execute_reply": "2023-10-28T20:07:36.555479Z" } }, "outputs": [ @@ -90,10 +90,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:15.488508Z", - "iopub.status.busy": "2023-10-28T19:57:15.487877Z", - "iopub.status.idle": "2023-10-28T19:57:15.514609Z", - "shell.execute_reply": "2023-10-28T19:57:15.514049Z" + "iopub.execute_input": "2023-10-28T20:07:36.560480Z", + "iopub.status.busy": "2023-10-28T20:07:36.559426Z", + "iopub.status.idle": "2023-10-28T20:07:36.582642Z", + "shell.execute_reply": "2023-10-28T20:07:36.582113Z" } }, "outputs": [ @@ -135,10 +135,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:15.519063Z", - "iopub.status.busy": "2023-10-28T19:57:15.517797Z", - "iopub.status.idle": "2023-10-28T19:57:17.565183Z", - "shell.execute_reply": "2023-10-28T19:57:17.564175Z" + "iopub.execute_input": "2023-10-28T20:07:36.586423Z", + "iopub.status.busy": "2023-10-28T20:07:36.585509Z", + "iopub.status.idle": "2023-10-28T20:07:38.326561Z", + "shell.execute_reply": "2023-10-28T20:07:38.325881Z" } }, "outputs": [ @@ -150,8 +150,8 @@ " message: Maximum number of function evaluations has been exceeded.\n", " success: False\n", " status: 2\n", - " fun: -75.69434198341699\n", - " x: [ 1.352e+00 8.664e-02 -2.940e-03 1.104e+00 -1.913e-01]\n", + " fun: -75.69448131142579\n", + " x: [ 1.354e+00 9.651e-02 -1.863e-03 1.095e+00 -2.132e-01]\n", " nfev: 100\n", " maxcv: 0.0\n" ] diff --git a/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb b/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb index 9d930e5a6..cfe9df9fb 100644 --- a/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb +++ b/.doctrees/nbsphinx/tutorials/06-fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.232336Z", - "iopub.status.busy": "2023-10-28T19:57:19.231733Z", - "iopub.status.idle": "2023-10-28T19:57:19.578162Z", - "shell.execute_reply": "2023-10-28T19:57:19.577583Z" + "iopub.execute_input": "2023-10-28T20:07:39.758414Z", + "iopub.status.busy": "2023-10-28T20:07:39.758033Z", + "iopub.status.idle": "2023-10-28T20:07:40.068088Z", + "shell.execute_reply": "2023-10-28T20:07:40.067419Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(0), des_a(3)): 0.5,\n", " (cre_a(3), des_a(0)): -0.25,\n", - " (cre_b(1), des_b(5), cre_a(4)): 1+1j\n", + " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", + " (cre_a(0), des_a(3)): 0.5\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.582566Z", - "iopub.status.busy": "2023-10-28T19:57:19.581342Z", - "iopub.status.idle": "2023-10-28T19:57:19.589175Z", - "shell.execute_reply": "2023-10-28T19:57:19.587715Z" + "iopub.execute_input": "2023-10-28T20:07:40.071616Z", + "iopub.status.busy": "2023-10-28T20:07:40.071123Z", + "iopub.status.idle": "2023-10-28T20:07:40.077001Z", + "shell.execute_reply": "2023-10-28T20:07:40.076518Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j})'" + "'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.594293Z", - "iopub.status.busy": "2023-10-28T19:57:19.593169Z", - "iopub.status.idle": "2023-10-28T19:57:19.600951Z", - "shell.execute_reply": "2023-10-28T19:57:19.600404Z" + "iopub.execute_input": "2023-10-28T20:07:40.080933Z", + "iopub.status.busy": "2023-10-28T20:07:40.080022Z", + "iopub.status.idle": "2023-10-28T20:07:40.086672Z", + "shell.execute_reply": "2023-10-28T20:07:40.086191Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", - " (cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3)): 1,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", + " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", + " (cre_a(0), des_a(3)): 1,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (des_a(3), des_b(3)): 0.0625,\n", - " (cre_a(3), des_a(0)): -0.5\n", + " (cre_b(2)): 0-0.25j,\n", + " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.605319Z", - "iopub.status.busy": "2023-10-28T19:57:19.604259Z", - "iopub.status.idle": "2023-10-28T19:57:19.610844Z", - "shell.execute_reply": "2023-10-28T19:57:19.610295Z" + "iopub.execute_input": "2023-10-28T20:07:40.090476Z", + "iopub.status.busy": "2023-10-28T20:07:40.089415Z", + "iopub.status.idle": "2023-10-28T20:07:40.095387Z", + "shell.execute_reply": "2023-10-28T20:07:40.094912Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", - " (cre_b(2)): -5,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", + " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", " (cre_a(3), des_a(0), cre_b(2)): -1,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (des_a(3), des_b(3)): 0-1.25j,\n", - " (cre_a(3), des_a(0)): 0+3j\n", + " (cre_b(2)): -5,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.615183Z", - "iopub.status.busy": "2023-10-28T19:57:19.614121Z", - "iopub.status.idle": "2023-10-28T19:57:19.620462Z", - "shell.execute_reply": "2023-10-28T19:57:19.619906Z" + "iopub.execute_input": "2023-10-28T20:07:40.099134Z", + "iopub.status.busy": "2023-10-28T20:07:40.098055Z", + "iopub.status.idle": "2023-10-28T20:07:40.103880Z", + "shell.execute_reply": "2023-10-28T20:07:40.103413Z" } }, "outputs": [ @@ -230,16 +230,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_b(3), des_a(3)): 0+1.25j,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(2)): -5,\n", " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_b(2)): -5,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (cre_b(2), cre_a(3), des_a(0)): -1,\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), cre_a(3), des_a(0)): -1\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.626133Z", - "iopub.status.busy": "2023-10-28T19:57:19.624760Z", - "iopub.status.idle": "2023-10-28T19:57:19.630509Z", - "shell.execute_reply": "2023-10-28T19:57:19.629942Z" + "iopub.execute_input": "2023-10-28T20:07:40.108474Z", + "iopub.status.busy": "2023-10-28T20:07:40.108099Z", + "iopub.status.idle": "2023-10-28T20:07:40.113360Z", + "shell.execute_reply": "2023-10-28T20:07:40.112892Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.633520Z", - "iopub.status.busy": "2023-10-28T19:57:19.633053Z", - "iopub.status.idle": "2023-10-28T19:57:19.640063Z", - "shell.execute_reply": "2023-10-28T19:57:19.639527Z" + "iopub.execute_input": "2023-10-28T20:07:40.116307Z", + "iopub.status.busy": "2023-10-28T20:07:40.115969Z", + "iopub.status.idle": "2023-10-28T20:07:40.122116Z", + "shell.execute_reply": "2023-10-28T20:07:40.121659Z" } }, "outputs": [ @@ -340,21 +340,21 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.643130Z", - "iopub.status.busy": "2023-10-28T19:57:19.642713Z", - "iopub.status.idle": "2023-10-28T19:57:19.651068Z", - "shell.execute_reply": "2023-10-28T19:57:19.650576Z" + "iopub.execute_input": "2023-10-28T20:07:40.125644Z", + "iopub.status.busy": "2023-10-28T20:07:40.124602Z", + "iopub.status.idle": "2023-10-28T20:07:40.132081Z", + "shell.execute_reply": "2023-10-28T20:07:40.131623Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([ 0. +0.j , 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " -0.10305872-0.08742954j, 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0. +0.j ])" + "array([0. +0.j , 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0.03693173-0.09957874j, 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0. +0.j ])" ] }, "execution_count": 8, @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.655097Z", - "iopub.status.busy": "2023-10-28T19:57:19.654074Z", - "iopub.status.idle": "2023-10-28T19:57:19.670028Z", - "shell.execute_reply": "2023-10-28T19:57:19.669485Z" + "iopub.execute_input": "2023-10-28T20:07:40.135595Z", + "iopub.status.busy": "2023-10-28T20:07:40.134537Z", + "iopub.status.idle": "2023-10-28T20:07:40.148196Z", + "shell.execute_reply": "2023-10-28T20:07:40.147690Z" } }, "outputs": [ diff --git a/.doctrees/tutorials/04-lucj.doctree b/.doctrees/tutorials/04-lucj.doctree index adc59abc0ba6ee84be555896b32452dfab50ac16..09da939c9952a64f754137fb67b5637fa671f094 100644 GIT binary patch delta 2521 zcmeynim7=u6H5c@)QXKP3vJjdYzm4}?YJh}J4iDcPL6hvWwtQkn!MIZcJc%}0SOBW zE*pK2f+-p7u~RbadhjY|vapyu&9<0v?c{_eoyo85q*)CW6kKB_$2mwLn+j64&`y>( zWnz=xwsKA`wGU&=#_mRL3k#UzaHs&Y12Wrs^61-D{|4VPOJh>gnkz=$h#n85x7QK&FAE1(0bJ3)P&LSz@JN3FTxZCId}U zFwrwIGXN?wR?xN3GdDB@Gr=Yq8R=P=fh++^0WC2w12LgS<)x*TSt%GAnpr?h%gX}u z%_a+kdQ6UOV4r+8c+wDb{$_#DY(`SuT^*B?l3!9>OQo={wt<^RP6RMU22MU8$Tqn* zeCLq%$Y#b!8&+`-_9)d`ni&`vSeTianV^+9#(HL^rob`) zSmv1PnOlMi4I>4p(+!QFGKPAlhM+RX5T(p9G(#D~?YJgiu$N{uo1EYv%VcRfx!yrf+>*;iA0#y; zgFSXihFuRXg^ZSyXV?}qu9tu(zCRHFu{5(^o)%_3XK&M zjP#7mO+d_8h=qA+sby9Qh6a|VP<|GeZ#r2l)MN6Q;F*Kjjhn?nvl)F!48-b~oRs{M z;#%Ax8H_z75gN$|&doOA0z<^9lWoESfoYm^a$@8os>Xf@_HZRPg>ormq!t%X=8H6$ ztQS3HXt;Fq+L*mc^%jPfrp9I#78d5_sJY%)&)5W;dN0p?&>0g{!N3@kttEcHwbKt`D;C|KwLix)5xY?QH)o`o^U zXcGlsF=K87GRp+5G%$vmmIp2kjEp9)YxJ0$+%RhhI(_rH##}}c-HpiV)Cu=$8+f5( pOnTsNzSb-_w0$u7S~H|b`P2G@#Hbh)sefYo`61}+&4QgpJOD2YDa8N) diff --git a/.doctrees/tutorials/05-entanglement-forging.doctree b/.doctrees/tutorials/05-entanglement-forging.doctree index 25de2040e0e52c68016f7200e0ae38fa6f60613b..3c50f6f784ebb4ea780bedd625d99dda7ce2efcd 100644 GIT binary patch delta 497 zcmbPJKBs&`mbRyfg`u&bp^1^Hxh0nZ1XNflL@OBT8Jn7u65CqdkjyCT`xZUP|woPc=CQ7&B=GPXHn0@&HHtH8L4L+(1A*m%k{2O*~IPo V|EOxB;$(TlNz^rQv$RnoCjf1+Zo~ip diff --git a/.doctrees/tutorials/06-fermion-operator.doctree b/.doctrees/tutorials/06-fermion-operator.doctree index e61c80842083bb7be10360d02dcb6a6ef089eaca..fb1cd9d877424cbcbf3ebcf40c7d20adff25d633 100644 GIT binary patch delta 2058 zcmb`HT}YEr7{}A*-hH^ajrqDw$KK}0oX+{W@69Y9|cgZlWal*(|3e7%-wL0-cbMas4 zN$uk!gfX4@?_73Aml9&LCRS`=aIdBbl<{PK_|dqTAF?%5e}+0trNro|oz736uWQN+ zvntb95!OPrh_@(^8kS(HLx~;RBpO=f@P<@ieM-y?i=eR8!_!&^v9A)*&a&f8tQE?T z4xEp{3|k7OM~JAc0-G&vUU^&g_ta-5P8- zlt{X(GGT>)Y|V+~upaGPDJGq2uv{5-9eSdJ!7EpUH{LJLBA>lVBuVr9C>5I@4It@d z_(W$fwKe8EI}RORfi|c(@SCOu*o|q3-zpeR%U}+gAnl+JoeRLkOYk}-LtDs)Ot-o`PIH|`Dr#SR12h%+PZA5Y4x{@o;gk|t|nP84I5X}_!!-@m_X%_`W zSOAV(T?=Q$O4xFs*%8iZ<_$Titwt(xgU6mXqK*8~vMXm6B$%dYqEb%usUaQK;8EN} zbh{A^mSZJG;cU#D=@nr;Zoqf)%GXCskc~;u9`|88ZZBl{%igzGa!`XBYiht*PQ0pV(RAhzT31`1U0|*B?LvO`%-5peh`$Q=|y0M zjq0(Yi#~3PqGSj{QGx^!sNGZ)D0UIuSaw+v)Y;IO;FWGy=RAk=JpBLXcR1(49RJH4 zUoe_}OA~qkN4QjS``*Mr){KA>#_+R#oAis%NX^-n=`T z++B<=QAgL92_dKw4PURtwc>7M6dg{K?}`=^rJ=ZQvt-bED+}(D3yI4oN-Gj%R8jUd z6IU4u-@PhS8D&t{%Fy7*6;v21jW}p3$09AoNDT!|tsb7R7%R3RXx$QM3^F{fF2&4I zI&N(7$afJF7L3-U1@bD;uTcsl^jLGz z%SrIlq9CIbZcd98^L4y57l2|Jyth!`IY}I=AaOLIqQx`Lm5S)U*1JhN1d6oCiiUNQ z;f$8aupPrTZPK!1#G(TS^c#1e1cRO&!apCkjoDbLqX~8~7Q8ta@sz>t9wzA31baT7 zcqIgV8C>C9v^y;86>ZNStbel(p$uV;+|MQ<0a^$U+_%ZzulfZ1YVK z`rC3b63&69gFHM?f9Zx*Y7=YIWH}3f8Rj6UF07a@DG-sgnV2DeK|RnN=
FermionOperator({
-    (cre_a(3), des_a(0)): -0.25,
     (cre_b(1), des_b(5), cre_a(4)): 1+1j,
+    (cre_a(3), des_a(0)): -0.25,
     (cre_a(0), des_a(3)): 0.5
 })
 
@@ -334,8 +334,8 @@
FermionOperator({
-    (cre_a(0), des_a(3)): 1,
     (cre_a(3), des_a(0)): -0.5,
+    (cre_a(0), des_a(3)): 1,
     (cre_b(1), des_b(5), cre_a(4)): 2+2j
 })
 
@@ -357,9 +357,9 @@
FermionOperator({
     (des_a(3), des_b(3)): -0.25,
+    (cre_b(1), des_b(5), cre_a(4)): 1+1j,
     (cre_b(2)): 0+1j,
     (cre_a(3), des_a(0)): -0.25,
-    (cre_b(1), des_b(5), cre_a(4)): 1+1j,
     (cre_a(0), des_a(3)): 0.5
 })
 
@@ -374,12 +374,12 @@
FermionOperator({
-    (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,
     (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,
-    (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,
+    (cre_b(1), des_b(5), cre_a(4), 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), des_a(3), des_b(3)): 0.0625,
-    (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(3), des_a(0), cre_b(2)): 0-0.25j,
+    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625
 })
 
diff --git a/searchindex.js b/searchindex.js index a2004625f..daebeed8e 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.linalg", "api/ffsim.random", "api/ffsim.testing", "index", "tutorials/01-introduction", "tutorials/02-orbital-rotation", "tutorials/03-double-factorized", "tutorials/04-lucj", "tutorials/05-entanglement-forging", "tutorials/06-fermion-operator"], "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.linalg.rst", "api/ffsim.random.rst", "api/ffsim.testing.rst", "index.rst", "tutorials/01-introduction.ipynb", "tutorials/02-orbital-rotation.ipynb", "tutorials/03-double-factorized.ipynb", "tutorials/04-lucj.ipynb", "tutorials/05-entanglement-forging.ipynb", "tutorials/06-fermion-operator.ipynb"], "titles": ["ffsim", "ffsim.contract", "ffsim.linalg", "ffsim.random", "ffsim.testing", "Welcome to ffsim\u2019s documentation!", "Introduction to ffsim", "Orbital rotations and quadratic Hamiltonians", "Diagonal Coulomb operators and double-factorized Trotter simulation", "The local unitary cluster Jastrow (LUCJ) ansatz", "Entanglement forging", "The FermionOperator class"], "terms": {"i": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11], "softwar": [0, 5, 6], "librari": [0, 5, 6], "fast": 0, "simul": [0, 5, 6, 7, 9, 10], "fermion": [0, 5, 6, 7, 9, 11], "quantum": [0, 5, 6, 8, 9], "circuit": [0, 5, 6], "class": [0, 3, 5, 6, 9], "doublefactorizedhamiltonian": [0, 5, 8], "one_body_tensor": [0, 7, 8], "diag_coulomb_mat": [0, 8], "orbital_rot": [0, 1, 6, 7, 8], "constant": [0, 8, 9], "0": [0, 7, 8, 9, 10, 11], "z_represent": [0, 1], "fals": [0, 1, 2, 9, 10, 11], "sourc": [0, 1, 2, 3, 4], "base": [0, 2, 9, 10], "object": [0, 2, 9, 11], "A": [0, 1, 2, 3, 4, 7, 8, 9, 11], "hamiltonian": [0, 5, 9, 10], "doubl": [0, 2, 5, 9], "factor": [0, 2, 5, 9], "form": [0, 1, 2, 7, 8, 9, 11], "low": [0, 2, 6], "rank": [0, 2, 3], "decomposit": [0, 2], "The": [0, 1, 2, 3, 4, 5, 6, 7, 8], "molecular": [0, 9, 10], "h": [0, 8, 9, 10], "sum_": [0, 1, 2, 7, 8, 9], "pq": [0, 2, 8], "sigma": [0, 1, 7, 8, 9], "kappa_": 0, "dagger_": [0, 7, 8], "p": [0, 2, 8, 9], "a_": [0, 7, 8, 11], "q": [0, 8], "frac12": [0, 8, 9], "sum_t": 0, "ij": [0, 1, 2, 7, 8, 9], "tau": [0, 1, 8, 9], "z": [0, 1, 2, 5, 6, 11], "t": [0, 2, 7, 8], "_": [0, 2, 7, 8, 9], "n": [0, 2, 6, 7, 8, 9], "j": [0, 1, 7, 8, 9, 11], "text": [0, 8], "where": [0, 1, 2, 7, 8, 9], "u": [0, 1, 2], "pi": [0, 10], "qi": 0, "here": [0, 2, 6, 7, 8, 9], "each": [0, 2, 6, 8, 9, 11], "unitari": [0, 1, 2, 3, 5, 7, 8], "matrix": [0, 1, 2, 3, 6, 7, 8, 9, 11], "real": [0, 1, 2, 3, 7, 8, 9, 10], "symmetr": [0, 1, 2, 3, 8, 9], "represent": [0, 1, 2, 6, 11], "an": [0, 1, 2, 3, 6, 7, 8, 9, 11], "altern": [0, 8], "sometim": 0, "yield": [0, 2, 8, 9], "simpler": 0, "under": 0, "jordan": 0, "wigner": 0, "transform": [0, 1, 6, 7], "number": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "oper": [0, 1, 2, 5, 7, 9, 10, 11], "take": [0, 6, 9], "frac": 0, "1": [0, 2, 3, 6, 7, 8, 9, 10, 11], "2": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11], "pauli": 0, "rotat": [0, 1, 2, 5, 6, 8, 9], "basi": [0, 7, 8, 9, 10], "obtain": [0, 7, 8, 9], "rewrit": 0, "two": [0, 2, 3, 8, 9, 10], "bodi": [0, 1, 2, 3, 8, 9, 10], "part": [0, 2], "term": [0, 1, 2, 8, 9, 11], "updat": [0, 8], "one": [0, 1, 2, 6, 8, 9, 10], "appropri": 0, "kappa": 0, "frac18": 0, "asterisk": 0, "denot": [0, 1, 7], "summat": 0, "over": 0, "indic": [0, 2, 9, 11], "neq": [0, 1], "tensor": [0, 1, 2, 3, 8, 9, 10], "type": [0, 1, 2, 3, 4], "np": [0, 3, 4, 7, 8, 9, 10], "ndarrai": [0, 1, 2, 3, 8], "diagon": [0, 1, 2, 5, 7, 9], "coulomb": [0, 1, 2, 5, 9], "matric": [0, 1, 2, 7, 8, 9], "orbit": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11], "float": [0, 2, 3, 8], "whether": [0, 1, 2, 11], "rather": [0, 6], "than": [0, 5, 6, 9], "bool": [0, 1, 2], "static": 0, "from_molecular_hamiltonian": [0, 8], "tol": [0, 2], "1e": [0, 2], "08": [0, 2], "max_vec": [0, 2], "none": [0, 1, 2, 3, 4], "optim": [0, 2, 9, 10], "method": [0, 2, 9, 10], "l": [0, 2, 8, 9], "bfg": [0, 2, 9], "b": [0, 2, 7, 9], "option": [0, 1, 2, 3, 9, 10], "diag_coulomb_mask": [0, 2], "choleski": [0, 2], "true": [0, 2, 6, 11], "act": [0, 11], "h_": [0, 2, 8], "pqr": [0, 2, 8], "r": [0, 2, 8], "": [0, 2, 6, 8, 9, 10, 11], "decompos": [0, 2, 8], "ar": [0, 1, 2, 3, 6, 7, 8, 9, 11], "output": [0, 8, 9], "guarante": 0, "so": [0, 2, 7, 8, 9, 11], "depend": [0, 2, 6], "allow": [0, 2, 9], "error": [0, 2], "threshold": [0, 2], "larger": [0, 2, 11], "lead": 0, "smaller": [0, 2, 8, 11], "furthermor": [0, 2], "max_rank": 0, "paramet": [0, 1, 2, 3, 4, 9, 10], "specifi": [0, 2, 9], "upper": [0, 2, 9], "bound": [0, 2], "default": [0, 2, 3], "behavior": [0, 2, 3], "thi": [0, 2, 5, 6, 7, 8, 9, 10], "routin": [0, 2, 6, 11], "perform": [0, 2, 7, 8], "straightforward": [0, 2], "exact": [0, 2, 6, 8], "nest": [0, 2], "eigenvalu": [0, 2, 7], "addition": [0, 2], "can": [0, 2, 5, 6, 7, 8, 9, 11], "choos": [0, 2, 6, 9], "coeffici": [0, 1, 2, 7, 9, 11], "store": [0, 2, 8, 9], "achiev": [0, 2, 8], "compress": [0, 2], "enabl": [0, 2], "set": [0, 2, 6, 7, 8, 9], "attempt": [0, 2], "minim": [0, 2, 9, 10], "least": [0, 2], "squar": [0, 2, 9], "function": [0, 1, 2, 6, 7, 8, 9, 10, 11], "quantifi": [0, 2], "It": [0, 2, 6, 8, 11], "us": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11], "scipi": [0, 2, 6, 7, 8, 9, 10, 11], "pass": [0, 2, 7, 11], "both": [0, 2], "its": [0, 2, 7, 8, 11], "gradient": [0, 2], "return": [0, 1, 2, 3, 4, 8, 9, 10, 11], "constrain": [0, 2], "have": [0, 2, 6, 7, 9, 11], "onli": [0, 2, 6, 7, 9], "certain": [0, 2], "element": [0, 2], "nonzero": [0, 2, 9], "which": [0, 2, 3, 6, 7, 8, 9, 11], "time": [0, 2, 6, 8], "boolean": [0, 2], "valu": [0, 1, 2, 3, 8, 9], "triangular": [0, 2], "becaus": [0, 2, 6, 8, 9, 11], "note": [0, 9, 11], "current": 0, "support": [0, 11], "two_body_tensor": [0, 2, 8], "toler": [0, 2, 9], "defin": [0, 2, 9, 10], "maximum": [0, 2, 3, 10], "absolut": [0, 2], "differ": [0, 1, 2, 9], "between": [0, 1, 2, 9], "origin": [0, 2, 8], "correspond": [0, 2, 7, 8], "reconstruct": [0, 2], "int": [0, 1, 2, 3, 4, 8, 10], "limit": [0, 2, 9], "keep": [0, 2], "argument": [0, 2, 7], "overrid": [0, 2], "str": [0, 2], "see": [0, 2], "document": [0, 2], "possibl": [0, 2], "callback": [0, 2], "usag": [0, 2, 11], "dict": [0, 2, 9, 10], "mask": [0, 2], "modifi": [0, 2], "If": [0, 1, 2, 3, 11], "full": [0, 2, 6], "instead": [0, 2], "much": [0, 2, 5, 6], "more": [0, 2, 6, 9], "expens": [0, 2], "ignor": [0, 2, 8], "refer": [0, 2, 3, 9], "arxiv": [0, 2, 3], "1808": [0, 2], "02625": [0, 2], "2104": [0, 2], "08957": [0, 2], "properti": [0, 7], "norb": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11], "spatial": [0, 1, 4, 6, 8, 9, 11], "to_number_represent": 0, "to_z_represent": 0, "fermionact": [0, 5], "action": [0, 1, 7, 11], "spin": [0, 1, 5, 6, 7, 9, 10, 11], "orb": [0, 11], "namedtupl": 0, "alia": 0, "field": 0, "fermionoper": [0, 5], "coeff": [0, 1], "repres": [0, 6, 9, 11], "linear": [0, 1, 2, 7, 11], "combin": [0, 1, 7, 11], "product": [0, 8, 11], "creation": [0, 7, 11], "annihil": [0, 11], "explan": 0, "how": [0, 6, 7, 8, 9, 10, 11], "exampl": [0, 6, 7, 9, 11], "import": [0, 6, 7, 8, 9, 10, 11], "op1": [0, 11], "cre_a": [0, 5, 11], "des_a": [0, 5, 11], "3": [0, 6, 7, 8, 9, 10, 11], "5": [0, 8, 9, 10, 11], "25": [0, 11], "cre_b": [0, 5, 11], "des_b": [0, 5, 11], "4": [0, 7, 8, 9, 10, 11], "1j": [0, 7, 8, 11], "2j": [0, 11], "op2": [0, 11], "25j": [0, 11], "5j": [0, 11], "125": [0, 11], "0625": [0, 11], "tupl": [0, 1, 2, 4, 8, 11], "complex": [0, 1, 2, 3], "conserves_particle_numb": [0, 11], "conserv": [0, 5, 6, 11], "particl": [0, 4, 5, 6, 7, 11], "otherwis": 0, "conserves_spin_z": [0, 11], "compon": [0, 5, 6, 11], "many_body_ord": 0, "mani": [0, 5], "order": [0, 6, 8, 9, 11], "length": [0, 6, 8, 9], "longest": 0, "contain": [0, 2, 9, 11], "normal_ord": [0, 11], "normal": [0, 11], "equival": 0, "ha": [0, 1, 2, 6, 7, 8, 9, 10], "been": [0, 10], "reorder": 0, "canon": 0, "In": [0, 7, 8, 9, 10, 11], "compris": [0, 11], "appear": [0, 11], "from": [0, 3, 6, 7, 9, 10, 11], "left": [0, 7, 11], "right": [0, 7, 11], "descend": [0, 11], "lexicograph": [0, 11], "That": [0, 7, 11], "all": [0, 9, 11], "befor": [0, 9, 11], "within": [0, 2, 11], "beta": [0, 1, 4, 6, 9, 11], "alpha": [0, 1, 4, 6, 9, 11], "hopgateansatzoper": [0, 5, 10], "interaction_pair": [0, 10], "theta": [0, 10], "hop": 0, "gate": [0, 9], "ansatz": [0, 5, 10], "moleculardata": [0, 5, 8, 9, 10], "nelec": [0, 1, 4, 6, 7, 8, 9, 10, 11], "core_energi": 0, "dipole_integr": 0, "orbital_symmetri": 0, "data": [0, 3, 8, 9, 10, 11], "electron": [0, 1, 3, 4, 6, 8], "core": [0, 2], "energi": [0, 7, 8, 9, 10], "dipol": 0, "integr": 0, "symmetri": [0, 5, 6, 7, 8, 9, 10], "from_hartree_fock": [0, 8, 9, 10], "hartree_fock": [0, 8, 9, 10], "active_spac": [0, 9, 10], "initi": [0, 3, 4, 8, 9, 10], "hartre": [0, 8, 9], "fock": [0, 8, 9], "calcul": [0, 6, 8, 9], "scf": [0, 8, 9, 10], "iter": 0, "list": [0, 1, 2, 4, 9, 10], "activ": [0, 9, 10], "space": [0, 9, 10], "molecularhamiltonian": [0, 5, 8], "call": [0, 6, 7, 8, 11], "supportsapplyunitari": [0, 5], "arg": 0, "kwarg": 0, "protocol": 0, "appli": [0, 1, 2, 6, 7, 8, 9], "vector": [0, 1, 2, 3, 6, 7, 9, 10, 11], "supportsapproximateequ": [0, 5], "compar": [0, 8], "approxim": [0, 2, 8], "supportsfermionoper": [0, 5], "convert": [0, 1, 6, 7, 8, 11], "supportslinearoper": [0, 5], "linearoper": [0, 1, 7, 8, 11], "supportstrac": [0, 5], "whose": [0, 2, 6], "trace": [0, 5, 8], "comput": [0, 2, 7, 9, 10], "ucjoper": [0, 5, 9], "diag_coulomb_mats_alpha_alpha": 0, "diag_coulomb_mats_alpha_beta": 0, "final_orbital_rot": 0, "cluster": [0, 5], "jastrow": [0, 5], "ucj": 0, "prod_": [0, 9], "k": [0, 2, 7, 8, 9, 11], "mathcal": [0, 1, 7, 8, 9], "w_k": [0, 9], "e": [0, 8, 9, 10, 11], "_k": [0, 8, 9], "dagger": [0, 1, 2, 7, 8, 9, 11], "mathbf": [0, 7, 8, 9], "n_": [0, 1, 6, 7, 8, 9], "commut": [0, 8, 9], "total": [0, 8, 9], "we": [0, 7, 8, 9, 10, 11], "enforc": [0, 9], "As": [0, 6, 7, 8, 9], "result": [0, 1, 2, 3, 7, 8, 9, 10], "describ": [0, 1, 6, 7, 8, 9, 11], "involv": [0, 9], "same": [0, 6, 9], "To": [0, 6, 7, 8, 9], "variat": [0, 9], "final": [0, 8, 9], "includ": [0, 2, 5, 6, 7, 8], "end": [0, 7, 9], "from_paramet": [0, 9], "param": 0, "n_rep": [0, 9, 10], "alpha_alpha_indic": [0, 9], "alpha_beta_indic": [0, 9], "with_final_orbital_rot": 0, "from_t_amplitud": [0, 9], "t2_amplitud": [0, 2], "t1_amplitud": 0, "t2": [0, 2, 3, 9], "t1": [0, 9], "amplitud": [0, 2, 3, 9], "repetit": [0, 9], "to_paramet": [0, 9], "to_t_amplitud": 0, "nocc": [0, 3], "possibli": 0, "apply_diag_coulomb_evolut": [0, 5, 8], "vec": [0, 1, 2, 6, 7, 8, 11], "mat": [0, 1, 2], "mat_alpha_beta": [0, 1], "occupations_a": [0, 1], "occupations_b": [0, 1], "strings_a": [0, 1], "strings_b": [0, 1], "orbital_rotation_index_a": 0, "orbital_rotation_index_b": 0, "copi": [0, 11], "evolut": [0, 8], "exp": [0, 7], "z_": [0, 1], "also": [0, 1, 7, 11], "given": [0, 1, 2, 7, 8], "place": [0, 1, 9, 11], "sum": [0, 1, 8, 10], "state": [0, 1, 3, 7, 8, 9, 10], "interact": [0, 1, 6], "occupi": [0, 1, 3, 4, 8], "string": [0, 1, 6, 11], "index": [0, 1, 6, 9, 11], "alwai": [0, 2, 7], "newli": 0, "alloc": 0, "untouch": 0, "mai": [0, 2, 9], "still": [0, 9], "overwritten": 0, "evolv": [0, 8], "apply_fsim_g": [0, 5], "phi": 0, "target_orb": 0, "fsim": 0, "consist": 0, "tunnel": 0, "follow": [0, 6, 7, 8, 9, 11], "neg": 0, "sign": 0, "convent": 0, "angl": [0, 10], "nn": 0, "dagger_i": [0, 1], "a_i": 0, "dagger_j": 0, "a_j": [0, 1], "when": [0, 8, 9, 11], "neighbor": 0, "qubit": [0, 9], "begin": [0, 7, 9], "pmatrix": 0, "co": [0, 10], "sin": [0, 10], "apply_givens_rot": [0, 5], "g": [0, 9], "apply_hop_g": [0, 5], "apply_num_interact": [0, 5], "apply_num_num_interact": [0, 5], "apply_num_op_prod_interact": [0, 5], "prod": 0, "sequenc": 0, "pair": [0, 4], "integ": 0, "give": [0, 7], "first": [0, 2, 7, 8, 9, 10], "second": [0, 2, 8, 10], "apply_num_op_sum_evolut": [0, 5, 7, 8], "lambda_i": [0, 1, 7], "rais": 0, "valueerror": 0, "must": [0, 2, 11], "dimension": [0, 2, 6], "apply_orbital_rot": [0, 5, 6, 7], "allow_row_permut": 0, "allow_col_permut": 0, "map": [0, 7, 11], "mapsto": [0, 7], "u_": 0, "ji": [0, 7], "log": 0, "permut": [0, 2], "row": [0, 6], "column": [0, 2, 6, 7], "wa": 0, "well": 0, "actual": [0, 7, 9], "effect": [0, 9], "apply_tunneling_interact": [0, 5], "apply_unitari": [0, 5, 9], "obj": 0, "ani": [0, 7, 9], "approx_eq": [0, 5], "other": [0, 9], "rtol": [0, 2], "05": [0, 2], "atol": [0, 2], "equal": 0, "isclos": 0, "interpret": 0, "rel": [0, 2], "numer": [0, 2, 11], "up": [0, 7], "cre": [0, 5], "creat": [0, 6, 7, 8, 9, 11], "de": [0, 5], "destroi": [0, 11], "dim": [0, 3, 5, 6, 11], "get": [0, 7, 8, 9, 10], "dimens": [0, 3, 6], "fci": [0, 1, 6, 9, 10], "dim_a": [0, 6], "dim_b": [0, 6], "expectation_one_body_pow": [0, 5], "one_rdm": 0, "power": 0, "expect": [0, 7], "w": [0, 7, 8], "slater": [0, 6, 7, 8], "determin": [0, 2, 6, 7, 8], "o": [0, 10], "m_": [0, 1, 2], "a_p": 0, "a_q": 0, "m": [0, 1, 2, 7], "let": [0, 8, 11], "lvert": [0, 9], "psi": [0, 9], "rangl": [0, 9], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "reduc": [0, 2], "densiti": 0, "expectation_one_body_product": [0, 5], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "fermion_oper": [0, 5], "hartree_fock_st": [0, 5, 8, 9], "statevector": [0, 6, 7], "indices_to_str": [0, 5], "bitstr": 0, "rang": [0, 6, 7, 8, 9], "011001": 0, "011010": 0, "011100": 0, "101001": 0, "101010": 0, "101100": 0, "110001": 0, "110010": 0, "110100": 0, "linear_oper": [0, 5, 8, 9, 10, 11], "multireference_st": [0, 5, 10], "ansatz_oper": 0, "reference_occup": [0, 10], "root": 0, "multirefer": 0, "occup": [0, 6, 7, 8], "desir": 0, "eigenvector": [0, 7], "lowest": [0, 7, 8], "one_hot": [0, 5], "shape": [0, 2, 3, 6, 9], "dtype": [0, 3, 9], "arrai": [0, 2, 6, 11], "zero": [0, 10], "except": 0, "hot": 0, "simulate_qdrift_double_factor": [0, 5], "n_step": [0, 8], "probabl": 0, "norm": 0, "n_sampl": 0, "seed": [0, 3, 4, 6, 7], "via": [0, 8], "qdrift": 0, "trotter": [0, 5], "step": [0, 7, 8], "sampl": [0, 3, 4], "els": [0, 3], "explicit": 0, "proport": [0, 7], "spectral": 0, "uniform": [0, 3], "requir": [0, 9], "whenev": 0, "complet": 0, "character": 0, "trajectori": 0, "pseudorandom": [0, 3, 4], "gener": [0, 1, 3, 4, 5, 6, 7, 8, 9], "should": [0, 3, 4, 7, 8], "valid": [0, 3, 4], "input": [0, 1, 3, 4, 9], "random": [0, 4, 5, 6, 7, 11], "default_rng": [0, 3, 4], "numpi": [0, 2, 6, 7, 8, 9, 10], "just": [0, 8, 9], "simulate_trotter_double_factor": [0, 5, 8], "suzuki": 0, "formula": 0, "slater_determin": [0, 5, 6, 7], "occupied_orbit": [0, 6, 7], "configur": [0, 6], "word": [0, 9], "slater_determinant_one_rdm": [0, 5], "similarli": [0, 8], "construct": [1, 8, 9, 10, 11], "contract_diag_coulomb": [1, 5], "contract_num_op_sum": [1, 5], "contract_one_bodi": [1, 5], "linkstr_index_a": 1, "linkstr_index_b": 1, "lookup": 1, "tabl": [1, 11], "pyscf": [1, 6, 8, 9, 10], "cistr": 1, "gen_linkstr_index": 1, "implement": [1, 6, 7, 9], "diag_coulomb_linop": [1, 5], "num_op_sum_linop": [1, 5], "one_body_linop": [1, 5, 7], "algebra": [2, 11], "util": [2, 3, 4], "apply_matrix_to_slic": [2, 5], "target": 2, "slice": 2, "out": [2, 8], "double_factor": [2, 5], "ell": 2, "pk": 2, "qk": 2, "respect": 2, "too": 2, "small": [2, 9], "exce": [2, 9], "collect": 2, "double_factorized_t2": [2, 5], "t_": 2, "ijab": 2, "ap": 2, "ip": 2, "bq": 2, "jq": 2, "expm_multiply_taylor": [2, 5], "12": [2, 11], "expm": 2, "taylor": 2, "seri": 2, "expans": 2, "givens_decomposit": [2, 5], "is_antihermitian": [2, 5], "anti": [2, 3], "hermitian": [2, 3, 7], "is_hermitian": [2, 5], "is_orthogon": [2, 5], "orthogon": [2, 3], "union": 2, "bool_": 2, "is_real_symmetr": [2, 5], "is_special_orthogon": [2, 5], "special": [2, 3, 5, 6], "is_unitari": [2, 5], "lup": [2, 5], "pivot": 2, "lu": 2, "rtype": 2, "lower": 2, "unit": 2, "modified_choleski": [2, 5], "v_i": 2, "posit": [2, 10], "definit": 2, "No": 2, "check": [2, 7, 8], "verifi": 2, "1711": 2, "02242": 2, "assembl": 2, "reduced_matrix": [2, 5], "subspac": [2, 11], "span": 2, "some": [2, 8, 11], "v_j": 2, "random_antihermitian": [3, 5], "width": 3, "height": 3, "dype": 3, "random_hermitian": [3, 5, 7], "random_orthogon": [3, 5], "distribut": 3, "haar": 3, "measur": 3, "instanc": [3, 7, 8], "math": [3, 10], "ph": 3, "0609050": 3, "random_real_symmetric_matrix": [3, 5], "random_special_orthogon": [3, 5], "random_statevector": [3, 5, 11], "random_t2_amplitud": [3, 5], "random_two_body_tensor_r": [3, 5], "random_unitari": [3, 5, 6, 7], "random_nelec": [4, 5], "n_alpha": [4, 6, 7, 10], "n_beta": [4, 6, 7, 10], "random_occupied_orbit": [4, 5], "occ_a": 4, "occ_b": 4, "categori": 5, "chemistri": 5, "By": [5, 6], "exploit": 5, "algorithm": 5, "faster": 5, "introduct": 5, "quadrat": [5, 8], "local": 5, "lucj": 5, "entangl": 5, "forg": 5, "contract": [5, 7], "linalg": [5, 7, 8, 11], "test": [5, 7, 8], "advantag": 6, "effici": [6, 11], "level": [6, 8], "doe": [6, 11], "primari": 6, "wai": [6, 7, 9], "directli": [6, 8], "code": [6, 8, 9, 11], "show": [6, 7, 8, 9, 10, 11], "6": [6, 7, 8, 9, 10, 11], "1234": [6, 7], "rotated_vec": [6, 7], "plain": 6, "Its": 6, "fix": 6, "For": [6, 7, 9, 11], "system": [6, 7], "conveni": 6, "comb": 6, "assert": 6, "standard": 6, "often": [6, 9], "simpli": [6, 7], "reshap": 6, "reshaped_vec": 6, "choic": 6, "modul": 6, "tutori": [7, 8, 9, 10], "ffsim": [7, 8, 9, 10, 11], "fundament": 7, "mode": 7, "sum_j": 7, "new": [7, 11], "th": 7, "satisfi": [7, 11], "anticommut": 7, "relat": [7, 9], "thei": [7, 9, 11], "align": [7, 9], "_1": 7, "_2": 7, "section": 7, "ll": [7, 8, 9], "demonstr": [7, 8, 9], "task": 7, "consid": [7, 9], "rewritten": 7, "introduc": [7, 9], "eigendecomposit": 7, "sum_k": [7, 8], "lambda_k": 7, "ik": 7, "jk": 7, "our": [7, 8, 9], "ground": [7, 9], "pick": 7, "phase": 7, "spars": [7, 8, 11], "eig": [7, 11], "eigsh": 7, "la": 7, "fact": 7, "you": [7, 9], "illustr": 7, "purpos": 7, "explicitli": 7, "eigh": [7, 8], "evolved_vec": 7, "conj": 7, "undo": 7, "expected_phas": 7, "assert_allclos": 7, "mention": [7, 8], "abov": [7, 8, 11], "below": [7, 8, 9], "better": [7, 8], "evolved_vec_alt": 7, "daunt": 8, "scale": 8, "cell": [8, 9], "hydrogen": 8, "molecul": [8, 9, 10], "stretch": [8, 9], "bond": [8, 9, 10], "build": [8, 9, 10], "h2": 8, "mol": [8, 9, 10], "gto": [8, 9, 10], "mole": [8, 9, 10], "atom": [8, 9, 10], "8": [8, 9, 10, 11], "sto": [8, 9, 10], "6g": [8, 9, 10], "d2h": [8, 9], "rhf": [8, 9, 10], "kernel": [8, 9, 10], "mol_data": [8, 9, 10], "mol_hamiltonian": [8, 9, 10], "df_hamiltonian": 8, "converg": [8, 9, 10], "837796382593709": 8, "dataclass": [8, 9], "print": [8, 9, 10, 11], "inform": [8, 11], "One": 8, "27478830e": 8, "01": [8, 9, 10], "52909490e": 8, "17": 8, "57029092e": 8, "77238770e": 8, "23173938e": 8, "58782168e": 8, "33545754e": 8, "49859013e": 8, "48240570e": 8, "83067333e": 8, "01841799e": 8, "53132024e": 8, "21318608e": 8, "00": [8, 10], "27383424e": 8, "16": 8, "82879498e": 8, "07792507e": 8, "14653029e": 8, "27521846e": 8, "62": 8, "39236953e": 8, "32": 8, "52090881e": 8, "03": [8, 9, 10], "00000000e": 8, "7": [8, 9, 11], "07106781e": 8, "27830444e": 8, "15": [8, 9], "rest": 8, "although": 8, "alreadi": 8, "built": 8, "manual": 8, "asymmetr": 8, "basic": 8, "h_k": 8, "divid": 8, "singl": 8, "exponenti": 8, "individu": [8, 11], "do": [8, 11], "approx": 8, "prod_k": 8, "higher": 8, "deriv": 8, "write": 8, "recal": 8, "addit": [8, 11], "think": 8, "compos": 8, "def": [8, 9, 10], "simulate_trotter_step_double_factor": 8, "one_body_energi": 8, "one_body_basis_chang": 8, "zip": [8, 10], "finish": 8, "handl": 8, "split": 8, "multipl": [8, 11], "wrote": 8, "step_tim": 8, "match": 8, "initial_st": 8, "\u03c8": [8, 9, 10], "hf_energi": 8, "vdot": [8, 9, 10], "f": [8, 9, 10], "8377963825937084": 8, "now": 8, "later": 8, "exact_st": 8, "expm_multipli": 8, "tracea": 8, "fidel": 8, "ab": 8, "9696296369955066": 8, "final_st": [8, 9], "9990275744083494": 8, "improv": 8, "increas": [8, 9], "10": 8, "9999906233109686": 8, "commonli": 8, "known": 8, "fourth": 8, "reproduc": 8, "9": [8, 9, 11], "fewer": 8, "9999999336740067": 8, "ethen": 9, "mcscf": [9, 10], "bond_dist": 9, "678": 9, "5626": 9, "c": 9, "9289": 9, "nelectron": 9, "ca": [9, 10], "casci": [9, 10], "nca": [9, 10], "neleca": [9, 10], "mo": [9, 10], "sort_mo": [9, 10], "energy_fci": [9, 10], "77": 9, "4456267643962": 9, "6290254326717": 9, "ci": [9, 10], "57322412553862": 9, "0000000": [9, 10], "phi_0": 9, "taken": 9, "express": 9, "previou": 9, "constructor": 9, "provid": 9, "truncat": 9, "ccsd": 9, "mp2": 9, "run": 9, "sinc": 9, "cc": 9, "frozen": 9, "nao_nr": 9, "reference_st": 9, "ansatz_st": [9, 10], "initiali": [9, 10], "49387212754476": 9, "e_corr": 9, "04824536314851395": 9, "4697560002169": 9, "facilit": 9, "convers": 9, "precis": 9, "somewhat": 9, "complic": 9, "short": 9, "entri": 9, "non": 9, "redund": 9, "associ": [9, 11], "evalu": [9, 10], "would": 9, "like": 9, "fun": [9, 10], "x": [9, 10], "x0": [9, 10], "maxfun": 9, "1000": 9, "len": [9, 10], "72": 9, "messag": [9, 10], "stop": 9, "NO": 9, "AND": 9, "success": [9, 10], "statu": [9, 10], "51494874300114": 9, "555e": 9, "932e": 9, "056e": 9, "968e": 9, "nit": 9, "jac": 9, "976e": 9, "986e": 9, "328e": 9, "274e": 9, "nfev": [9, 10], "1095": 9, "njev": 9, "hess_inv": 9, "lt": 9, "72x72": 9, "lbfgsinvhessproduct": 9, "float64": 9, "gt": 9, "either": 9, "connect": 9, "swap": 9, "network": 9, "make": 9, "challeng": 9, "noisi": 9, "pre": 9, "fault": 9, "processor": 9, "idea": 9, "impos": 9, "sparsiti": 9, "constraint": 9, "them": 9, "depth": 9, "topologi": 9, "triangl": 9, "need": 9, "lattic": 9, "parallel": 9, "line": 9, "rung": 9, "ladder": 9, "With": 9, "setup": 9, "while": 9, "share": 9, "ldot": 9, "without": 9, "Of": 9, "cours": 9, "less": 9, "notic": 9, "decreas": 9, "46": 9, "45981953688877": 9, "348e": 9, "867e": 9, "02": [9, 10], "151e": 9, "150e": 9, "14": [9, 10], "408e": 9, "04": 9, "114e": 9, "837e": 9, "720e": 9, "1034": 9, "22": 9, "46x46": 9, "water": 10, "equilibrium": 10, "radius_1": 10, "958": 10, "radius_2": 10, "bond_angle_deg": 10, "104": 10, "478": 10, "h1_x": 10, "h2_x": 10, "180": 10, "h2_y": 10, "c2v": 10, "n_electron": 10, "mo_occ": 10, "75": 10, "6787887956297": 10, "7079508859773": 10, "3336207346502": 10, "reference_occupations_spati": 10, "68366174447617": 10, "cobyla": 10, "maxit": 10, "100": 10, "exceed": 10, "69434198341699": 10, "352e": 10, "664e": 10, "940e": 10, "104e": 10, "913e": 10, "maxcv": 10, "Such": 11, "programmat": 11, "dictionari": 11, "hash": 11, "three": 11, "piec": 11, "being": 11, "upon": 11, "intern": 11, "itself": 11, "recommend": 11, "helper": 11, "shown": 11, "repr": 11, "view": 11, "displai": 11, "39": 11, "0j": 11, "arithmet": 11, "multipli": 11, "scalar": 11, "go": 11, "op": 11, "op3": 11, "good": 11, "awar": 11, "especi": 11, "avoid": 11, "These": 11, "subtract": 11, "divis": 11, "6j": 11, "4j": 11, "12j": 11, "3j": 11, "preserv": 11, "far": 11, "criteria": 11, "op4": 11, "linop": 11, "onto": 11, "10305872": 11, "08742954j": 11, "most": 11, "lm": 11, "21984743e": 11, "18j": 11}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsFermionOperator"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [1, 0, 0, "-", "contract"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_one_body_power"], [0, 5, 1, "", "expectation_one_body_product"], [0, 5, 1, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [0, 5, 1, "", "indices_to_strings"], [2, 0, 0, "-", "linalg"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "one_hot"], [3, 0, 0, "-", "random"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_one_rdm"], [4, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.MolecularData": [[0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 3, 1, "", "from_hartree_fock"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.UCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.contract": [[1, 5, 1, "", "contract_diag_coulomb"], [1, 5, 1, "", "contract_num_op_sum"], [1, 5, 1, "", "contract_one_body"], [1, 5, 1, "", "diag_coulomb_linop"], [1, 5, 1, "", "num_op_sum_linop"], [1, 5, 1, "", "one_body_linop"]], "ffsim.linalg": [[2, 5, 1, "", "apply_matrix_to_slices"], [2, 5, 1, "", "double_factorized"], [2, 5, 1, "", "double_factorized_t2"], [2, 5, 1, "", "expm_multiply_taylor"], [2, 5, 1, "", "givens_decomposition"], [2, 5, 1, "", "is_antihermitian"], [2, 5, 1, "", "is_hermitian"], [2, 5, 1, "", "is_orthogonal"], [2, 5, 1, "", "is_real_symmetric"], [2, 5, 1, "", "is_special_orthogonal"], [2, 5, 1, "", "is_unitary"], [2, 5, 1, "", "lup"], [2, 5, 1, "", "modified_cholesky"], [2, 5, 1, "", "reduced_matrix"]], "ffsim.random": [[3, 5, 1, "", "random_antihermitian"], [3, 5, 1, "", "random_hermitian"], [3, 5, 1, "", "random_orthogonal"], [3, 5, 1, "", "random_real_symmetric_matrix"], [3, 5, 1, "", "random_special_orthogonal"], [3, 5, 1, "", "random_statevector"], [3, 5, 1, "", "random_t2_amplitudes"], [3, 5, 1, "", "random_two_body_tensor_real"], [3, 5, 1, "", "random_unitary"]], "ffsim.testing": [[4, 5, 1, "", "random_nelec"], [4, 5, 1, "", "random_occupied_orbitals"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"ffsim": [0, 1, 2, 3, 4, 5, 6], "contract": 1, "linalg": 2, "random": 3, "test": 4, "welcom": 5, "": 5, "document": 5, "tutori": 5, "api": 5, "refer": 5, "introduct": 6, "orbit": 7, "rotat": 7, "quadrat": 7, "hamiltonian": [7, 8], "time": 7, "evolut": 7, "diagon": 8, "coulomb": 8, "oper": 8, "doubl": 8, "factor": 8, "trotter": 8, "simul": 8, "represent": 8, "molecular": 8, "brief": 8, "background": 8, "suzuki": 8, "formula": 8, "implement": 8, "The": [9, 11], "local": 9, "unitari": 9, "cluster": 9, "jastrow": 9, "lucj": 9, "ansatz": 9, "ucj": 9, "entangl": 10, "forg": 10, "fermionoper": 11, "class": 11}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"ffsim": [[0, "module-ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.random": [[3, "module-ffsim.random"]], "ffsim.testing": [[4, "module-ffsim.testing"]], "Welcome to ffsim\u2019s documentation!": [[5, "welcome-to-ffsim-s-documentation"]], "Tutorials": [[5, "tutorials"]], "API Reference": [[5, "api-reference"]], "Introduction to ffsim": [[6, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[7, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[7, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[7, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[8, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[8, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[8, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[8, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[8, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[9, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [9, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[9, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Entanglement forging": [[10, "Entanglement-forging"]], "The FermionOperator class": [[11, "The-FermionOperator-class"]]}, "indexentries": {"doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian"]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction"]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator"]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator"]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData"]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian"]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary"]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality"]], "supportsfermionoperator (class in ffsim)": [[0, "ffsim.SupportsFermionOperator"]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator"]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace"]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator"]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action"]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution"]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate"]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation"]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate"]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction"]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction"]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction"]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution"]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation"]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction"]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary"]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq"]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number"]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z"]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant"]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant"]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy"]], "cre() (in module ffsim)": [[0, "ffsim.cre"]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a"]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b"]], "des() (in module ffsim)": [[0, "ffsim.des"]], "des_a() (in module ffsim)": [[0, "ffsim.des_a"]], "des_b() (in module ffsim)": [[0, "ffsim.des_b"]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats"]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta"]], "dim() (in module ffsim)": [[0, "ffsim.dim"]], "dims() (in module ffsim)": [[0, "ffsim.dims"]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals"]], "expectation_one_body_power() (in module ffsim)": [[0, "ffsim.expectation_one_body_power"]], "expectation_one_body_product() (in module ffsim)": [[0, "ffsim.expectation_one_body_product"]], "fermion_operator() (in module ffsim)": [[0, "ffsim.fermion_operator"]], "ffsim": [[0, "module-ffsim"]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation"]], "from_hartree_fock() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_hartree_fock"]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian"]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters"]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes"]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian"]], "hartree_fock_state() (in module ffsim)": [[0, "ffsim.hartree_fock_state"]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings"]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator"]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order"]], "module": [[0, "module-ffsim"], [1, "module-ffsim.contract"], [2, "module-ffsim.linalg"], [3, "module-ffsim.random"], [4, "module-ffsim.testing"]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state"]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps"]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec"]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb"]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb"]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb"]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb"]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered"]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor"]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor"]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot"]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb"]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations"]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations"]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries"]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized"]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized"]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant"]], "slater_determinant_one_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_one_rdm"]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin"]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation"]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters"]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes"]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation"]], "trace() (in module ffsim)": [[0, "ffsim.trace"]], "two_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_tensor"]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor"]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation"]], "contract_diag_coulomb() (in module ffsim.contract)": [[1, "ffsim.contract.contract_diag_coulomb"]], "contract_num_op_sum() (in module ffsim.contract)": [[1, "ffsim.contract.contract_num_op_sum"]], "contract_one_body() (in module ffsim.contract)": [[1, "ffsim.contract.contract_one_body"]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "num_op_sum_linop() (in module ffsim.contract)": [[1, "ffsim.contract.num_op_sum_linop"]], "one_body_linop() (in module ffsim.contract)": [[1, "ffsim.contract.one_body_linop"]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices"]], "double_factorized() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized"]], "double_factorized_t2() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2"]], "expm_multiply_taylor() (in module ffsim.linalg)": [[2, "ffsim.linalg.expm_multiply_taylor"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "givens_decomposition() (in module ffsim.linalg)": [[2, "ffsim.linalg.givens_decomposition"]], "is_antihermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_antihermitian"]], "is_hermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_hermitian"]], "is_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_orthogonal"]], "is_real_symmetric() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_real_symmetric"]], "is_special_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_special_orthogonal"]], "is_unitary() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_unitary"]], "lup() (in module ffsim.linalg)": [[2, "ffsim.linalg.lup"]], "modified_cholesky() (in module ffsim.linalg)": [[2, "ffsim.linalg.modified_cholesky"]], "reduced_matrix() (in module ffsim.linalg)": [[2, "ffsim.linalg.reduced_matrix"]], "ffsim.random": [[3, "module-ffsim.random"]], "random_antihermitian() (in module ffsim.random)": [[3, "ffsim.random.random_antihermitian"]], "random_hermitian() (in module ffsim.random)": [[3, "ffsim.random.random_hermitian"]], "random_orthogonal() (in module ffsim.random)": [[3, "ffsim.random.random_orthogonal"]], "random_real_symmetric_matrix() (in module ffsim.random)": [[3, "ffsim.random.random_real_symmetric_matrix"]], "random_special_orthogonal() (in module ffsim.random)": [[3, "ffsim.random.random_special_orthogonal"]], "random_statevector() (in module ffsim.random)": [[3, "ffsim.random.random_statevector"]], "random_t2_amplitudes() (in module ffsim.random)": [[3, "ffsim.random.random_t2_amplitudes"]], "random_two_body_tensor_real() (in module ffsim.random)": [[3, "ffsim.random.random_two_body_tensor_real"]], "random_unitary() (in module ffsim.random)": [[3, "ffsim.random.random_unitary"]], "ffsim.testing": [[4, "module-ffsim.testing"]], "random_nelec() (in module ffsim.testing)": [[4, "ffsim.testing.random_nelec"]], "random_occupied_orbitals() (in module ffsim.testing)": [[4, "ffsim.testing.random_occupied_orbitals"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.linalg", "api/ffsim.random", "api/ffsim.testing", "index", "tutorials/01-introduction", "tutorials/02-orbital-rotation", "tutorials/03-double-factorized", "tutorials/04-lucj", "tutorials/05-entanglement-forging", "tutorials/06-fermion-operator"], "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.linalg.rst", "api/ffsim.random.rst", "api/ffsim.testing.rst", "index.rst", "tutorials/01-introduction.ipynb", "tutorials/02-orbital-rotation.ipynb", "tutorials/03-double-factorized.ipynb", "tutorials/04-lucj.ipynb", "tutorials/05-entanglement-forging.ipynb", "tutorials/06-fermion-operator.ipynb"], "titles": ["ffsim", "ffsim.contract", "ffsim.linalg", "ffsim.random", "ffsim.testing", "Welcome to ffsim\u2019s documentation!", "Introduction to ffsim", "Orbital rotations and quadratic Hamiltonians", "Diagonal Coulomb operators and double-factorized Trotter simulation", "The local unitary cluster Jastrow (LUCJ) ansatz", "Entanglement forging", "The FermionOperator class"], "terms": {"i": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11], "softwar": [0, 5, 6], "librari": [0, 5, 6], "fast": 0, "simul": [0, 5, 6, 7, 9, 10], "fermion": [0, 5, 6, 7, 9, 11], "quantum": [0, 5, 6, 8, 9], "circuit": [0, 5, 6], "class": [0, 3, 5, 6, 9], "doublefactorizedhamiltonian": [0, 5, 8], "one_body_tensor": [0, 7, 8], "diag_coulomb_mat": [0, 8], "orbital_rot": [0, 1, 6, 7, 8], "constant": [0, 8, 9], "0": [0, 7, 8, 9, 10, 11], "z_represent": [0, 1], "fals": [0, 1, 2, 9, 10, 11], "sourc": [0, 1, 2, 3, 4], "base": [0, 2, 9, 10], "object": [0, 2, 9, 11], "A": [0, 1, 2, 3, 4, 7, 8, 9, 11], "hamiltonian": [0, 5, 9, 10], "doubl": [0, 2, 5, 9], "factor": [0, 2, 5, 9], "form": [0, 1, 2, 7, 8, 9, 11], "low": [0, 2, 6], "rank": [0, 2, 3], "decomposit": [0, 2], "The": [0, 1, 2, 3, 4, 5, 6, 7, 8], "molecular": [0, 9, 10], "h": [0, 8, 9, 10], "sum_": [0, 1, 2, 7, 8, 9], "pq": [0, 2, 8], "sigma": [0, 1, 7, 8, 9], "kappa_": 0, "dagger_": [0, 7, 8], "p": [0, 2, 8, 9], "a_": [0, 7, 8, 11], "q": [0, 8], "frac12": [0, 8, 9], "sum_t": 0, "ij": [0, 1, 2, 7, 8, 9], "tau": [0, 1, 8, 9], "z": [0, 1, 2, 5, 6, 11], "t": [0, 2, 7, 8], "_": [0, 2, 7, 8, 9], "n": [0, 2, 6, 7, 8, 9], "j": [0, 1, 7, 8, 9, 11], "text": [0, 8], "where": [0, 1, 2, 7, 8, 9], "u": [0, 1, 2], "pi": [0, 10], "qi": 0, "here": [0, 2, 6, 7, 8, 9], "each": [0, 2, 6, 8, 9, 11], "unitari": [0, 1, 2, 3, 5, 7, 8], "matrix": [0, 1, 2, 3, 6, 7, 8, 9, 11], "real": [0, 1, 2, 3, 7, 8, 9, 10], "symmetr": [0, 1, 2, 3, 8, 9], "represent": [0, 1, 2, 6, 11], "an": [0, 1, 2, 3, 6, 7, 8, 9, 11], "altern": [0, 8], "sometim": 0, "yield": [0, 2, 8, 9], "simpler": 0, "under": 0, "jordan": 0, "wigner": 0, "transform": [0, 1, 6, 7], "number": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], "oper": [0, 1, 2, 5, 7, 9, 10, 11], "take": [0, 6, 9], "frac": 0, "1": [0, 2, 3, 6, 7, 8, 9, 10, 11], "2": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11], "pauli": 0, "rotat": [0, 1, 2, 5, 6, 8, 9], "basi": [0, 7, 8, 9, 10], "obtain": [0, 7, 8, 9], "rewrit": 0, "two": [0, 2, 3, 8, 9, 10], "bodi": [0, 1, 2, 3, 8, 9, 10], "part": [0, 2], "term": [0, 1, 2, 8, 9, 11], "updat": [0, 8], "one": [0, 1, 2, 6, 8, 9, 10], "appropri": 0, "kappa": 0, "frac18": 0, "asterisk": 0, "denot": [0, 1, 7], "summat": 0, "over": 0, "indic": [0, 2, 9, 11], "neq": [0, 1], "tensor": [0, 1, 2, 3, 8, 9, 10], "type": [0, 1, 2, 3, 4], "np": [0, 3, 4, 7, 8, 9, 10], "ndarrai": [0, 1, 2, 3, 8], "diagon": [0, 1, 2, 5, 7, 9], "coulomb": [0, 1, 2, 5, 9], "matric": [0, 1, 2, 7, 8, 9], "orbit": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11], "float": [0, 2, 3, 8], "whether": [0, 1, 2, 11], "rather": [0, 6], "than": [0, 5, 6, 9], "bool": [0, 1, 2], "static": 0, "from_molecular_hamiltonian": [0, 8], "tol": [0, 2], "1e": [0, 2], "08": [0, 2], "max_vec": [0, 2], "none": [0, 1, 2, 3, 4], "optim": [0, 2, 9, 10], "method": [0, 2, 9, 10], "l": [0, 2, 8, 9], "bfg": [0, 2, 9], "b": [0, 2, 7, 9], "option": [0, 1, 2, 3, 9, 10], "diag_coulomb_mask": [0, 2], "choleski": [0, 2], "true": [0, 2, 6, 11], "act": [0, 11], "h_": [0, 2, 8], "pqr": [0, 2, 8], "r": [0, 2, 8], "": [0, 2, 6, 8, 9, 10, 11], "decompos": [0, 2, 8], "ar": [0, 1, 2, 3, 6, 7, 8, 9, 11], "output": [0, 8, 9], "guarante": 0, "so": [0, 2, 7, 8, 9, 11], "depend": [0, 2, 6], "allow": [0, 2, 9], "error": [0, 2], "threshold": [0, 2], "larger": [0, 2, 11], "lead": 0, "smaller": [0, 2, 8, 11], "furthermor": [0, 2], "max_rank": 0, "paramet": [0, 1, 2, 3, 4, 9, 10], "specifi": [0, 2, 9], "upper": [0, 2, 9], "bound": [0, 2], "default": [0, 2, 3], "behavior": [0, 2, 3], "thi": [0, 2, 5, 6, 7, 8, 9, 10], "routin": [0, 2, 6, 11], "perform": [0, 2, 7, 8], "straightforward": [0, 2], "exact": [0, 2, 6, 8], "nest": [0, 2], "eigenvalu": [0, 2, 7], "addition": [0, 2], "can": [0, 2, 5, 6, 7, 8, 9, 11], "choos": [0, 2, 6, 9], "coeffici": [0, 1, 2, 7, 9, 11], "store": [0, 2, 8, 9], "achiev": [0, 2, 8], "compress": [0, 2], "enabl": [0, 2], "set": [0, 2, 6, 7, 8, 9], "attempt": [0, 2], "minim": [0, 2, 9, 10], "least": [0, 2], "squar": [0, 2, 9], "function": [0, 1, 2, 6, 7, 8, 9, 10, 11], "quantifi": [0, 2], "It": [0, 2, 6, 8, 11], "us": [0, 1, 2, 3, 5, 6, 7, 8, 9, 11], "scipi": [0, 2, 6, 7, 8, 9, 10, 11], "pass": [0, 2, 7, 11], "both": [0, 2], "its": [0, 2, 7, 8, 11], "gradient": [0, 2], "return": [0, 1, 2, 3, 4, 8, 9, 10, 11], "constrain": [0, 2], "have": [0, 2, 6, 7, 9, 11], "onli": [0, 2, 6, 7, 9], "certain": [0, 2], "element": [0, 2], "nonzero": [0, 2, 9], "which": [0, 2, 3, 6, 7, 8, 9, 11], "time": [0, 2, 6, 8], "boolean": [0, 2], "valu": [0, 1, 2, 3, 8, 9], "triangular": [0, 2], "becaus": [0, 2, 6, 8, 9, 11], "note": [0, 9, 11], "current": 0, "support": [0, 11], "two_body_tensor": [0, 2, 8], "toler": [0, 2, 9], "defin": [0, 2, 9, 10], "maximum": [0, 2, 3, 10], "absolut": [0, 2], "differ": [0, 1, 2, 9], "between": [0, 1, 2, 9], "origin": [0, 2, 8], "correspond": [0, 2, 7, 8], "reconstruct": [0, 2], "int": [0, 1, 2, 3, 4, 8, 10], "limit": [0, 2, 9], "keep": [0, 2], "argument": [0, 2, 7], "overrid": [0, 2], "str": [0, 2], "see": [0, 2], "document": [0, 2], "possibl": [0, 2], "callback": [0, 2], "usag": [0, 2, 11], "dict": [0, 2, 9, 10], "mask": [0, 2], "modifi": [0, 2], "If": [0, 1, 2, 3, 11], "full": [0, 2, 6], "instead": [0, 2], "much": [0, 2, 5, 6], "more": [0, 2, 6, 9], "expens": [0, 2], "ignor": [0, 2, 8], "refer": [0, 2, 3, 9], "arxiv": [0, 2, 3], "1808": [0, 2], "02625": [0, 2], "2104": [0, 2], "08957": [0, 2], "properti": [0, 7], "norb": [0, 1, 3, 4, 6, 7, 8, 9, 10, 11], "spatial": [0, 1, 4, 6, 8, 9, 11], "to_number_represent": 0, "to_z_represent": 0, "fermionact": [0, 5], "action": [0, 1, 7, 11], "spin": [0, 1, 5, 6, 7, 9, 10, 11], "orb": [0, 11], "namedtupl": 0, "alia": 0, "field": 0, "fermionoper": [0, 5], "coeff": [0, 1], "repres": [0, 6, 9, 11], "linear": [0, 1, 2, 7, 11], "combin": [0, 1, 7, 11], "product": [0, 8, 11], "creation": [0, 7, 11], "annihil": [0, 11], "explan": 0, "how": [0, 6, 7, 8, 9, 10, 11], "exampl": [0, 6, 7, 9, 11], "import": [0, 6, 7, 8, 9, 10, 11], "op1": [0, 11], "cre_a": [0, 5, 11], "des_a": [0, 5, 11], "3": [0, 6, 7, 8, 9, 10, 11], "5": [0, 8, 9, 10, 11], "25": [0, 11], "cre_b": [0, 5, 11], "des_b": [0, 5, 11], "4": [0, 7, 8, 9, 10, 11], "1j": [0, 7, 8, 11], "2j": [0, 11], "op2": [0, 11], "25j": [0, 11], "125": [0, 11], "5j": [0, 11], "0625": [0, 11], "tupl": [0, 1, 2, 4, 8, 11], "complex": [0, 1, 2, 3], "conserves_particle_numb": [0, 11], "conserv": [0, 5, 6, 11], "particl": [0, 4, 5, 6, 7, 11], "otherwis": 0, "conserves_spin_z": [0, 11], "compon": [0, 5, 6, 11], "many_body_ord": 0, "mani": [0, 5], "order": [0, 6, 8, 9, 11], "length": [0, 6, 8, 9], "longest": 0, "contain": [0, 2, 9, 11], "normal_ord": [0, 11], "normal": [0, 11], "equival": 0, "ha": [0, 1, 2, 6, 7, 8, 9, 10], "been": [0, 10], "reorder": 0, "canon": 0, "In": [0, 7, 8, 9, 10, 11], "compris": [0, 11], "appear": [0, 11], "from": [0, 3, 6, 7, 9, 10, 11], "left": [0, 7, 11], "right": [0, 7, 11], "descend": [0, 11], "lexicograph": [0, 11], "That": [0, 7, 11], "all": [0, 9, 11], "befor": [0, 9, 11], "within": [0, 2, 11], "beta": [0, 1, 4, 6, 9, 11], "alpha": [0, 1, 4, 6, 9, 11], "hopgateansatzoper": [0, 5, 10], "interaction_pair": [0, 10], "theta": [0, 10], "hop": 0, "gate": [0, 9], "ansatz": [0, 5, 10], "moleculardata": [0, 5, 8, 9, 10], "nelec": [0, 1, 4, 6, 7, 8, 9, 10, 11], "core_energi": 0, "dipole_integr": 0, "orbital_symmetri": 0, "data": [0, 3, 8, 9, 10, 11], "electron": [0, 1, 3, 4, 6, 8], "core": [0, 2], "energi": [0, 7, 8, 9, 10], "dipol": 0, "integr": 0, "symmetri": [0, 5, 6, 7, 8, 9, 10], "from_hartree_fock": [0, 8, 9, 10], "hartree_fock": [0, 8, 9, 10], "active_spac": [0, 9, 10], "initi": [0, 3, 4, 8, 9, 10], "hartre": [0, 8, 9], "fock": [0, 8, 9], "calcul": [0, 6, 8, 9], "scf": [0, 8, 9, 10], "iter": 0, "list": [0, 1, 2, 4, 9, 10], "activ": [0, 9, 10], "space": [0, 9, 10], "molecularhamiltonian": [0, 5, 8], "call": [0, 6, 7, 8, 11], "supportsapplyunitari": [0, 5], "arg": 0, "kwarg": 0, "protocol": 0, "appli": [0, 1, 2, 6, 7, 8, 9], "vector": [0, 1, 2, 3, 6, 7, 9, 10, 11], "supportsapproximateequ": [0, 5], "compar": [0, 8], "approxim": [0, 2, 8], "supportsfermionoper": [0, 5], "convert": [0, 1, 6, 7, 8, 11], "supportslinearoper": [0, 5], "linearoper": [0, 1, 7, 8, 11], "supportstrac": [0, 5], "whose": [0, 2, 6], "trace": [0, 5, 8], "comput": [0, 2, 7, 9, 10], "ucjoper": [0, 5, 9], "diag_coulomb_mats_alpha_alpha": 0, "diag_coulomb_mats_alpha_beta": 0, "final_orbital_rot": 0, "cluster": [0, 5], "jastrow": [0, 5], "ucj": 0, "prod_": [0, 9], "k": [0, 2, 7, 8, 9, 11], "mathcal": [0, 1, 7, 8, 9], "w_k": [0, 9], "e": [0, 8, 9, 10, 11], "_k": [0, 8, 9], "dagger": [0, 1, 2, 7, 8, 9, 11], "mathbf": [0, 7, 8, 9], "n_": [0, 1, 6, 7, 8, 9], "commut": [0, 8, 9], "total": [0, 8, 9], "we": [0, 7, 8, 9, 10, 11], "enforc": [0, 9], "As": [0, 6, 7, 8, 9], "result": [0, 1, 2, 3, 7, 8, 9, 10], "describ": [0, 1, 6, 7, 8, 9, 11], "involv": [0, 9], "same": [0, 6, 9], "To": [0, 6, 7, 8, 9], "variat": [0, 9], "final": [0, 8, 9], "includ": [0, 2, 5, 6, 7, 8], "end": [0, 7, 9], "from_paramet": [0, 9], "param": 0, "n_rep": [0, 9, 10], "alpha_alpha_indic": [0, 9], "alpha_beta_indic": [0, 9], "with_final_orbital_rot": 0, "from_t_amplitud": [0, 9], "t2_amplitud": [0, 2], "t1_amplitud": 0, "t2": [0, 2, 3, 9], "t1": [0, 9], "amplitud": [0, 2, 3, 9], "repetit": [0, 9], "to_paramet": [0, 9], "to_t_amplitud": 0, "nocc": [0, 3], "possibli": 0, "apply_diag_coulomb_evolut": [0, 5, 8], "vec": [0, 1, 2, 6, 7, 8, 11], "mat": [0, 1, 2], "mat_alpha_beta": [0, 1], "occupations_a": [0, 1], "occupations_b": [0, 1], "strings_a": [0, 1], "strings_b": [0, 1], "orbital_rotation_index_a": 0, "orbital_rotation_index_b": 0, "copi": [0, 11], "evolut": [0, 8], "exp": [0, 7], "z_": [0, 1], "also": [0, 1, 7, 11], "given": [0, 1, 2, 7, 8], "place": [0, 1, 9, 11], "sum": [0, 1, 8, 10], "state": [0, 1, 3, 7, 8, 9, 10], "interact": [0, 1, 6], "occupi": [0, 1, 3, 4, 8], "string": [0, 1, 6, 11], "index": [0, 1, 6, 9, 11], "alwai": [0, 2, 7], "newli": 0, "alloc": 0, "untouch": 0, "mai": [0, 2, 9], "still": [0, 9], "overwritten": 0, "evolv": [0, 8], "apply_fsim_g": [0, 5], "phi": 0, "target_orb": 0, "fsim": 0, "consist": 0, "tunnel": 0, "follow": [0, 6, 7, 8, 9, 11], "neg": 0, "sign": 0, "convent": 0, "angl": [0, 10], "nn": 0, "dagger_i": [0, 1], "a_i": 0, "dagger_j": 0, "a_j": [0, 1], "when": [0, 8, 9, 11], "neighbor": 0, "qubit": [0, 9], "begin": [0, 7, 9], "pmatrix": 0, "co": [0, 10], "sin": [0, 10], "apply_givens_rot": [0, 5], "g": [0, 9], "apply_hop_g": [0, 5], "apply_num_interact": [0, 5], "apply_num_num_interact": [0, 5], "apply_num_op_prod_interact": [0, 5], "prod": 0, "sequenc": 0, "pair": [0, 4], "integ": 0, "give": [0, 7], "first": [0, 2, 7, 8, 9, 10], "second": [0, 2, 8, 10], "apply_num_op_sum_evolut": [0, 5, 7, 8], "lambda_i": [0, 1, 7], "rais": 0, "valueerror": 0, "must": [0, 2, 11], "dimension": [0, 2, 6], "apply_orbital_rot": [0, 5, 6, 7], "allow_row_permut": 0, "allow_col_permut": 0, "map": [0, 7, 11], "mapsto": [0, 7], "u_": 0, "ji": [0, 7], "log": 0, "permut": [0, 2], "row": [0, 6], "column": [0, 2, 6, 7], "wa": 0, "well": 0, "actual": [0, 7, 9], "effect": [0, 9], "apply_tunneling_interact": [0, 5], "apply_unitari": [0, 5, 9], "obj": 0, "ani": [0, 7, 9], "approx_eq": [0, 5], "other": [0, 9], "rtol": [0, 2], "05": [0, 2], "atol": [0, 2], "equal": 0, "isclos": 0, "interpret": 0, "rel": [0, 2], "numer": [0, 2, 11], "up": [0, 7], "cre": [0, 5], "creat": [0, 6, 7, 8, 9, 11], "de": [0, 5], "destroi": [0, 11], "dim": [0, 3, 5, 6, 11], "get": [0, 7, 8, 9, 10], "dimens": [0, 3, 6], "fci": [0, 1, 6, 9, 10], "dim_a": [0, 6], "dim_b": [0, 6], "expectation_one_body_pow": [0, 5], "one_rdm": 0, "power": 0, "expect": [0, 7], "w": [0, 7, 8], "slater": [0, 6, 7, 8], "determin": [0, 2, 6, 7, 8], "o": [0, 10], "m_": [0, 1, 2], "a_p": 0, "a_q": 0, "m": [0, 1, 2, 7], "let": [0, 8, 11], "lvert": [0, 9], "psi": [0, 9], "rangl": [0, 9], "Then": 0, "quantiti": 0, "langl": 0, "rvert": 0, "reduc": [0, 2], "densiti": 0, "expectation_one_body_product": [0, 5], "o_1": 0, "o_2": 0, "dot": 0, "o_k": 0, "fermion_oper": [0, 5], "hartree_fock_st": [0, 5, 8, 9], "statevector": [0, 6, 7], "indices_to_str": [0, 5], "bitstr": 0, "rang": [0, 6, 7, 8, 9], "011001": 0, "011010": 0, "011100": 0, "101001": 0, "101010": 0, "101100": 0, "110001": 0, "110010": 0, "110100": 0, "linear_oper": [0, 5, 8, 9, 10, 11], "multireference_st": [0, 5, 10], "ansatz_oper": 0, "reference_occup": [0, 10], "root": 0, "multirefer": 0, "occup": [0, 6, 7, 8], "desir": 0, "eigenvector": [0, 7], "lowest": [0, 7, 8], "one_hot": [0, 5], "shape": [0, 2, 3, 6, 9], "dtype": [0, 3, 9], "arrai": [0, 2, 6, 11], "zero": [0, 10], "except": 0, "hot": 0, "simulate_qdrift_double_factor": [0, 5], "n_step": [0, 8], "probabl": 0, "norm": 0, "n_sampl": 0, "seed": [0, 3, 4, 6, 7], "via": [0, 8], "qdrift": 0, "trotter": [0, 5], "step": [0, 7, 8], "sampl": [0, 3, 4], "els": [0, 3], "explicit": 0, "proport": [0, 7], "spectral": 0, "uniform": [0, 3], "requir": [0, 9], "whenev": 0, "complet": 0, "character": 0, "trajectori": 0, "pseudorandom": [0, 3, 4], "gener": [0, 1, 3, 4, 5, 6, 7, 8, 9], "should": [0, 3, 4, 7, 8], "valid": [0, 3, 4], "input": [0, 1, 3, 4, 9], "random": [0, 4, 5, 6, 7, 11], "default_rng": [0, 3, 4], "numpi": [0, 2, 6, 7, 8, 9, 10], "just": [0, 8, 9], "simulate_trotter_double_factor": [0, 5, 8], "suzuki": 0, "formula": 0, "slater_determin": [0, 5, 6, 7], "occupied_orbit": [0, 6, 7], "configur": [0, 6], "word": [0, 9], "slater_determinant_one_rdm": [0, 5], "similarli": [0, 8], "construct": [1, 8, 9, 10, 11], "contract_diag_coulomb": [1, 5], "contract_num_op_sum": [1, 5], "contract_one_bodi": [1, 5], "linkstr_index_a": 1, "linkstr_index_b": 1, "lookup": 1, "tabl": [1, 11], "pyscf": [1, 6, 8, 9, 10], "cistr": 1, "gen_linkstr_index": 1, "implement": [1, 6, 7, 9], "diag_coulomb_linop": [1, 5], "num_op_sum_linop": [1, 5], "one_body_linop": [1, 5, 7], "algebra": [2, 11], "util": [2, 3, 4], "apply_matrix_to_slic": [2, 5], "target": 2, "slice": 2, "out": [2, 8], "double_factor": [2, 5], "ell": 2, "pk": 2, "qk": 2, "respect": 2, "too": 2, "small": [2, 9], "exce": [2, 9], "collect": 2, "double_factorized_t2": [2, 5], "t_": 2, "ijab": 2, "ap": 2, "ip": 2, "bq": 2, "jq": 2, "expm_multiply_taylor": [2, 5], "12": [2, 11], "expm": 2, "taylor": 2, "seri": 2, "expans": 2, "givens_decomposit": [2, 5], "is_antihermitian": [2, 5], "anti": [2, 3], "hermitian": [2, 3, 7], "is_hermitian": [2, 5], "is_orthogon": [2, 5], "orthogon": [2, 3], "union": 2, "bool_": 2, "is_real_symmetr": [2, 5], "is_special_orthogon": [2, 5], "special": [2, 3, 5, 6], "is_unitari": [2, 5], "lup": [2, 5], "pivot": 2, "lu": 2, "rtype": 2, "lower": 2, "unit": 2, "modified_choleski": [2, 5], "v_i": 2, "posit": [2, 10], "definit": 2, "No": 2, "check": [2, 7, 8], "verifi": 2, "1711": 2, "02242": 2, "assembl": 2, "reduced_matrix": [2, 5], "subspac": [2, 11], "span": 2, "some": [2, 8, 11], "v_j": 2, "random_antihermitian": [3, 5], "width": 3, "height": 3, "dype": 3, "random_hermitian": [3, 5, 7], "random_orthogon": [3, 5], "distribut": 3, "haar": 3, "measur": 3, "instanc": [3, 7, 8], "math": [3, 10], "ph": 3, "0609050": 3, "random_real_symmetric_matrix": [3, 5], "random_special_orthogon": [3, 5], "random_statevector": [3, 5, 11], "random_t2_amplitud": [3, 5], "random_two_body_tensor_r": [3, 5], "random_unitari": [3, 5, 6, 7], "random_nelec": [4, 5], "n_alpha": [4, 6, 7, 10], "n_beta": [4, 6, 7, 10], "random_occupied_orbit": [4, 5], "occ_a": 4, "occ_b": 4, "categori": 5, "chemistri": 5, "By": [5, 6], "exploit": 5, "algorithm": 5, "faster": 5, "introduct": 5, "quadrat": [5, 8], "local": 5, "lucj": 5, "entangl": 5, "forg": 5, "contract": [5, 7], "linalg": [5, 7, 8, 11], "test": [5, 7, 8], "advantag": 6, "effici": [6, 11], "level": [6, 8], "doe": [6, 11], "primari": 6, "wai": [6, 7, 9], "directli": [6, 8], "code": [6, 8, 9, 11], "show": [6, 7, 8, 9, 10, 11], "6": [6, 7, 8, 9, 10, 11], "1234": [6, 7], "rotated_vec": [6, 7], "plain": 6, "Its": 6, "fix": 6, "For": [6, 7, 9, 11], "system": [6, 7], "conveni": 6, "comb": 6, "assert": 6, "standard": 6, "often": [6, 9], "simpli": [6, 7], "reshap": 6, "reshaped_vec": 6, "choic": 6, "modul": 6, "tutori": [7, 8, 9, 10], "ffsim": [7, 8, 9, 10, 11], "fundament": 7, "mode": 7, "sum_j": 7, "new": [7, 11], "th": 7, "satisfi": [7, 11], "anticommut": 7, "relat": [7, 9], "thei": [7, 9, 11], "align": [7, 9], "_1": 7, "_2": 7, "section": 7, "ll": [7, 8, 9], "demonstr": [7, 8, 9], "task": 7, "consid": [7, 9], "rewritten": 7, "introduc": [7, 9], "eigendecomposit": 7, "sum_k": [7, 8], "lambda_k": 7, "ik": 7, "jk": 7, "our": [7, 8, 9], "ground": [7, 9], "pick": 7, "phase": 7, "spars": [7, 8, 11], "eig": [7, 11], "eigsh": 7, "la": 7, "fact": 7, "you": [7, 9], "illustr": 7, "purpos": 7, "explicitli": 7, "eigh": [7, 8], "evolved_vec": 7, "conj": 7, "undo": 7, "expected_phas": 7, "assert_allclos": 7, "mention": [7, 8], "abov": [7, 8, 11], "below": [7, 8, 9], "better": [7, 8], "evolved_vec_alt": 7, "daunt": 8, "scale": 8, "cell": [8, 9], "hydrogen": 8, "molecul": [8, 9, 10], "stretch": [8, 9], "bond": [8, 9, 10], "build": [8, 9, 10], "h2": 8, "mol": [8, 9, 10], "gto": [8, 9, 10], "mole": [8, 9, 10], "atom": [8, 9, 10], "8": [8, 9, 11], "sto": [8, 9, 10], "6g": [8, 9, 10], "d2h": [8, 9], "rhf": [8, 9, 10], "kernel": [8, 9, 10], "mol_data": [8, 9, 10], "mol_hamiltonian": [8, 9, 10], "df_hamiltonian": 8, "converg": [8, 9, 10], "837796382593709": 8, "dataclass": [8, 9], "print": [8, 9, 10, 11], "inform": [8, 11], "One": 8, "27478830e": 8, "01": [8, 9, 10], "52909490e": 8, "17": 8, "57029092e": 8, "77238770e": 8, "23173938e": 8, "58782168e": 8, "33545754e": 8, "49859013e": 8, "48240570e": 8, "83067333e": 8, "01841799e": 8, "53132024e": 8, "21318608e": 8, "00": [8, 10], "27383424e": 8, "16": [8, 9], "82879498e": 8, "07792507e": 8, "14653029e": 8, "27521846e": 8, "62": 8, "39236953e": 8, "32": 8, "52090881e": 8, "03": [8, 9, 10], "00000000e": 8, "7": [8, 9, 11], "07106781e": 8, "27830444e": 8, "15": 8, "rest": 8, "although": 8, "alreadi": 8, "built": 8, "manual": 8, "asymmetr": 8, "basic": 8, "h_k": 8, "divid": 8, "singl": 8, "exponenti": 8, "individu": [8, 11], "do": [8, 11], "approx": 8, "prod_k": 8, "higher": 8, "deriv": 8, "write": 8, "recal": 8, "addit": [8, 11], "think": 8, "compos": 8, "def": [8, 9, 10], "simulate_trotter_step_double_factor": 8, "one_body_energi": 8, "one_body_basis_chang": 8, "zip": [8, 10], "finish": 8, "handl": 8, "split": 8, "multipl": [8, 11], "wrote": 8, "step_tim": 8, "match": 8, "initial_st": 8, "\u03c8": [8, 9, 10], "hf_energi": 8, "vdot": [8, 9, 10], "f": [8, 9, 10], "8377963825937084": 8, "now": 8, "later": 8, "exact_st": 8, "expm_multipli": 8, "tracea": 8, "fidel": 8, "ab": 8, "9696296369955066": 8, "final_st": [8, 9], "9990275744083494": 8, "improv": 8, "increas": [8, 9], "10": 8, "9999906233109686": 8, "commonli": 8, "known": 8, "fourth": 8, "reproduc": 8, "9": [8, 9, 10, 11], "fewer": 8, "9999999336740067": 8, "ethen": 9, "mcscf": [9, 10], "bond_dist": 9, "678": 9, "5626": 9, "c": 9, "9289": 9, "nelectron": 9, "ca": [9, 10], "casci": [9, 10], "nca": [9, 10], "neleca": [9, 10], "mo": [9, 10], "sort_mo": [9, 10], "energy_fci": [9, 10], "77": 9, "4456267643962": 9, "6290254326717": 9, "ci": [9, 10], "57322412553862": 9, "0000000": [9, 10], "phi_0": 9, "taken": 9, "express": 9, "previou": 9, "constructor": 9, "provid": 9, "truncat": 9, "ccsd": 9, "mp2": 9, "run": 9, "sinc": 9, "cc": 9, "frozen": 9, "nao_nr": 9, "reference_st": 9, "ansatz_st": [9, 10], "initiali": [9, 10], "49387212754471": 9, "e_corr": 9, "04824536314851384": 9, "46975600021688": 9, "facilit": 9, "convers": 9, "precis": 9, "somewhat": 9, "complic": 9, "short": 9, "entri": 9, "non": 9, "redund": 9, "associ": [9, 11], "evalu": [9, 10], "would": 9, "like": 9, "fun": [9, 10], "x": [9, 10], "x0": [9, 10], "maxfun": 9, "1000": 9, "len": [9, 10], "72": 9, "messag": [9, 10], "stop": 9, "NO": 9, "AND": 9, "success": [9, 10], "statu": [9, 10], "51583903768034": 9, "449e": 9, "884e": 9, "223e": 9, "098e": 9, "02": [9, 10], "nit": 9, "jac": 9, "260e": 9, "711e": 9, "869e": 9, "806e": 9, "nfev": [9, 10], "1168": 9, "njev": 9, "hess_inv": 9, "lt": 9, "72x72": 9, "lbfgsinvhessproduct": 9, "float64": 9, "gt": 9, "either": 9, "connect": 9, "swap": 9, "network": 9, "make": 9, "challeng": 9, "noisi": 9, "pre": 9, "fault": 9, "processor": 9, "idea": 9, "impos": 9, "sparsiti": 9, "constraint": 9, "them": 9, "depth": 9, "topologi": 9, "triangl": 9, "need": 9, "lattic": 9, "parallel": 9, "line": 9, "rung": 9, "ladder": 9, "With": 9, "setup": 9, "while": 9, "share": 9, "ldot": 9, "without": 9, "Of": 9, "cours": 9, "less": 9, "notic": 9, "decreas": 9, "46": 9, "45996000866644": 9, "655e": 9, "790e": 9, "125e": 9, "518e": 9, "951e": 9, "04": 9, "077e": 9, "217e": 9, "436e": 9, "1081": 9, "23": 9, "46x46": 9, "water": 10, "equilibrium": 10, "radius_1": 10, "958": 10, "radius_2": 10, "bond_angle_deg": 10, "104": 10, "478": 10, "h1_x": 10, "h2_x": 10, "180": 10, "h2_y": 10, "c2v": 10, "n_electron": 10, "mo_occ": 10, "75": 10, "6787887956297": 10, "7079508859773": 10, "14": 10, "3336207346502": 10, "reference_occupations_spati": 10, "68366174447617": 10, "cobyla": 10, "maxit": 10, "100": 10, "exceed": 10, "69448131142579": 10, "354e": 10, "651e": 10, "863e": 10, "095e": 10, "132e": 10, "maxcv": 10, "Such": 11, "programmat": 11, "dictionari": 11, "hash": 11, "three": 11, "piec": 11, "being": 11, "upon": 11, "intern": 11, "itself": 11, "recommend": 11, "helper": 11, "shown": 11, "repr": 11, "view": 11, "displai": 11, "39": 11, "0j": 11, "arithmet": 11, "multipli": 11, "scalar": 11, "go": 11, "op": 11, "op3": 11, "good": 11, "awar": 11, "especi": 11, "avoid": 11, "These": 11, "subtract": 11, "divis": 11, "4j": 11, "12j": 11, "6j": 11, "3j": 11, "preserv": 11, "far": 11, "criteria": 11, "op4": 11, "linop": 11, "onto": 11, "03693173": 11, "09957874j": 11, "most": 11, "lm": 11, "21984743e": 11, "18j": 11}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsFermionOperator"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [1, 0, 0, "-", "contract"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_one_body_power"], [0, 5, 1, "", "expectation_one_body_product"], [0, 5, 1, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [0, 5, 1, "", "indices_to_strings"], [2, 0, 0, "-", "linalg"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "one_hot"], [3, 0, 0, "-", "random"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_one_rdm"], [4, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.MolecularData": [[0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 3, 1, "", "from_hartree_fock"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.UCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.contract": [[1, 5, 1, "", "contract_diag_coulomb"], [1, 5, 1, "", "contract_num_op_sum"], [1, 5, 1, "", "contract_one_body"], [1, 5, 1, "", "diag_coulomb_linop"], [1, 5, 1, "", "num_op_sum_linop"], [1, 5, 1, "", "one_body_linop"]], "ffsim.linalg": [[2, 5, 1, "", "apply_matrix_to_slices"], [2, 5, 1, "", "double_factorized"], [2, 5, 1, "", "double_factorized_t2"], [2, 5, 1, "", "expm_multiply_taylor"], [2, 5, 1, "", "givens_decomposition"], [2, 5, 1, "", "is_antihermitian"], [2, 5, 1, "", "is_hermitian"], [2, 5, 1, "", "is_orthogonal"], [2, 5, 1, "", "is_real_symmetric"], [2, 5, 1, "", "is_special_orthogonal"], [2, 5, 1, "", "is_unitary"], [2, 5, 1, "", "lup"], [2, 5, 1, "", "modified_cholesky"], [2, 5, 1, "", "reduced_matrix"]], "ffsim.random": [[3, 5, 1, "", "random_antihermitian"], [3, 5, 1, "", "random_hermitian"], [3, 5, 1, "", "random_orthogonal"], [3, 5, 1, "", "random_real_symmetric_matrix"], [3, 5, 1, "", "random_special_orthogonal"], [3, 5, 1, "", "random_statevector"], [3, 5, 1, "", "random_t2_amplitudes"], [3, 5, 1, "", "random_two_body_tensor_real"], [3, 5, 1, "", "random_unitary"]], "ffsim.testing": [[4, 5, 1, "", "random_nelec"], [4, 5, 1, "", "random_occupied_orbitals"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "titleterms": {"ffsim": [0, 1, 2, 3, 4, 5, 6], "contract": 1, "linalg": 2, "random": 3, "test": 4, "welcom": 5, "": 5, "document": 5, "tutori": 5, "api": 5, "refer": 5, "introduct": 6, "orbit": 7, "rotat": 7, "quadrat": 7, "hamiltonian": [7, 8], "time": 7, "evolut": 7, "diagon": 8, "coulomb": 8, "oper": 8, "doubl": 8, "factor": 8, "trotter": 8, "simul": 8, "represent": 8, "molecular": 8, "brief": 8, "background": 8, "suzuki": 8, "formula": 8, "implement": 8, "The": [9, 11], "local": 9, "unitari": 9, "cluster": 9, "jastrow": 9, "lucj": 9, "ansatz": 9, "ucj": 9, "entangl": 10, "forg": 10, "fermionoper": 11, "class": 11}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1, "nbsphinx": 4, "sphinx": 60}, "alltitles": {"ffsim": [[0, "module-ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.random": [[3, "module-ffsim.random"]], "ffsim.testing": [[4, "module-ffsim.testing"]], "Welcome to ffsim\u2019s documentation!": [[5, "welcome-to-ffsim-s-documentation"]], "Tutorials": [[5, "tutorials"]], "API Reference": [[5, "api-reference"]], "Introduction to ffsim": [[6, "Introduction-to-ffsim"]], "Orbital rotations and quadratic Hamiltonians": [[7, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Orbital rotations": [[7, "Orbital-rotations"]], "Time evolution by a quadratic Hamiltonian": [[7, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Diagonal Coulomb operators and double-factorized Trotter simulation": [[8, "Diagonal-Coulomb-operators-and-double-factorized-Trotter-simulation"]], "Double-factorized representation of the molecular Hamiltonian": [[8, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Trotter simulation of the double-factorized Hamiltonian": [[8, "Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Brief background on Trotter-Suzuki formulas": [[8, "Brief-background-on-Trotter-Suzuki-formulas"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[8, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[9, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"], [9, "id1"]], "The unitary cluster Jastrow (UCJ) ansatz": [[9, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Entanglement forging": [[10, "Entanglement-forging"]], "The FermionOperator class": [[11, "The-FermionOperator-class"]]}, "indexentries": {"doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian"]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction"]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator"]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator"]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData"]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian"]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary"]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality"]], "supportsfermionoperator (class in ffsim)": [[0, "ffsim.SupportsFermionOperator"]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator"]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace"]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator"]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action"]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution"]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate"]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation"]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate"]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction"]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction"]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction"]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution"]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation"]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction"]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary"]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq"]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number"]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z"]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant"]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant"]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy"]], "cre() (in module ffsim)": [[0, "ffsim.cre"]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a"]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b"]], "des() (in module ffsim)": [[0, "ffsim.des"]], "des_a() (in module ffsim)": [[0, "ffsim.des_a"]], "des_b() (in module ffsim)": [[0, "ffsim.des_b"]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats"]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha"]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta"]], "dim() (in module ffsim)": [[0, "ffsim.dim"]], "dims() (in module ffsim)": [[0, "ffsim.dims"]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals"]], "expectation_one_body_power() (in module ffsim)": [[0, "ffsim.expectation_one_body_power"]], "expectation_one_body_product() (in module ffsim)": [[0, "ffsim.expectation_one_body_product"]], "fermion_operator() (in module ffsim)": [[0, "ffsim.fermion_operator"]], "ffsim": [[0, "module-ffsim"]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation"]], "from_hartree_fock() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_hartree_fock"]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian"]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters"]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes"]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian"]], "hartree_fock_state() (in module ffsim)": [[0, "ffsim.hartree_fock_state"]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings"]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator"]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order"]], "module": [[0, "module-ffsim"], [1, "module-ffsim.contract"], [2, "module-ffsim.linalg"], [3, "module-ffsim.random"], [4, "module-ffsim.testing"]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state"]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps"]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec"]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb"]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb"]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb"]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb"]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered"]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor"]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor"]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor"]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot"]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb"]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations"]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations"]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries"]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized"]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized"]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant"]], "slater_determinant_one_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_one_rdm"]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin"]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation"]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters"]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes"]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation"]], "trace() (in module ffsim)": [[0, "ffsim.trace"]], "two_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_tensor"]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor"]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation"]], "contract_diag_coulomb() (in module ffsim.contract)": [[1, "ffsim.contract.contract_diag_coulomb"]], "contract_num_op_sum() (in module ffsim.contract)": [[1, "ffsim.contract.contract_num_op_sum"]], "contract_one_body() (in module ffsim.contract)": [[1, "ffsim.contract.contract_one_body"]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "num_op_sum_linop() (in module ffsim.contract)": [[1, "ffsim.contract.num_op_sum_linop"]], "one_body_linop() (in module ffsim.contract)": [[1, "ffsim.contract.one_body_linop"]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices"]], "double_factorized() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized"]], "double_factorized_t2() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2"]], "expm_multiply_taylor() (in module ffsim.linalg)": [[2, "ffsim.linalg.expm_multiply_taylor"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "givens_decomposition() (in module ffsim.linalg)": [[2, "ffsim.linalg.givens_decomposition"]], "is_antihermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_antihermitian"]], "is_hermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_hermitian"]], "is_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_orthogonal"]], "is_real_symmetric() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_real_symmetric"]], "is_special_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_special_orthogonal"]], "is_unitary() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_unitary"]], "lup() (in module ffsim.linalg)": [[2, "ffsim.linalg.lup"]], "modified_cholesky() (in module ffsim.linalg)": [[2, "ffsim.linalg.modified_cholesky"]], "reduced_matrix() (in module ffsim.linalg)": [[2, "ffsim.linalg.reduced_matrix"]], "ffsim.random": [[3, "module-ffsim.random"]], "random_antihermitian() (in module ffsim.random)": [[3, "ffsim.random.random_antihermitian"]], "random_hermitian() (in module ffsim.random)": [[3, "ffsim.random.random_hermitian"]], "random_orthogonal() (in module ffsim.random)": [[3, "ffsim.random.random_orthogonal"]], "random_real_symmetric_matrix() (in module ffsim.random)": [[3, "ffsim.random.random_real_symmetric_matrix"]], "random_special_orthogonal() (in module ffsim.random)": [[3, "ffsim.random.random_special_orthogonal"]], "random_statevector() (in module ffsim.random)": [[3, "ffsim.random.random_statevector"]], "random_t2_amplitudes() (in module ffsim.random)": [[3, "ffsim.random.random_t2_amplitudes"]], "random_two_body_tensor_real() (in module ffsim.random)": [[3, "ffsim.random.random_two_body_tensor_real"]], "random_unitary() (in module ffsim.random)": [[3, "ffsim.random.random_unitary"]], "ffsim.testing": [[4, "module-ffsim.testing"]], "random_nelec() (in module ffsim.testing)": [[4, "ffsim.testing.random_nelec"]], "random_occupied_orbitals() (in module ffsim.testing)": [[4, "ffsim.testing.random_occupied_orbitals"]]}}) \ No newline at end of file diff --git a/tutorials/01-introduction.ipynb b/tutorials/01-introduction.ipynb index 88a59d993..d7cc89e30 100644 --- a/tutorials/01-introduction.ipynb +++ b/tutorials/01-introduction.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:57.494469Z", - "iopub.status.busy": "2023-10-28T19:56:57.493902Z", - "iopub.status.idle": "2023-10-28T19:56:57.847046Z", - "shell.execute_reply": "2023-10-28T19:56:57.846341Z" + "iopub.execute_input": "2023-10-28T20:07:20.401461Z", + "iopub.status.busy": "2023-10-28T20:07:20.401121Z", + "iopub.status.idle": "2023-10-28T20:07:20.703750Z", + "shell.execute_reply": "2023-10-28T20:07:20.703173Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:57.851550Z", - "iopub.status.busy": "2023-10-28T19:56:57.851221Z", - "iopub.status.idle": "2023-10-28T19:56:57.856768Z", - "shell.execute_reply": "2023-10-28T19:56:57.856129Z" + "iopub.execute_input": "2023-10-28T20:07:20.707031Z", + "iopub.status.busy": "2023-10-28T20:07:20.706500Z", + "iopub.status.idle": "2023-10-28T20:07:20.710355Z", + "shell.execute_reply": "2023-10-28T20:07:20.709877Z" } }, "outputs": [], @@ -93,10 +93,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:57.860349Z", - "iopub.status.busy": "2023-10-28T19:56:57.860112Z", - "iopub.status.idle": "2023-10-28T19:56:57.864176Z", - "shell.execute_reply": "2023-10-28T19:56:57.863497Z" + "iopub.execute_input": "2023-10-28T20:07:20.713007Z", + "iopub.status.busy": "2023-10-28T20:07:20.712659Z", + "iopub.status.idle": "2023-10-28T20:07:20.715302Z", + "shell.execute_reply": "2023-10-28T20:07:20.714835Z" } }, "outputs": [], diff --git a/tutorials/02-orbital-rotation.ipynb b/tutorials/02-orbital-rotation.ipynb index c8ee0e05a..b4794c505 100644 --- a/tutorials/02-orbital-rotation.ipynb +++ b/tutorials/02-orbital-rotation.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:59.593497Z", - "iopub.status.busy": "2023-10-28T19:56:59.593034Z", - "iopub.status.idle": "2023-10-28T19:56:59.932252Z", - "shell.execute_reply": "2023-10-28T19:56:59.931556Z" + "iopub.execute_input": "2023-10-28T20:07:22.220446Z", + "iopub.status.busy": "2023-10-28T20:07:22.219941Z", + "iopub.status.idle": "2023-10-28T20:07:22.551221Z", + "shell.execute_reply": "2023-10-28T20:07:22.550658Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:59.936669Z", - "iopub.status.busy": "2023-10-28T19:56:59.935356Z", - "iopub.status.idle": "2023-10-28T19:56:59.966062Z", - "shell.execute_reply": "2023-10-28T19:56:59.965446Z" + "iopub.execute_input": "2023-10-28T20:07:22.555073Z", + "iopub.status.busy": "2023-10-28T20:07:22.554573Z", + "iopub.status.idle": "2023-10-28T20:07:22.579118Z", + "shell.execute_reply": "2023-10-28T20:07:22.578594Z" } }, "outputs": [], @@ -158,10 +158,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:59.970497Z", - "iopub.status.busy": "2023-10-28T19:56:59.969486Z", - "iopub.status.idle": "2023-10-28T19:56:59.981641Z", - "shell.execute_reply": "2023-10-28T19:56:59.981083Z" + "iopub.execute_input": "2023-10-28T20:07:22.582070Z", + "iopub.status.busy": "2023-10-28T20:07:22.581707Z", + "iopub.status.idle": "2023-10-28T20:07:22.591276Z", + "shell.execute_reply": "2023-10-28T20:07:22.590784Z" } }, "outputs": [], @@ -201,10 +201,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:56:59.985779Z", - "iopub.status.busy": "2023-10-28T19:56:59.984741Z", - "iopub.status.idle": "2023-10-28T19:56:59.991033Z", - "shell.execute_reply": "2023-10-28T19:56:59.990498Z" + "iopub.execute_input": "2023-10-28T20:07:22.594064Z", + "iopub.status.busy": "2023-10-28T20:07:22.593641Z", + "iopub.status.idle": "2023-10-28T20:07:22.598228Z", + "shell.execute_reply": "2023-10-28T20:07:22.597772Z" } }, "outputs": [], diff --git a/tutorials/03-double-factorized.ipynb b/tutorials/03-double-factorized.ipynb index 5ab8dcae6..c2f4b367a 100644 --- a/tutorials/03-double-factorized.ipynb +++ b/tutorials/03-double-factorized.ipynb @@ -43,10 +43,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:01.816606Z", - "iopub.status.busy": "2023-10-28T19:57:01.816139Z", - "iopub.status.idle": "2023-10-28T19:57:02.269592Z", - "shell.execute_reply": "2023-10-28T19:57:02.268923Z" + "iopub.execute_input": "2023-10-28T20:07:24.178723Z", + "iopub.status.busy": "2023-10-28T20:07:24.178296Z", + "iopub.status.idle": "2023-10-28T20:07:24.561004Z", + "shell.execute_reply": "2023-10-28T20:07:24.560402Z" } }, "outputs": [ @@ -92,10 +92,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.273091Z", - "iopub.status.busy": "2023-10-28T19:57:02.272489Z", - "iopub.status.idle": "2023-10-28T19:57:02.279238Z", - "shell.execute_reply": "2023-10-28T19:57:02.278680Z" + "iopub.execute_input": "2023-10-28T20:07:24.564402Z", + "iopub.status.busy": "2023-10-28T20:07:24.564115Z", + "iopub.status.idle": "2023-10-28T20:07:24.571264Z", + "shell.execute_reply": "2023-10-28T20:07:24.570743Z" } }, "outputs": [ @@ -226,10 +226,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.282320Z", - "iopub.status.busy": "2023-10-28T19:57:02.281889Z", - "iopub.status.idle": "2023-10-28T19:57:02.288366Z", - "shell.execute_reply": "2023-10-28T19:57:02.287798Z" + "iopub.execute_input": "2023-10-28T20:07:24.573812Z", + "iopub.status.busy": "2023-10-28T20:07:24.573615Z", + "iopub.status.idle": "2023-10-28T20:07:24.579816Z", + "shell.execute_reply": "2023-10-28T20:07:24.579361Z" } }, "outputs": [], @@ -284,10 +284,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.291418Z", - "iopub.status.busy": "2023-10-28T19:57:02.290779Z", - "iopub.status.idle": "2023-10-28T19:57:02.295337Z", - "shell.execute_reply": "2023-10-28T19:57:02.294754Z" + "iopub.execute_input": "2023-10-28T20:07:24.582432Z", + "iopub.status.busy": "2023-10-28T20:07:24.581943Z", + "iopub.status.idle": "2023-10-28T20:07:24.585673Z", + "shell.execute_reply": "2023-10-28T20:07:24.585226Z" } }, "outputs": [], @@ -324,10 +324,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.298733Z", - "iopub.status.busy": "2023-10-28T19:57:02.298072Z", - "iopub.status.idle": "2023-10-28T19:57:02.304222Z", - "shell.execute_reply": "2023-10-28T19:57:02.303655Z" + "iopub.execute_input": "2023-10-28T20:07:24.588189Z", + "iopub.status.busy": "2023-10-28T20:07:24.587710Z", + "iopub.status.idle": "2023-10-28T20:07:24.591992Z", + "shell.execute_reply": "2023-10-28T20:07:24.591553Z" } }, "outputs": [ @@ -363,10 +363,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.307485Z", - "iopub.status.busy": "2023-10-28T19:57:02.306821Z", - "iopub.status.idle": "2023-10-28T19:57:02.321261Z", - "shell.execute_reply": "2023-10-28T19:57:02.320589Z" + "iopub.execute_input": "2023-10-28T20:07:24.594492Z", + "iopub.status.busy": "2023-10-28T20:07:24.593981Z", + "iopub.status.idle": "2023-10-28T20:07:24.602421Z", + "shell.execute_reply": "2023-10-28T20:07:24.601967Z" } }, "outputs": [ @@ -405,10 +405,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.324312Z", - "iopub.status.busy": "2023-10-28T19:57:02.323837Z", - "iopub.status.idle": "2023-10-28T19:57:02.332671Z", - "shell.execute_reply": "2023-10-28T19:57:02.332082Z" + "iopub.execute_input": "2023-10-28T20:07:24.604872Z", + "iopub.status.busy": "2023-10-28T20:07:24.604392Z", + "iopub.status.idle": "2023-10-28T20:07:24.612065Z", + "shell.execute_reply": "2023-10-28T20:07:24.611599Z" } }, "outputs": [ @@ -446,10 +446,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.335925Z", - "iopub.status.busy": "2023-10-28T19:57:02.335284Z", - "iopub.status.idle": "2023-10-28T19:57:02.386391Z", - "shell.execute_reply": "2023-10-28T19:57:02.385471Z" + "iopub.execute_input": "2023-10-28T20:07:24.614530Z", + "iopub.status.busy": "2023-10-28T20:07:24.614072Z", + "iopub.status.idle": "2023-10-28T20:07:24.645447Z", + "shell.execute_reply": "2023-10-28T20:07:24.644894Z" } }, "outputs": [ @@ -489,10 +489,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.389625Z", - "iopub.status.busy": "2023-10-28T19:57:02.389378Z", - "iopub.status.idle": "2023-10-28T19:57:02.428555Z", - "shell.execute_reply": "2023-10-28T19:57:02.427602Z" + "iopub.execute_input": "2023-10-28T20:07:24.648484Z", + "iopub.status.busy": "2023-10-28T20:07:24.648142Z", + "iopub.status.idle": "2023-10-28T20:07:24.671472Z", + "shell.execute_reply": "2023-10-28T20:07:24.670987Z" } }, "outputs": [ @@ -531,10 +531,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:02.431653Z", - "iopub.status.busy": "2023-10-28T19:57:02.431422Z", - "iopub.status.idle": "2023-10-28T19:57:02.450116Z", - "shell.execute_reply": "2023-10-28T19:57:02.449332Z" + "iopub.execute_input": "2023-10-28T20:07:24.676519Z", + "iopub.status.busy": "2023-10-28T20:07:24.674841Z", + "iopub.status.idle": "2023-10-28T20:07:24.687872Z", + "shell.execute_reply": "2023-10-28T20:07:24.687413Z" } }, "outputs": [ diff --git a/tutorials/04-lucj.html b/tutorials/04-lucj.html index 5091b1927..7b62f31ae 100644 --- a/tutorials/04-lucj.html +++ b/tutorials/04-lucj.html @@ -147,8 +147,8 @@

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -77.49387212754476  E_corr = -0.04824536314851395
-Energy at initialialization: -77.4697560002169
+E(CCSD) = -77.49387212754471  E_corr = -0.04824536314851384
+Energy at initialialization: -77.46975600021688
 

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

@@ -187,12 +187,12 @@

The unitary cluster Jastrow (UCJ) ansatz\n" ] } @@ -246,10 +246,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:09.514206Z", - "iopub.status.busy": "2023-10-28T19:57:09.513991Z", - "iopub.status.idle": "2023-10-28T19:57:12.848253Z", - "shell.execute_reply": "2023-10-28T19:57:12.847650Z" + "iopub.execute_input": "2023-10-28T20:07:31.083296Z", + "iopub.status.busy": "2023-10-28T20:07:31.082908Z", + "iopub.status.idle": "2023-10-28T20:07:34.131505Z", + "shell.execute_reply": "2023-10-28T20:07:34.130918Z" } }, "outputs": [ @@ -261,12 +261,12 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45981953688877\n", - " x: [-3.348e-01 7.867e-02 ... -5.151e-01 2.150e-01]\n", - " nit: 14\n", - " jac: [ 9.408e-04 8.114e-04 ... -3.837e-04 -1.720e-04]\n", - " nfev: 1034\n", - " njev: 22\n", + " fun: -77.45996000866644\n", + " x: [-3.655e-01 7.790e-02 ... -6.125e-01 1.518e-01]\n", + " nit: 16\n", + " jac: [ 3.951e-04 7.077e-04 ... -2.217e-04 -2.436e-03]\n", + " nfev: 1081\n", + " njev: 23\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" ] } diff --git a/tutorials/05-entanglement-forging.html b/tutorials/05-entanglement-forging.html index fab50bb9b..e7056bae4 100644 --- a/tutorials/05-entanglement-forging.html +++ b/tutorials/05-entanglement-forging.html @@ -178,8 +178,8 @@

Entanglement forging

diff --git a/tutorials/05-entanglement-forging.ipynb b/tutorials/05-entanglement-forging.ipynb index 789aecd4e..82e452941 100644 --- a/tutorials/05-entanglement-forging.ipynb +++ b/tutorials/05-entanglement-forging.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:14.828936Z", - "iopub.status.busy": "2023-10-28T19:57:14.828179Z", - "iopub.status.idle": "2023-10-28T19:57:15.483816Z", - "shell.execute_reply": "2023-10-28T19:57:15.483170Z" + "iopub.execute_input": "2023-10-28T20:07:35.975832Z", + "iopub.status.busy": "2023-10-28T20:07:35.975473Z", + "iopub.status.idle": "2023-10-28T20:07:36.556064Z", + "shell.execute_reply": "2023-10-28T20:07:36.555479Z" } }, "outputs": [ @@ -90,10 +90,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:15.488508Z", - "iopub.status.busy": "2023-10-28T19:57:15.487877Z", - "iopub.status.idle": "2023-10-28T19:57:15.514609Z", - "shell.execute_reply": "2023-10-28T19:57:15.514049Z" + "iopub.execute_input": "2023-10-28T20:07:36.560480Z", + "iopub.status.busy": "2023-10-28T20:07:36.559426Z", + "iopub.status.idle": "2023-10-28T20:07:36.582642Z", + "shell.execute_reply": "2023-10-28T20:07:36.582113Z" } }, "outputs": [ @@ -135,10 +135,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:15.519063Z", - "iopub.status.busy": "2023-10-28T19:57:15.517797Z", - "iopub.status.idle": "2023-10-28T19:57:17.565183Z", - "shell.execute_reply": "2023-10-28T19:57:17.564175Z" + "iopub.execute_input": "2023-10-28T20:07:36.586423Z", + "iopub.status.busy": "2023-10-28T20:07:36.585509Z", + "iopub.status.idle": "2023-10-28T20:07:38.326561Z", + "shell.execute_reply": "2023-10-28T20:07:38.325881Z" } }, "outputs": [ @@ -150,8 +150,8 @@ " message: Maximum number of function evaluations has been exceeded.\n", " success: False\n", " status: 2\n", - " fun: -75.69434198341699\n", - " x: [ 1.352e+00 8.664e-02 -2.940e-03 1.104e+00 -1.913e-01]\n", + " fun: -75.69448131142579\n", + " x: [ 1.354e+00 9.651e-02 -1.863e-03 1.095e+00 -2.132e-01]\n", " nfev: 100\n", " maxcv: 0.0\n" ] diff --git a/tutorials/06-fermion-operator.html b/tutorials/06-fermion-operator.html index 62dcadbff..0f9581c27 100644 --- a/tutorials/06-fermion-operator.html +++ b/tutorials/06-fermion-operator.html @@ -78,9 +78,9 @@

The FermionOperator class
 FermionOperator({
-    (cre_a(0), des_a(3)): 0.5,
     (cre_a(3), des_a(0)): -0.25,
-    (cre_b(1), des_b(5), cre_a(4)): 1+1j
+    (cre_b(1), des_b(5), cre_a(4)): 1+1j,
+    (cre_a(0), des_a(3)): 0.5
 })
 

@@ -99,7 +99,7 @@

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

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

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

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

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

The FermionOperator class
-array([ 0.        +0.j        ,  0.        +0.j        ,
-        0.        +0.j        ,  0.        +0.j        ,
-       -0.10305872-0.08742954j,  0.        +0.j        ,
-        0.        +0.j        ,  0.        +0.j        ,
-        0.        +0.j        ])
+array([0.        +0.j        , 0.        +0.j        ,
+       0.        +0.j        , 0.        +0.j        ,
+       0.03693173-0.09957874j, 0.        +0.j        ,
+       0.        +0.j        , 0.        +0.j        ,
+       0.        +0.j        ])
 

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

diff --git a/tutorials/06-fermion-operator.ipynb b/tutorials/06-fermion-operator.ipynb index 9d930e5a6..cfe9df9fb 100644 --- a/tutorials/06-fermion-operator.ipynb +++ b/tutorials/06-fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.232336Z", - "iopub.status.busy": "2023-10-28T19:57:19.231733Z", - "iopub.status.idle": "2023-10-28T19:57:19.578162Z", - "shell.execute_reply": "2023-10-28T19:57:19.577583Z" + "iopub.execute_input": "2023-10-28T20:07:39.758414Z", + "iopub.status.busy": "2023-10-28T20:07:39.758033Z", + "iopub.status.idle": "2023-10-28T20:07:40.068088Z", + "shell.execute_reply": "2023-10-28T20:07:40.067419Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(0), des_a(3)): 0.5,\n", " (cre_a(3), des_a(0)): -0.25,\n", - " (cre_b(1), des_b(5), cre_a(4)): 1+1j\n", + " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", + " (cre_a(0), des_a(3)): 0.5\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.582566Z", - "iopub.status.busy": "2023-10-28T19:57:19.581342Z", - "iopub.status.idle": "2023-10-28T19:57:19.589175Z", - "shell.execute_reply": "2023-10-28T19:57:19.587715Z" + "iopub.execute_input": "2023-10-28T20:07:40.071616Z", + "iopub.status.busy": "2023-10-28T20:07:40.071123Z", + "iopub.status.idle": "2023-10-28T20:07:40.077001Z", + "shell.execute_reply": "2023-10-28T20:07:40.076518Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j})'" + "'FermionOperator({((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.594293Z", - "iopub.status.busy": "2023-10-28T19:57:19.593169Z", - "iopub.status.idle": "2023-10-28T19:57:19.600951Z", - "shell.execute_reply": "2023-10-28T19:57:19.600404Z" + "iopub.execute_input": "2023-10-28T20:07:40.080933Z", + "iopub.status.busy": "2023-10-28T20:07:40.080022Z", + "iopub.status.idle": "2023-10-28T20:07:40.086672Z", + "shell.execute_reply": "2023-10-28T20:07:40.086191Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", - " (cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3)): 1,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", + " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", + " (cre_a(0), des_a(3)): 1,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (des_a(3), des_b(3)): 0.0625,\n", - " (cre_a(3), des_a(0)): -0.5\n", + " (cre_b(2)): 0-0.25j,\n", + " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.605319Z", - "iopub.status.busy": "2023-10-28T19:57:19.604259Z", - "iopub.status.idle": "2023-10-28T19:57:19.610844Z", - "shell.execute_reply": "2023-10-28T19:57:19.610295Z" + "iopub.execute_input": "2023-10-28T20:07:40.090476Z", + "iopub.status.busy": "2023-10-28T20:07:40.089415Z", + "iopub.status.idle": "2023-10-28T20:07:40.095387Z", + "shell.execute_reply": "2023-10-28T20:07:40.094912Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", - " (cre_b(2)): -5,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", + " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", " (cre_a(3), des_a(0), cre_b(2)): -1,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (des_a(3), des_b(3)): 0-1.25j,\n", - " (cre_a(3), des_a(0)): 0+3j\n", + " (cre_b(2)): -5,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.615183Z", - "iopub.status.busy": "2023-10-28T19:57:19.614121Z", - "iopub.status.idle": "2023-10-28T19:57:19.620462Z", - "shell.execute_reply": "2023-10-28T19:57:19.619906Z" + "iopub.execute_input": "2023-10-28T20:07:40.099134Z", + "iopub.status.busy": "2023-10-28T20:07:40.098055Z", + "iopub.status.idle": "2023-10-28T20:07:40.103880Z", + "shell.execute_reply": "2023-10-28T20:07:40.103413Z" } }, "outputs": [ @@ -230,16 +230,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (des_b(3), des_a(3)): 0+1.25j,\n", - " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(2)): -5,\n", " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_b(2)): -5,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (cre_b(2), cre_a(3), des_a(0)): -1,\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), cre_a(3), des_a(0)): -1\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.626133Z", - "iopub.status.busy": "2023-10-28T19:57:19.624760Z", - "iopub.status.idle": "2023-10-28T19:57:19.630509Z", - "shell.execute_reply": "2023-10-28T19:57:19.629942Z" + "iopub.execute_input": "2023-10-28T20:07:40.108474Z", + "iopub.status.busy": "2023-10-28T20:07:40.108099Z", + "iopub.status.idle": "2023-10-28T20:07:40.113360Z", + "shell.execute_reply": "2023-10-28T20:07:40.112892Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.633520Z", - "iopub.status.busy": "2023-10-28T19:57:19.633053Z", - "iopub.status.idle": "2023-10-28T19:57:19.640063Z", - "shell.execute_reply": "2023-10-28T19:57:19.639527Z" + "iopub.execute_input": "2023-10-28T20:07:40.116307Z", + "iopub.status.busy": "2023-10-28T20:07:40.115969Z", + "iopub.status.idle": "2023-10-28T20:07:40.122116Z", + "shell.execute_reply": "2023-10-28T20:07:40.121659Z" } }, "outputs": [ @@ -340,21 +340,21 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.643130Z", - "iopub.status.busy": "2023-10-28T19:57:19.642713Z", - "iopub.status.idle": "2023-10-28T19:57:19.651068Z", - "shell.execute_reply": "2023-10-28T19:57:19.650576Z" + "iopub.execute_input": "2023-10-28T20:07:40.125644Z", + "iopub.status.busy": "2023-10-28T20:07:40.124602Z", + "iopub.status.idle": "2023-10-28T20:07:40.132081Z", + "shell.execute_reply": "2023-10-28T20:07:40.131623Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([ 0. +0.j , 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " -0.10305872-0.08742954j, 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0. +0.j ])" + "array([0. +0.j , 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0.03693173-0.09957874j, 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0. +0.j ])" ] }, "execution_count": 8, @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-28T19:57:19.655097Z", - "iopub.status.busy": "2023-10-28T19:57:19.654074Z", - "iopub.status.idle": "2023-10-28T19:57:19.670028Z", - "shell.execute_reply": "2023-10-28T19:57:19.669485Z" + "iopub.execute_input": "2023-10-28T20:07:40.135595Z", + "iopub.status.busy": "2023-10-28T20:07:40.134537Z", + "iopub.status.idle": "2023-10-28T20:07:40.148196Z", + "shell.execute_reply": "2023-10-28T20:07:40.147690Z" } }, "outputs": [