From 21ed625122c789b2619faa2ad430365192632d8f Mon Sep 17 00:00:00 2001 From: kevinsung Date: Thu, 26 Oct 2023 21:54:46 +0000 Subject: [PATCH] deploy: e3ddac7faee44e8e4e95821b2f81bc175760027c --- .doctrees/api/ffsim.doctree | Bin 475643 -> 475473 bytes .doctrees/environment.pickle | Bin 1500412 -> 1499475 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 | 56 ++++----- .../tutorials/05-entanglement-forging.ipynb | 30 ++--- .../tutorials/06-fermion-operator.ipynb | 114 +++++++++--------- .doctrees/tutorials/04-lucj.doctree | Bin 38275 -> 38269 bytes .../tutorials/05-entanglement-forging.doctree | Bin 15254 -> 15260 bytes .../tutorials/06-fermion-operator.doctree | Bin 41445 -> 41445 bytes .../double_factorized_hamiltonian.html | 2 +- .../hamiltonians/molecular_hamiltonian.html | 2 +- _modules/ffsim/molecular_data.html | 23 +--- _modules/ffsim/variational/hopgate.html | 2 +- _modules/ffsim/variational/ucj.html | 2 +- api/ffsim.html | 16 +-- searchindex.js | 2 +- tutorials/01-introduction.ipynb | 24 ++-- tutorials/02-orbital-rotation.ipynb | 32 ++--- tutorials/03-double-factorized.ipynb | 80 ++++++------ tutorials/04-lucj.html | 24 ++-- tutorials/04-lucj.ipynb | 56 ++++----- tutorials/05-entanglement-forging.html | 6 +- tutorials/05-entanglement-forging.ipynb | 30 ++--- tutorials/06-fermion-operator.html | 42 +++---- tutorials/06-fermion-operator.ipynb | 114 +++++++++--------- 27 files changed, 386 insertions(+), 407 deletions(-) diff --git a/.doctrees/api/ffsim.doctree b/.doctrees/api/ffsim.doctree index 8f3cd36e1eb0bac10156e8b8f603af200584cc83..29e74e7e385a325db9cb65d159401f3d4fef4d51 100644 GIT binary patch delta 58788 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%0AXdO7w!Pa0Rk-th{QZu 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

+5QbGz;UqKI0HQ=Cwl7-U|) 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 OU@Fh4*wWkE*ZF@h3O_0U delta 58494 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 anc*`M5|ZX5Bu$@&6FuhDG#TL??fegbX8)`J diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 5150edb8b62ce08734d0b9e566d95e7c16a7d179..928acc897f1715a49021b04e90096c27b109576b 100644 GIT binary patch delta 202231 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%0A|SPlS4>a<(s4 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 delta 204796 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⪼nh5~Xc?bW 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 diff --git a/.doctrees/nbsphinx/tutorials/01-introduction.ipynb b/.doctrees/nbsphinx/tutorials/01-introduction.ipynb index 738bf9af0..542a28d4f 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-26T15:40:42.829408Z", - "iopub.status.busy": "2023-10-26T15:40:42.829034Z", - "iopub.status.idle": "2023-10-26T15:40:43.115107Z", - "shell.execute_reply": "2023-10-26T15:40:43.114553Z" + "iopub.execute_input": "2023-10-26T21:54:24.626048Z", + "iopub.status.busy": "2023-10-26T21:54:24.625502Z", + "iopub.status.idle": "2023-10-26T21:54:24.916794Z", + "shell.execute_reply": "2023-10-26T21:54:24.916239Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:43.119123Z", - "iopub.status.busy": "2023-10-26T15:40:43.118055Z", - "iopub.status.idle": "2023-10-26T15:40:43.123141Z", - "shell.execute_reply": "2023-10-26T15:40:43.122678Z" + "iopub.execute_input": "2023-10-26T21:54:24.921005Z", + "iopub.status.busy": "2023-10-26T21:54:24.919903Z", + "iopub.status.idle": "2023-10-26T21:54:24.925012Z", + "shell.execute_reply": "2023-10-26T21:54:24.924548Z" } }, "outputs": [], @@ -93,10 +93,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:43.126861Z", - "iopub.status.busy": "2023-10-26T15:40:43.125985Z", - "iopub.status.idle": "2023-10-26T15:40:43.129804Z", - "shell.execute_reply": "2023-10-26T15:40:43.129341Z" + "iopub.execute_input": "2023-10-26T21:54:24.928816Z", + "iopub.status.busy": "2023-10-26T21:54:24.927921Z", + "iopub.status.idle": "2023-10-26T21:54:24.931868Z", + "shell.execute_reply": "2023-10-26T21:54:24.931405Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb b/.doctrees/nbsphinx/tutorials/02-orbital-rotation.ipynb index d540c77ff..e59b1f447 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-26T15:40:44.747012Z", - "iopub.status.busy": "2023-10-26T15:40:44.746660Z", - "iopub.status.idle": "2023-10-26T15:40:45.026053Z", - "shell.execute_reply": "2023-10-26T15:40:45.025508Z" + "iopub.execute_input": "2023-10-26T21:54:26.554827Z", + "iopub.status.busy": "2023-10-26T21:54:26.554540Z", + "iopub.status.idle": "2023-10-26T21:54:26.838397Z", + "shell.execute_reply": "2023-10-26T21:54:26.837851Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:45.030774Z", - "iopub.status.busy": "2023-10-26T15:40:45.029736Z", - "iopub.status.idle": "2023-10-26T15:40:45.055723Z", - "shell.execute_reply": "2023-10-26T15:40:45.055244Z" + "iopub.execute_input": "2023-10-26T21:54:26.843035Z", + "iopub.status.busy": "2023-10-26T21:54:26.841994Z", + "iopub.status.idle": "2023-10-26T21:54:26.867230Z", + "shell.execute_reply": "2023-10-26T21:54:26.866712Z" } }, "outputs": [], @@ -158,10 +158,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:45.059575Z", - "iopub.status.busy": "2023-10-26T15:40:45.058663Z", - "iopub.status.idle": "2023-10-26T15:40:45.069563Z", - "shell.execute_reply": "2023-10-26T15:40:45.069067Z" + "iopub.execute_input": "2023-10-26T21:54:26.871420Z", + "iopub.status.busy": "2023-10-26T21:54:26.870428Z", + "iopub.status.idle": "2023-10-26T21:54:26.881346Z", + "shell.execute_reply": "2023-10-26T21:54:26.880817Z" } }, "outputs": [], @@ -201,10 +201,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:45.073324Z", - "iopub.status.busy": "2023-10-26T15:40:45.072401Z", - "iopub.status.idle": "2023-10-26T15:40:45.077945Z", - "shell.execute_reply": "2023-10-26T15:40:45.077473Z" + "iopub.execute_input": "2023-10-26T21:54:26.885340Z", + "iopub.status.busy": "2023-10-26T21:54:26.884395Z", + "iopub.status.idle": "2023-10-26T21:54:26.890064Z", + "shell.execute_reply": "2023-10-26T21:54:26.889582Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb b/.doctrees/nbsphinx/tutorials/03-double-factorized.ipynb index 4191a3e16..aff25e788 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-26T15:40:46.698076Z", - "iopub.status.busy": "2023-10-26T15:40:46.697722Z", - "iopub.status.idle": "2023-10-26T15:40:47.057254Z", - "shell.execute_reply": "2023-10-26T15:40:47.056722Z" + "iopub.execute_input": "2023-10-26T21:54:28.517494Z", + "iopub.status.busy": "2023-10-26T21:54:28.517144Z", + "iopub.status.idle": "2023-10-26T21:54:28.859683Z", + "shell.execute_reply": "2023-10-26T21:54:28.859174Z" } }, "outputs": [ @@ -92,10 +92,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.061559Z", - "iopub.status.busy": "2023-10-26T15:40:47.060504Z", - "iopub.status.idle": "2023-10-26T15:40:47.068182Z", - "shell.execute_reply": "2023-10-26T15:40:47.067706Z" + "iopub.execute_input": "2023-10-26T21:54:28.863775Z", + "iopub.status.busy": "2023-10-26T21:54:28.862781Z", + "iopub.status.idle": "2023-10-26T21:54:28.870588Z", + "shell.execute_reply": "2023-10-26T21:54:28.870125Z" } }, "outputs": [ @@ -226,10 +226,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.071132Z", - "iopub.status.busy": "2023-10-26T15:40:47.070637Z", - "iopub.status.idle": "2023-10-26T15:40:47.076297Z", - "shell.execute_reply": "2023-10-26T15:40:47.075779Z" + "iopub.execute_input": "2023-10-26T21:54:28.874583Z", + "iopub.status.busy": "2023-10-26T21:54:28.873677Z", + "iopub.status.idle": "2023-10-26T21:54:28.879229Z", + "shell.execute_reply": "2023-10-26T21:54:28.878771Z" } }, "outputs": [], @@ -284,10 +284,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.078619Z", - "iopub.status.busy": "2023-10-26T15:40:47.078279Z", - "iopub.status.idle": "2023-10-26T15:40:47.081964Z", - "shell.execute_reply": "2023-10-26T15:40:47.081501Z" + "iopub.execute_input": "2023-10-26T21:54:28.882477Z", + "iopub.status.busy": "2023-10-26T21:54:28.882071Z", + "iopub.status.idle": "2023-10-26T21:54:28.885968Z", + "shell.execute_reply": "2023-10-26T21:54:28.885523Z" } }, "outputs": [], @@ -324,10 +324,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.155592Z", - "iopub.status.busy": "2023-10-26T15:40:47.154994Z", - "iopub.status.idle": "2023-10-26T15:40:47.159928Z", - "shell.execute_reply": "2023-10-26T15:40:47.159315Z" + "iopub.execute_input": "2023-10-26T21:54:28.952107Z", + "iopub.status.busy": "2023-10-26T21:54:28.951382Z", + "iopub.status.idle": "2023-10-26T21:54:28.957168Z", + "shell.execute_reply": "2023-10-26T21:54:28.956674Z" } }, "outputs": [ @@ -363,10 +363,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.162336Z", - "iopub.status.busy": "2023-10-26T15:40:47.162145Z", - "iopub.status.idle": "2023-10-26T15:40:47.172569Z", - "shell.execute_reply": "2023-10-26T15:40:47.171964Z" + "iopub.execute_input": "2023-10-26T21:54:28.959983Z", + "iopub.status.busy": "2023-10-26T21:54:28.959396Z", + "iopub.status.idle": "2023-10-26T21:54:28.968750Z", + "shell.execute_reply": "2023-10-26T21:54:28.968270Z" } }, "outputs": [ @@ -405,10 +405,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.175110Z", - "iopub.status.busy": "2023-10-26T15:40:47.174657Z", - "iopub.status.idle": "2023-10-26T15:40:47.183808Z", - "shell.execute_reply": "2023-10-26T15:40:47.183279Z" + "iopub.execute_input": "2023-10-26T21:54:28.971329Z", + "iopub.status.busy": "2023-10-26T21:54:28.970763Z", + "iopub.status.idle": "2023-10-26T21:54:28.979373Z", + "shell.execute_reply": "2023-10-26T21:54:28.978932Z" } }, "outputs": [ @@ -446,10 +446,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.186320Z", - "iopub.status.busy": "2023-10-26T15:40:47.186131Z", - "iopub.status.idle": "2023-10-26T15:40:47.219836Z", - "shell.execute_reply": "2023-10-26T15:40:47.219385Z" + "iopub.execute_input": "2023-10-26T21:54:28.981881Z", + "iopub.status.busy": "2023-10-26T21:54:28.981327Z", + "iopub.status.idle": "2023-10-26T21:54:29.016188Z", + "shell.execute_reply": "2023-10-26T21:54:29.015742Z" } }, "outputs": [ @@ -489,10 +489,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.222288Z", - "iopub.status.busy": "2023-10-26T15:40:47.222014Z", - "iopub.status.idle": "2023-10-26T15:40:47.243532Z", - "shell.execute_reply": "2023-10-26T15:40:47.243081Z" + "iopub.execute_input": "2023-10-26T21:54:29.019498Z", + "iopub.status.busy": "2023-10-26T21:54:29.018429Z", + "iopub.status.idle": "2023-10-26T21:54:29.038774Z", + "shell.execute_reply": "2023-10-26T21:54:29.038333Z" } }, "outputs": [ @@ -531,10 +531,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.246063Z", - "iopub.status.busy": "2023-10-26T15:40:47.245776Z", - "iopub.status.idle": "2023-10-26T15:40:47.255612Z", - "shell.execute_reply": "2023-10-26T15:40:47.255186Z" + "iopub.execute_input": "2023-10-26T21:54:29.042307Z", + "iopub.status.busy": "2023-10-26T21:54:29.041422Z", + "iopub.status.idle": "2023-10-26T21:54:29.052280Z", + "shell.execute_reply": "2023-10-26T21:54:29.051815Z" } }, "outputs": [ diff --git a/.doctrees/nbsphinx/tutorials/04-lucj.ipynb b/.doctrees/nbsphinx/tutorials/04-lucj.ipynb index 09ba4aa87..a11f8d251 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-26T15:40:49.173908Z", - "iopub.status.busy": "2023-10-26T15:40:49.173566Z", - "iopub.status.idle": "2023-10-26T15:40:49.721773Z", - "shell.execute_reply": "2023-10-26T15:40:49.721209Z" + "iopub.execute_input": "2023-10-26T21:54:30.789283Z", + "iopub.status.busy": "2023-10-26T21:54:30.788907Z", + "iopub.status.idle": "2023-10-26T21:54:31.461048Z", + "shell.execute_reply": "2023-10-26T21:54:31.460505Z" } }, "outputs": [ @@ -32,7 +32,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "CASCI E = -77.6290254326717 E(CI) = -3.57322412553863 S^2 = 0.0000000\n" + "CASCI E = -77.6290254326717 E(CI) = -3.57322412553862 S^2 = 0.0000000\n" ] } ], @@ -110,10 +110,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:49.724841Z", - "iopub.status.busy": "2023-10-26T15:40:49.724494Z", - "iopub.status.idle": "2023-10-26T15:40:50.692531Z", - "shell.execute_reply": "2023-10-26T15:40:50.691938Z" + "iopub.execute_input": "2023-10-26T21:54:31.465293Z", + "iopub.status.busy": "2023-10-26T21:54:31.464287Z", + "iopub.status.idle": "2023-10-26T21:54:31.898474Z", + "shell.execute_reply": "2023-10-26T21:54:31.897988Z" } }, "outputs": [ @@ -121,14 +121,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.49387212754473 E_corr = -0.04824536314851454\n" + "E(CCSD) = -77.49387212754476 E_corr = -0.0482453631485149\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -77.46975600021693\n" + "Energy at initialialization: -77.46975600021689\n" ] } ], @@ -173,10 +173,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:50.695286Z", - "iopub.status.busy": "2023-10-26T15:40:50.694948Z", - "iopub.status.idle": "2023-10-26T15:40:54.086057Z", - "shell.execute_reply": "2023-10-26T15:40:54.085582Z" + "iopub.execute_input": "2023-10-26T21:54:31.903123Z", + "iopub.status.busy": "2023-10-26T21:54:31.901767Z", + "iopub.status.idle": "2023-10-26T21:54:34.814416Z", + "shell.execute_reply": "2023-10-26T21:54:34.813892Z" } }, "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.51588951609632\n", - " x: [-1.450e-01 1.879e-01 ... -6.233e-01 -5.993e-02]\n", + " fun: -77.51554916701404\n", + " x: [-1.569e-01 1.944e-01 ... -6.056e-01 1.983e-01]\n", " nit: 9\n", - " jac: [ 4.106e-03 -8.635e-03 ... -2.993e-03 -1.670e-03]\n", - " nfev: 1168\n", - " njev: 16\n", + " jac: [-8.171e-03 -3.966e-03 ... -9.706e-03 1.509e-03]\n", + " nfev: 1022\n", + " njev: 14\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" ] } @@ -246,10 +246,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:54.088721Z", - "iopub.status.busy": "2023-10-26T15:40:54.088365Z", - "iopub.status.idle": "2023-10-26T15:40:57.233669Z", - "shell.execute_reply": "2023-10-26T15:40:57.233141Z" + "iopub.execute_input": "2023-10-26T21:54:34.817935Z", + "iopub.status.busy": "2023-10-26T21:54:34.817539Z", + "iopub.status.idle": "2023-10-26T21:54:37.520155Z", + "shell.execute_reply": "2023-10-26T21:54:37.519545Z" } }, "outputs": [ @@ -261,10 +261,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.46007276424072\n", - " x: [-3.689e-01 8.946e-02 ... -5.942e-01 1.631e-01]\n", - " nit: 16\n", - " jac: [-1.563e-04 3.979e-04 ... 4.633e-04 -1.531e-03]\n", + " fun: -77.46262558981611\n", + " x: [-3.094e-01 6.744e-02 ... -4.668e-01 2.137e-01]\n", + " nit: 17\n", + " jac: [-1.587e-03 1.123e-04 ... -4.022e-04 3.425e-04]\n", " nfev: 1034\n", " njev: 22\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 af60c1c26..ca695411a 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-26T15:40:58.912815Z", - "iopub.status.busy": "2023-10-26T15:40:58.912459Z", - "iopub.status.idle": "2023-10-26T15:40:59.499610Z", - "shell.execute_reply": "2023-10-26T15:40:59.498969Z" + "iopub.execute_input": "2023-10-26T21:54:39.107848Z", + "iopub.status.busy": "2023-10-26T21:54:39.107649Z", + "iopub.status.idle": "2023-10-26T21:54:39.723354Z", + "shell.execute_reply": "2023-10-26T21:54:39.722809Z" } }, "outputs": [ @@ -90,10 +90,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:59.502796Z", - "iopub.status.busy": "2023-10-26T15:40:59.502470Z", - "iopub.status.idle": "2023-10-26T15:40:59.525012Z", - "shell.execute_reply": "2023-10-26T15:40:59.524526Z" + "iopub.execute_input": "2023-10-26T21:54:39.727688Z", + "iopub.status.busy": "2023-10-26T21:54:39.726626Z", + "iopub.status.idle": "2023-10-26T21:54:39.749064Z", + "shell.execute_reply": "2023-10-26T21:54:39.748609Z" } }, "outputs": [ @@ -101,7 +101,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -75.6836617444762\n" + "Energy at initialialization: -75.68366174447623\n" ] } ], @@ -135,10 +135,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:59.528033Z", - "iopub.status.busy": "2023-10-26T15:40:59.527659Z", - "iopub.status.idle": "2023-10-26T15:41:01.268404Z", - "shell.execute_reply": "2023-10-26T15:41:01.267819Z" + "iopub.execute_input": "2023-10-26T21:54:39.752628Z", + "iopub.status.busy": "2023-10-26T21:54:39.751733Z", + "iopub.status.idle": "2023-10-26T21:54:41.490438Z", + "shell.execute_reply": "2023-10-26T21:54:41.489666Z" } }, "outputs": [ @@ -150,8 +150,8 @@ " message: Maximum number of function evaluations has been exceeded.\n", " success: False\n", " status: 2\n", - " fun: -75.69434198374157\n", - " x: [ 1.352e+00 8.664e-02 -2.940e-03 1.104e+00 -1.913e-01]\n", + " fun: -75.69430210107313\n", + " x: [ 1.344e+00 8.447e-02 -1.883e-03 1.105e+00 -1.881e-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 42ade8376..00beecc14 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-26T15:41:02.558992Z", - "iopub.status.busy": "2023-10-26T15:41:02.558609Z", - "iopub.status.idle": "2023-10-26T15:41:02.841652Z", - "shell.execute_reply": "2023-10-26T15:41:02.841145Z" + "iopub.execute_input": "2023-10-26T21:54:42.975850Z", + "iopub.status.busy": "2023-10-26T21:54:42.975373Z", + "iopub.status.idle": "2023-10-26T21:54:43.267057Z", + "shell.execute_reply": "2023-10-26T21:54:43.266479Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", + " (cre_a(0), des_a(3)): 0.5,\n", " (cre_a(3), des_a(0)): -0.25,\n", - " (cre_a(0), des_a(3)): 0.5\n", + " (cre_b(1), des_b(5), cre_a(4)): 1+1j\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.844287Z", - "iopub.status.busy": "2023-10-26T15:41:02.843875Z", - "iopub.status.idle": "2023-10-26T15:41:02.848987Z", - "shell.execute_reply": "2023-10-26T15:41:02.848434Z" + "iopub.execute_input": "2023-10-26T21:54:43.270889Z", + "iopub.status.busy": "2023-10-26T21:54:43.269857Z", + "iopub.status.idle": "2023-10-26T21:54:43.275030Z", + "shell.execute_reply": "2023-10-26T21:54:43.274490Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" + "'FermionOperator({((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.851513Z", - "iopub.status.busy": "2023-10-26T15:41:02.851326Z", - "iopub.status.idle": "2023-10-26T15:41:02.857252Z", - "shell.execute_reply": "2023-10-26T15:41:02.856741Z" + "iopub.execute_input": "2023-10-26T21:54:43.277738Z", + "iopub.status.busy": "2023-10-26T21:54:43.277491Z", + "iopub.status.idle": "2023-10-26T21:54:43.283561Z", + "shell.execute_reply": "2023-10-26T21:54:43.283042Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (des_a(3), des_b(3)): 0.0625,\n", + " (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_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_b(2)): 0-0.25j,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_a(0), des_a(3)): 1,\n", + " (cre_a(3), des_a(0)): -0.5,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (des_a(3), des_b(3)): 0.0625,\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", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", - " (cre_a(3), des_a(0)): -0.5\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.860132Z", - "iopub.status.busy": "2023-10-26T15:41:02.859935Z", - "iopub.status.idle": "2023-10-26T15:41:02.865132Z", - "shell.execute_reply": "2023-10-26T15:41:02.864630Z" + "iopub.execute_input": "2023-10-26T21:54:43.286372Z", + "iopub.status.busy": "2023-10-26T21:54:43.286147Z", + "iopub.status.idle": "2023-10-26T21:54:43.290042Z", + "shell.execute_reply": "2023-10-26T21:54:43.289581Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_b(2)): -5,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_b(2)): -5,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (des_a(3), des_b(3)): 0-1.25j,\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", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", - " (cre_a(3), des_a(0)): 0+3j\n", + " (cre_a(0), des_a(3), cre_b(2)): 2\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.867808Z", - "iopub.status.busy": "2023-10-26T15:41:02.867617Z", - "iopub.status.idle": "2023-10-26T15:41:02.872638Z", - "shell.execute_reply": "2023-10-26T15:41:02.872124Z" + "iopub.execute_input": "2023-10-26T21:54:43.292578Z", + "iopub.status.busy": "2023-10-26T21:54:43.292031Z", + "iopub.status.idle": "2023-10-26T21:54:43.295877Z", + "shell.execute_reply": "2023-10-26T21:54:43.295425Z" } }, "outputs": [ @@ -230,16 +230,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", - " (cre_b(2), cre_a(0), des_a(3)): 2,\n", " (cre_b(2), cre_a(3), des_a(0)): -1,\n", - " (cre_b(2)): -5,\n", - " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j\n", + " (cre_b(2)): -5,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2), cre_a(0), des_a(3)): 2,\n", + " (cre_a(0), des_a(3)): 0-6j\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.875652Z", - "iopub.status.busy": "2023-10-26T15:41:02.875246Z", - "iopub.status.idle": "2023-10-26T15:41:02.880572Z", - "shell.execute_reply": "2023-10-26T15:41:02.880030Z" + "iopub.execute_input": "2023-10-26T21:54:43.298353Z", + "iopub.status.busy": "2023-10-26T21:54:43.297816Z", + "iopub.status.idle": "2023-10-26T21:54:43.301192Z", + "shell.execute_reply": "2023-10-26T21:54:43.300757Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.883281Z", - "iopub.status.busy": "2023-10-26T15:41:02.883085Z", - "iopub.status.idle": "2023-10-26T15:41:02.888675Z", - "shell.execute_reply": "2023-10-26T15:41:02.888143Z" + "iopub.execute_input": "2023-10-26T21:54:43.303693Z", + "iopub.status.busy": "2023-10-26T21:54:43.303108Z", + "iopub.status.idle": "2023-10-26T21:54:43.307884Z", + "shell.execute_reply": "2023-10-26T21:54:43.307438Z" } }, "outputs": [ @@ -340,10 +340,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.891351Z", - "iopub.status.busy": "2023-10-26T15:41:02.891153Z", - "iopub.status.idle": "2023-10-26T15:41:02.898806Z", - "shell.execute_reply": "2023-10-26T15:41:02.898298Z" + "iopub.execute_input": "2023-10-26T21:54:43.310238Z", + "iopub.status.busy": "2023-10-26T21:54:43.309883Z", + "iopub.status.idle": "2023-10-26T21:54:43.315265Z", + "shell.execute_reply": "2023-10-26T21:54:43.314809Z" } }, "outputs": [ @@ -352,7 +352,7 @@ "text/plain": [ "array([ 0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " -0.11189423+0.03187888j, 0. +0.j ,\n", + " -0.15345942+0.16296314j, 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", " 0. +0.j ])" ] @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.901540Z", - "iopub.status.busy": "2023-10-26T15:41:02.901345Z", - "iopub.status.idle": "2023-10-26T15:41:02.912867Z", - "shell.execute_reply": "2023-10-26T15:41:02.912344Z" + "iopub.execute_input": "2023-10-26T21:54:43.317609Z", + "iopub.status.busy": "2023-10-26T21:54:43.317233Z", + "iopub.status.idle": "2023-10-26T21:54:43.328565Z", + "shell.execute_reply": "2023-10-26T21:54:43.328121Z" } }, "outputs": [ diff --git a/.doctrees/tutorials/04-lucj.doctree b/.doctrees/tutorials/04-lucj.doctree index b30592179797ebdbe5e29e470ca067985376b113..74221318e42b56a5c5b968022e19b118ce43367c 100644 GIT binary patch delta 2240 zcmZo(&GdH_6H5c@)S`_ni~@{ClY0atC(8@uFdA*{5#VG53QQB+117a57ua)5ZWY=9 zm5{u+)Yg^4b99A3{4D7xD=qE!b%}p*HF*Y%raHiz)(TKP|woD1kBXa z(^Jqj(=#wNgUeVLgP4=gg-QGATId;?8v?n;3cAL6mS!MD#tL9PmU`v}5H8R(Qv;B} z#<36!^U_kwtP~6ljEtcCEHK|>vRJ6cW zWBTOehM9xXahv-ayBSG!86vY%C+y^q4a6FNs+;dLa}5P|PQKIZ4bI?yS|5`dtl->A Zoe%{Zg)22`PoCR;XwW)tvutM?4*)u$6fXb( delta 2375 zcmeynim7=u6H5c@)QXKPi~@|tlY0atC(8@uFdA>}5#VG53QQB+117a5*9z?bvdn}l zfRgKlziF^n*c23{+Hp;`caR23L_5ebnVL*4w9}KYH0H9=2gyyzV2_=WVb_C8C6gu4 z0^4H7wUZN?bSA&HlV&wmP;iZz9OobfH4CI-p`9#26=IX$wsKA`wGU&=#&8d}r7_GQ zn36yXHm`J06{@$eurxI^Gq5x>HsVr%f(k2zXk9}+6H|j!T?0b}1w%axb4xH&Pft%l z*G$jI*ci;!HPy4U1Tl?bp_=nDORN+up`5J5WS~h3CVGYjWDWnK{TlW2jMiX{lva3WkPe77)|&vcP<^$pWDslVcm$C!Yxdt(6clF6&OYeV7CJc851KQ z7hDpV85@F_DCLcz8A^czEJ{qxK&6t2f`YN0CAjD^0UMRM=4|X>KBf9`tX}%#fDCwCJ S*(OhKKQyQvxLLe2jRycU9V=b{ diff --git a/.doctrees/tutorials/05-entanglement-forging.doctree b/.doctrees/tutorials/05-entanglement-forging.doctree index 6817167890bc329d55a705b7a67851718895870c..aa837294b29e01e482890b6f1cb74af4326134d7 100644 GIT binary patch delta 609 zcmbPMKBt_efpzM{jVy`s>^3$9MX7dNlP@aji5qj-=!1AuGT39MWZ3l}$uSyFz9(PI zSTH$IS7&maf*z1xpeMuBgDkK?Uw*Q)Vi==7$S^Krm?>Z`qw(hdifNo421bSkh6d)w zhQ?e95Kv*I5UpUSXKZ4Us%>DPpkSeAVq%`EYha|HYp7>oVGLv%D*zQ38km9=fJF@_ z`|Bx9KCiuq+6J<3ex#$yNKI3JP|dK-{rZYjb(-R2NyEuha~?2C6gP_+HF5#~IIEAe delta 577 zcmbPJKCPUkfpu#4MwUc*M(fF|*Z1f9?QthT>u*Xixua=G3$>KeFR|35ViRGchtIGL&jZk9G` zO8*jMn03`nSg^V(DX^q3@TzXoFvL4i@9Ltjch;3FZLlui|MP$TJn#E^-qktD>YU`k zIT{}r74FcLnBt4U6=mWREhK3tisrHAE09!+7_%4Sq*{e1j*?7Eg{2SE>i)mh1~fO5 zvZ9P>yB6PI&S!xtFUN{efhB_(Hw-+eGIx^puIy!!#u=i2&=?#Y%|>haU{dXn(YRfU zD@`kVQOFz7&uOq6$-;803VLhRxLd$IT8>Sp4jwKatd~Z>RYf!v#&`oZh+RkQ!!8=l zZWY!WX?XlFznQ( zF*$y`&Xk}{L*J%Ao{K_FP)7Ejyk{#*5DEl!F}~Exw$M*o)!6T~V5we?U;~ALjvTyc z=P>BfqPBtljXWpAif}^$db(4)n_l30iy1nR!kHd9`FIST3JlnGIkYx2X8lS6zXUO# zoWN&M(<0!zpT@Va6uEv8*?zLRfudjJbIF(q_Cj-0dP4^^`!E_f^&jrP&}K}3YW&&3 zNhy30100dW%d;cOd1y#N!_c52ZBU>0Wax{h($ delta 1881 zcmb`HT}V@59LCYcR?}^|={!5_%c+|>)SaEpojH{tn67>3Du^g`n;-L|m{3rZh6Pcp zCDr4VL3-0wpuvhRER(E|3cTt@q=@jUEN>)&z}}@7lBr?m@;uM;KAivid*63qI(=a} z{lO(A_IlL2%uF{JR)-o|f(cfNn@S-*Ds7v3r}JJx9nhwm8HBt#oTRc*W|s*|s`Qp} zJ4UFUE!>#u&ZfOxv}rRh`Hj9T#E(K2&kI}_Gm0=;sD;Sj+MvBN%xussg4r*BiW*L^Zu6gza9{Zd)@1PL#N-*chN121hY&ZkGel4c# z7CiB(ZwE4Qm&=5}Q9@{CW08}SUlYS@uf_#RgSX^6=FJk6tuoYOqSC{A?+Q1}*W6-p zf5}j%sA;IP7X3~&U$x0oHKz5PDTIRAn6#=eML4R1InXpqG2r$>(;~Op|I8Sl92JP(U#(fUrLCJFy@n@AtHm$8(1Zt zM`)8ncR-F&zYL!_X_^)Jb{m}TEYJa#6y%WWs)x;&Ld{cQOjUqH;OsgeJd8ZsXymmp zIdyPYjQbsWf-d#o2{7T7V!nw&yg7h39b$|{X;49m;1*-NsRT1o6Y&|$b`;@Dvt!3= zABA3{r_GRhF){8}Kpdg*q3tjhBN8OSDik|1*Fa`qE^NlVa4E^yFw!bQUnKuGFMn&` zzdBNgPPF&!c!qP)(w(kNR(4&~Dj0@y+N`YEQf^@x&cSh9H*Q@qVCh;O^zr?0Ume^k mlhnr}XwNx5>Eh{ziPeO!DjCclj@^I+}|B diff --git a/_modules/ffsim/hamiltonians/double_factorized_hamiltonian.html b/_modules/ffsim/hamiltonians/double_factorized_hamiltonian.html index 5ee208715..cfc20fd2c 100644 --- a/_modules/ffsim/hamiltonians/double_factorized_hamiltonian.html +++ b/_modules/ffsim/hamiltonians/double_factorized_hamiltonian.html @@ -57,7 +57,7 @@

Source code for ffsim.hamiltonians.double_factorized_hamiltonian

[docs] -@dataclasses.dataclass +@dataclasses.dataclass(frozen=True) class DoubleFactorizedHamiltonian: r"""A Hamiltonian in the double-factorized form of the low rank decomposition. diff --git a/_modules/ffsim/hamiltonians/molecular_hamiltonian.html b/_modules/ffsim/hamiltonians/molecular_hamiltonian.html index c361f9d5a..6ab03218f 100644 --- a/_modules/ffsim/hamiltonians/molecular_hamiltonian.html +++ b/_modules/ffsim/hamiltonians/molecular_hamiltonian.html @@ -61,7 +61,7 @@

Source code for ffsim.hamiltonians.molecular_hamiltonian

[docs] -@dataclasses.dataclass +@dataclasses.dataclass(frozen=True) class MolecularHamiltonian: r"""A molecular Hamiltonian. diff --git a/_modules/ffsim/molecular_data.html b/_modules/ffsim/molecular_data.html index f1add6eb4..a124b1ec4 100644 --- a/_modules/ffsim/molecular_data.html +++ b/_modules/ffsim/molecular_data.html @@ -93,7 +93,7 @@

Source code for ffsim.molecular_data

 
 
[docs] -@dataclasses.dataclass +@dataclasses.dataclass(frozen=True) class MolecularData: """Class for storing molecular data. @@ -115,27 +115,6 @@

Source code for ffsim.molecular_data

     dipole_integrals: np.ndarray | None = None
     orbital_symmetries: list[int] | None = None
 
-    # TODO remove this after Python 3.10 dataclasses allows keyword-only arguments
-    def __init__(
-        self,
-        *,
-        norb: int,
-        nelec: tuple[int, int],
-        core_energy: float,
-        one_body_tensor: np.ndarray,
-        two_body_tensor: np.ndarray,
-        dipole_integrals: np.ndarray | None = None,
-        orbital_symmetries: list[int] | None = None,
-    ):
-        self.norb = norb
-        self.nelec = nelec
-        self.core_energy = core_energy
-        self.one_body_tensor = one_body_tensor
-        self.two_body_tensor = two_body_tensor
-        self.dipole_integrals = dipole_integrals
-        self.orbital_symmetries = orbital_symmetries
-        super().__init__()
-
     @property
     def hamiltonian(self) -> MolecularHamiltonian:
         """The Hamiltonian defined by the molecular data."""
diff --git a/_modules/ffsim/variational/hopgate.html b/_modules/ffsim/variational/hopgate.html
index 089bc83b3..afae037b3 100644
--- a/_modules/ffsim/variational/hopgate.html
+++ b/_modules/ffsim/variational/hopgate.html
@@ -59,7 +59,7 @@ 

Source code for ffsim.variational.hopgate

 
 
[docs] -@dataclass +@dataclass(frozen=True) class HopGateAnsatzOperator: r"""A hop gate ansatz operator.""" diff --git a/_modules/ffsim/variational/ucj.html b/_modules/ffsim/variational/ucj.html index 5fa9d820e..fe96be51a 100644 --- a/_modules/ffsim/variational/ucj.html +++ b/_modules/ffsim/variational/ucj.html @@ -63,7 +63,7 @@

Source code for ffsim.variational.ucj

 
 
[docs] -@dataclass +@dataclass(frozen=True) class UCJOperator: r"""A unitary cluster Jastrow operator. diff --git a/api/ffsim.html b/api/ffsim.html index 39c388057..cb95c32d4 100644 --- a/api/ffsim.html +++ b/api/ffsim.html @@ -318,9 +318,9 @@
FermionOperator({
-    (cre_b(1), des_b(5), cre_a(4)): 1+1j,
     (cre_a(0), des_a(3)): 0.5,
-    (cre_a(3), des_a(0)): -0.25
+    (cre_a(3), des_a(0)): -0.25,
+    (cre_b(1), des_b(5), cre_a(4)): 1+1j
 })
 
@@ -356,9 +356,9 @@
FermionOperator({
-    (cre_b(2)): 0+1j,
     (cre_a(0), des_a(3)): 0.5,
     (cre_b(1), des_b(5), cre_a(4)): 1+1j,
+    (cre_b(2)): 0+1j,
     (cre_a(3), des_a(0)): -0.25,
     (des_a(3), des_b(3)): -0.25
 })
@@ -374,12 +374,12 @@
 
FermionOperator({
-    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
-    (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,
-    (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,
     (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,
+    (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,
     (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,
-    (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j
+    (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_a(3), des_a(0), cre_b(2)): 0-0.25j
 })
 
@@ -468,7 +468,7 @@
-class ffsim.MolecularData(*, norb, nelec, core_energy, one_body_tensor, two_body_tensor, dipole_integrals=None, orbital_symmetries=None)[source]¶
+class ffsim.MolecularData(norb, nelec, core_energy, one_body_tensor, two_body_tensor, dipole_integrals=None, orbital_symmetries=None)[source]¶

Bases: object

Class for storing molecular data.

diff --git a/searchindex.js b/searchindex.js index f5ddb59be..d6750bcbf 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, 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], "supportslinearoper": [0, 5], "convert": [0, 1, 6, 7, 8, 11], "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, 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, "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, 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, "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, 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], "diag_coulomb_linop": [1, 5], "implement": [1, 6, 7, 9], "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, "preserv": [5, 11], "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, "pyscf": [6, 8, 9, 10], "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, "52317394": 8, "53354575": 8, "24824057": 8, "55313202": 8, "21318608e": 8, "00": [8, 10], "07792507e": 8, "51465303": 8, "00852091": 8, "70710678": 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, "7": [8, 11], "final_st": [8, 9], "9990275744083494": 8, "improv": 8, "increas": [8, 9], "10": 8, "9999906233109683": 8, "commonli": 8, "known": 8, "fourth": 8, "reproduc": 8, "9": [8, 9, 11], "fewer": 8, "9999999336740071": 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], "57322412553863": 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], "49387212754473": 9, "e_corr": 9, "04824536314851454": 9, "46975600021693": 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], "51588951609632": 9, "450e": 9, "879e": 9, "233e": 9, "993e": 9, "02": [9, 10], "nit": 9, "jac": 9, "106e": 9, "03": [9, 10], "635e": 9, "670e": 9, "nfev": [9, 10], "1168": 9, "njev": 9, "16": 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, "46007276424072": 9, "689e": 9, "946e": 9, "942e": 9, "631e": 9, "563e": 9, "04": 9, "979e": 9, "633e": 9, "531e": 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, "14": 10, "3336207346502": 10, "reference_occupations_spati": 10, "6836617444762": 10, "cobyla": 10, "maxit": 10, "100": 10, "exceed": 10, "69434198374157": 10, "352e": 10, "664e": 10, "940e": 10, "104e": 10, "913e": 10, "maxcv": 10, "Such": 11, "programmat": 11, "dictionari": 11, "hash": 11, "tabl": 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, "far": 11, "criteria": 11, "op4": 11, "linop": 11, "onto": 11, "11189423": 11, "03187888j": 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, "", "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, "", "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, "", "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"]], "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"]], "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"]], "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], "125": [0, 11], "0625": [0, 11], "25j": [0, 11], "5j": [0, 11], "tupl": [0, 1, 2, 4, 8, 11], "complex": [0, 1, 2, 3], "conserves_particle_numb": [0, 11], "conserv": [0, 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], "supportslinearoper": [0, 5], "convert": [0, 1, 6, 7, 8, 11], "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, 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, "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, 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, "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, 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], "diag_coulomb_linop": [1, 5], "implement": [1, 6, 7, 9], "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, "preserv": [5, 11], "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, "pyscf": [6, 8, 9, 10], "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, 9], "57029092e": 8, "77238770e": 8, "52317394": 8, "53354575": 8, "24824057": 8, "55313202": 8, "21318608e": 8, "00": [8, 10], "07792507e": 8, "51465303": 8, "00852091": 8, "70710678": 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, "7": [8, 11], "final_st": [8, 9], "9990275744083494": 8, "improv": 8, "increas": [8, 9], "10": 8, "9999906233109683": 8, "commonli": 8, "known": 8, "fourth": 8, "reproduc": 8, "9": [8, 9, 11], "fewer": 8, "9999999336740071": 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, "0482453631485149": 9, "46975600021689": 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], "51554916701404": 9, "569e": 9, "944e": 9, "056e": 9, "983e": 9, "nit": 9, "jac": 9, "171e": 9, "03": [9, 10], "966e": 9, "706e": 9, "509e": 9, "nfev": [9, 10], "1022": 9, "njev": 9, "14": [9, 10], "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, "46262558981611": 9, "094e": 9, "744e": 9, "02": [9, 10], "668e": 9, "137e": 9, "587e": 9, "123e": 9, "04": 9, "022e": 9, "425e": 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, "68366174447623": 10, "cobyla": 10, "maxit": 10, "100": 10, "exceed": 10, "69430210107313": 10, "344e": 10, "447e": 10, "883e": 10, "105e": 10, "881e": 10, "maxcv": 10, "Such": 11, "programmat": 11, "dictionari": 11, "hash": 11, "tabl": 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, "3j": 11, "4j": 11, "12j": 11, "far": 11, "criteria": 11, "op4": 11, "linop": 11, "onto": 11, "15345942": 11, "16296314j": 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, "", "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, "", "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, "", "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"]], "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"]], "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"]], "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 738bf9af0..542a28d4f 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-26T15:40:42.829408Z", - "iopub.status.busy": "2023-10-26T15:40:42.829034Z", - "iopub.status.idle": "2023-10-26T15:40:43.115107Z", - "shell.execute_reply": "2023-10-26T15:40:43.114553Z" + "iopub.execute_input": "2023-10-26T21:54:24.626048Z", + "iopub.status.busy": "2023-10-26T21:54:24.625502Z", + "iopub.status.idle": "2023-10-26T21:54:24.916794Z", + "shell.execute_reply": "2023-10-26T21:54:24.916239Z" } }, "outputs": [], @@ -62,10 +62,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:43.119123Z", - "iopub.status.busy": "2023-10-26T15:40:43.118055Z", - "iopub.status.idle": "2023-10-26T15:40:43.123141Z", - "shell.execute_reply": "2023-10-26T15:40:43.122678Z" + "iopub.execute_input": "2023-10-26T21:54:24.921005Z", + "iopub.status.busy": "2023-10-26T21:54:24.919903Z", + "iopub.status.idle": "2023-10-26T21:54:24.925012Z", + "shell.execute_reply": "2023-10-26T21:54:24.924548Z" } }, "outputs": [], @@ -93,10 +93,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:43.126861Z", - "iopub.status.busy": "2023-10-26T15:40:43.125985Z", - "iopub.status.idle": "2023-10-26T15:40:43.129804Z", - "shell.execute_reply": "2023-10-26T15:40:43.129341Z" + "iopub.execute_input": "2023-10-26T21:54:24.928816Z", + "iopub.status.busy": "2023-10-26T21:54:24.927921Z", + "iopub.status.idle": "2023-10-26T21:54:24.931868Z", + "shell.execute_reply": "2023-10-26T21:54:24.931405Z" } }, "outputs": [], diff --git a/tutorials/02-orbital-rotation.ipynb b/tutorials/02-orbital-rotation.ipynb index d540c77ff..e59b1f447 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-26T15:40:44.747012Z", - "iopub.status.busy": "2023-10-26T15:40:44.746660Z", - "iopub.status.idle": "2023-10-26T15:40:45.026053Z", - "shell.execute_reply": "2023-10-26T15:40:45.025508Z" + "iopub.execute_input": "2023-10-26T21:54:26.554827Z", + "iopub.status.busy": "2023-10-26T21:54:26.554540Z", + "iopub.status.idle": "2023-10-26T21:54:26.838397Z", + "shell.execute_reply": "2023-10-26T21:54:26.837851Z" } }, "outputs": [], @@ -111,10 +111,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:45.030774Z", - "iopub.status.busy": "2023-10-26T15:40:45.029736Z", - "iopub.status.idle": "2023-10-26T15:40:45.055723Z", - "shell.execute_reply": "2023-10-26T15:40:45.055244Z" + "iopub.execute_input": "2023-10-26T21:54:26.843035Z", + "iopub.status.busy": "2023-10-26T21:54:26.841994Z", + "iopub.status.idle": "2023-10-26T21:54:26.867230Z", + "shell.execute_reply": "2023-10-26T21:54:26.866712Z" } }, "outputs": [], @@ -158,10 +158,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:45.059575Z", - "iopub.status.busy": "2023-10-26T15:40:45.058663Z", - "iopub.status.idle": "2023-10-26T15:40:45.069563Z", - "shell.execute_reply": "2023-10-26T15:40:45.069067Z" + "iopub.execute_input": "2023-10-26T21:54:26.871420Z", + "iopub.status.busy": "2023-10-26T21:54:26.870428Z", + "iopub.status.idle": "2023-10-26T21:54:26.881346Z", + "shell.execute_reply": "2023-10-26T21:54:26.880817Z" } }, "outputs": [], @@ -201,10 +201,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:45.073324Z", - "iopub.status.busy": "2023-10-26T15:40:45.072401Z", - "iopub.status.idle": "2023-10-26T15:40:45.077945Z", - "shell.execute_reply": "2023-10-26T15:40:45.077473Z" + "iopub.execute_input": "2023-10-26T21:54:26.885340Z", + "iopub.status.busy": "2023-10-26T21:54:26.884395Z", + "iopub.status.idle": "2023-10-26T21:54:26.890064Z", + "shell.execute_reply": "2023-10-26T21:54:26.889582Z" } }, "outputs": [], diff --git a/tutorials/03-double-factorized.ipynb b/tutorials/03-double-factorized.ipynb index 4191a3e16..aff25e788 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-26T15:40:46.698076Z", - "iopub.status.busy": "2023-10-26T15:40:46.697722Z", - "iopub.status.idle": "2023-10-26T15:40:47.057254Z", - "shell.execute_reply": "2023-10-26T15:40:47.056722Z" + "iopub.execute_input": "2023-10-26T21:54:28.517494Z", + "iopub.status.busy": "2023-10-26T21:54:28.517144Z", + "iopub.status.idle": "2023-10-26T21:54:28.859683Z", + "shell.execute_reply": "2023-10-26T21:54:28.859174Z" } }, "outputs": [ @@ -92,10 +92,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.061559Z", - "iopub.status.busy": "2023-10-26T15:40:47.060504Z", - "iopub.status.idle": "2023-10-26T15:40:47.068182Z", - "shell.execute_reply": "2023-10-26T15:40:47.067706Z" + "iopub.execute_input": "2023-10-26T21:54:28.863775Z", + "iopub.status.busy": "2023-10-26T21:54:28.862781Z", + "iopub.status.idle": "2023-10-26T21:54:28.870588Z", + "shell.execute_reply": "2023-10-26T21:54:28.870125Z" } }, "outputs": [ @@ -226,10 +226,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.071132Z", - "iopub.status.busy": "2023-10-26T15:40:47.070637Z", - "iopub.status.idle": "2023-10-26T15:40:47.076297Z", - "shell.execute_reply": "2023-10-26T15:40:47.075779Z" + "iopub.execute_input": "2023-10-26T21:54:28.874583Z", + "iopub.status.busy": "2023-10-26T21:54:28.873677Z", + "iopub.status.idle": "2023-10-26T21:54:28.879229Z", + "shell.execute_reply": "2023-10-26T21:54:28.878771Z" } }, "outputs": [], @@ -284,10 +284,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.078619Z", - "iopub.status.busy": "2023-10-26T15:40:47.078279Z", - "iopub.status.idle": "2023-10-26T15:40:47.081964Z", - "shell.execute_reply": "2023-10-26T15:40:47.081501Z" + "iopub.execute_input": "2023-10-26T21:54:28.882477Z", + "iopub.status.busy": "2023-10-26T21:54:28.882071Z", + "iopub.status.idle": "2023-10-26T21:54:28.885968Z", + "shell.execute_reply": "2023-10-26T21:54:28.885523Z" } }, "outputs": [], @@ -324,10 +324,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.155592Z", - "iopub.status.busy": "2023-10-26T15:40:47.154994Z", - "iopub.status.idle": "2023-10-26T15:40:47.159928Z", - "shell.execute_reply": "2023-10-26T15:40:47.159315Z" + "iopub.execute_input": "2023-10-26T21:54:28.952107Z", + "iopub.status.busy": "2023-10-26T21:54:28.951382Z", + "iopub.status.idle": "2023-10-26T21:54:28.957168Z", + "shell.execute_reply": "2023-10-26T21:54:28.956674Z" } }, "outputs": [ @@ -363,10 +363,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.162336Z", - "iopub.status.busy": "2023-10-26T15:40:47.162145Z", - "iopub.status.idle": "2023-10-26T15:40:47.172569Z", - "shell.execute_reply": "2023-10-26T15:40:47.171964Z" + "iopub.execute_input": "2023-10-26T21:54:28.959983Z", + "iopub.status.busy": "2023-10-26T21:54:28.959396Z", + "iopub.status.idle": "2023-10-26T21:54:28.968750Z", + "shell.execute_reply": "2023-10-26T21:54:28.968270Z" } }, "outputs": [ @@ -405,10 +405,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.175110Z", - "iopub.status.busy": "2023-10-26T15:40:47.174657Z", - "iopub.status.idle": "2023-10-26T15:40:47.183808Z", - "shell.execute_reply": "2023-10-26T15:40:47.183279Z" + "iopub.execute_input": "2023-10-26T21:54:28.971329Z", + "iopub.status.busy": "2023-10-26T21:54:28.970763Z", + "iopub.status.idle": "2023-10-26T21:54:28.979373Z", + "shell.execute_reply": "2023-10-26T21:54:28.978932Z" } }, "outputs": [ @@ -446,10 +446,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.186320Z", - "iopub.status.busy": "2023-10-26T15:40:47.186131Z", - "iopub.status.idle": "2023-10-26T15:40:47.219836Z", - "shell.execute_reply": "2023-10-26T15:40:47.219385Z" + "iopub.execute_input": "2023-10-26T21:54:28.981881Z", + "iopub.status.busy": "2023-10-26T21:54:28.981327Z", + "iopub.status.idle": "2023-10-26T21:54:29.016188Z", + "shell.execute_reply": "2023-10-26T21:54:29.015742Z" } }, "outputs": [ @@ -489,10 +489,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.222288Z", - "iopub.status.busy": "2023-10-26T15:40:47.222014Z", - "iopub.status.idle": "2023-10-26T15:40:47.243532Z", - "shell.execute_reply": "2023-10-26T15:40:47.243081Z" + "iopub.execute_input": "2023-10-26T21:54:29.019498Z", + "iopub.status.busy": "2023-10-26T21:54:29.018429Z", + "iopub.status.idle": "2023-10-26T21:54:29.038774Z", + "shell.execute_reply": "2023-10-26T21:54:29.038333Z" } }, "outputs": [ @@ -531,10 +531,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:47.246063Z", - "iopub.status.busy": "2023-10-26T15:40:47.245776Z", - "iopub.status.idle": "2023-10-26T15:40:47.255612Z", - "shell.execute_reply": "2023-10-26T15:40:47.255186Z" + "iopub.execute_input": "2023-10-26T21:54:29.042307Z", + "iopub.status.busy": "2023-10-26T21:54:29.041422Z", + "iopub.status.idle": "2023-10-26T21:54:29.052280Z", + "shell.execute_reply": "2023-10-26T21:54:29.051815Z" } }, "outputs": [ diff --git a/tutorials/04-lucj.html b/tutorials/04-lucj.html index 2ff465c19..5fdff9766 100644 --- a/tutorials/04-lucj.html +++ b/tutorials/04-lucj.html @@ -96,7 +96,7 @@

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

@@ -147,8 +147,8 @@

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -77.49387212754473  E_corr = -0.04824536314851454
-Energy at initialialization: -77.46975600021693
+E(CCSD) = -77.49387212754476  E_corr = -0.0482453631485149
+Energy at initialialization: -77.46975600021689
 

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-26T15:40:54.088721Z", - "iopub.status.busy": "2023-10-26T15:40:54.088365Z", - "iopub.status.idle": "2023-10-26T15:40:57.233669Z", - "shell.execute_reply": "2023-10-26T15:40:57.233141Z" + "iopub.execute_input": "2023-10-26T21:54:34.817935Z", + "iopub.status.busy": "2023-10-26T21:54:34.817539Z", + "iopub.status.idle": "2023-10-26T21:54:37.520155Z", + "shell.execute_reply": "2023-10-26T21:54:37.519545Z" } }, "outputs": [ @@ -261,10 +261,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.46007276424072\n", - " x: [-3.689e-01 8.946e-02 ... -5.942e-01 1.631e-01]\n", - " nit: 16\n", - " jac: [-1.563e-04 3.979e-04 ... 4.633e-04 -1.531e-03]\n", + " fun: -77.46262558981611\n", + " x: [-3.094e-01 6.744e-02 ... -4.668e-01 2.137e-01]\n", + " nit: 17\n", + " jac: [-1.587e-03 1.123e-04 ... -4.022e-04 3.425e-04]\n", " nfev: 1034\n", " njev: 22\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" diff --git a/tutorials/05-entanglement-forging.html b/tutorials/05-entanglement-forging.html index 50a53a5d6..0efcb3747 100644 --- a/tutorials/05-entanglement-forging.html +++ b/tutorials/05-entanglement-forging.html @@ -139,7 +139,7 @@

Entanglement forging
-Energy at initialialization: -75.6836617444762
+Energy at initialialization: -75.68366174447623
 

diff --git a/tutorials/05-entanglement-forging.ipynb b/tutorials/05-entanglement-forging.ipynb index af60c1c26..ca695411a 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-26T15:40:58.912815Z", - "iopub.status.busy": "2023-10-26T15:40:58.912459Z", - "iopub.status.idle": "2023-10-26T15:40:59.499610Z", - "shell.execute_reply": "2023-10-26T15:40:59.498969Z" + "iopub.execute_input": "2023-10-26T21:54:39.107848Z", + "iopub.status.busy": "2023-10-26T21:54:39.107649Z", + "iopub.status.idle": "2023-10-26T21:54:39.723354Z", + "shell.execute_reply": "2023-10-26T21:54:39.722809Z" } }, "outputs": [ @@ -90,10 +90,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:59.502796Z", - "iopub.status.busy": "2023-10-26T15:40:59.502470Z", - "iopub.status.idle": "2023-10-26T15:40:59.525012Z", - "shell.execute_reply": "2023-10-26T15:40:59.524526Z" + "iopub.execute_input": "2023-10-26T21:54:39.727688Z", + "iopub.status.busy": "2023-10-26T21:54:39.726626Z", + "iopub.status.idle": "2023-10-26T21:54:39.749064Z", + "shell.execute_reply": "2023-10-26T21:54:39.748609Z" } }, "outputs": [ @@ -101,7 +101,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -75.6836617444762\n" + "Energy at initialialization: -75.68366174447623\n" ] } ], @@ -135,10 +135,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:40:59.528033Z", - "iopub.status.busy": "2023-10-26T15:40:59.527659Z", - "iopub.status.idle": "2023-10-26T15:41:01.268404Z", - "shell.execute_reply": "2023-10-26T15:41:01.267819Z" + "iopub.execute_input": "2023-10-26T21:54:39.752628Z", + "iopub.status.busy": "2023-10-26T21:54:39.751733Z", + "iopub.status.idle": "2023-10-26T21:54:41.490438Z", + "shell.execute_reply": "2023-10-26T21:54:41.489666Z" } }, "outputs": [ @@ -150,8 +150,8 @@ " message: Maximum number of function evaluations has been exceeded.\n", " success: False\n", " status: 2\n", - " fun: -75.69434198374157\n", - " x: [ 1.352e+00 8.664e-02 -2.940e-03 1.104e+00 -1.913e-01]\n", + " fun: -75.69430210107313\n", + " x: [ 1.344e+00 8.447e-02 -1.883e-03 1.105e+00 -1.881e-01]\n", " nfev: 100\n", " maxcv: 0.0\n" ] diff --git a/tutorials/06-fermion-operator.html b/tutorials/06-fermion-operator.html index c5e5a64f0..c0d0a546b 100644 --- a/tutorials/06-fermion-operator.html +++ b/tutorials/06-fermion-operator.html @@ -78,9 +78,9 @@

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

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

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

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

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

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

@@ -162,17 +162,17 @@

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

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

The FermionOperator class
 array([ 0.        +0.j        ,  0.        +0.j        ,
         0.        +0.j        ,  0.        +0.j        ,
-       -0.11189423+0.03187888j,  0.        +0.j        ,
+       -0.15345942+0.16296314j,  0.        +0.j        ,
         0.        +0.j        ,  0.        +0.j        ,
         0.        +0.j        ])
 
diff --git a/tutorials/06-fermion-operator.ipynb b/tutorials/06-fermion-operator.ipynb index 42ade8376..00beecc14 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-26T15:41:02.558992Z", - "iopub.status.busy": "2023-10-26T15:41:02.558609Z", - "iopub.status.idle": "2023-10-26T15:41:02.841652Z", - "shell.execute_reply": "2023-10-26T15:41:02.841145Z" + "iopub.execute_input": "2023-10-26T21:54:42.975850Z", + "iopub.status.busy": "2023-10-26T21:54:42.975373Z", + "iopub.status.idle": "2023-10-26T21:54:43.267057Z", + "shell.execute_reply": "2023-10-26T21:54:43.266479Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", + " (cre_a(0), des_a(3)): 0.5,\n", " (cre_a(3), des_a(0)): -0.25,\n", - " (cre_a(0), des_a(3)): 0.5\n", + " (cre_b(1), des_b(5), cre_a(4)): 1+1j\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.844287Z", - "iopub.status.busy": "2023-10-26T15:41:02.843875Z", - "iopub.status.idle": "2023-10-26T15:41:02.848987Z", - "shell.execute_reply": "2023-10-26T15:41:02.848434Z" + "iopub.execute_input": "2023-10-26T21:54:43.270889Z", + "iopub.status.busy": "2023-10-26T21:54:43.269857Z", + "iopub.status.idle": "2023-10-26T21:54:43.275030Z", + "shell.execute_reply": "2023-10-26T21:54:43.274490Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" + "'FermionOperator({((True, False, 0), (False, False, 3)): 0.5+0j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.851513Z", - "iopub.status.busy": "2023-10-26T15:41:02.851326Z", - "iopub.status.idle": "2023-10-26T15:41:02.857252Z", - "shell.execute_reply": "2023-10-26T15:41:02.856741Z" + "iopub.execute_input": "2023-10-26T21:54:43.277738Z", + "iopub.status.busy": "2023-10-26T21:54:43.277491Z", + "iopub.status.idle": "2023-10-26T21:54:43.283561Z", + "shell.execute_reply": "2023-10-26T21:54:43.283042Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (des_a(3), des_b(3)): 0.0625,\n", + " (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_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_b(2)): 0-0.25j,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_a(0), des_a(3)): 1,\n", + " (cre_a(3), des_a(0)): -0.5,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (des_a(3), des_b(3)): 0.0625,\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", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", - " (cre_a(3), des_a(0)): -0.5\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j\n", "})" ] }, @@ -169,10 +169,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.860132Z", - "iopub.status.busy": "2023-10-26T15:41:02.859935Z", - "iopub.status.idle": "2023-10-26T15:41:02.865132Z", - "shell.execute_reply": "2023-10-26T15:41:02.864630Z" + "iopub.execute_input": "2023-10-26T21:54:43.286372Z", + "iopub.status.busy": "2023-10-26T21:54:43.286147Z", + "iopub.status.idle": "2023-10-26T21:54:43.290042Z", + "shell.execute_reply": "2023-10-26T21:54:43.289581Z" } }, "outputs": [ @@ -180,17 +180,17 @@ "data": { "text/plain": [ "FermionOperator({\n", + " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_b(2)): -5,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_b(2)): -5,\n", " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (des_a(3), des_b(3)): 0-1.25j,\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", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", - " (cre_a(3), des_a(0)): 0+3j\n", + " (cre_a(0), des_a(3), cre_b(2)): 2\n", "})" ] }, @@ -219,10 +219,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.867808Z", - "iopub.status.busy": "2023-10-26T15:41:02.867617Z", - "iopub.status.idle": "2023-10-26T15:41:02.872638Z", - "shell.execute_reply": "2023-10-26T15:41:02.872124Z" + "iopub.execute_input": "2023-10-26T21:54:43.292578Z", + "iopub.status.busy": "2023-10-26T21:54:43.292031Z", + "iopub.status.idle": "2023-10-26T21:54:43.295877Z", + "shell.execute_reply": "2023-10-26T21:54:43.295425Z" } }, "outputs": [ @@ -230,16 +230,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", - " (cre_b(2), cre_a(0), des_a(3)): 2,\n", " (cre_b(2), cre_a(3), des_a(0)): -1,\n", - " (cre_b(2)): -5,\n", - " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j\n", + " (cre_b(2)): -5,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2), cre_a(0), des_a(3)): 2,\n", + " (cre_a(0), des_a(3)): 0-6j\n", "})" ] }, @@ -264,10 +264,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.875652Z", - "iopub.status.busy": "2023-10-26T15:41:02.875246Z", - "iopub.status.idle": "2023-10-26T15:41:02.880572Z", - "shell.execute_reply": "2023-10-26T15:41:02.880030Z" + "iopub.execute_input": "2023-10-26T21:54:43.298353Z", + "iopub.status.busy": "2023-10-26T21:54:43.297816Z", + "iopub.status.idle": "2023-10-26T21:54:43.301192Z", + "shell.execute_reply": "2023-10-26T21:54:43.300757Z" } }, "outputs": [ @@ -297,10 +297,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.883281Z", - "iopub.status.busy": "2023-10-26T15:41:02.883085Z", - "iopub.status.idle": "2023-10-26T15:41:02.888675Z", - "shell.execute_reply": "2023-10-26T15:41:02.888143Z" + "iopub.execute_input": "2023-10-26T21:54:43.303693Z", + "iopub.status.busy": "2023-10-26T21:54:43.303108Z", + "iopub.status.idle": "2023-10-26T21:54:43.307884Z", + "shell.execute_reply": "2023-10-26T21:54:43.307438Z" } }, "outputs": [ @@ -340,10 +340,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.891351Z", - "iopub.status.busy": "2023-10-26T15:41:02.891153Z", - "iopub.status.idle": "2023-10-26T15:41:02.898806Z", - "shell.execute_reply": "2023-10-26T15:41:02.898298Z" + "iopub.execute_input": "2023-10-26T21:54:43.310238Z", + "iopub.status.busy": "2023-10-26T21:54:43.309883Z", + "iopub.status.idle": "2023-10-26T21:54:43.315265Z", + "shell.execute_reply": "2023-10-26T21:54:43.314809Z" } }, "outputs": [ @@ -352,7 +352,7 @@ "text/plain": [ "array([ 0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " -0.11189423+0.03187888j, 0. +0.j ,\n", + " -0.15345942+0.16296314j, 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", " 0. +0.j ])" ] @@ -379,10 +379,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2023-10-26T15:41:02.901540Z", - "iopub.status.busy": "2023-10-26T15:41:02.901345Z", - "iopub.status.idle": "2023-10-26T15:41:02.912867Z", - "shell.execute_reply": "2023-10-26T15:41:02.912344Z" + "iopub.execute_input": "2023-10-26T21:54:43.317609Z", + "iopub.status.busy": "2023-10-26T21:54:43.317233Z", + "iopub.status.idle": "2023-10-26T21:54:43.328565Z", + "shell.execute_reply": "2023-10-26T21:54:43.328121Z" } }, "outputs": [