diff --git a/.doctrees/api/ffsim.doctree b/.doctrees/api/ffsim.doctree index 3fec6a4f6..bb8ecc3ea 100644 Binary files a/.doctrees/api/ffsim.doctree and b/.doctrees/api/ffsim.doctree differ diff --git a/.doctrees/api/ffsim.qiskit.doctree b/.doctrees/api/ffsim.qiskit.doctree index 9c2792c0d..467be7482 100644 Binary files a/.doctrees/api/ffsim.qiskit.doctree and b/.doctrees/api/ffsim.qiskit.doctree differ diff --git a/.doctrees/environment.pickle b/.doctrees/environment.pickle index 2e935f6bf..6c717f41c 100644 Binary files a/.doctrees/environment.pickle and b/.doctrees/environment.pickle differ diff --git a/.doctrees/explanations/hamiltonians.doctree b/.doctrees/explanations/hamiltonians.doctree index d046117d3..bc3f209ec 100644 Binary files a/.doctrees/explanations/hamiltonians.doctree and b/.doctrees/explanations/hamiltonians.doctree differ diff --git a/.doctrees/how-to-guides/entanglement-forging.doctree b/.doctrees/how-to-guides/entanglement-forging.doctree index e15963886..a96584686 100644 Binary files a/.doctrees/how-to-guides/entanglement-forging.doctree and b/.doctrees/how-to-guides/entanglement-forging.doctree differ diff --git a/.doctrees/how-to-guides/fermion-operator.doctree b/.doctrees/how-to-guides/fermion-operator.doctree index addfb0f85..2e6ad29d0 100644 Binary files a/.doctrees/how-to-guides/fermion-operator.doctree and b/.doctrees/how-to-guides/fermion-operator.doctree differ diff --git a/.doctrees/how-to-guides/lucj.doctree b/.doctrees/how-to-guides/lucj.doctree index 42f83dddc..86ba3d2af 100644 Binary files a/.doctrees/how-to-guides/lucj.doctree and b/.doctrees/how-to-guides/lucj.doctree differ diff --git a/.doctrees/nbsphinx/explanations/hamiltonians.ipynb b/.doctrees/nbsphinx/explanations/hamiltonians.ipynb index e1c1f2a94..dc782d0d9 100644 --- a/.doctrees/nbsphinx/explanations/hamiltonians.ipynb +++ b/.doctrees/nbsphinx/explanations/hamiltonians.ipynb @@ -33,10 +33,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.177839Z", - "iopub.status.busy": "2024-04-29T11:29:45.177394Z", - "iopub.status.idle": "2024-04-29T11:29:45.793060Z", - "shell.execute_reply": "2024-04-29T11:29:45.792468Z" + "iopub.execute_input": "2024-04-29T12:27:27.786789Z", + "iopub.status.busy": "2024-04-29T12:27:27.786334Z", + "iopub.status.idle": "2024-04-29T12:27:28.387057Z", + "shell.execute_reply": "2024-04-29T12:27:28.386518Z" } }, "outputs": [], @@ -68,10 +68,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.796015Z", - "iopub.status.busy": "2024-04-29T11:29:45.795538Z", - "iopub.status.idle": "2024-04-29T11:29:45.798490Z", - "shell.execute_reply": "2024-04-29T11:29:45.798019Z" + "iopub.execute_input": "2024-04-29T12:27:28.390029Z", + "iopub.status.busy": "2024-04-29T12:27:28.389557Z", + "iopub.status.idle": "2024-04-29T12:27:28.392532Z", + "shell.execute_reply": "2024-04-29T12:27:28.392055Z" } }, "outputs": [], @@ -99,10 +99,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.800957Z", - "iopub.status.busy": "2024-04-29T11:29:45.800585Z", - "iopub.status.idle": "2024-04-29T11:29:45.803695Z", - "shell.execute_reply": "2024-04-29T11:29:45.803188Z" + "iopub.execute_input": "2024-04-29T12:27:28.394787Z", + "iopub.status.busy": "2024-04-29T12:27:28.394419Z", + "iopub.status.idle": "2024-04-29T12:27:28.397626Z", + "shell.execute_reply": "2024-04-29T12:27:28.397145Z" } }, "outputs": [], @@ -127,10 +127,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.806123Z", - "iopub.status.busy": "2024-04-29T11:29:45.805767Z", - "iopub.status.idle": "2024-04-29T11:29:45.810606Z", - "shell.execute_reply": "2024-04-29T11:29:45.810001Z" + "iopub.execute_input": "2024-04-29T12:27:28.399761Z", + "iopub.status.busy": "2024-04-29T12:27:28.399542Z", + "iopub.status.idle": "2024-04-29T12:27:28.404543Z", + "shell.execute_reply": "2024-04-29T12:27:28.403973Z" } }, "outputs": [], @@ -152,17 +152,17 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.814166Z", - "iopub.status.busy": "2024-04-29T11:29:45.813199Z", - "iopub.status.idle": "2024-04-29T11:29:45.846198Z", - "shell.execute_reply": "2024-04-29T11:29:45.845528Z" + "iopub.execute_input": "2024-04-29T12:27:28.407444Z", + "iopub.status.busy": "2024-04-29T12:27:28.406907Z", + "iopub.status.idle": "2024-04-29T12:27:28.437493Z", + "shell.execute_reply": "2024-04-29T12:27:28.436820Z" } }, "outputs": [ { "data": { "text/plain": [ - "-99.55717072551575" + "-99.55717072551572" ] }, "execution_count": 5, @@ -191,10 +191,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.878148Z", - "iopub.status.busy": "2024-04-29T11:29:45.877722Z", - "iopub.status.idle": "2024-04-29T11:29:46.678755Z", - "shell.execute_reply": "2024-04-29T11:29:46.678108Z" + "iopub.execute_input": "2024-04-29T12:27:28.471137Z", + "iopub.status.busy": "2024-04-29T12:27:28.470595Z", + "iopub.status.idle": "2024-04-29T12:27:29.239267Z", + "shell.execute_reply": "2024-04-29T12:27:29.238622Z" } }, "outputs": [ @@ -202,7 +202,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_4374/2190712273.py:2: UserWarning: Trace of LinearOperator not available, it will be estimated. Provide `traceA` to ensure performance.\n", + "/tmp/ipykernel_4397/2190712273.py:2: UserWarning: Trace of LinearOperator not available, it will be estimated. Provide `traceA` to ensure performance.\n", " evolved_vec = scipy.sparse.linalg.expm_multiply(-1j * time * linop, vec)\n" ] } @@ -224,10 +224,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:46.682776Z", - "iopub.status.busy": "2024-04-29T11:29:46.681604Z", - "iopub.status.idle": "2024-04-29T11:29:47.558188Z", - "shell.execute_reply": "2024-04-29T11:29:47.557565Z" + "iopub.execute_input": "2024-04-29T12:27:29.243622Z", + "iopub.status.busy": "2024-04-29T12:27:29.242559Z", + "iopub.status.idle": "2024-04-29T12:27:30.127447Z", + "shell.execute_reply": "2024-04-29T12:27:30.126811Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/explanations/orbital-rotation.ipynb b/.doctrees/nbsphinx/explanations/orbital-rotation.ipynb index 51b57323b..dbb16fa37 100644 --- a/.doctrees/nbsphinx/explanations/orbital-rotation.ipynb +++ b/.doctrees/nbsphinx/explanations/orbital-rotation.ipynb @@ -62,10 +62,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:49.231375Z", - "iopub.status.busy": "2024-04-29T11:29:49.231182Z", - "iopub.status.idle": "2024-04-29T11:29:49.834398Z", - "shell.execute_reply": "2024-04-29T11:29:49.833870Z" + "iopub.execute_input": "2024-04-29T12:27:31.760549Z", + "iopub.status.busy": "2024-04-29T12:27:31.760341Z", + "iopub.status.idle": "2024-04-29T12:27:32.383573Z", + "shell.execute_reply": "2024-04-29T12:27:32.383042Z" } }, "outputs": [], diff --git a/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb b/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb index 6b56a514d..91da4dc33 100644 --- a/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb +++ b/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb @@ -26,10 +26,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.314778Z", - "iopub.status.busy": "2024-04-29T11:29:51.314542Z", - "iopub.status.idle": "2024-04-29T11:29:51.926253Z", - "shell.execute_reply": "2024-04-29T11:29:51.925680Z" + "iopub.execute_input": "2024-04-29T12:27:33.730288Z", + "iopub.status.busy": "2024-04-29T12:27:33.729742Z", + "iopub.status.idle": "2024-04-29T12:27:34.351837Z", + "shell.execute_reply": "2024-04-29T12:27:34.351189Z" } }, "outputs": [ @@ -74,10 +74,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.928889Z", - "iopub.status.busy": "2024-04-29T11:29:51.928412Z", - "iopub.status.idle": "2024-04-29T11:29:51.935495Z", - "shell.execute_reply": "2024-04-29T11:29:51.934993Z" + "iopub.execute_input": "2024-04-29T12:27:34.354453Z", + "iopub.status.busy": "2024-04-29T12:27:34.354020Z", + "iopub.status.idle": "2024-04-29T12:27:34.360926Z", + "shell.execute_reply": "2024-04-29T12:27:34.360417Z" } }, "outputs": [ @@ -118,10 +118,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.937801Z", - "iopub.status.busy": "2024-04-29T11:29:51.937500Z", - "iopub.status.idle": "2024-04-29T11:29:51.941902Z", - "shell.execute_reply": "2024-04-29T11:29:51.941304Z" + "iopub.execute_input": "2024-04-29T12:27:34.363159Z", + "iopub.status.busy": "2024-04-29T12:27:34.362965Z", + "iopub.status.idle": "2024-04-29T12:27:34.367424Z", + "shell.execute_reply": "2024-04-29T12:27:34.366930Z" } }, "outputs": [ @@ -155,10 +155,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.944285Z", - "iopub.status.busy": "2024-04-29T11:29:51.943826Z", - "iopub.status.idle": "2024-04-29T11:29:51.948078Z", - "shell.execute_reply": "2024-04-29T11:29:51.947594Z" + "iopub.execute_input": "2024-04-29T12:27:34.369733Z", + "iopub.status.busy": "2024-04-29T12:27:34.369382Z", + "iopub.status.idle": "2024-04-29T12:27:34.373426Z", + "shell.execute_reply": "2024-04-29T12:27:34.372952Z" } }, "outputs": [ @@ -197,10 +197,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.950503Z", - "iopub.status.busy": "2024-04-29T11:29:51.950055Z", - "iopub.status.idle": "2024-04-29T11:29:51.956400Z", - "shell.execute_reply": "2024-04-29T11:29:51.955904Z" + "iopub.execute_input": "2024-04-29T12:27:34.375604Z", + "iopub.status.busy": "2024-04-29T12:27:34.375411Z", + "iopub.status.idle": "2024-04-29T12:27:34.381388Z", + "shell.execute_reply": "2024-04-29T12:27:34.380934Z" } }, "outputs": [ @@ -243,10 +243,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.958836Z", - "iopub.status.busy": "2024-04-29T11:29:51.958458Z", - "iopub.status.idle": "2024-04-29T11:29:51.963349Z", - "shell.execute_reply": "2024-04-29T11:29:51.962789Z" + "iopub.execute_input": "2024-04-29T12:27:34.383486Z", + "iopub.status.busy": "2024-04-29T12:27:34.383295Z", + "iopub.status.idle": "2024-04-29T12:27:34.388557Z", + "shell.execute_reply": "2024-04-29T12:27:34.388077Z" } }, "outputs": [ diff --git a/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb b/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb index ef4535e2d..8016626d6 100644 --- a/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb +++ b/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb @@ -18,10 +18,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:53.414745Z", - "iopub.status.busy": "2024-04-29T11:29:53.414519Z", - "iopub.status.idle": "2024-04-29T11:29:54.229797Z", - "shell.execute_reply": "2024-04-29T11:29:54.229199Z" + "iopub.execute_input": "2024-04-29T12:27:36.163552Z", + "iopub.status.busy": "2024-04-29T12:27:36.163358Z", + "iopub.status.idle": "2024-04-29T12:27:36.973173Z", + "shell.execute_reply": "2024-04-29T12:27:36.972581Z" } }, "outputs": [ @@ -105,10 +105,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:54.233743Z", - "iopub.status.busy": "2024-04-29T11:29:54.233185Z", - "iopub.status.idle": "2024-04-29T11:29:54.237927Z", - "shell.execute_reply": "2024-04-29T11:29:54.237468Z" + "iopub.execute_input": "2024-04-29T12:27:36.976683Z", + "iopub.status.busy": "2024-04-29T12:27:36.976389Z", + "iopub.status.idle": "2024-04-29T12:27:36.981041Z", + "shell.execute_reply": "2024-04-29T12:27:36.980457Z" } }, "outputs": [], @@ -148,10 +148,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:54.240301Z", - "iopub.status.busy": "2024-04-29T11:29:54.239972Z", - "iopub.status.idle": "2024-04-29T11:29:54.243159Z", - "shell.execute_reply": "2024-04-29T11:29:54.242694Z" + "iopub.execute_input": "2024-04-29T12:27:36.983369Z", + "iopub.status.busy": "2024-04-29T12:27:36.983014Z", + "iopub.status.idle": "2024-04-29T12:27:36.986198Z", + "shell.execute_reply": "2024-04-29T12:27:36.985639Z" } }, "outputs": [], @@ -180,10 +180,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:54.245588Z", - "iopub.status.busy": "2024-04-29T11:29:54.245160Z", - "iopub.status.idle": "2024-04-29T11:29:54.320427Z", - "shell.execute_reply": "2024-04-29T11:29:54.319953Z" + "iopub.execute_input": "2024-04-29T12:27:36.988363Z", + "iopub.status.busy": "2024-04-29T12:27:36.988176Z", + "iopub.status.idle": "2024-04-29T12:27:37.064244Z", + "shell.execute_reply": "2024-04-29T12:27:37.063661Z" } }, "outputs": [ @@ -191,7 +191,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -75.67794403659725\n" + "Energy at initialialization: -75.67794403659722\n" ] } ], @@ -218,10 +218,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:54.322625Z", - "iopub.status.busy": "2024-04-29T11:29:54.322411Z", - "iopub.status.idle": "2024-04-29T11:30:02.098914Z", - "shell.execute_reply": "2024-04-29T11:30:02.098354Z" + "iopub.execute_input": "2024-04-29T12:27:37.066784Z", + "iopub.status.busy": "2024-04-29T12:27:37.066408Z", + "iopub.status.idle": "2024-04-29T12:27:44.893255Z", + "shell.execute_reply": "2024-04-29T12:27:44.892615Z" } }, "outputs": [ @@ -233,10 +233,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -75.68381558382175\n", - " x: [-1.603e-01 6.415e-03 ... 5.748e-02 -1.005e-01]\n", + " fun: -75.68381571232878\n", + " x: [-1.603e-01 6.412e-03 ... 5.747e-02 -1.005e-01]\n", " nit: 3\n", - " jac: [ 2.160e-04 1.194e-04 ... -4.744e-03 7.449e-03]\n", + " jac: [ 2.203e-04 1.094e-04 ... -4.736e-03 7.384e-03]\n", " nfev: 112\n", " njev: 7\n", " hess_inv: <15x15 LbfgsInvHessProduct with dtype=float64>\n" diff --git a/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb b/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb index 0c90a05a0..758f5022e 100644 --- a/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb +++ b/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:03.511954Z", - "iopub.status.busy": "2024-04-29T11:30:03.511765Z", - "iopub.status.idle": "2024-04-29T11:30:04.111905Z", - "shell.execute_reply": "2024-04-29T11:30:04.111273Z" + "iopub.execute_input": "2024-04-29T12:27:46.352761Z", + "iopub.status.busy": "2024-04-29T12:27:46.352301Z", + "iopub.status.idle": "2024-04-29T12:27:46.968850Z", + "shell.execute_reply": "2024-04-29T12:27:46.968215Z" } }, "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": "2024-04-29T11:30:04.114641Z", - "iopub.status.busy": "2024-04-29T11:30:04.114075Z", - "iopub.status.idle": "2024-04-29T11:30:04.118093Z", - "shell.execute_reply": "2024-04-29T11:30:04.117574Z" + "iopub.execute_input": "2024-04-29T12:27:46.971631Z", + "iopub.status.busy": "2024-04-29T12:27:46.971206Z", + "iopub.status.idle": "2024-04-29T12:27:46.975376Z", + "shell.execute_reply": "2024-04-29T12:27:46.974900Z" } }, "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": "2024-04-29T11:30:04.120245Z", - "iopub.status.busy": "2024-04-29T11:30:04.120052Z", - "iopub.status.idle": "2024-04-29T11:30:04.124627Z", - "shell.execute_reply": "2024-04-29T11:30:04.124139Z" + "iopub.execute_input": "2024-04-29T12:27:46.977656Z", + "iopub.status.busy": "2024-04-29T12:27:46.977325Z", + "iopub.status.idle": "2024-04-29T12:27:46.981687Z", + "shell.execute_reply": "2024-04-29T12:27:46.981129Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_a(3), des_a(0)): -0.5,\n", - " (des_a(3), des_b(3)): 0.0625,\n", " (cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3)): 1,\n", " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", + " (cre_a(3), des_a(0)): -0.5,\n", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", + " (cre_b(1), des_b(5), cre_a(4), 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(0), des_a(3), cre_b(2)): 0+0.5j\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", + " (cre_a(0), des_a(3)): 1,\n", + " (des_a(3), des_b(3)): 0.0625\n", "})" ] }, @@ -170,10 +170,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.126846Z", - "iopub.status.busy": "2024-04-29T11:30:04.126488Z", - "iopub.status.idle": "2024-04-29T11:30:04.130427Z", - "shell.execute_reply": "2024-04-29T11:30:04.129879Z" + "iopub.execute_input": "2024-04-29T12:27:46.983944Z", + "iopub.status.busy": "2024-04-29T12:27:46.983586Z", + "iopub.status.idle": "2024-04-29T12:27:46.987498Z", + "shell.execute_reply": "2024-04-29T12:27:46.986934Z" } }, "outputs": [ @@ -181,17 +181,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", " (cre_b(2)): -5,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_a(3), des_a(0), cre_b(2)): -1,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4), 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(0), des_a(3), cre_b(2)): 2\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (des_a(3), des_b(3)): 0-1.25j\n", "})" ] }, @@ -220,10 +220,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.132626Z", - "iopub.status.busy": "2024-04-29T11:30:04.132303Z", - "iopub.status.idle": "2024-04-29T11:30:04.135956Z", - "shell.execute_reply": "2024-04-29T11:30:04.135491Z" + "iopub.execute_input": "2024-04-29T12:27:46.989840Z", + "iopub.status.busy": "2024-04-29T12:27:46.989474Z", + "iopub.status.idle": "2024-04-29T12:27:46.993257Z", + "shell.execute_reply": "2024-04-29T12:27:46.992710Z" } }, "outputs": [ @@ -231,16 +231,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (cre_b(2), cre_a(3), des_a(0)): -1,\n", - " (cre_b(2)): -5,\n", - " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", " (des_b(3), des_a(3)): 0+1.25j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", " (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(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2)): -5,\n", + " (cre_b(2), cre_a(0), des_a(3)): 2,\n", + " (cre_a(0), des_a(3)): 0-6j\n", "})" ] }, @@ -265,10 +265,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.138185Z", - "iopub.status.busy": "2024-04-29T11:30:04.137848Z", - "iopub.status.idle": "2024-04-29T11:30:04.141130Z", - "shell.execute_reply": "2024-04-29T11:30:04.140537Z" + "iopub.execute_input": "2024-04-29T12:27:46.995431Z", + "iopub.status.busy": "2024-04-29T12:27:46.995095Z", + "iopub.status.idle": "2024-04-29T12:27:46.998405Z", + "shell.execute_reply": "2024-04-29T12:27:46.997846Z" } }, "outputs": [ @@ -298,10 +298,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.143545Z", - "iopub.status.busy": "2024-04-29T11:30:04.143192Z", - "iopub.status.idle": "2024-04-29T11:30:04.147287Z", - "shell.execute_reply": "2024-04-29T11:30:04.146701Z" + "iopub.execute_input": "2024-04-29T12:27:47.000732Z", + "iopub.status.busy": "2024-04-29T12:27:47.000379Z", + "iopub.status.idle": "2024-04-29T12:27:47.004565Z", + "shell.execute_reply": "2024-04-29T12:27:47.003997Z" } }, "outputs": [ @@ -341,21 +341,21 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.149765Z", - "iopub.status.busy": "2024-04-29T11:30:04.149242Z", - "iopub.status.idle": "2024-04-29T11:30:04.154798Z", - "shell.execute_reply": "2024-04-29T11:30:04.154153Z" + "iopub.execute_input": "2024-04-29T12:27:47.006791Z", + "iopub.status.busy": "2024-04-29T12:27:47.006454Z", + "iopub.status.idle": "2024-04-29T12:27:47.012415Z", + "shell.execute_reply": "2024-04-29T12:27:47.011809Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([0. +0.j , 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0.02404118-0.0351354j, 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0. +0.j ])" + "array([ 0. +0.j , 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " -0.08897206-0.09438409j, 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0. +0.j ])" ] }, "execution_count": 8, @@ -380,10 +380,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.157321Z", - "iopub.status.busy": "2024-04-29T11:30:04.156866Z", - "iopub.status.idle": "2024-04-29T11:30:04.168520Z", - "shell.execute_reply": "2024-04-29T11:30:04.167968Z" + "iopub.execute_input": "2024-04-29T12:27:47.014990Z", + "iopub.status.busy": "2024-04-29T12:27:47.014505Z", + "iopub.status.idle": "2024-04-29T12:27:47.026087Z", + "shell.execute_reply": "2024-04-29T12:27:47.025518Z" } }, "outputs": [ diff --git a/.doctrees/nbsphinx/how-to-guides/lucj.ipynb b/.doctrees/nbsphinx/how-to-guides/lucj.ipynb index 7fcddfd55..7dfe280cf 100644 --- a/.doctrees/nbsphinx/how-to-guides/lucj.ipynb +++ b/.doctrees/nbsphinx/how-to-guides/lucj.ipynb @@ -14,10 +14,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:06.013846Z", - "iopub.status.busy": "2024-04-29T11:30:06.013655Z", - "iopub.status.idle": "2024-04-29T11:30:06.955265Z", - "shell.execute_reply": "2024-04-29T11:30:06.954628Z" + "iopub.execute_input": "2024-04-29T12:27:48.961938Z", + "iopub.status.busy": "2024-04-29T12:27:48.961419Z", + "iopub.status.idle": "2024-04-29T12:27:49.896358Z", + "shell.execute_reply": "2024-04-29T12:27:49.895739Z" } }, "outputs": [ @@ -107,10 +107,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:06.958913Z", - "iopub.status.busy": "2024-04-29T11:30:06.958278Z", - "iopub.status.idle": "2024-04-29T11:30:07.161770Z", - "shell.execute_reply": "2024-04-29T11:30:07.161212Z" + "iopub.execute_input": "2024-04-29T12:27:49.900719Z", + "iopub.status.busy": "2024-04-29T12:27:49.899600Z", + "iopub.status.idle": "2024-04-29T12:27:50.130524Z", + "shell.execute_reply": "2024-04-29T12:27:50.129935Z" } }, "outputs": [ @@ -118,7 +118,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.49387212754471 E_corr = -0.04824536314851305\n" + "E(CCSD) = -77.49387212754468 E_corr = -0.04824536314851351\n" ] }, { @@ -170,10 +170,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:07.164371Z", - "iopub.status.busy": "2024-04-29T11:30:07.164098Z", - "iopub.status.idle": "2024-04-29T11:30:51.904623Z", - "shell.execute_reply": "2024-04-29T11:30:51.904049Z" + "iopub.execute_input": "2024-04-29T12:27:50.134662Z", + "iopub.status.busy": "2024-04-29T12:27:50.133653Z", + "iopub.status.idle": "2024-04-29T12:28:34.989064Z", + "shell.execute_reply": "2024-04-29T12:28:34.988501Z" } }, "outputs": [ @@ -185,10 +185,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.50957472948254\n", - " x: [ 5.225e-01 -3.879e-01 ... 8.963e-02 1.359e-01]\n", + " fun: -77.50963842904653\n", + " x: [ 1.263e+00 -4.688e-01 ... 8.690e-02 1.366e-01]\n", " nit: 5\n", - " jac: [ 8.427e-04 -8.143e-04 ... -3.294e-03 -5.073e-03]\n", + " jac: [-4.974e-05 6.395e-04 ... -3.604e-03 -4.502e-03]\n", " nfev: 584\n", " njev: 8\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" @@ -243,10 +243,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:51.908369Z", - "iopub.status.busy": "2024-04-29T11:30:51.907858Z", - "iopub.status.idle": "2024-04-29T11:31:24.066045Z", - "shell.execute_reply": "2024-04-29T11:31:24.065472Z" + "iopub.execute_input": "2024-04-29T12:28:34.993216Z", + "iopub.status.busy": "2024-04-29T12:28:34.992236Z", + "iopub.status.idle": "2024-04-29T12:29:06.886828Z", + "shell.execute_reply": "2024-04-29T12:29:06.886184Z" } }, "outputs": [ @@ -258,10 +258,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45735186229277\n", - " x: [ 5.296e-01 -3.871e-01 ... -2.293e-03 1.062e-02]\n", + " fun: -77.45740952655616\n", + " x: [ 1.265e+00 -4.794e-01 ... 8.192e-03 8.208e-03]\n", " nit: 5\n", - " jac: [ 1.297e-03 8.171e-04 ... -3.372e-03 -1.857e-03]\n", + " jac: [ 1.307e-04 -1.407e-04 ... -1.249e-03 -3.453e-03]\n", " nfev: 423\n", " njev: 9\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -311,10 +311,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:24.069082Z", - "iopub.status.busy": "2024-04-29T11:31:24.068856Z", - "iopub.status.idle": "2024-04-29T11:31:51.772873Z", - "shell.execute_reply": "2024-04-29T11:31:51.772184Z" + "iopub.execute_input": "2024-04-29T12:29:06.891311Z", + "iopub.status.busy": "2024-04-29T12:29:06.890161Z", + "iopub.status.idle": "2024-04-29T12:29:39.824335Z", + "shell.execute_reply": "2024-04-29T12:29:39.823709Z" } }, "outputs": [ @@ -325,34 +325,34 @@ "Number of parameters: 46\n", " message: Stop: Total number of iterations reached limit.\n", " success: False\n", - " fun: -77.48260923717831\n", - " x: [ 7.996e-01 -5.333e-01 ... 3.215e-01 -5.873e-01]\n", + " fun: -77.4578454353424\n", + " x: [-3.826e+00 8.925e+00 ... 9.729e-01 6.437e-01]\n", " nit: 5\n", - " jac: [-4.104e-03 -1.517e-02 ... 5.971e-03 2.608e-03]\n", - " nfev: 814\n", + " jac: [ 8.774e-04 2.046e-03 ... -1.669e-05 -3.269e-03]\n", + " nfev: 841\n", " njev: 5\n", - " nlinop: 584\n", + " nlinop: 611\n", "\n", "Iteration 1\n", - " Energy: -77.45673584901218\n", - " Norm of gradient: 0.0164958131367898\n", - " Regularization hyperparameter: 0.02367629095824064\n", - " Variation hyperparameter: 0.33755681746167365\n", + " Energy: -77.43103721276847\n", + " Norm of gradient: 0.08729592721294072\n", + " Regularization hyperparameter: 1.2732954031856018e-11\n", + " Variation hyperparameter: 0.504987065321155\n", "Iteration 2\n", - " Energy: -77.45770347328356\n", - " Norm of gradient: 0.01001824149909948\n", - " Regularization hyperparameter: 0.000414413936600847\n", - " Variation hyperparameter: 0.3443513407932839\n", + " Energy: -77.4314789553586\n", + " Norm of gradient: 0.08531313567180646\n", + " Regularization hyperparameter: 8.352929781916682\n", + " Variation hyperparameter: 0.9988348999036183\n", "Iteration 3\n", - " Energy: -77.45773149347707\n", - " Norm of gradient: 0.009652495691516466\n", - " Regularization hyperparameter: 1.0400899203240295\n", - " Variation hyperparameter: 0.33013657203896457\n", + " Energy: -77.44619365555918\n", + " Norm of gradient: 0.015845038941322578\n", + " Regularization hyperparameter: 0.028364385191491454\n", + " Variation hyperparameter: 0.9974661839606402\n", "Iteration 4\n", - " Energy: -77.46626526615785\n", - " Norm of gradient: 0.04805410196761204\n", - " Regularization hyperparameter: 0.0017303281460898086\n", - " Variation hyperparameter: 0.1748618163102763\n" + " Energy: -77.45391634843948\n", + " Norm of gradient: 0.023687069370341447\n", + " Regularization hyperparameter: 0.003615488377960778\n", + " Variation hyperparameter: 0.9974709394967256\n" ] } ], diff --git a/.doctrees/nbsphinx/tutorials/double-factorized-trotter.ipynb b/.doctrees/nbsphinx/tutorials/double-factorized-trotter.ipynb index b8fefab92..40883e76e 100644 --- a/.doctrees/nbsphinx/tutorials/double-factorized-trotter.ipynb +++ b/.doctrees/nbsphinx/tutorials/double-factorized-trotter.ipynb @@ -18,10 +18,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:53.401657Z", - "iopub.status.busy": "2024-04-29T11:31:53.401204Z", - "iopub.status.idle": "2024-04-29T11:31:54.058194Z", - "shell.execute_reply": "2024-04-29T11:31:54.057609Z" + "iopub.execute_input": "2024-04-29T12:29:41.431200Z", + "iopub.status.busy": "2024-04-29T12:29:41.430997Z", + "iopub.status.idle": "2024-04-29T12:29:42.092292Z", + "shell.execute_reply": "2024-04-29T12:29:42.091658Z" } }, "outputs": [ @@ -79,10 +79,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.061249Z", - "iopub.status.busy": "2024-04-29T11:31:54.060704Z", - "iopub.status.idle": "2024-04-29T11:31:54.065083Z", - "shell.execute_reply": "2024-04-29T11:31:54.064500Z" + "iopub.execute_input": "2024-04-29T12:29:42.095377Z", + "iopub.status.busy": "2024-04-29T12:29:42.094795Z", + "iopub.status.idle": "2024-04-29T12:29:42.099198Z", + "shell.execute_reply": "2024-04-29T12:29:42.098618Z" } }, "outputs": [], @@ -105,10 +105,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.067656Z", - "iopub.status.busy": "2024-04-29T11:31:54.067279Z", - "iopub.status.idle": "2024-04-29T11:31:54.072307Z", - "shell.execute_reply": "2024-04-29T11:31:54.071780Z" + "iopub.execute_input": "2024-04-29T12:29:42.101757Z", + "iopub.status.busy": "2024-04-29T12:29:42.101398Z", + "iopub.status.idle": "2024-04-29T12:29:42.106500Z", + "shell.execute_reply": "2024-04-29T12:29:42.105993Z" } }, "outputs": [ @@ -171,10 +171,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.074538Z", - "iopub.status.busy": "2024-04-29T11:31:54.074185Z", - "iopub.status.idle": "2024-04-29T11:31:54.078718Z", - "shell.execute_reply": "2024-04-29T11:31:54.078122Z" + "iopub.execute_input": "2024-04-29T12:29:42.108873Z", + "iopub.status.busy": "2024-04-29T12:29:42.108532Z", + "iopub.status.idle": "2024-04-29T12:29:42.113165Z", + "shell.execute_reply": "2024-04-29T12:29:42.112544Z" } }, "outputs": [ @@ -207,10 +207,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.080938Z", - "iopub.status.busy": "2024-04-29T11:31:54.080747Z", - "iopub.status.idle": "2024-04-29T11:31:54.084742Z", - "shell.execute_reply": "2024-04-29T11:31:54.084247Z" + "iopub.execute_input": "2024-04-29T12:29:42.115291Z", + "iopub.status.busy": "2024-04-29T12:29:42.115096Z", + "iopub.status.idle": "2024-04-29T12:29:42.119008Z", + "shell.execute_reply": "2024-04-29T12:29:42.118412Z" } }, "outputs": [ @@ -241,10 +241,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.087008Z", - "iopub.status.busy": "2024-04-29T11:31:54.086650Z", - "iopub.status.idle": "2024-04-29T11:31:54.105086Z", - "shell.execute_reply": "2024-04-29T11:31:54.104616Z" + "iopub.execute_input": "2024-04-29T12:29:42.121247Z", + "iopub.status.busy": "2024-04-29T12:29:42.121060Z", + "iopub.status.idle": "2024-04-29T12:29:42.139791Z", + "shell.execute_reply": "2024-04-29T12:29:42.139177Z" } }, "outputs": [ @@ -252,7 +252,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Maximum error in a tensor entry: 0.036685417309834434\n" + "Maximum error in a tensor entry: 0.036685417309834656\n" ] } ], @@ -301,10 +301,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.107450Z", - "iopub.status.busy": "2024-04-29T11:31:54.106964Z", - "iopub.status.idle": "2024-04-29T11:31:54.111330Z", - "shell.execute_reply": "2024-04-29T11:31:54.110832Z" + "iopub.execute_input": "2024-04-29T12:29:42.142152Z", + "iopub.status.busy": "2024-04-29T12:29:42.141790Z", + "iopub.status.idle": "2024-04-29T12:29:42.146634Z", + "shell.execute_reply": "2024-04-29T12:29:42.146002Z" } }, "outputs": [], @@ -359,10 +359,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.113376Z", - "iopub.status.busy": "2024-04-29T11:31:54.113183Z", - "iopub.status.idle": "2024-04-29T11:31:54.116626Z", - "shell.execute_reply": "2024-04-29T11:31:54.116164Z" + "iopub.execute_input": "2024-04-29T12:29:42.149048Z", + "iopub.status.busy": "2024-04-29T12:29:42.148677Z", + "iopub.status.idle": "2024-04-29T12:29:42.152301Z", + "shell.execute_reply": "2024-04-29T12:29:42.151810Z" } }, "outputs": [], @@ -399,10 +399,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.118760Z", - "iopub.status.busy": "2024-04-29T11:31:54.118550Z", - "iopub.status.idle": "2024-04-29T11:31:57.082872Z", - "shell.execute_reply": "2024-04-29T11:31:57.082221Z" + "iopub.execute_input": "2024-04-29T12:29:42.154510Z", + "iopub.status.busy": "2024-04-29T12:29:42.154171Z", + "iopub.status.idle": "2024-04-29T12:29:45.128898Z", + "shell.execute_reply": "2024-04-29T12:29:45.128243Z" } }, "outputs": [], @@ -438,10 +438,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:57.086304Z", - "iopub.status.busy": "2024-04-29T11:31:57.085850Z", - "iopub.status.idle": "2024-04-29T11:31:57.170646Z", - "shell.execute_reply": "2024-04-29T11:31:57.169978Z" + "iopub.execute_input": "2024-04-29T12:29:45.132287Z", + "iopub.status.busy": "2024-04-29T12:29:45.131875Z", + "iopub.status.idle": "2024-04-29T12:29:45.221794Z", + "shell.execute_reply": "2024-04-29T12:29:45.221229Z" } }, "outputs": [ @@ -449,7 +449,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9402435386998327\n" + "Fidelity of Trotter-evolved state with exact state: 0.9402393562171305\n" ] } ], @@ -479,10 +479,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:57.173582Z", - "iopub.status.busy": "2024-04-29T11:31:57.173358Z", - "iopub.status.idle": "2024-04-29T11:31:57.473983Z", - "shell.execute_reply": "2024-04-29T11:31:57.473356Z" + "iopub.execute_input": "2024-04-29T12:29:45.224698Z", + "iopub.status.busy": "2024-04-29T12:29:45.224266Z", + "iopub.status.idle": "2024-04-29T12:29:45.549121Z", + "shell.execute_reply": "2024-04-29T12:29:45.548546Z" } }, "outputs": [ @@ -490,7 +490,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.998521286151722\n" + "Fidelity of Trotter-evolved state with exact state: 0.9985211214229683\n" ] } ], @@ -520,10 +520,10 @@ "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:57.501012Z", - "iopub.status.busy": "2024-04-29T11:31:57.499862Z", - "iopub.status.idle": "2024-04-29T11:31:57.779011Z", - "shell.execute_reply": "2024-04-29T11:31:57.778445Z" + "iopub.execute_input": "2024-04-29T12:29:45.552137Z", + "iopub.status.busy": "2024-04-29T12:29:45.551663Z", + "iopub.status.idle": "2024-04-29T12:29:45.834944Z", + "shell.execute_reply": "2024-04-29T12:29:45.834355Z" } }, "outputs": [ @@ -531,7 +531,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9985212861517185\n" + "Fidelity of Trotter-evolved state with exact state: 0.9985211214229975\n" ] } ], @@ -562,10 +562,10 @@ "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:57.783749Z", - "iopub.status.busy": "2024-04-29T11:31:57.782767Z", - "iopub.status.idle": "2024-04-29T11:31:57.999128Z", - "shell.execute_reply": "2024-04-29T11:31:57.998592Z" + "iopub.execute_input": "2024-04-29T12:29:45.839258Z", + "iopub.status.busy": "2024-04-29T12:29:45.838261Z", + "iopub.status.idle": "2024-04-29T12:29:46.066669Z", + "shell.execute_reply": "2024-04-29T12:29:46.066059Z" } }, "outputs": [ @@ -573,7 +573,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9996731164189284\n" + "Fidelity of Trotter-evolved state with exact state: 0.9996731166933271\n" ] } ], diff --git a/.doctrees/tutorials/double-factorized-trotter.doctree b/.doctrees/tutorials/double-factorized-trotter.doctree index 9d89cdf31..914085738 100644 Binary files a/.doctrees/tutorials/double-factorized-trotter.doctree and b/.doctrees/tutorials/double-factorized-trotter.doctree differ diff --git a/_modules/ffsim/qiskit/slater_determinant.html b/_modules/ffsim/qiskit/slater_determinant.html index f7a18b126..b861b05ae 100644 --- a/_modules/ffsim/qiskit/slater_determinant.html +++ b/_modules/ffsim/qiskit/slater_determinant.html @@ -306,10 +306,10 @@

Source code for ffsim.qiskit.slater_determinant

< where :math:`\mathcal{U}` is an :doc:`orbital rotation </explanations/orbital-rotation>` and - :math:`\lvert x \rangle` is a computational basis state. The reason this gate - exists (when :class:`OrbitalRotationJW` already exists) is that the preparation - of a Slater determinant has a more optimized circuit than a generic orbital - rotation. + :math:`\lvert x \rangle` is an electronic configuration (computational basis state). + The reason this gate exists (when :class:`OrbitalRotationJW` already exists) is that + the preparation of a Slater determinant has a more optimized circuit than a generic + orbital rotation. This gate is meant to be applied to the all zeros state. Its behavior when applied to any other state is not guaranteed. The global phase of the prepared state may @@ -330,7 +330,7 @@

Source code for ffsim.qiskit.slater_determinant

< self, norb: int, occupied_orbitals: tuple[Sequence[int], Sequence[int]], - orbital_rotation: np.ndarray | None = None, + orbital_rotation: np.ndarray | tuple[np.ndarray, np.ndarray] | None = None, label: str | None = None, validate: bool = True, rtol: float = 1e-5, @@ -340,12 +340,14 @@

Source code for ffsim.qiskit.slater_determinant

< Args: norb: The number of spatial orbitals. - occupied_orbitals: A pair of lists of integers. The first list specifies - the occupied alpha orbitals and the second list specifies the occupied - beta orbitals. - orbital_rotation: An optional orbital rotation to apply to the - electron configuration. In other words, this is a unitary matrix that - describes the orbitals of the Slater determinant. + occupied_orbitals: The occupied orbitals in the electonic configuration. + This is a pair of lists of integers, where the first list specifies the + spin alpha orbitals and the second list specifies the spin beta + orbitals. + orbital_rotation: The orbital rotation. You can pass either a single Numpy + array specifying the orbital rotation to apply to both spin sectors, or + you can pass a pair of Numpy arrays to specify independent orbital + rotations for spin alpha and spin beta. label: The label of the gate. validate: Whether to validate the inputs. rtol: Relative numerical tolerance for input validation. @@ -355,12 +357,23 @@

Source code for ffsim.qiskit.slater_determinant

< ValueError: orbital_coeffs must be a 2-dimensional array. ValueError: orbital_coeffs must have orthonormal columns. """ - if ( - validate - and orbital_rotation is not None - and not linalg.is_unitary(orbital_rotation, rtol=rtol, atol=atol) - ): - raise ValueError("The input orbital rotation matrix was not unitary.") + if validate and orbital_rotation is not None: + if isinstance(orbital_rotation, np.ndarray): + if not linalg.is_unitary(orbital_rotation, rtol=rtol, atol=atol): + raise ValueError( + "The input orbital rotation matrix was not unitary." + ) + else: + orbital_rotation_a, orbital_rotation_b = orbital_rotation + if not linalg.is_unitary(orbital_rotation_a, rtol=rtol, atol=atol): + raise ValueError( + "The orbital rotation matrix for spin alpha was not unitary." + ) + if not linalg.is_unitary(orbital_rotation_b, rtol=rtol, atol=atol): + raise ValueError( + "The orbital rotation matrix for spin beta was not unitary." + ) + self.norb = norb self.occupied_orbitals = occupied_orbitals self.orbital_rotation = orbital_rotation @@ -381,12 +394,17 @@

Source code for ffsim.qiskit.slater_determinant

< for instruction in _prepare_configuration_jw(beta_qubits, occ_b): circuit.append(instruction) else: + if isinstance(self.orbital_rotation, np.ndarray): + orbital_rotation_a = self.orbital_rotation + orbital_rotation_b = self.orbital_rotation + else: + orbital_rotation_a, orbital_rotation_b = self.orbital_rotation for instruction in _prepare_slater_determinant_jw( - alpha_qubits, self.orbital_rotation.T[list(occ_a)] + alpha_qubits, orbital_rotation_a.T[list(occ_a)] ): circuit.append(instruction) for instruction in _prepare_slater_determinant_jw( - beta_qubits, self.orbital_rotation.T[list(occ_b)] + beta_qubits, orbital_rotation_b.T[list(occ_b)] ): circuit.append(instruction) self.definition = circuit
diff --git a/_modules/ffsim/states/states.html b/_modules/ffsim/states/states.html index 63ca77a34..c9e4b9092 100644 --- a/_modules/ffsim/states/states.html +++ b/_modules/ffsim/states/states.html @@ -241,6 +241,7 @@

Source code for ffsim.states.states

 from pyscf.fci.spin_op import contract_ss
 
 from ffsim.gates.orbital_rotation import apply_orbital_rotation
+from ffsim.spin import Spin
 
 
 
@@ -303,18 +304,30 @@

Source code for ffsim.states.states

 def slater_determinant(
     norb: int,
     occupied_orbitals: tuple[Sequence[int], Sequence[int]],
-    orbital_rotation: np.ndarray | None = None,
+    orbital_rotation: np.ndarray | tuple[np.ndarray, np.ndarray] | None = None,
 ) -> np.ndarray:
-    """Return a Slater determinant.
+    r"""Return a Slater determinant.
+
+    A Slater determinant is a state of the form
+
+    .. math::
+
+        \mathcal{U} \lvert x \rangle,
+
+    where :math:`\mathcal{U}` is an
+    :doc:`orbital rotation </explanations/orbital-rotation>` and
+    :math:`\lvert x \rangle` is an electronic configuration.
 
     Args:
         norb: The number of spatial orbitals.
-        occupied_orbitals: A pair of lists of integers. The first list specifies
-            the occupied alpha orbitals and the second list specifies the occupied
-            beta orbitals.
-        orbital_rotation: An optional orbital rotation to apply to the
-            electron configuration. In other words, this is a unitary matrix that
-            describes the orbitals of the Slater determinant.
+        occupied_orbitals: The occupied orbitals in the electonic configuration.
+            This is a pair of lists of integers, where the first list specifies the
+            spin alpha orbitals and the second list specifies the spin beta
+            orbitals.
+        orbital_rotation: The orbital rotation. You can pass either a single Numpy
+            array specifying the orbital rotation to apply to both spin sectors, or
+            you can pass a pair of Numpy arrays to specify independent orbital
+            rotations for spin alpha and spin beta.
 
     Returns:
         The Slater determinant as a statevector.
@@ -337,7 +350,28 @@ 

Source code for ffsim.states.states

     beta_index = cistring.str2addr(norb, n_beta, beta_string)
     vec = one_hot((dim1, dim2), (alpha_index, beta_index), dtype=complex).reshape(-1)
     if orbital_rotation is not None:
-        vec = apply_orbital_rotation(vec, orbital_rotation, norb=norb, nelec=nelec)
+        if isinstance(orbital_rotation, np.ndarray):
+            vec = apply_orbital_rotation(
+                vec, orbital_rotation, norb=norb, nelec=nelec, copy=False
+            )
+        else:
+            orbital_rotation_a, orbital_rotation_b = orbital_rotation
+            vec = apply_orbital_rotation(
+                vec,
+                orbital_rotation_a,
+                norb=norb,
+                nelec=nelec,
+                spin=Spin.ALPHA,
+                copy=False,
+            )
+            vec = apply_orbital_rotation(
+                vec,
+                orbital_rotation_b,
+                norb=norb,
+                nelec=nelec,
+                spin=Spin.BETA,
+                copy=False,
+            )
     return vec
@@ -366,28 +400,33 @@

Source code for ffsim.states.states

 def slater_determinant_rdm(
     norb: int,
     occupied_orbitals: tuple[Sequence[int], Sequence[int]],
-    orbital_rotation: np.ndarray | None = None,
+    orbital_rotation: np.ndarray | tuple[np.ndarray, np.ndarray] | None = None,
     rank: int = 1,
     spin_summed: bool = True,
 ) -> np.ndarray:
-    """Return the reduced density matrix of a Slater determinant.
+    """Return the reduced density matrix of a `Slater determinant`_.
 
     Note:
         Currently, only rank 1 is supported.
 
     Args:
         norb: The number of spatial orbitals.
-        occupied_orbitals: A tuple of two sequences of integers. The first
-            sequence contains the indices of the occupied alpha orbitals, and
-            the second sequence similarly for the beta orbitals.
-        orbital_rotation: An optional orbital rotation to apply to the
-            electron configuration. In other words, this is a unitary matrix that
-            describes the orbitals of the Slater determinant.
-        rank: The rank of the reduced density matrix.
+        occupied_orbitals: The occupied orbitals in the electonic configuration.
+            This is a pair of lists of integers, where the first list specifies the
+            spin alpha orbitals and the second list specifies the spin beta
+            orbitals.
+        orbital_rotation: The orbital rotation. You can pass either a single Numpy
+            array specifying the orbital rotation to apply to both spin sectors, or
+            you can pass a pair of Numpy arrays to specify independent orbital
+            rotations for spin alpha and spin beta.
+        rank: The rank of the reduced density matrix. I.e., rank 1 corresponds to the
+            one-particle RDM, rank 2 corresponds to the 2-particle RDM, etc.
         spin_summed: Whether to sum over the spin index.
 
     Returns:
         The reduced density matrix of the Slater determinant.
+
+    .. _Slater determinant: ffsim.html#ffsim.slater_determinant
     """
     if rank == 1:
         rdm_a = np.zeros((norb, norb), dtype=complex)
@@ -399,8 +438,13 @@ 

Source code for ffsim.states.states

         if len(beta_orbitals):
             rdm_b[(beta_orbitals, beta_orbitals)] = 1
         if orbital_rotation is not None:
-            rdm_a = orbital_rotation.conj() @ rdm_a @ orbital_rotation.T
-            rdm_b = orbital_rotation.conj() @ rdm_b @ orbital_rotation.T
+            if isinstance(orbital_rotation, np.ndarray):
+                orbital_rotation_a = orbital_rotation
+                orbital_rotation_b = orbital_rotation
+            else:
+                orbital_rotation_a, orbital_rotation_b = orbital_rotation
+            rdm_a = orbital_rotation_a.conj() @ rdm_a @ orbital_rotation_a.T
+            rdm_b = orbital_rotation_b.conj() @ rdm_b @ orbital_rotation_b.T
         if spin_summed:
             return rdm_a + rdm_b
         return scipy.linalg.block_diag(rdm_a, rdm_b)
diff --git a/api/ffsim.html b/api/ffsim.html
index af4e6ff13..3e8390eda 100644
--- a/api/ffsim.html
+++ b/api/ffsim.html
@@ -2796,16 +2796,26 @@
 
ffsim.slater_determinant(norb, occupied_orbitals, orbital_rotation=None)[source]

Return a Slater determinant.

+

A Slater determinant is a state of the form

+
+
+\[\mathcal{U} \lvert x \rangle,\]
+
+

where \(\mathcal{U}\) is an +orbital rotation and +\(\lvert x \rangle\) is an electronic configuration.

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

  • -
  • occupied_orbitals (tuple[Sequence[int], Sequence[int]]) – A pair of lists of integers. The first list specifies -the occupied alpha orbitals and the second list specifies the occupied -beta orbitals.

  • -
  • orbital_rotation (ndarray | None) – An optional orbital rotation to apply to the -electron configuration. In other words, this is a unitary matrix that -describes the orbitals of the Slater determinant.

  • +
  • occupied_orbitals (tuple[Sequence[int], Sequence[int]]) – The occupied orbitals in the electonic configuration. +This is a pair of lists of integers, where the first list specifies the +spin alpha orbitals and the second list specifies the spin beta +orbitals.

  • +
  • orbital_rotation (ndarray | tuple[ndarray, ndarray] | None) – The orbital rotation. You can pass either a single Numpy +array specifying the orbital rotation to apply to both spin sectors, or +you can pass a pair of Numpy arrays to specify independent orbital +rotations for spin alpha and spin beta.

Return type:
@@ -2820,7 +2830,7 @@
ffsim.slater_determinant_rdm(norb, occupied_orbitals, orbital_rotation=None, rank=1, spin_summed=True)[source]
-

Return the reduced density matrix of a Slater determinant.

+

Return the reduced density matrix of a Slater determinant.

Note

Currently, only rank 1 is supported.

@@ -2829,13 +2839,16 @@
Parameters:
  • norb (int) – The number of spatial orbitals.

  • -
  • occupied_orbitals (tuple[Sequence[int], Sequence[int]]) – A tuple of two sequences of integers. The first -sequence contains the indices of the occupied alpha orbitals, and -the second sequence similarly for the beta orbitals.

  • -
  • orbital_rotation (ndarray | None) – An optional orbital rotation to apply to the -electron configuration. In other words, this is a unitary matrix that -describes the orbitals of the Slater determinant.

  • -
  • rank (int) – The rank of the reduced density matrix.

  • +
  • occupied_orbitals (tuple[Sequence[int], Sequence[int]]) – The occupied orbitals in the electonic configuration. +This is a pair of lists of integers, where the first list specifies the +spin alpha orbitals and the second list specifies the spin beta +orbitals.

  • +
  • orbital_rotation (ndarray | tuple[ndarray, ndarray] | None) – The orbital rotation. You can pass either a single Numpy +array specifying the orbital rotation to apply to both spin sectors, or +you can pass a pair of Numpy arrays to specify independent orbital +rotations for spin alpha and spin beta.

  • +
  • rank (int) – The rank of the reduced density matrix. I.e., rank 1 corresponds to the +one-particle RDM, rank 2 corresponds to the 2-particle RDM, etc.

  • spin_summed (bool) – Whether to sum over the spin index.

diff --git a/api/ffsim.qiskit.html b/api/ffsim.qiskit.html index 8fe3ab23f..2e333670e 100644 --- a/api/ffsim.qiskit.html +++ b/api/ffsim.qiskit.html @@ -431,10 +431,10 @@

where \(\mathcal{U}\) is an orbital rotation and -\(\lvert x \rangle\) is a computational basis state. The reason this gate -exists (when OrbitalRotationJW already exists) is that the preparation -of a Slater determinant has a more optimized circuit than a generic orbital -rotation.

+\(\lvert x \rangle\) is an electronic configuration (computational basis state). +The reason this gate exists (when OrbitalRotationJW already exists) is that +the preparation of a Slater determinant has a more optimized circuit than a generic +orbital rotation.

This gate is meant to be applied to the all zeros state. Its behavior when applied to any other state is not guaranteed. The global phase of the prepared state may be arbitrary.

@@ -450,12 +450,14 @@
Parameters:
  • norb (int) – The number of spatial orbitals.

  • -
  • occupied_orbitals (tuple[Sequence[int], Sequence[int]]) – A pair of lists of integers. The first list specifies -the occupied alpha orbitals and the second list specifies the occupied -beta orbitals.

  • -
  • orbital_rotation (ndarray | None) – An optional orbital rotation to apply to the -electron configuration. In other words, this is a unitary matrix that -describes the orbitals of the Slater determinant.

  • +
  • occupied_orbitals (tuple[Sequence[int], Sequence[int]]) – The occupied orbitals in the electonic configuration. +This is a pair of lists of integers, where the first list specifies the +spin alpha orbitals and the second list specifies the spin beta +orbitals.

  • +
  • orbital_rotation (ndarray | tuple[ndarray, ndarray] | None) – The orbital rotation. You can pass either a single Numpy +array specifying the orbital rotation to apply to both spin sectors, or +you can pass a pair of Numpy arrays to specify independent orbital +rotations for spin alpha and spin beta.

  • label (str | None) – The label of the gate.

  • validate (bool) – Whether to validate the inputs.

  • rtol (float) – Relative numerical tolerance for input validation.

  • diff --git a/explanations/hamiltonians.html b/explanations/hamiltonians.html index 92b6f73aa..a3dabd8b3 100644 --- a/explanations/hamiltonians.html +++ b/explanations/hamiltonians.html @@ -322,7 +322,7 @@

    Operator action via SciPy LinearOperators
    --99.55717072551575
    +-99.55717072551572
     

Time evolution by the Hamiltonian can be computed using expm_multiply:

@@ -340,7 +340,7 @@

Operator action via SciPy LinearOperators
-/tmp/ipykernel_4374/2190712273.py:2: UserWarning: Trace of LinearOperator not available, it will be estimated. Provide `traceA` to ensure performance.
+/tmp/ipykernel_4397/2190712273.py:2: UserWarning: Trace of LinearOperator not available, it will be estimated. Provide `traceA` to ensure performance.
   evolved_vec = scipy.sparse.linalg.expm_multiply(-1j * time * linop, vec)
 

diff --git a/explanations/hamiltonians.ipynb b/explanations/hamiltonians.ipynb index e1c1f2a94..dc782d0d9 100644 --- a/explanations/hamiltonians.ipynb +++ b/explanations/hamiltonians.ipynb @@ -33,10 +33,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.177839Z", - "iopub.status.busy": "2024-04-29T11:29:45.177394Z", - "iopub.status.idle": "2024-04-29T11:29:45.793060Z", - "shell.execute_reply": "2024-04-29T11:29:45.792468Z" + "iopub.execute_input": "2024-04-29T12:27:27.786789Z", + "iopub.status.busy": "2024-04-29T12:27:27.786334Z", + "iopub.status.idle": "2024-04-29T12:27:28.387057Z", + "shell.execute_reply": "2024-04-29T12:27:28.386518Z" } }, "outputs": [], @@ -68,10 +68,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.796015Z", - "iopub.status.busy": "2024-04-29T11:29:45.795538Z", - "iopub.status.idle": "2024-04-29T11:29:45.798490Z", - "shell.execute_reply": "2024-04-29T11:29:45.798019Z" + "iopub.execute_input": "2024-04-29T12:27:28.390029Z", + "iopub.status.busy": "2024-04-29T12:27:28.389557Z", + "iopub.status.idle": "2024-04-29T12:27:28.392532Z", + "shell.execute_reply": "2024-04-29T12:27:28.392055Z" } }, "outputs": [], @@ -99,10 +99,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.800957Z", - "iopub.status.busy": "2024-04-29T11:29:45.800585Z", - "iopub.status.idle": "2024-04-29T11:29:45.803695Z", - "shell.execute_reply": "2024-04-29T11:29:45.803188Z" + "iopub.execute_input": "2024-04-29T12:27:28.394787Z", + "iopub.status.busy": "2024-04-29T12:27:28.394419Z", + "iopub.status.idle": "2024-04-29T12:27:28.397626Z", + "shell.execute_reply": "2024-04-29T12:27:28.397145Z" } }, "outputs": [], @@ -127,10 +127,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.806123Z", - "iopub.status.busy": "2024-04-29T11:29:45.805767Z", - "iopub.status.idle": "2024-04-29T11:29:45.810606Z", - "shell.execute_reply": "2024-04-29T11:29:45.810001Z" + "iopub.execute_input": "2024-04-29T12:27:28.399761Z", + "iopub.status.busy": "2024-04-29T12:27:28.399542Z", + "iopub.status.idle": "2024-04-29T12:27:28.404543Z", + "shell.execute_reply": "2024-04-29T12:27:28.403973Z" } }, "outputs": [], @@ -152,17 +152,17 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.814166Z", - "iopub.status.busy": "2024-04-29T11:29:45.813199Z", - "iopub.status.idle": "2024-04-29T11:29:45.846198Z", - "shell.execute_reply": "2024-04-29T11:29:45.845528Z" + "iopub.execute_input": "2024-04-29T12:27:28.407444Z", + "iopub.status.busy": "2024-04-29T12:27:28.406907Z", + "iopub.status.idle": "2024-04-29T12:27:28.437493Z", + "shell.execute_reply": "2024-04-29T12:27:28.436820Z" } }, "outputs": [ { "data": { "text/plain": [ - "-99.55717072551575" + "-99.55717072551572" ] }, "execution_count": 5, @@ -191,10 +191,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:45.878148Z", - "iopub.status.busy": "2024-04-29T11:29:45.877722Z", - "iopub.status.idle": "2024-04-29T11:29:46.678755Z", - "shell.execute_reply": "2024-04-29T11:29:46.678108Z" + "iopub.execute_input": "2024-04-29T12:27:28.471137Z", + "iopub.status.busy": "2024-04-29T12:27:28.470595Z", + "iopub.status.idle": "2024-04-29T12:27:29.239267Z", + "shell.execute_reply": "2024-04-29T12:27:29.238622Z" } }, "outputs": [ @@ -202,7 +202,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_4374/2190712273.py:2: UserWarning: Trace of LinearOperator not available, it will be estimated. Provide `traceA` to ensure performance.\n", + "/tmp/ipykernel_4397/2190712273.py:2: UserWarning: Trace of LinearOperator not available, it will be estimated. Provide `traceA` to ensure performance.\n", " evolved_vec = scipy.sparse.linalg.expm_multiply(-1j * time * linop, vec)\n" ] } @@ -224,10 +224,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:46.682776Z", - "iopub.status.busy": "2024-04-29T11:29:46.681604Z", - "iopub.status.idle": "2024-04-29T11:29:47.558188Z", - "shell.execute_reply": "2024-04-29T11:29:47.557565Z" + "iopub.execute_input": "2024-04-29T12:27:29.243622Z", + "iopub.status.busy": "2024-04-29T12:27:29.242559Z", + "iopub.status.idle": "2024-04-29T12:27:30.127447Z", + "shell.execute_reply": "2024-04-29T12:27:30.126811Z" } }, "outputs": [], diff --git a/explanations/orbital-rotation.ipynb b/explanations/orbital-rotation.ipynb index 51b57323b..dbb16fa37 100644 --- a/explanations/orbital-rotation.ipynb +++ b/explanations/orbital-rotation.ipynb @@ -62,10 +62,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:49.231375Z", - "iopub.status.busy": "2024-04-29T11:29:49.231182Z", - "iopub.status.idle": "2024-04-29T11:29:49.834398Z", - "shell.execute_reply": "2024-04-29T11:29:49.833870Z" + "iopub.execute_input": "2024-04-29T12:27:31.760549Z", + "iopub.status.busy": "2024-04-29T12:27:31.760341Z", + "iopub.status.idle": "2024-04-29T12:27:32.383573Z", + "shell.execute_reply": "2024-04-29T12:27:32.383042Z" } }, "outputs": [], diff --git a/explanations/state-vectors-and-gates.ipynb b/explanations/state-vectors-and-gates.ipynb index 6b56a514d..91da4dc33 100644 --- a/explanations/state-vectors-and-gates.ipynb +++ b/explanations/state-vectors-and-gates.ipynb @@ -26,10 +26,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.314778Z", - "iopub.status.busy": "2024-04-29T11:29:51.314542Z", - "iopub.status.idle": "2024-04-29T11:29:51.926253Z", - "shell.execute_reply": "2024-04-29T11:29:51.925680Z" + "iopub.execute_input": "2024-04-29T12:27:33.730288Z", + "iopub.status.busy": "2024-04-29T12:27:33.729742Z", + "iopub.status.idle": "2024-04-29T12:27:34.351837Z", + "shell.execute_reply": "2024-04-29T12:27:34.351189Z" } }, "outputs": [ @@ -74,10 +74,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.928889Z", - "iopub.status.busy": "2024-04-29T11:29:51.928412Z", - "iopub.status.idle": "2024-04-29T11:29:51.935495Z", - "shell.execute_reply": "2024-04-29T11:29:51.934993Z" + "iopub.execute_input": "2024-04-29T12:27:34.354453Z", + "iopub.status.busy": "2024-04-29T12:27:34.354020Z", + "iopub.status.idle": "2024-04-29T12:27:34.360926Z", + "shell.execute_reply": "2024-04-29T12:27:34.360417Z" } }, "outputs": [ @@ -118,10 +118,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.937801Z", - "iopub.status.busy": "2024-04-29T11:29:51.937500Z", - "iopub.status.idle": "2024-04-29T11:29:51.941902Z", - "shell.execute_reply": "2024-04-29T11:29:51.941304Z" + "iopub.execute_input": "2024-04-29T12:27:34.363159Z", + "iopub.status.busy": "2024-04-29T12:27:34.362965Z", + "iopub.status.idle": "2024-04-29T12:27:34.367424Z", + "shell.execute_reply": "2024-04-29T12:27:34.366930Z" } }, "outputs": [ @@ -155,10 +155,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.944285Z", - "iopub.status.busy": "2024-04-29T11:29:51.943826Z", - "iopub.status.idle": "2024-04-29T11:29:51.948078Z", - "shell.execute_reply": "2024-04-29T11:29:51.947594Z" + "iopub.execute_input": "2024-04-29T12:27:34.369733Z", + "iopub.status.busy": "2024-04-29T12:27:34.369382Z", + "iopub.status.idle": "2024-04-29T12:27:34.373426Z", + "shell.execute_reply": "2024-04-29T12:27:34.372952Z" } }, "outputs": [ @@ -197,10 +197,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.950503Z", - "iopub.status.busy": "2024-04-29T11:29:51.950055Z", - "iopub.status.idle": "2024-04-29T11:29:51.956400Z", - "shell.execute_reply": "2024-04-29T11:29:51.955904Z" + "iopub.execute_input": "2024-04-29T12:27:34.375604Z", + "iopub.status.busy": "2024-04-29T12:27:34.375411Z", + "iopub.status.idle": "2024-04-29T12:27:34.381388Z", + "shell.execute_reply": "2024-04-29T12:27:34.380934Z" } }, "outputs": [ @@ -243,10 +243,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:29:51.958836Z", - "iopub.status.busy": "2024-04-29T11:29:51.958458Z", - "iopub.status.idle": "2024-04-29T11:29:51.963349Z", - "shell.execute_reply": "2024-04-29T11:29:51.962789Z" + "iopub.execute_input": "2024-04-29T12:27:34.383486Z", + "iopub.status.busy": "2024-04-29T12:27:34.383295Z", + "iopub.status.idle": "2024-04-29T12:27:34.388557Z", + "shell.execute_reply": "2024-04-29T12:27:34.388077Z" } }, "outputs": [ diff --git a/how-to-guides/entanglement-forging.html b/how-to-guides/entanglement-forging.html index b2c004a2b..3a3bbf0d3 100644 --- a/how-to-guides/entanglement-forging.html +++ b/how-to-guides/entanglement-forging.html @@ -369,7 +369,7 @@

Compute energy
-Energy at initialialization: -75.67794403659725
+Energy at initialialization: -75.67794403659722
 

@@ -415,10 +415,10 @@

Optimize energy\n" diff --git a/how-to-guides/fermion-operator.html b/how-to-guides/fermion-operator.html index 93e3b443c..801ba7367 100644 --- a/how-to-guides/fermion-operator.html +++ b/how-to-guides/fermion-operator.html @@ -260,9 +260,9 @@

How to use 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
 })
 

@@ -281,7 +281,7 @@

How to use 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.

@@ -309,17 +309,17 @@

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

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

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

How to use the FermionOperator class
-array([0.        +0.j       , 0.        +0.j       ,
-       0.        +0.j       , 0.        +0.j       ,
-       0.02404118-0.0351354j, 0.        +0.j       ,
-       0.        +0.j       , 0.        +0.j       ,
-       0.        +0.j       ])
+array([ 0.        +0.j        ,  0.        +0.j        ,
+        0.        +0.j        ,  0.        +0.j        ,
+       -0.08897206-0.09438409j,  0.        +0.j        ,
+        0.        +0.j        ,  0.        +0.j        ,
+        0.        +0.j        ])
 

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

diff --git a/how-to-guides/fermion-operator.ipynb b/how-to-guides/fermion-operator.ipynb index 0c90a05a0..758f5022e 100644 --- a/how-to-guides/fermion-operator.ipynb +++ b/how-to-guides/fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:03.511954Z", - "iopub.status.busy": "2024-04-29T11:30:03.511765Z", - "iopub.status.idle": "2024-04-29T11:30:04.111905Z", - "shell.execute_reply": "2024-04-29T11:30:04.111273Z" + "iopub.execute_input": "2024-04-29T12:27:46.352761Z", + "iopub.status.busy": "2024-04-29T12:27:46.352301Z", + "iopub.status.idle": "2024-04-29T12:27:46.968850Z", + "shell.execute_reply": "2024-04-29T12:27:46.968215Z" } }, "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": "2024-04-29T11:30:04.114641Z", - "iopub.status.busy": "2024-04-29T11:30:04.114075Z", - "iopub.status.idle": "2024-04-29T11:30:04.118093Z", - "shell.execute_reply": "2024-04-29T11:30:04.117574Z" + "iopub.execute_input": "2024-04-29T12:27:46.971631Z", + "iopub.status.busy": "2024-04-29T12:27:46.971206Z", + "iopub.status.idle": "2024-04-29T12:27:46.975376Z", + "shell.execute_reply": "2024-04-29T12:27:46.974900Z" } }, "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": "2024-04-29T11:30:04.120245Z", - "iopub.status.busy": "2024-04-29T11:30:04.120052Z", - "iopub.status.idle": "2024-04-29T11:30:04.124627Z", - "shell.execute_reply": "2024-04-29T11:30:04.124139Z" + "iopub.execute_input": "2024-04-29T12:27:46.977656Z", + "iopub.status.busy": "2024-04-29T12:27:46.977325Z", + "iopub.status.idle": "2024-04-29T12:27:46.981687Z", + "shell.execute_reply": "2024-04-29T12:27:46.981129Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_a(3), des_a(0)): -0.5,\n", - " (des_a(3), des_b(3)): 0.0625,\n", " (cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3)): 1,\n", " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", + " (cre_a(3), des_a(0)): -0.5,\n", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", + " (cre_b(1), des_b(5), cre_a(4), 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(0), des_a(3), cre_b(2)): 0+0.5j\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", + " (cre_a(0), des_a(3)): 1,\n", + " (des_a(3), des_b(3)): 0.0625\n", "})" ] }, @@ -170,10 +170,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.126846Z", - "iopub.status.busy": "2024-04-29T11:30:04.126488Z", - "iopub.status.idle": "2024-04-29T11:30:04.130427Z", - "shell.execute_reply": "2024-04-29T11:30:04.129879Z" + "iopub.execute_input": "2024-04-29T12:27:46.983944Z", + "iopub.status.busy": "2024-04-29T12:27:46.983586Z", + "iopub.status.idle": "2024-04-29T12:27:46.987498Z", + "shell.execute_reply": "2024-04-29T12:27:46.986934Z" } }, "outputs": [ @@ -181,17 +181,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", " (cre_b(2)): -5,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", " (cre_a(3), des_a(0), cre_b(2)): -1,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", + " (cre_b(1), des_b(5), cre_a(4), 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(0), des_a(3), cre_b(2)): 2\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", + " (cre_a(0), des_a(3)): 0-6j,\n", + " (des_a(3), des_b(3)): 0-1.25j\n", "})" ] }, @@ -220,10 +220,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.132626Z", - "iopub.status.busy": "2024-04-29T11:30:04.132303Z", - "iopub.status.idle": "2024-04-29T11:30:04.135956Z", - "shell.execute_reply": "2024-04-29T11:30:04.135491Z" + "iopub.execute_input": "2024-04-29T12:27:46.989840Z", + "iopub.status.busy": "2024-04-29T12:27:46.989474Z", + "iopub.status.idle": "2024-04-29T12:27:46.993257Z", + "shell.execute_reply": "2024-04-29T12:27:46.992710Z" } }, "outputs": [ @@ -231,16 +231,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", - " (cre_a(0), des_a(3)): 0-6j,\n", + " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (cre_b(2), cre_a(3), des_a(0)): -1,\n", - " (cre_b(2)): -5,\n", - " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", " (des_b(3), des_a(3)): 0+1.25j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", " (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(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (cre_b(2)): -5,\n", + " (cre_b(2), cre_a(0), des_a(3)): 2,\n", + " (cre_a(0), des_a(3)): 0-6j\n", "})" ] }, @@ -265,10 +265,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.138185Z", - "iopub.status.busy": "2024-04-29T11:30:04.137848Z", - "iopub.status.idle": "2024-04-29T11:30:04.141130Z", - "shell.execute_reply": "2024-04-29T11:30:04.140537Z" + "iopub.execute_input": "2024-04-29T12:27:46.995431Z", + "iopub.status.busy": "2024-04-29T12:27:46.995095Z", + "iopub.status.idle": "2024-04-29T12:27:46.998405Z", + "shell.execute_reply": "2024-04-29T12:27:46.997846Z" } }, "outputs": [ @@ -298,10 +298,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.143545Z", - "iopub.status.busy": "2024-04-29T11:30:04.143192Z", - "iopub.status.idle": "2024-04-29T11:30:04.147287Z", - "shell.execute_reply": "2024-04-29T11:30:04.146701Z" + "iopub.execute_input": "2024-04-29T12:27:47.000732Z", + "iopub.status.busy": "2024-04-29T12:27:47.000379Z", + "iopub.status.idle": "2024-04-29T12:27:47.004565Z", + "shell.execute_reply": "2024-04-29T12:27:47.003997Z" } }, "outputs": [ @@ -341,21 +341,21 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.149765Z", - "iopub.status.busy": "2024-04-29T11:30:04.149242Z", - "iopub.status.idle": "2024-04-29T11:30:04.154798Z", - "shell.execute_reply": "2024-04-29T11:30:04.154153Z" + "iopub.execute_input": "2024-04-29T12:27:47.006791Z", + "iopub.status.busy": "2024-04-29T12:27:47.006454Z", + "iopub.status.idle": "2024-04-29T12:27:47.012415Z", + "shell.execute_reply": "2024-04-29T12:27:47.011809Z" } }, "outputs": [ { "data": { "text/plain": [ - "array([0. +0.j , 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0.02404118-0.0351354j, 0. +0.j ,\n", - " 0. +0.j , 0. +0.j ,\n", - " 0. +0.j ])" + "array([ 0. +0.j , 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " -0.08897206-0.09438409j, 0. +0.j ,\n", + " 0. +0.j , 0. +0.j ,\n", + " 0. +0.j ])" ] }, "execution_count": 8, @@ -380,10 +380,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:04.157321Z", - "iopub.status.busy": "2024-04-29T11:30:04.156866Z", - "iopub.status.idle": "2024-04-29T11:30:04.168520Z", - "shell.execute_reply": "2024-04-29T11:30:04.167968Z" + "iopub.execute_input": "2024-04-29T12:27:47.014990Z", + "iopub.status.busy": "2024-04-29T12:27:47.014505Z", + "iopub.status.idle": "2024-04-29T12:27:47.026087Z", + "shell.execute_reply": "2024-04-29T12:27:47.025518Z" } }, "outputs": [ diff --git a/how-to-guides/lucj.html b/how-to-guides/lucj.html index e0ebed394..3ec2bfc9c 100644 --- a/how-to-guides/lucj.html +++ b/how-to-guides/lucj.html @@ -334,7 +334,7 @@

The unitary cluster Jastrow (UCJ) ansatz
-E(CCSD) = -77.49387212754471  E_corr = -0.04824536314851305
+E(CCSD) = -77.49387212754468  E_corr = -0.04824536314851351
 
@@ -381,10 +381,10 @@

The unitary cluster Jastrow (UCJ) ansatz\n" @@ -243,10 +243,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:30:51.908369Z", - "iopub.status.busy": "2024-04-29T11:30:51.907858Z", - "iopub.status.idle": "2024-04-29T11:31:24.066045Z", - "shell.execute_reply": "2024-04-29T11:31:24.065472Z" + "iopub.execute_input": "2024-04-29T12:28:34.993216Z", + "iopub.status.busy": "2024-04-29T12:28:34.992236Z", + "iopub.status.idle": "2024-04-29T12:29:06.886828Z", + "shell.execute_reply": "2024-04-29T12:29:06.886184Z" } }, "outputs": [ @@ -258,10 +258,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.45735186229277\n", - " x: [ 5.296e-01 -3.871e-01 ... -2.293e-03 1.062e-02]\n", + " fun: -77.45740952655616\n", + " x: [ 1.265e+00 -4.794e-01 ... 8.192e-03 8.208e-03]\n", " nit: 5\n", - " jac: [ 1.297e-03 8.171e-04 ... -3.372e-03 -1.857e-03]\n", + " jac: [ 1.307e-04 -1.407e-04 ... -1.249e-03 -3.453e-03]\n", " nfev: 423\n", " njev: 9\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -311,10 +311,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:24.069082Z", - "iopub.status.busy": "2024-04-29T11:31:24.068856Z", - "iopub.status.idle": "2024-04-29T11:31:51.772873Z", - "shell.execute_reply": "2024-04-29T11:31:51.772184Z" + "iopub.execute_input": "2024-04-29T12:29:06.891311Z", + "iopub.status.busy": "2024-04-29T12:29:06.890161Z", + "iopub.status.idle": "2024-04-29T12:29:39.824335Z", + "shell.execute_reply": "2024-04-29T12:29:39.823709Z" } }, "outputs": [ @@ -325,34 +325,34 @@ "Number of parameters: 46\n", " message: Stop: Total number of iterations reached limit.\n", " success: False\n", - " fun: -77.48260923717831\n", - " x: [ 7.996e-01 -5.333e-01 ... 3.215e-01 -5.873e-01]\n", + " fun: -77.4578454353424\n", + " x: [-3.826e+00 8.925e+00 ... 9.729e-01 6.437e-01]\n", " nit: 5\n", - " jac: [-4.104e-03 -1.517e-02 ... 5.971e-03 2.608e-03]\n", - " nfev: 814\n", + " jac: [ 8.774e-04 2.046e-03 ... -1.669e-05 -3.269e-03]\n", + " nfev: 841\n", " njev: 5\n", - " nlinop: 584\n", + " nlinop: 611\n", "\n", "Iteration 1\n", - " Energy: -77.45673584901218\n", - " Norm of gradient: 0.0164958131367898\n", - " Regularization hyperparameter: 0.02367629095824064\n", - " Variation hyperparameter: 0.33755681746167365\n", + " Energy: -77.43103721276847\n", + " Norm of gradient: 0.08729592721294072\n", + " Regularization hyperparameter: 1.2732954031856018e-11\n", + " Variation hyperparameter: 0.504987065321155\n", "Iteration 2\n", - " Energy: -77.45770347328356\n", - " Norm of gradient: 0.01001824149909948\n", - " Regularization hyperparameter: 0.000414413936600847\n", - " Variation hyperparameter: 0.3443513407932839\n", + " Energy: -77.4314789553586\n", + " Norm of gradient: 0.08531313567180646\n", + " Regularization hyperparameter: 8.352929781916682\n", + " Variation hyperparameter: 0.9988348999036183\n", "Iteration 3\n", - " Energy: -77.45773149347707\n", - " Norm of gradient: 0.009652495691516466\n", - " Regularization hyperparameter: 1.0400899203240295\n", - " Variation hyperparameter: 0.33013657203896457\n", + " Energy: -77.44619365555918\n", + " Norm of gradient: 0.015845038941322578\n", + " Regularization hyperparameter: 0.028364385191491454\n", + " Variation hyperparameter: 0.9974661839606402\n", "Iteration 4\n", - " Energy: -77.46626526615785\n", - " Norm of gradient: 0.04805410196761204\n", - " Regularization hyperparameter: 0.0017303281460898086\n", - " Variation hyperparameter: 0.1748618163102763\n" + " Energy: -77.45391634843948\n", + " Norm of gradient: 0.023687069370341447\n", + " Regularization hyperparameter: 0.003615488377960778\n", + " Variation hyperparameter: 0.9974709394967256\n" ] } ], diff --git a/searchindex.js b/searchindex.js index 70d0d2d1f..c3250a4ea 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API Reference": [[7, "api-reference"]], "Application to the double-factorized Hamiltonian": [[8, "Application-to-the-double-factorized-Hamiltonian"]], "Application to time evolution via Trotter-Suzuki formulas": [[8, "Application-to-time-evolution-via-Trotter-Suzuki-formulas"]], "Brief background on Trotter-Suzuki formulas": [[8, "Brief-background-on-Trotter-Suzuki-formulas"]], "Build a molecule": [[13, "Build-a-molecule"]], "Build the Hamiltonian": [[19, "Build-the-Hamiltonian"]], "Choose reference occupations": [[13, "Choose-reference-occupations"]], "Citing ffsim": [[17, "citing-ffsim"]], "Compute energy": [[13, "Compute-energy"]], "Contents": [[17, "contents"]], "Data representation": [[9, "Data-representation"]], "Double-factorized representation": [[8, "Double-factorized-representation"]], "Double-factorized representation of the molecular Hamiltonian": [[8, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Explanations": [[10, "explanations"]], "Gates": [[12, "Gates"]], "Hamiltonians": [[9, "Hamiltonians"]], "How to simulate entanglement forging": [[13, "How-to-simulate-entanglement-forging"]], "How to simulate the local unitary cluster Jastrow (LUCJ) ansatz": [[16, "How-to-simulate-the-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"]], "How to use the FermionOperator class": [[14, "How-to-use-the-FermionOperator-class"]], "How-to guides": [[15, "how-to-guides"]], "Implement Trotter simulation": [[19, "Implement-Trotter-simulation"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[19, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Initialize ansatz operator": [[13, "Initialize-ansatz-operator"]], "Install from source": [[18, "install-from-source"]], "Installation": [[17, "installation"], [18, "installation"]], "Operator action via SciPy LinearOperators": [[9, "Operator-action-via-SciPy-LinearOperators"]], "Optimize energy": [[13, "Optimize-energy"]], "Optimize with the linear method": [[16, "Optimize-with-the-linear-method"]], "Orbital rotations": [[11, "Orbital-rotations"]], "Orbital rotations and quadratic Hamiltonians": [[11, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Pip install": [[18, "pip-install"]], "State vectors": [[12, "State-vectors"]], "State vectors and gates": [[12, "State-vectors-and-gates"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[16, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"]], "The unitary cluster Jastrow (UCJ) ansatz": [[16, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Time evolution by a quadratic Hamiltonian": [[11, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Tutorials": [[20, "tutorials"]], "Use within Docker": [[18, "use-within-docker"]], "ffsim": [[0, "module-ffsim"], [17, "ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "ffsim.qiskit": [[4, "module-ffsim.qiskit"]], "ffsim.random": [[5, "module-ffsim.random"]], "ffsim.testing": [[6, "module-ffsim.testing"]]}, "docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.linalg", "api/ffsim.optimize", "api/ffsim.qiskit", "api/ffsim.random", "api/ffsim.testing", "api/index", "explanations/double-factorized", "explanations/hamiltonians", "explanations/index", "explanations/orbital-rotation", "explanations/state-vectors-and-gates", "how-to-guides/entanglement-forging", "how-to-guides/fermion-operator", "how-to-guides/index", "how-to-guides/lucj", "index", "install", "tutorials/double-factorized-trotter", "tutorials/index"], "envversion": {"nbsphinx": 4, "sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.linalg.rst", "api/ffsim.optimize.rst", "api/ffsim.qiskit.rst", "api/ffsim.random.rst", "api/ffsim.testing.rst", "api/index.md", "explanations/double-factorized.ipynb", "explanations/hamiltonians.ipynb", "explanations/index.md", "explanations/orbital-rotation.ipynb", "explanations/state-vectors-and-gates.ipynb", "how-to-guides/entanglement-forging.ipynb", "how-to-guides/fermion-operator.ipynb", "how-to-guides/index.md", "how-to-guides/lucj.ipynb", "index.md", "install.md", "tutorials/double-factorized-trotter.ipynb", "tutorials/index.md"], "indexentries": {"__init__() (ffsim.qiskit.diagcoulombevolutionjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW.__init__", false]], "__init__() (ffsim.qiskit.dropnegligible method)": [[4, "ffsim.qiskit.DropNegligible.__init__", false]], "__init__() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.__init__", false]], "__init__() (ffsim.qiskit.preparehartreefockjw method)": [[4, "ffsim.qiskit.PrepareHartreeFockJW.__init__", false]], "__init__() (ffsim.qiskit.prepareslaterdeterminantjw method)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantJW.__init__", false]], "__init__() (ffsim.qiskit.ucjoperatorjw method)": [[4, "ffsim.qiskit.UCJOperatorJW.__init__", false]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action", false]], "active_space (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.active_space", false]], "alpha (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA", false]], "alpha_and_beta (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA_AND_BETA", false]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution", false]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate", false]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation", false]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate", false]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices", false]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction", false]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction", false]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction", false]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution", false]], "apply_on_site_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_interaction", false]], "apply_on_site_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_num_num_interaction", false]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation", false]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction", false]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary", false]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq", false]], "assert_allclose_up_to_global_phase() (in module ffsim.testing)": [[6, "ffsim.testing.assert_allclose_up_to_global_phase", false]], "atom (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.atom", false]], "basis (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.basis", false]], "beta (ffsim.spin attribute)": [[0, "ffsim.Spin.BETA", false]], "c (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.c", false]], "ccsd_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_energy", false]], "ccsd_t1 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t1", false]], "ccsd_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t2", false]], "coeffs (ffsim.productstatesum attribute)": [[0, "ffsim.ProductStateSum.coeffs", false]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number", false]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z", false]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant", false]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant", false]], "constant (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.constant", false]], "contract_diag_coulomb() (in module ffsim.contract)": [[1, "ffsim.contract.contract_diag_coulomb", false]], "contract_num_op_sum() (in module ffsim.contract)": [[1, "ffsim.contract.contract_num_op_sum", false]], "contract_one_body() (in module ffsim.contract)": [[1, "ffsim.contract.contract_one_body", false]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy", false]], "cre() (in module ffsim)": [[0, "ffsim.cre", false]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a", false]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b", false]], "des() (in module ffsim)": [[0, "ffsim.des", false]], "des_a() (in module ffsim)": [[0, "ffsim.des_a", false]], "des_b() (in module ffsim)": [[0, "ffsim.des_b", false]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop", false]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats", false]], "diag_coulomb_mats_alpha_alpha (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_alpha", false]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha", false]], "diag_coulomb_mats_alpha_beta (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_beta", false]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta", false]], "diagcoulombevolutionjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW", false]], "dim() (in module ffsim)": [[0, "ffsim.dim", false]], "dims() (in module ffsim)": [[0, "ffsim.dims", false]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals", false]], "double_factorized() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized", false]], "double_factorized_t2() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2", false]], "doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian", false]], "dropnegligible (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DropNegligible", false]], "expectation_one_body_power() (in module ffsim)": [[0, "ffsim.expectation_one_body_power", false]], "expectation_one_body_product() (in module ffsim)": [[0, "ffsim.expectation_one_body_product", false]], "expectation_product_state() (ffsim.singlefactorizedhamiltonian method)": [[0, "ffsim.SingleFactorizedHamiltonian.expectation_product_state", false]], "expm_multiply_taylor() (in module ffsim.linalg)": [[2, "ffsim.linalg.expm_multiply_taylor", false]], "fci_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_energy", false]], "fci_vec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_vec", false]], "fermi_hubbard_1d() (in module ffsim)": [[0, "ffsim.fermi_hubbard_1d", false]], "fermion_operator() (in module ffsim)": [[0, "ffsim.fermion_operator", false]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction", false]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator", false]], "ffsim": [[0, "module-ffsim", false]], "ffsim.contract": [[1, "module-ffsim.contract", false]], "ffsim.linalg": [[2, "module-ffsim.linalg", false]], "ffsim.optimize": [[3, "module-ffsim.optimize", false]], "ffsim.qiskit": [[4, "module-ffsim.qiskit", false]], "ffsim.random": [[5, "module-ffsim.random", false]], "ffsim.testing": [[6, "module-ffsim.testing", false]], "ffsim_vec_to_qiskit_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.ffsim_vec_to_qiskit_vec", false]], "final_orbital_rotation (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation", false]], "from_mole() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_mole", false]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian", false]], "from_molecular_hamiltonian() (ffsim.singlefactorizedhamiltonian static method)": [[0, "ffsim.SingleFactorizedHamiltonian.from_molecular_hamiltonian", false]], "from_parameters() (ffsim.hopgateansatzoperator static method)": [[0, "ffsim.HopGateAnsatzOperator.from_parameters", false]], "from_parameters() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_parameters", false]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters", false]], "from_scf() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_scf", false]], "from_t_amplitudes() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_t_amplitudes", false]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes", false]], "generate_norb_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec", false]], "generate_norb_nelec_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec_spin", false]], "generate_norb_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_spin", false]], "givens_decomposition() (in module ffsim.linalg)": [[2, "ffsim.linalg.givens_decomposition", false]], "givensrotation (class in ffsim.linalg)": [[2, "ffsim.linalg.GivensRotation", false]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian", false]], "hartree_fock_state() (in module ffsim)": [[0, "ffsim.hartree_fock_state", false]], "hf_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.hf_energy", false]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator", false]], "i (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.i", false]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings", false]], "init_cache() (in module ffsim)": [[0, "ffsim.init_cache", false]], "interaction_pairs (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.interaction_pairs", false]], "inverse() (ffsim.qiskit.diagcoulombevolutionjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW.inverse", false]], "inverse() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.inverse", false]], "is_antihermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_antihermitian", false]], "is_hermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_hermitian", false]], "is_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_orthogonal", false]], "is_real_symmetric() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_real_symmetric", false]], "is_special_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_special_orthogonal", false]], "is_unitary() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_unitary", false]], "j (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.j", false]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator", false]], "lup() (in module ffsim.linalg)": [[2, "ffsim.linalg.lup", false]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order", false]], "match_global_phase() (in module ffsim.linalg)": [[2, "ffsim.linalg.match_global_phase", false]], "mergeorbitalrotations (class in ffsim.qiskit)": [[4, "ffsim.qiskit.MergeOrbitalRotations", false]], "minimize_linear_method() (in module ffsim.optimize)": [[3, "ffsim.optimize.minimize_linear_method", false]], "mo_coeff (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_coeff", false]], "mo_occ (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_occ", false]], "modified_cholesky() (in module ffsim.linalg)": [[2, "ffsim.linalg.modified_cholesky", false]], "module": [[0, "module-ffsim", false], [1, "module-ffsim.contract", false], [2, "module-ffsim.linalg", false], [3, "module-ffsim.optimize", false], [4, "module-ffsim.qiskit", false], [5, "module-ffsim.random", false], [6, "module-ffsim.testing", false]], "mole (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.mole", false]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData", false]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian", false]], "mp2_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_energy", false]], "mp2_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_t2", false]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state", false]], "multireference_state_prod() (in module ffsim)": [[0, "ffsim.multireference_state_prod", false]], "n_params() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.n_params", false]], "n_params() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.n_params", false]], "n_reps (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.n_reps", false]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps", false]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec", false]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb", false]], "norb (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.norb", false]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb", false]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb", false]], "norb (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.norb", false]], "norb (ffsim.singlefactorizedhamiltonian property)": [[0, "ffsim.SingleFactorizedHamiltonian.norb", false]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb", false]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered", false]], "num_op_sum_linop() (in module ffsim.contract)": [[1, "ffsim.contract.num_op_sum_linop", false]], "number_operator() (in module ffsim)": [[0, "ffsim.number_operator", false]], "one_body_linop() (in module ffsim.contract)": [[1, "ffsim.contract.one_body_linop", false]], "one_body_squares (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_squares", false]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor", false]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor", false]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor", false]], "one_body_tensor (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_tensor", false]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot", false]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb", false]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations", false]], "orbital_rotations (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.orbital_rotations", false]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations", false]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries", false]], "orbitalrotationjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.OrbitalRotationJW", false]], "preparehartreefockjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareHartreeFockJW", false]], "prepareslaterdeterminantjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantJW", false]], "productstatesum (class in ffsim)": [[0, "ffsim.ProductStateSum", false]], "qiskit_vec_to_ffsim_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.qiskit_vec_to_ffsim_vec", false]], "random_antihermitian() (in module ffsim.random)": [[5, "ffsim.random.random_antihermitian", false]], "random_hermitian() (in module ffsim.random)": [[5, "ffsim.random.random_hermitian", false]], "random_molecular_hamiltonian() (in module ffsim.random)": [[5, "ffsim.random.random_molecular_hamiltonian", false]], "random_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.random_nelec", false]], "random_occupied_orbitals() (in module ffsim.testing)": [[6, "ffsim.testing.random_occupied_orbitals", false]], "random_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_orthogonal", false]], "random_real_symmetric_matrix() (in module ffsim.random)": [[5, "ffsim.random.random_real_symmetric_matrix", false]], "random_special_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_special_orthogonal", false]], "random_statevector() (in module ffsim.random)": [[5, "ffsim.random.random_statevector", false]], "random_t2_amplitudes() (in module ffsim.random)": [[5, "ffsim.random.random_t2_amplitudes", false]], "random_two_body_tensor() (in module ffsim.random)": [[5, "ffsim.random.random_two_body_tensor", false]], "random_unitary() (in module ffsim.random)": [[5, "ffsim.random.random_unitary", false]], "rdm() (in module ffsim)": [[0, "ffsim.rdm", false]], "realucjoperator (class in ffsim)": [[0, "ffsim.RealUCJOperator", false]], "reduced_matrix() (in module ffsim.linalg)": [[2, "ffsim.linalg.reduced_matrix", false]], "reduced_matrix_product_states() (ffsim.singlefactorizedhamiltonian method)": [[0, "ffsim.SingleFactorizedHamiltonian.reduced_matrix_product_states", false]], "rotated() (ffsim.molecularhamiltonian method)": [[0, "ffsim.MolecularHamiltonian.rotated", false]], "run() (ffsim.qiskit.dropnegligible method)": [[4, "ffsim.qiskit.DropNegligible.run", false]], "run() (ffsim.qiskit.mergeorbitalrotations method)": [[4, "ffsim.qiskit.MergeOrbitalRotations.run", false]], "run_ccsd() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_ccsd", false]], "run_fci() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_fci", false]], "run_mp2() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_mp2", false]], "s (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.s", false]], "scf (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.scf", false]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized", false]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized", false]], "singlefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.SingleFactorizedHamiltonian", false]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant", false]], "slater_determinant_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_rdm", false]], "spin (class in ffsim)": [[0, "ffsim.Spin", false]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin", false]], "spin (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.spin", false]], "spin_square() (in module ffsim)": [[0, "ffsim.spin_square", false]], "states (ffsim.productstatesum attribute)": [[0, "ffsim.ProductStateSum.states", false]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary", false]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality", false]], "supportsfermionoperator (class in ffsim)": [[0, "ffsim.SupportsFermionOperator", false]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator", false]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace", false]], "symmetry (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.symmetry", false]], "thetas (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.thetas", false]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation", false]], "to_parameters() (ffsim.hopgateansatzoperator method)": [[0, "ffsim.HopGateAnsatzOperator.to_parameters", false]], "to_parameters() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_parameters", false]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters", false]], "to_t_amplitudes() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_t_amplitudes", false]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes", false]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation", false]], "trace() (in module ffsim)": [[0, "ffsim.trace", false]], "two_body_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_integrals", false]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor", false]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator", false]], "ucjoperatorjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOperatorJW", false]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation", false]]}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "ProductStateSum"], [0, 1, 1, "", "RealUCJOperator"], [0, 1, 1, "", "SingleFactorizedHamiltonian"], [0, 1, 1, "", "Spin"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsFermionOperator"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_on_site_interaction"], [0, 5, 1, "", "apply_on_site_num_num_interaction"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [1, 0, 0, "-", "contract"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_one_body_power"], [0, 5, 1, "", "expectation_one_body_product"], [0, 5, 1, "", "fermi_hubbard_1d"], [0, 5, 1, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [0, 5, 1, "", "indices_to_strings"], [0, 5, 1, "", "init_cache"], [2, 0, 0, "-", "linalg"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "multireference_state_prod"], [0, 5, 1, "", "number_operator"], [0, 5, 1, "", "one_hot"], [3, 0, 0, "-", "optimize"], [4, 0, 0, "-", "qiskit"], [5, 0, 0, "-", "random"], [0, 5, 1, "", "rdm"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_rdm"], [0, 5, 1, "", "spin_square"], [6, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.HopGateAnsatzOperator": [[0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 2, 1, "", "interaction_pairs"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "thetas"], [0, 3, 1, "", "to_parameters"]], "ffsim.MolecularData": [[0, 2, 1, "", "active_space"], [0, 2, 1, "", "atom"], [0, 2, 1, "", "basis"], [0, 2, 1, "", "ccsd_energy"], [0, 2, 1, "", "ccsd_t1"], [0, 2, 1, "", "ccsd_t2"], [0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 2, 1, "", "fci_energy"], [0, 2, 1, "", "fci_vec"], [0, 3, 1, "", "from_mole"], [0, 3, 1, "", "from_scf"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "hf_energy"], [0, 2, 1, "", "mo_coeff"], [0, 2, 1, "", "mo_occ"], [0, 4, 1, "", "mole"], [0, 2, 1, "", "mp2_energy"], [0, 2, 1, "", "mp2_t2"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 3, 1, "", "run_ccsd"], [0, 3, 1, "", "run_fci"], [0, 3, 1, "", "run_mp2"], [0, 4, 1, "", "scf"], [0, 2, 1, "", "spin"], [0, 2, 1, "", "symmetry"], [0, 2, 1, "", "two_body_integrals"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 3, 1, "", "rotated"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.ProductStateSum": [[0, 2, 1, "", "coeffs"], [0, 2, 1, "", "states"]], "ffsim.RealUCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.SingleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 3, 1, "", "expectation_product_state"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_squares"], [0, 2, 1, "", "one_body_tensor"], [0, 3, 1, "", "reduced_matrix_product_states"]], "ffsim.Spin": [[0, 2, 1, "", "ALPHA"], [0, 2, 1, "", "ALPHA_AND_BETA"], [0, 2, 1, "", "BETA"]], "ffsim.UCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.contract": [[1, 5, 1, "", "contract_diag_coulomb"], [1, 5, 1, "", "contract_num_op_sum"], [1, 5, 1, "", "contract_one_body"], [1, 5, 1, "", "diag_coulomb_linop"], [1, 5, 1, "", "num_op_sum_linop"], [1, 5, 1, "", "one_body_linop"]], "ffsim.linalg": [[2, 1, 1, "", "GivensRotation"], [2, 5, 1, "", "apply_matrix_to_slices"], [2, 5, 1, "", "double_factorized"], [2, 5, 1, "", "double_factorized_t2"], [2, 5, 1, "", "expm_multiply_taylor"], [2, 5, 1, "", "givens_decomposition"], [2, 5, 1, "", "is_antihermitian"], [2, 5, 1, "", "is_hermitian"], [2, 5, 1, "", "is_orthogonal"], [2, 5, 1, "", "is_real_symmetric"], [2, 5, 1, "", "is_special_orthogonal"], [2, 5, 1, "", "is_unitary"], [2, 5, 1, "", "lup"], [2, 5, 1, "", "match_global_phase"], [2, 5, 1, "", "modified_cholesky"], [2, 5, 1, "", "reduced_matrix"]], "ffsim.linalg.GivensRotation": [[2, 2, 1, "", "c"], [2, 2, 1, "", "i"], [2, 2, 1, "", "j"], [2, 2, 1, "", "s"]], "ffsim.optimize": [[3, 5, 1, "", "minimize_linear_method"]], "ffsim.qiskit": [[4, 1, 1, "", "DiagCoulombEvolutionJW"], [4, 1, 1, "", "DropNegligible"], [4, 1, 1, "", "MergeOrbitalRotations"], [4, 1, 1, "", "OrbitalRotationJW"], [4, 1, 1, "", "PrepareHartreeFockJW"], [4, 1, 1, "", "PrepareSlaterDeterminantJW"], [4, 1, 1, "", "UCJOperatorJW"], [4, 5, 1, "", "ffsim_vec_to_qiskit_vec"], [4, 5, 1, "", "qiskit_vec_to_ffsim_vec"]], "ffsim.qiskit.DiagCoulombEvolutionJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.DropNegligible": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "run"]], "ffsim.qiskit.MergeOrbitalRotations": [[4, 3, 1, "", "run"]], "ffsim.qiskit.OrbitalRotationJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.PrepareHartreeFockJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.PrepareSlaterDeterminantJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.UCJOperatorJW": [[4, 3, 1, "", "__init__"]], "ffsim.random": [[5, 5, 1, "", "random_antihermitian"], [5, 5, 1, "", "random_hermitian"], [5, 5, 1, "", "random_molecular_hamiltonian"], [5, 5, 1, "", "random_orthogonal"], [5, 5, 1, "", "random_real_symmetric_matrix"], [5, 5, 1, "", "random_special_orthogonal"], [5, 5, 1, "", "random_statevector"], [5, 5, 1, "", "random_t2_amplitudes"], [5, 5, 1, "", "random_two_body_tensor"], [5, 5, 1, "", "random_unitary"]], "ffsim.testing": [[6, 5, 1, "", "assert_allclose_up_to_global_phase"], [6, 5, 1, "", "generate_norb_nelec"], [6, 5, 1, "", "generate_norb_nelec_spin"], [6, 5, 1, "", "generate_norb_spin"], [6, 5, 1, "", "random_nelec"], [6, 5, 1, "", "random_occupied_orbitals"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "terms": {"": [0, 2, 4, 7, 8, 9, 12, 13, 14, 16, 18, 19], "0": [0, 2, 3, 6, 8, 9, 12, 13, 14, 16, 19], "0000000": [13, 16], "000414413936600847": 16, "001011": [0, 12], "001101": [0, 12], "001110": [0, 12], "0017303281460898086": 16, "005e": 13, "009652495691516466": 16, "01": [13, 16], "010011": [0, 12], "01001824149909948": 16, "010101": [0, 12], "010110": [0, 12], "0164958131367898": 16, "02": [13, 16], "02242": 2, "02367629095824064": 16, "02404118": 14, "02459434j": 12, "02625": 2, "02998708j": 12, "03": [13, 16], "03101213j": 12, "0351354j": 14, "03525116j": 12, "036685417309834434": 19, "04": [13, 16], "0400899203240295": 16, "04805410196761204": 16, "04824536314851305": 16, "05": [0, 2, 3, 4], "05395": 4, "0609050": 5, "0625": [0, 14], "06273307": 12, "062e": 16, "06551571": 12, "06677383j": 12, "06844774j": 12, "07": 6, "073e": 16, "08": [0, 2, 3, 4], "08957": 2, "09723851": 12, "0j": 14, "1": [0, 2, 3, 5, 8, 9, 11, 12, 13, 14, 16, 19], "10": 19, "100": 13, "1000": 3, "100011": [0, 12], "100101": [0, 12], "100110": [0, 12], "104": 13, "104e": 16, "108": 19, "11": 19, "1102529j": 12, "11157654": 12, "112": 13, "12": [2, 14, 19], "12204343": 12, "1234": [9, 12, 13], "125": [0, 14], "12j": 14, "13": 19, "13113848": 12, "13327423j": 12, "13957088j": 12, "143e": 16, "15": 13, "15624569": 12, "15828306": 12, "15x15": 13, "160e": 13, "1711": [2, 4], "171e": 16, "17276745j": 12, "1748618163102763": 16, "17558331": 12, "180": 13, "1808": 2, "18j": 14, "194e": 13, "1e": [0, 2, 3, 4, 6, 13, 19], "1j": [0, 9, 14, 19], "2": [0, 1, 2, 4, 5, 8, 9, 12, 13, 14, 16, 19], "20835741": 12, "20881506": 12, "2104": 2, "215e": 16, "2190712273": 9, "21928194": 12, "21984743e": 14, "22392824": 12, "225e": 16, "23": 13, "23550198": 12, "23611476": 12, "25": [0, 14], "25j": [0, 14], "26": 19, "293e": 16, "294e": 16, "296e": 16, "297e": 16, "29821173j": 12, "2j": [0, 14], "2n": 12, "3": [0, 2, 4, 9, 12, 13, 14, 16, 19], "30052742j": 12, "31980058j": 12, "33013657203896457": 16, "333e": 16, "33731417j": 12, "33755681746167365": 16, "3443513407932839": 16, "35": 19, "359e": 16, "36730125j": 12, "3714141": 12, "372e": 16, "39": [12, 14], "39075171": 12, "3j": 14, "4": [0, 2, 8, 9, 12, 13, 14, 16, 19], "415e": 13, "423": 16, "427e": 16, "4456267643962": 16, "449e": 13, "45673584901218": 16, "45735186229277": 16, "45770347328356": 16, "45773149347707": 16, "46": 16, "464957764796": 19, "46626526615785": 16, "46975600021709": 16, "46x46": 16, "478": 13, "48260923717831": 16, "49094286j": 12, "49387212754471": 16, "4j": 14, "5": [0, 3, 9, 12, 13, 14, 16, 19], "50957472948254": 16, "51253171j": 12, "517e": 16, "55717072551575": 9, "5626": 16, "57322412553863": 16, "584": 16, "58888": 18, "5j": [0, 14], "6": [9, 12, 13, 14, 19], "603e": 13, "608e": 16, "6290254326717": 16, "6332495815006": 13, "64": 12, "67794403659725": 13, "678": 16, "6787887956297": 13, "68381558382175": 13, "6g": [0, 13, 16, 19], "6j": 14, "7": [9, 13, 14, 16, 19], "72": 16, "7288249991515": 13, "72x72": 16, "744e": 13, "748e": 13, "75": 13, "77": 16, "8": [13, 14, 16, 19], "814": 16, "857e": 16, "871e": 16, "873e": 16, "879e": 16, "9": [12, 14, 16, 19], "9289": 16, "9402435386998327": 19, "958": 13, "963e": 16, "971e": 16, "99": 9, "996e": 16, "9985212861517185": 19, "998521286151722": 19, "9996731164189284": 19, "A": [0, 1, 2, 3, 4, 5, 6, 8, 11, 12, 14, 16, 18, 19], "AND": 13, "As": [0, 12, 16, 19], "By": 17, "For": [0, 3, 8, 9, 12, 13, 14, 16, 18, 19], "If": [0, 1, 2, 3, 4, 5, 6, 14], "In": [0, 4, 8, 9, 12, 13, 14, 16, 19], "It": [0, 2, 3, 4, 12, 14, 16, 18], "Its": [3, 4], "NO": [13, 16], "No": 2, "Of": 16, "On": [12, 18], "One": [0, 19], "Such": 14, "That": [0, 3, 11, 14], "The": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 17, 18, 19], "Then": 0, "These": 14, "To": [0, 4, 8, 9, 12, 16, 19], "With": [16, 19], "_": [0, 2, 4, 8, 11, 13, 16, 19], "_1": 11, "_2": 11, "__init__": [4, 7], "_k": [0, 8, 16], "a_": [0, 4, 8, 9, 11, 14], "a_j": 1, "a_p": 0, "a_q": 0, "ab": 19, "abil": 8, "abl": 18, "about": 17, "abov": 14, "absolut": [0, 2, 4, 6], "acceler": 18, "accept": [11, 16], "access": [9, 18], "accomod": 8, "accur": 8, "achiev": [2, 19], "across": 18, "act": [0, 2, 4, 9, 13, 14], "action": [0, 1, 7, 11, 14, 18, 19], "activ": [0, 13, 16, 19], "active_spac": [0, 7, 13, 16, 19], "actual": [0, 6, 16], "ad": 0, "addit": [0, 8, 14, 19], "addition": 2, "after": [3, 16], "al": 2, "algebra": [2, 9, 14], "algorithm": [2, 3, 16, 17], "alia": [0, 2], "align": [0, 11, 16], "all": [0, 3, 4, 6, 14, 16, 18], "alloc": 0, "allow": [0, 2, 16, 18, 19], "allow_col_permut": 0, "allow_row_permut": 0, "alpha": [0, 1, 4, 6, 7, 9, 12, 13, 14, 16], "alpha_alpha_indic": [0, 16], "alpha_and_beta": [0, 4, 7], "alpha_beta_indic": [0, 16], "alpha_i": 0, "alpha_j": 0, "alreadi": [0, 4, 11], "also": [0, 1, 3, 4, 9, 11, 12, 14, 16, 19], "altern": [0, 8], "alwai": [0, 2, 5, 11, 12, 19], "amplitud": [0, 2, 5, 16], "an": [0, 1, 2, 4, 5, 8, 9, 11, 12, 13, 14, 16, 19], "angl": 0, "ani": [0, 3, 4, 11, 16], "annihil": [0, 14], "anoth": [2, 6], "ansatz": [0, 3, 15, 17], "ansatz_oper": 0, "ansatz_st": 16, "anti": [2, 5], "anticommut": 11, "ao": 0, "ap": 2, "api": [12, 17], "appear": [0, 2, 14], "append": [0, 6, 16], "appli": [0, 1, 2, 3, 4, 9, 11, 12, 16, 19], "applic": 11, "apply_": 12, "apply_diag_coulomb_evolut": [0, 7, 8, 19], "apply_fsim_g": [0, 7], "apply_givens_rot": [0, 7], "apply_hop_g": [0, 7], "apply_matrix_to_slic": [2, 7], "apply_num_interact": [0, 7], "apply_num_num_interact": [0, 7], "apply_num_op_prod_interact": [0, 7], "apply_num_op_sum_evolut": [0, 7, 11, 19], "apply_on_site_interact": [0, 7, 12], "apply_on_site_num_num_interact": [0, 7], "apply_orbital_rot": [0, 7, 11, 12], "apply_quad_ham_evolut": 11, "apply_tunneling_interact": [0, 7, 12], "apply_unitari": [0, 7, 16], "appropri": 0, "approx": 8, "approx_eq": [0, 7], "approxim": [0, 2, 3, 8, 19], "apt": 18, "ar": [0, 1, 2, 4, 5, 6, 8, 9, 11, 12, 14, 16, 18], "arbitrari": 4, "arch": 18, "arg": [0, 4], "argument": [0, 2, 3, 8, 9, 11, 12, 19], "aris": 8, "arithmet": 14, "around": 19, "arrai": [0, 2, 4, 6, 9, 12, 14], "arxiv": [2, 4, 5], "assembl": 2, "assert": 12, "assert_allclose_up_to_global_phas": [6, 7], "assertionerror": 6, "associ": [0, 3, 12, 14, 16], "assum": [4, 12], "asterisk": 0, "asymmetr": 8, "atol": [0, 2, 4, 6], "atom": [0, 7, 13, 16, 19], "attempt": 2, "attribut": [3, 9], "author": 17, "avail": [9, 18], "avoid": [0, 9, 14], "awar": 14, "b": [0, 2, 3, 6, 11, 13, 16], "backflow": 3, "background": 19, "base": [0, 2, 4], "basi": [0, 2, 4, 7, 11, 13, 16, 19], "basic": 9, "bear": 19, "becaus": [8, 9, 14], "been": [0, 8], "befor": [0, 14, 16, 18, 19], "begin": [0, 2, 11, 12, 16, 19], "behavior": [2, 4, 5], "being": [2, 14, 16], "below": [0, 16, 19], "benchmark": 0, "beta": [0, 1, 4, 6, 7, 9, 12, 13, 14, 16], "beta_i": 0, "beta_j": 0, "better": 8, "between": [0, 1, 2, 3, 4, 16], "bfg": [0, 2, 3, 13, 16], "bibtex": 17, "bit": 12, "bitstr": [0, 12], "bla": 18, "block_diag": 0, "bodi": [0, 1, 2, 5, 8, 9, 16, 19], "bond": [13, 16], "bond_angle_deg": 13, "bond_dist": 16, "bool": [0, 1, 2, 3, 4, 6], "bool_": 2, "both": [0, 2, 4, 13], "bound": [0, 2], "boundari": 0, "bq": 2, "brickwork": 13, "browser": 18, "build": [16, 18], "built": 19, "c": [0, 2, 7, 16], "c2v": 13, "cach": 0, "calcul": [0, 12, 16], "call": [0, 3, 8, 9, 11, 12, 14, 16, 19], "callabl": [3, 16], "callback": [0, 2, 3, 16], "can": [0, 2, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19], "canon": 0, "casci": [13, 16], "case": [6, 13], "categori": 17, "cc": 16, "ccsd": [0, 16], "ccsd_energi": [0, 7], "ccsd_t1": [0, 7], "ccsd_t2": [0, 7], "cd": 18, "cdot": 2, "cell": [9, 12, 16, 19], "certain": 2, "challeng": 16, "character": 0, "check": [2, 4, 6], "chemcor": 19, "chemic": 0, "chemical_potenti": 0, "chemistri": 17, "choic": [0, 4, 6, 12], "choleski": [0, 2], "choos": [2, 12, 16], "ci": [13, 16], "circuit": [0, 4, 8, 12, 17], "class": [0, 2, 4, 5, 9, 13, 15, 16, 17, 19], "clement": 2, "clone": 18, "cluster": [0, 4, 15, 17], "co": [0, 13], "code": [4, 9, 12, 14, 16, 19], "coeff": [0, 1, 7], "coeffici": [0, 1, 2, 4, 11, 14, 16], "collect": [2, 16], "column": [0, 2, 4, 11, 12], "com": [17, 18], "comb": 4, "combin": [0, 1, 11, 14], "command": 18, "commonli": 8, "commun": [17, 18], "commut": [0, 8, 16], "compact": [8, 19], "compar": [0, 6, 19], "compil": 18, "complet": 0, "complex": [0, 1, 2, 5, 9], "complic": 16, "compon": [0, 14, 17], "compos": 18, "compress": [0, 2], "compris": [0, 14], "comput": [0, 2, 4, 9, 11, 16, 19], "concaten": 12, "concret": 9, "condit": 0, "configur": [0, 4, 12, 18], "conflict": 6, "conj": 11, "conjug": 2, "connect": 16, "consecut": 4, "conserv": [0, 14, 17], "conserves_particle_numb": [0, 7, 14], "conserves_spin_z": [0, 7, 14], "consid": [11, 16], "consist": [0, 9], "constant": [0, 5, 7, 8, 9, 16], "constrain": 2, "constraint": 16, "construct": [0, 1, 3, 4, 12, 13, 14, 16, 19], "constructor": 16, "contain": [0, 2, 3, 14, 16, 17, 18], "contract": [7, 17], "contract_diag_coulomb": [1, 7], "contract_num_op_sum": [1, 7], "contract_one_bodi": [1, 7], "contrast": 12, "control": 3, "conveni": 12, "convent": 0, "converg": [3, 13, 16, 19], "convers": 16, "convert": [0, 1, 4, 12, 14, 16, 19], "coordin": 0, "copi": [0, 14], "core": 0, "core_energi": [0, 7], "correl": 3, "correspond": [0, 2, 3, 4, 8, 11, 12, 16], "cost": 0, "coulomb": [0, 1, 2, 4, 8, 16, 19], "count": 0, "cours": 16, "cre": [0, 7], "cre_a": [0, 7, 14], "cre_b": [0, 7, 14], "creat": [0, 4, 12, 14, 16, 19], "creation": [0, 4, 11, 14], "criteria": 14, "current": [0, 2, 16], "d": [2, 18], "d2h": [16, 19], "dag": 4, "dagcircuit": 4, "dagger": [0, 1, 2, 8, 11, 14, 16], "dagger_": [0, 4, 8, 9, 11], "dagger_i": 1, "data": [0, 5, 13, 14, 16, 19], "dataclass": 16, "daunt": 8, "de": [0, 7], "decompos": [2, 4, 8], "decomposit": [0, 2, 8, 19], "decreas": 16, "def": [11, 13, 16, 19], "default": [0, 2, 3, 4, 5, 8, 9, 19], "default_rng": [0, 5, 6, 9, 13], "defaultdict": 16, "defin": [0, 2, 13, 16, 19], "definit": [0, 2, 3, 12], "demonstr": [12, 16], "denot": [0, 1, 2, 4, 11], "dens": 13, "densiti": 0, "depend": [0, 2, 3, 18, 19], "deprec": 0, "depth": 16, "deriv": 8, "des_a": [0, 7, 14], "des_b": [0, 7, 14], "descend": [0, 14], "describ": [0, 1, 2, 4, 8, 11, 14, 16, 19], "descript": [0, 4], "design": [0, 2, 11], "desir": [0, 6], "destroi": [0, 14], "determin": [0, 2, 4, 12], "dev": 18, "devel": 18, "develop": [4, 17], "df_hamiltonian": 19, "df_hamiltonian_alt": 19, "diag_coulomb_indic": [0, 2], "diag_coulomb_linop": [1, 7], "diag_coulomb_mat": [0, 7, 19], "diag_coulomb_mats_alpha_alpha": [0, 7], "diag_coulomb_mats_alpha_beta": [0, 7], "diagcoulombevolutionjw": [4, 7], "diagon": [0, 1, 2, 4, 8, 16, 19], "dict": [0, 2, 3, 13, 16], "dictionari": [0, 14], "differ": [0, 1, 2, 3, 4, 9, 16, 18, 19], "dim": [0, 5, 7, 12, 14], "dim_a": [0, 12], "dim_b": [0, 12], "dimens": [0, 5, 12], "dimension": [0, 2, 4, 12], "dipol": 0, "dipole_integr": [0, 7], "direct": 19, "directli": [16, 18, 19], "directori": 18, "discuss": [8, 11], "disjoint": 2, "displai": 14, "distribut": 5, "divid": 8, "divis": [0, 14], "dnf": 18, "do": [8, 14], "docker": 17, "dockerfil": 18, "docstr": 0, "document": [0, 2], "doe": [0, 14], "dot": 0, "doubl": [0, 2, 10, 16, 17, 20], "double_factor": [0, 2, 7], "double_factorized_t2": [2, 7], "doublefactorizedhamiltonian": [0, 7, 19], "down": 12, "drop": 4, "dropneglig": [4, 7], "dtype": [0, 5, 9, 13, 16], "e": [0, 2, 4, 8, 9, 13, 14, 16], "e_corr": 16, "each": [0, 2, 3, 8, 12, 14, 16, 18, 19], "effect": [0, 4, 16], "effici": [8, 14], "eig": [9, 14], "eigendecomposit": 11, "eigenvalu": [0, 2, 3, 9], "eigenvector": 0, "eigh": [11, 19], "eigsh": 9, "einsum": 19, "either": [2, 16], "electron": [0, 1, 4, 5, 6, 9, 12, 13, 19], "element": [0, 2, 19], "ell": 2, "els": [0, 5, 12], "elsewher": 0, "enabl": 2, "end": [0, 2, 11, 16, 19], "energi": [0, 3, 9, 11, 16, 19], "enforc": [0, 16], "ensur": 9, "entangl": [0, 15, 17], "entir": [2, 8], "entri": [0, 2, 12, 16, 19], "enumer": [0, 16], "environ": 18, "epsilon": 3, "equal": [0, 2, 6], "equal_nan": 6, "equilibrium": 13, "equival": [0, 4], "err_msg": 6, "error": [0, 2, 4, 6, 19], "especi": 14, "estim": 9, "et": 2, "ethen": 16, "evalu": [3, 13], "everi": 11, "everywher": 12, "evolut": [0, 4, 9, 19], "evolv": [0, 19], "evolved_vec": 9, "exact": [2, 8, 9, 19], "exact_st": 19, "exampl": [0, 9, 12, 13, 14, 16, 18], "exce": [2, 13, 19], "except": [0, 3], "exist": 4, "exp": [0, 2, 4, 6], "expand": 0, "expans": [2, 3], "expect": [0, 3], "expectation_one_body_pow": [0, 7], "expectation_one_body_product": [0, 7], "expectation_product_st": [0, 7], "expens": [0, 2], "explain": [9, 12, 19], "explan": [0, 17], "explicit": 0, "exploit": 17, "expm": 2, "expm_multipli": [9, 19], "expm_multiply_taylor": [2, 7], "exponenti": [8, 9, 19], "express": [12, 16, 19], "extra": 8, "f": [3, 12, 13, 16, 19], "facilit": 16, "fact": 13, "factor": [0, 2, 10, 16, 17, 20], "failur": 6, "fals": [0, 1, 2, 4, 13, 14, 16], "far": 14, "fast": 0, "faster": [16, 17], "fault": 16, "fci": [0, 12, 13, 16], "fci_energi": [0, 7], "fci_vec": [0, 7], "fcivec": 0, "fedora": 18, "feenberg": 3, "fermi": 0, "fermi_hubbard_1d": [0, 7], "fermion": [0, 8, 11, 14, 16, 17], "fermion_oper": [0, 7], "fermionact": [0, 7], "fermionoper": [0, 7, 15, 17], "few": [12, 18], "fewer": [3, 19], "ffsim": [7, 8, 9, 11, 12, 13, 14, 16, 18, 19], "ffsim_vec_to_qiskit_vec": [4, 7], "fidel": 19, "field": [0, 2], "file": 18, "filter": 0, "final": [0, 3, 16, 19], "final_orbital_rot": [0, 7], "final_st": [16, 19], "finish": 19, "finit": 3, "first": [0, 2, 4, 8, 12, 16, 19], "fix": 12, "flag": 0, "float": [0, 2, 3, 4, 5, 6, 9, 11, 19], "float64": [13, 16], "fock": [0, 4, 12, 16, 19], "focu": 9, "follow": [0, 3, 9, 11, 12, 14, 16, 17, 18, 19], "foot": 0, "forg": [0, 15, 17], "form": [0, 1, 2, 4, 8, 9, 11, 14, 16, 19], "format": [0, 4], "formula": [0, 19], "fourth": 8, "frac": [0, 2], "frac12": [0, 8, 9, 16], "frac18": 0, "framework": 18, "from": [0, 4, 5, 8, 11, 12, 13, 14, 16, 17, 19], "from_mol": [0, 7, 13, 19], "from_molecular_hamiltonian": [0, 7, 19], "from_paramet": [0, 7, 16], "from_scf": [0, 7, 16], "from_t_amplitud": [0, 7, 16], "frozen": 16, "fsim": 0, "full": [0, 2, 12, 13], "fulli": 9, "fun": [3, 13, 16], "function": [0, 1, 2, 3, 8, 9, 11, 12, 13, 14, 16, 19], "fundament": 11, "further": 12, "furthermor": [0, 2], "g": [0, 4, 13, 16], "g_": 2, "g_1": 2, "g_k": 2, "g_l": 2, "gate": [0, 4, 10, 13, 16, 17], "gener": [0, 3, 4, 5, 6, 8, 12, 13, 16, 17], "generate_norb_nelec": [6, 7], "generate_norb_nelec_spin": [6, 7], "generate_norb_spin": [6, 7], "get": [0, 12, 13, 16, 19], "git": 18, "github": [17, 18], "give": [0, 8], "given": [0, 1, 2, 4, 6, 8, 11], "givens_decomposit": [2, 7], "givensrot": [2, 7], "global": [4, 6], "go": [0, 14], "good": 14, "gradient": [2, 3, 16], "greater": 3, "ground": [9, 16], "gt": [13, 16], "gto": [13, 16, 19], "gtol": 3, "guarante": 4, "guess": 3, "guid": [13, 16, 17], "h": [0, 8, 9, 13, 16, 19], "h1_x": 13, "h2_x": 13, "h2_y": 13, "h_": [0, 2, 8, 9], "h_0": [8, 19], "h_k": [8, 19], "ha": [0, 1, 2, 4, 8, 11, 12, 16], "haar": 5, "ham": 12, "hamiltonian": [0, 3, 5, 7, 10, 13, 16, 17, 20], "hand": 12, "handl": 19, "hartre": [0, 4, 12, 16, 19], "hartree_fock": [0, 16], "hartree_fock_st": [0, 7, 9, 12, 16, 19], "hasattr": 16, "hash": 14, "have": [0, 2, 4, 8, 9, 11, 12, 14, 16, 18], "height": 5, "helper": 14, "here": [0, 2, 8, 11, 13, 16, 19], "hermitian": [0, 2, 5, 11], "hess_inv": [13, 16], "hf_energi": [0, 7], "higher": [0, 8, 19], "hold": 3, "home": 18, "hop": [0, 13], "hopgateansatzoper": [0, 7, 13], "hot": 0, "how": [0, 8, 9, 11, 12, 17, 19], "howev": [8, 17], "http": [17, 18], "hubbard": 0, "hyperparamet": [3, 16], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19], "idea": 16, "ignor": [0, 2, 8], "ij": [0, 1, 2, 4, 8, 11, 16], "ijab": 2, "ik": 11, "imag": 18, "implement": [0, 1, 3, 4, 8, 9, 11, 13, 16, 17, 18, 20], "import": [0, 9, 11, 12, 13, 14, 16, 19], "impos": 16, "improv": 19, "includ": [0, 2, 8, 9, 11, 12, 13, 16, 17, 18], "incorpor": 0, "increas": [0, 12, 16, 19], "increment": 3, "incur": 3, "independ": 13, "index": [0, 12, 14, 16], "indic": [0, 2, 12, 14, 16], "indices_to_str": [0, 7, 12], "individu": [8, 12, 14], "info": 16, "inform": [9, 14, 16, 17, 19], "init_cach": [0, 7], "initi": [0, 3, 4, 5, 6, 9, 16, 19], "initial_st": 19, "initiali": 13, "input": [0, 1, 3, 4, 5, 6, 16], "instanc": [5, 9, 19], "instead": [0, 2, 16, 19], "instruct": [17, 18], "int": [0, 1, 2, 3, 4, 5, 6, 11, 13, 19], "integ": [0, 2, 4], "integr": 0, "interact": [0, 1, 4], "interaction_pair": [0, 7, 13], "interfac": [16, 18], "interferomet": 2, "intermedi": 16, "intermediate_result": [3, 16], "intern": 14, "interpret": 0, "introduc": [11, 16, 19], "invers": [4, 7], "involv": [0, 11, 16], "ip": 2, "ipykernel_4374": 9, "is_antihermitian": [2, 7], "is_hermitian": [2, 7], "is_orthogon": [2, 7], "is_real_symmetr": [2, 7], "is_special_orthogon": [2, 7], "is_unitari": [2, 7], "isclos": 0, "isn": 4, "issu": 9, "iter": [0, 3, 6, 16], "its": [0, 2, 9, 12, 13, 14, 19], "itself": [0, 12, 14], "j": [0, 1, 2, 4, 7, 8, 11, 12, 13, 14, 16], "jac": [3, 13, 16], "jastrow": [0, 3, 4, 15, 17], "ji": [0, 4, 11], "jk": 11, "jordan": [0, 4], "jq": 2, "jupyt": 18, "just": [0, 12, 16, 18, 19], "jwt": 4, "k": [0, 2, 8, 9, 14, 16, 19], "kappa": 0, "kappa_": 0, "keep": [0, 2], "kernel": 16, "kij": 19, "know": 13, "known": 8, "kpi": 19, "kqi": 19, "krj": 19, "kron": 0, "ksj": 19, "kwarg": [0, 4], "l": [0, 2, 3, 8, 13, 16, 19], "label": [4, 12], "ladder": [8, 16], "lambda_i": [0, 1, 11], "lambda_k": 11, "langl": 0, "larger": [0, 2, 3, 14], "last": [3, 4], "later": 19, "lattic": 16, "layer": 2, "lbfgsinvhessproduct": [13, 16], "ldot": [2, 8, 16, 19], "lead": [0, 3], "least": 2, "left": [0, 4, 11, 12, 14], "len": [13, 16, 19], "length": [0, 4, 12, 13, 16], "leq": [0, 2], "less": [2, 16], "let": [0, 12, 14, 19], "level": 19, "lexicograph": [0, 14], "libopenbla": 18, "librari": [0, 17], "like": [16, 18], "limit": [0, 2, 13, 16], "linalg": [0, 7, 9, 11, 14, 16, 17, 19], "lindep": 3, "line": 16, "linear": [0, 1, 2, 3, 9, 11, 14], "linear_oper": [0, 7, 9, 14, 16, 19], "linearli": 8, "linearoper": [0, 1, 3, 14, 16, 19], "linop": [9, 14, 19], "linux": 18, "list": [0, 2, 4, 6, 12, 13, 16, 19], "ll": [9, 11, 13, 16, 19], "lm": 14, "local": [15, 17], "localhost": 18, "log": [0, 4], "logic": [11, 13], "longest": 0, "lookup": 0, "low": [0, 8, 19], "lower": [0, 2], "lowest": [0, 12], "lt": [13, 16], "lu": 2, "lucj": [15, 17], "lup": [2, 7], "lvert": [0, 4, 12, 16], "m": [0, 1, 2, 11], "m_": [0, 1, 2], "maco": 18, "made": 19, "mai": [0, 2, 3, 4, 16, 18, 19], "main": [16, 18], "maintain": 8, "make": 16, "manag": 18, "mani": [0, 9, 11, 17], "manual": 19, "many_body_ord": [0, 7], "map": [0, 4, 11, 14], "mapsto": [0, 4, 11], "mat": [0, 1, 2, 4, 11, 12], "mat_alpha_beta": [0, 1, 4], "match": 2, "match_global_phas": [2, 7], "math": [5, 13], "mathbf": [0, 8, 11, 16], "mathcal": [0, 1, 4, 8, 11, 16], "matric": [0, 1, 2, 4, 11, 16, 19], "matrix": [0, 1, 2, 3, 4, 5, 8, 9, 11, 12, 14, 16], "max": 19, "max_error": 19, "max_vec": [0, 2, 19], "maxfun": 13, "maximum": [0, 2, 3, 5, 19], "maxit": [3, 16], "mcscf": [13, 16], "meant": 4, "measur": [5, 8], "mention": 8, "merg": 4, "mergeorbitalrot": [4, 7], "messag": [6, 13, 16], "method": [0, 2, 3, 13, 14, 17], "mind": 19, "minim": [0, 2, 3, 13, 16], "minimize_linear_method": [3, 7, 16], "minimizz": 13, "mo_coeff": [0, 7], "mo_occ": [0, 7], "mode": 11, "model": 0, "modifi": [0, 2], "modified_choleski": [2, 7], "modul": [0, 12, 13], "mol": [13, 16, 19], "mol_data": [13, 16, 19], "mol_hamiltonian": [9, 13, 16, 19], "mole": [0, 7, 13, 16, 19], "molecul": [0, 16, 19], "molecular": [0, 5, 9, 10, 12, 13, 16, 17, 19], "moleculardata": [0, 7, 13, 16, 19], "molecularhamiltonian": [0, 5, 7, 9, 19], "more": [0, 2, 3, 4, 8, 9, 12, 16, 19], "most": [0, 2, 14], "mp2": [0, 16], "mp2_energi": [0, 7], "mp2_t2": [0, 7], "mu": 0, "much": [0, 2, 8, 17], "multipl": [0, 9, 14, 19], "multipli": [0, 14], "multiport": 2, "multirefer": 0, "multireference_st": [0, 7], "multireference_state_prod": [0, 7, 13], "must": [0, 2, 3, 4, 14], "n": [0, 2, 8, 9, 11, 12, 16, 19], "n2": 19, "n_": [0, 1, 4, 8, 11, 12, 16], "n_alpha": [4, 6], "n_beta": [4, 6], "n_frozen": 19, "n_layer": 13, "n_p": 0, "n_param": [0, 7], "n_rep": [0, 7, 16], "n_sampl": 0, "n_step": [0, 19], "name": [0, 9, 12, 18], "namedtupl": [0, 2], "nan": 6, "nao_nr": [13, 16, 19], "nativ": 17, "navig": 18, "ndarrai": [0, 1, 2, 3, 4, 5, 6, 11, 16, 19], "nearest": 0, "nearest_neighbor_interact": 0, "need": [0, 9, 16, 18, 19], "neg": 0, "neglig": 4, "neighbor": 0, "nelec": [0, 1, 4, 6, 7, 9, 11, 12, 13, 14, 16, 19], "nelectron": 16, "neq": [0, 1, 4], "nest": 2, "network": 16, "new": [0, 4, 11, 14], "newli": 0, "next": [13, 19], "nfev": [3, 13, 16], "nit": [13, 16], "nitrogen": 19, "njev": [13, 16], "nlinop": [3, 16], "nn": 0, "nocc": [0, 5], "noisi": 16, "non": 16, "none": [0, 1, 2, 3, 4, 5, 6], "nonzero": [0, 2, 16], "norb": [0, 1, 4, 5, 6, 7, 9, 11, 12, 13, 14, 16, 19], "norb_rang": 6, "norm": [0, 3, 16], "normal": [0, 13, 14], "normal_ord": [0, 7, 14], "note": [0, 2, 3, 12, 14], "notebook": 18, "notic": 16, "notimplementederror": 4, "now": [9, 13, 19], "np": [0, 5, 6, 9, 11, 13, 16, 19], "num_op_sum_linop": [1, 7], "number": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 16, 17, 19], "number_oper": [0, 7], "numer": [0, 2, 4, 14], "numpi": [0, 2, 6, 9, 11, 12, 13, 16, 19], "o": [0, 13], "o_1": 0, "o_2": 0, "o_k": 0, "obj": 0, "object": [0, 2, 3, 9, 14, 16], "obtain": [0, 8, 9, 11, 16, 19], "occ_a": 6, "occ_b": 6, "occup": [0, 8, 11, 12], "occupi": [0, 4, 5, 6, 12], "occupied_orbit": [0, 4], "often": [8, 16], "onc": [11, 18], "one": [0, 1, 2, 4, 5, 8, 9, 12, 16, 18, 19], "one_body_basis_chang": 19, "one_body_energi": 19, "one_body_integr": 0, "one_body_linop": [1, 7], "one_body_squar": [0, 7], "one_body_tensor": [0, 7, 9, 19], "one_hot": [0, 7], "one_rdm": 0, "ones": 9, "onli": [0, 2, 4, 8, 11, 16, 18], "onsit": 0, "onto": 14, "op": [0, 14], "op1": [0, 14], "op2": [0, 14], "op3": 14, "op4": 14, "openbla": 18, "oper": [0, 1, 2, 3, 4, 8, 11, 14, 16, 18, 19], "optim": [0, 2, 4, 7, 17], "optimize_hyperparamet": 3, "optimize_hyperparameters_arg": 3, "optimizeresult": [3, 16], "option": [0, 1, 2, 3, 4, 9, 13, 16, 18], "orb": [0, 7, 14], "orbit": [0, 1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 17, 19], "orbital_coeff": 4, "orbital_rot": [0, 1, 4, 7, 11, 12, 19], "orbital_symmetri": [0, 7], "orbitalrotationjw": [4, 7], "order": [0, 4, 8, 9, 12, 14, 16, 19], "origin": [0, 2, 19], "orthogon": [2, 5], "orthonorm": 4, "other": [0, 4, 12, 16], "otherwis": 0, "our": [13, 16, 19], "out": [2, 19], "output": [0, 3, 16], "over": 0, "overal": 3, "overrid": [0, 2], "overwritten": 0, "p": [0, 2, 8, 9, 16], "packag": 18, "pacman": 18, "page": [8, 9, 11, 12], "pair": [0, 2, 4, 6], "parallel": [2, 16], "param": 0, "paramet": [0, 1, 2, 3, 4, 5, 6, 13, 16], "params_to_vec": [3, 16], "part": [0, 8, 11, 12, 13], "particl": [0, 6, 11, 14, 17], "pass": [0, 2, 4, 9, 11, 12, 13, 14, 16], "pattern": 13, "pauli": 0, "per": 19, "perform": [0, 2, 3, 8, 9, 11, 19], "period": 0, "permut": [0, 2], "persist": 18, "ph": 5, "phase": [0, 2, 4, 6], "phi": [0, 2, 6], "phi_0": 16, "pi": [0, 13], "piec": [9, 14], "pip": 17, "pivot": 2, "pk": 2, "place": [0, 1, 4, 14, 16, 18], "plain": 12, "pmatrix": [0, 2], "posit": [2, 3, 12], "possibl": [0, 2, 6, 17], "possibli": [0, 16], "potenti": 0, "power": 0, "pq": [0, 2, 8, 9], "pqr": [0, 2, 8, 9, 19], "practic": 8, "pre": 16, "precis": [6, 16], "prepar": [0, 4], "preparehartreefockjw": [4, 7], "prepareslaterdeterminantjw": [4, 7], "present": 3, "preserv": 14, "previou": 16, "previous": [8, 12], "print": [0, 6, 12, 13, 14, 16, 19], "probabl": 0, "problem": 3, "processor": 16, "prod": 13, "prod_": [0, 4, 16], "prod_k": 8, "prod_state_sum": 0, "product": [0, 8, 12, 13, 14], "productstatesum": [0, 7], "programmat": 14, "project": 3, "properti": [0, 2, 11], "proport": [0, 8], "protocol": 0, "provid": [9, 16, 18], "pseudorandom": [0, 5, 6], "psi": [0, 16], "put": 13, "py": 9, "pypi": 18, "pyscf": [0, 4, 12, 13, 16, 19], "q": [0, 8, 9], "qdrift": 0, "qi": 0, "qiskit": [7, 17, 18], "qiskit_vec_to_ffsim_vec": [4, 7], "qk": 2, "quadrat": [8, 10, 17, 19], "qualnam": 0, "quantifi": 2, "quantiti": 0, "quantum": [0, 4, 8, 12, 16, 17], "qubit": [0, 4, 13, 16], "r": [0, 2, 8, 9], "radius_1": 13, "radius_2": 13, "rais": [0, 2, 4, 6], "random": [0, 6, 7, 9, 12, 13, 14, 17], "random_antihermitian": [5, 7], "random_hermitian": [5, 7], "random_molecular_hamiltonian": [5, 7], "random_nelec": [6, 7], "random_occupied_orbit": [6, 7], "random_orthogon": [5, 7], "random_real_symmetric_matrix": [5, 7, 9], "random_special_orthogon": [5, 7], "random_statevector": [5, 7, 14], "random_t2_amplitud": [5, 7], "random_two_body_tensor": [5, 7, 9], "random_unitari": [5, 7, 12], "rang": [0, 6, 12, 13, 16, 19], "rangl": [0, 4, 12, 16], "rank": [0, 2, 5, 8], "rather": [0, 11], "rdm": [0, 7], "rdm1": 0, "rdm2": 0, "rdm3": 0, "rdm4": 0, "reach": 16, "real": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 16], "realucjoper": [0, 7], "reason": [4, 11], "recommend": [14, 17], "reconstruct": [0, 2, 19], "recover": 0, "reduc": [0, 2], "reduced_matrix": [2, 7], "reduced_matrix_product_st": [0, 7], "redund": 16, "refer": [0, 2, 3, 4, 5, 11, 12, 16, 17], "reference_occup": [0, 13], "reference_occupations_spati": 13, "reference_st": 16, "regular": [3, 16], "rel": [0, 2, 4, 6], "relat": [11, 16], "reorder": [0, 8], "repeat": 13, "repeatedli": 11, "repetit": [0, 16], "repositori": 18, "repr": 14, "repres": [0, 2, 3, 9, 12, 14, 16], "represent": [0, 1, 2, 4, 10, 12, 14, 17, 19], "reproduc": 19, "requir": [0, 9, 12, 16, 18], "reshap": 12, "respect": [0, 2, 3, 19], "rest": 0, "result": [0, 1, 2, 3, 5, 8, 9, 13, 16, 19], "return": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 16, 19], "return_lower_rank": 0, "rewrit": 0, "rewritten": 11, "rhf": [0, 16], "right": [0, 4, 11, 12, 14], "rise": 8, "rng": [9, 13], "root": 0, "rotat": [0, 1, 2, 4, 7, 8, 10, 12, 16, 17, 19], "rotated_vec": 12, "routin": [2, 9, 14], "row": [0, 12], "rtol": [0, 2, 4, 6], "rtype": 2, "run": [0, 4, 7, 16, 17, 18], "run_ccsd": [0, 7], "run_fci": [0, 7, 13, 16], "run_mp2": [0, 7], "rung": 16, "rust": 18, "rvert": 0, "s_": [0, 12], "sa": 9, "same": [0, 9, 11, 12, 13, 16], "sampl": [0, 5, 6, 9], "satisfi": [11, 14, 18], "save": [16, 18], "scalar": [0, 14], "scale": [8, 13], "scf": [0, 7, 13, 16, 19], "scf_func": 0, "scheme": 8, "scipi": [0, 2, 3, 13, 14, 16, 19], "scipy_optimize_minimize_arg": 3, "search": 12, "second": [0, 2, 4, 8], "section": 8, "sector": [0, 4, 13], "see": [0, 2, 4, 12, 18, 19], "seed": [0, 5, 6, 9, 12], "select": 3, "sens": 19, "separ": 12, "sequenc": [0, 2, 4], "seri": 2, "set": [0, 2, 8, 11, 16, 19], "setup": 16, "sever": 9, "shape": [0, 2, 5, 16, 19], "share": 16, "short": 16, "should": [0, 2, 4, 5, 6, 9, 11, 18], "show": [13, 14, 16], "shown": 14, "side": 0, "sigma": [0, 1, 4, 8, 9, 11, 16], "sign": 0, "signatur": 3, "signific": 19, "similar": 16, "similarli": 0, "simpl": 18, "simpler": 0, "simpli": [4, 12], "simplist": 19, "simul": [0, 8, 11, 12, 15, 17, 20], "simulate_qdrift_double_factor": [0, 7], "simulate_trotter_double_factor": [0, 7, 8, 19], "simulate_trotter_step_double_factor": 19, "sin": [0, 13], "sinc": [0, 2, 11, 13, 16], "singl": [0, 8, 19], "singlefactorizedhamiltonian": [0, 7], "site": 0, "size": [3, 13], "slater": [0, 4], "slater_determin": [0, 7], "slater_determinant_rdm": [0, 7], "slice": 2, "small": [2, 16], "smaller": [0, 2, 8, 14, 19], "so": [0, 2, 8, 11, 13, 14, 16, 18, 19], "softwar": [0, 17], "solv": 3, "some": [0, 2, 6, 9, 12, 14, 16], "sometim": [0, 12], "somewhat": 16, "sourc": [0, 1, 2, 3, 4, 5, 6, 17], "space": [0, 9, 12, 13, 16, 19], "span": [0, 2], "spars": [9, 14, 19], "sparsiti": 16, "spatial": [0, 1, 4, 6, 8, 9, 11, 12, 13, 14, 16, 19], "special": [2, 5, 17], "specif": 12, "specifi": [0, 2, 3, 4, 6, 9, 13, 16, 19], "spectral": 0, "speed": 3, "spin": [0, 1, 4, 6, 7, 11, 12, 13, 14, 16, 17], "spin_squar": [0, 7], "spin_sum": 0, "split": 19, "squar": [0, 2, 16], "standard": 16, "standard_norm": 9, "star": 2, "start": 0, "state": [0, 1, 3, 4, 5, 7, 9, 10, 11, 16, 17, 19], "statevector": [0, 4], "static": 0, "statu": [13, 16], "step": [0, 8, 11, 13, 19], "step_tim": 19, "still": [0, 8, 16], "sto": [0, 13, 16, 19], "stop": [13, 16], "store": [0, 2, 9, 16, 19], "store_fci_vec": 0, "store_t1": 0, "store_t2": 0, "str": [0, 2, 4, 6], "straightforward": 2, "strength": 0, "stretch": 16, "strictli": 3, "string": [0, 12, 14], "structur": [0, 8], "subdirectori": 18, "subroutin": 11, "subspac": [0, 2, 14], "subsystem": [12, 18], "subtract": [0, 14], "success": [13, 16], "sudo": 18, "suffix": 13, "sum": [0, 1, 4, 8, 19], "sum_": [0, 1, 2, 4, 8, 9, 11, 16, 19], "sum_j": 11, "sum_k": [8, 11], "sum_t": 0, "summat": 0, "support": [0, 2, 9, 12, 14, 18], "supportsapplyunitari": [0, 7], "supportsapproximateequ": [0, 7], "supportsfermionoper": [0, 7], "supportslinearoper": [0, 7], "supportstrac": [0, 7], "suzuki": [0, 19], "swap": 16, "symmetr": [0, 1, 2, 4, 5, 8, 16], "symmetri": [0, 7, 11, 13, 16, 17, 19], "system": [11, 12, 18], "t": [0, 2, 4, 8, 11, 17], "t1": [0, 16], "t2": [0, 2, 5, 16], "t2_amplitud": 2, "t_": 2, "tabl": [0, 14], "take": [0, 3, 16], "taken": 16, "target": 2, "target_orb": 0, "tau": [0, 1, 4, 8, 9, 16], "taylor": 2, "tensor": [0, 1, 2, 5, 8, 9, 16, 19], "term": [0, 1, 2, 4, 5, 8, 14, 16, 19], "test": [7, 17, 19], "text": [0, 8, 9], "th": [2, 11], "than": [0, 4, 11, 16, 17], "thei": [0, 9, 11, 14, 16], "them": [12, 16], "therefor": 2, "theta": [0, 7, 13], "thi": [0, 2, 4, 8, 9, 11, 12, 13, 16, 17, 18, 19], "think": 2, "those": 3, "three": [9, 14], "threshold": [0, 2, 3], "thu": 8, "time": [0, 2, 3, 4, 9, 12, 19], "titl": 17, "tmp": 9, "to_number_represent": [0, 7], "to_paramet": [0, 7, 16], "to_t_amplitud": [0, 7], "to_z_represent": [0, 7], "tol": [0, 2, 19], "toler": [0, 2, 4, 6, 16, 19], "too": 2, "topologi": 16, "total": [0, 8, 13, 16, 19], "trace": [0, 7, 9, 19], "tracea": [9, 19], "trajectori": 0, "transform": [0, 1, 4], "transformationpass": 4, "transpil": 4, "treat": 0, "triangl": 16, "trianglular": [0, 2], "triangular": [0, 2], "triplet": 6, "trotter": [0, 17, 20], "true": [0, 2, 3, 4, 6, 14], "truncat": [8, 16], "try": 19, "tunnel": 0, "tupl": [0, 1, 2, 4, 6, 11, 13, 14, 19], "tutori": [17, 19], "twice": 13, "two": [0, 2, 5, 8, 9, 12, 13, 16, 18, 19], "two_body_integr": [0, 7], "two_body_tensor": [0, 2, 7, 9, 19], "type": [0, 1, 2, 3, 4, 5, 6, 18], "typic": 0, "u": [0, 1, 2, 4], "u_": [0, 4], "ubuntu": 18, "ucj": [0, 4], "ucj_oper": 4, "ucjoper": [0, 4, 7, 16], "ucjoperatorjw": [4, 7], "under": [0, 4], "uniform": [0, 5], "unimpl": 4, "union": 2, "unit": 2, "unitari": [0, 1, 2, 4, 5, 8, 11, 12, 15, 17], "univers": 2, "unlik": 0, "unord": 0, "untouch": 0, "up": [0, 3, 6, 8, 12, 18], "updat": [0, 8], "upon": 14, "upper": [0, 2, 16], "url": 17, "us": [0, 1, 2, 3, 4, 5, 8, 9, 11, 12, 13, 15, 16, 17, 19], "usag": [0, 2, 14], "user": 18, "userwarn": 9, "usual": 0, "util": [2, 5, 6, 8], "v": 0, "v_i": 2, "v_j": 2, "valid": [0, 4, 5, 6], "valu": [0, 1, 2, 3, 4, 6, 9, 16, 19], "valueerror": [0, 2, 4], "vari": 0, "variabl": 19, "variat": [0, 3, 16], "vdot": [16, 19], "ve": 19, "vec": [0, 1, 2, 4, 9, 11, 12, 14, 19], "vec_a": 0, "vec_b": 0, "vector": [0, 1, 2, 3, 4, 5, 9, 10, 11, 13, 14, 16, 17], "verbos": 6, "verifi": 2, "via": [0, 19], "view": 14, "volum": 18, "w": [0, 8, 11, 16], "w_k": [0, 16], "wa": [0, 3], "wai": 16, "warn": 9, "water": 13, "wavefunct": [3, 16], "we": [0, 2, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19], "web": 18, "weight": 12, "well": [0, 3, 12, 17, 18, 19], "when": [0, 3, 4, 9, 12, 14, 16, 17], "whenev": 0, "where": [0, 1, 2, 3, 4, 8, 11, 12, 16, 18, 19], "whether": [0, 1, 2, 3, 4, 14], "which": [0, 2, 4, 5, 8, 9, 11, 12, 13, 14, 16, 18, 19], "while": [8, 16], "whose": [0, 2, 12], "width": 5, "wigner": [0, 4], "william": 2, "window": [17, 18], "wise": 2, "with_final_orbital_rot": 0, "within": [0, 2, 14, 17], "without": 16, "won": 17, "word": [0, 4, 16], "work": [9, 17, 18], "would": [12, 16], "wrapper": 19, "write": 19, "written": 8, "wrote": 19, "wsl": 18, "x": [3, 4, 13, 16], "x0": [3, 13, 16], "yaml": 18, "yet": 9, "yield": [0, 2, 8, 13, 16, 19], "you": [9, 12, 16, 17, 18, 19], "your": 18, "z": [0, 1, 2, 4, 11, 14, 16, 17], "z_": [0, 1, 4], "z_represent": [0, 1, 4, 7], "zero": [0, 2, 4, 9], "zip": [0, 13, 16, 19], "\u03c8": 16}, "titles": ["ffsim", "ffsim.contract", "ffsim.linalg", "ffsim.optimize", "ffsim.qiskit", "ffsim.random", "ffsim.testing", "API Reference", "Double-factorized representation of the molecular Hamiltonian", "Hamiltonians", "Explanations", "Orbital rotations and quadratic Hamiltonians", "State vectors and gates", "How to simulate entanglement forging", "How to use the FermionOperator class", "How-to guides", "How to simulate the local unitary cluster Jastrow (LUCJ) ansatz", "ffsim", "Installation", "Implementing Trotter simulation of the double-factorized Hamiltonian", "Tutorials"], "titleterms": {"The": 16, "action": 9, "ansatz": [13, 16], "api": 7, "applic": 8, "background": 8, "brief": 8, "build": [13, 19], "choos": 13, "cite": 17, "class": 14, "cluster": 16, "comput": 13, "content": 17, "contract": 1, "data": 9, "docker": 18, "doubl": [8, 19], "energi": 13, "entangl": 13, "evolut": [8, 11], "explan": 10, "factor": [8, 19], "fermionoper": 14, "ffsim": [0, 1, 2, 3, 4, 5, 6, 17], "forg": 13, "formula": 8, "from": 18, "gate": 12, "guid": 15, "hamiltonian": [8, 9, 11, 19], "how": [13, 14, 15, 16], "implement": 19, "initi": 13, "instal": [17, 18], "jastrow": 16, "linalg": 2, "linear": 16, "linearoper": 9, "local": 16, "lucj": 16, "method": 16, "molecul": 13, "molecular": 8, "occup": 13, "oper": [9, 13], "optim": [3, 13, 16], "orbit": 11, "pip": 18, "qiskit": 4, "quadrat": 11, "random": 5, "refer": [7, 13], "represent": [8, 9], "rotat": 11, "scipi": 9, "simul": [13, 16, 19], "sourc": 18, "state": 12, "suzuki": 8, "test": 6, "time": [8, 11], "trotter": [8, 19], "tutori": 20, "ucj": 16, "unitari": 16, "us": [14, 18], "vector": 12, "via": [8, 9], "within": 18}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API Reference": [[7, "api-reference"]], "Application to the double-factorized Hamiltonian": [[8, "Application-to-the-double-factorized-Hamiltonian"]], "Application to time evolution via Trotter-Suzuki formulas": [[8, "Application-to-time-evolution-via-Trotter-Suzuki-formulas"]], "Brief background on Trotter-Suzuki formulas": [[8, "Brief-background-on-Trotter-Suzuki-formulas"]], "Build a molecule": [[13, "Build-a-molecule"]], "Build the Hamiltonian": [[19, "Build-the-Hamiltonian"]], "Choose reference occupations": [[13, "Choose-reference-occupations"]], "Citing ffsim": [[17, "citing-ffsim"]], "Compute energy": [[13, "Compute-energy"]], "Contents": [[17, "contents"]], "Data representation": [[9, "Data-representation"]], "Double-factorized representation": [[8, "Double-factorized-representation"]], "Double-factorized representation of the molecular Hamiltonian": [[8, "Double-factorized-representation-of-the-molecular-Hamiltonian"]], "Explanations": [[10, "explanations"]], "Gates": [[12, "Gates"]], "Hamiltonians": [[9, "Hamiltonians"]], "How to simulate entanglement forging": [[13, "How-to-simulate-entanglement-forging"]], "How to simulate the local unitary cluster Jastrow (LUCJ) ansatz": [[16, "How-to-simulate-the-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"]], "How to use the FermionOperator class": [[14, "How-to-use-the-FermionOperator-class"]], "How-to guides": [[15, "how-to-guides"]], "Implement Trotter simulation": [[19, "Implement-Trotter-simulation"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[19, "Implementing-Trotter-simulation-of-the-double-factorized-Hamiltonian"]], "Initialize ansatz operator": [[13, "Initialize-ansatz-operator"]], "Install from source": [[18, "install-from-source"]], "Installation": [[17, "installation"], [18, "installation"]], "Operator action via SciPy LinearOperators": [[9, "Operator-action-via-SciPy-LinearOperators"]], "Optimize energy": [[13, "Optimize-energy"]], "Optimize with the linear method": [[16, "Optimize-with-the-linear-method"]], "Orbital rotations": [[11, "Orbital-rotations"]], "Orbital rotations and quadratic Hamiltonians": [[11, "Orbital-rotations-and-quadratic-Hamiltonians"]], "Pip install": [[18, "pip-install"]], "State vectors": [[12, "State-vectors"]], "State vectors and gates": [[12, "State-vectors-and-gates"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[16, "The-local-unitary-cluster-Jastrow-(LUCJ)-ansatz"]], "The unitary cluster Jastrow (UCJ) ansatz": [[16, "The-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "Time evolution by a quadratic Hamiltonian": [[11, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Tutorials": [[20, "tutorials"]], "Use within Docker": [[18, "use-within-docker"]], "ffsim": [[0, "module-ffsim"], [17, "ffsim"]], "ffsim.contract": [[1, "module-ffsim.contract"]], "ffsim.linalg": [[2, "module-ffsim.linalg"]], "ffsim.optimize": [[3, "module-ffsim.optimize"]], "ffsim.qiskit": [[4, "module-ffsim.qiskit"]], "ffsim.random": [[5, "module-ffsim.random"]], "ffsim.testing": [[6, "module-ffsim.testing"]]}, "docnames": ["api/ffsim", "api/ffsim.contract", "api/ffsim.linalg", "api/ffsim.optimize", "api/ffsim.qiskit", "api/ffsim.random", "api/ffsim.testing", "api/index", "explanations/double-factorized", "explanations/hamiltonians", "explanations/index", "explanations/orbital-rotation", "explanations/state-vectors-and-gates", "how-to-guides/entanglement-forging", "how-to-guides/fermion-operator", "how-to-guides/index", "how-to-guides/lucj", "index", "install", "tutorials/double-factorized-trotter", "tutorials/index"], "envversion": {"nbsphinx": 4, "sphinx": 61, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["api/ffsim.rst", "api/ffsim.contract.rst", "api/ffsim.linalg.rst", "api/ffsim.optimize.rst", "api/ffsim.qiskit.rst", "api/ffsim.random.rst", "api/ffsim.testing.rst", "api/index.md", "explanations/double-factorized.ipynb", "explanations/hamiltonians.ipynb", "explanations/index.md", "explanations/orbital-rotation.ipynb", "explanations/state-vectors-and-gates.ipynb", "how-to-guides/entanglement-forging.ipynb", "how-to-guides/fermion-operator.ipynb", "how-to-guides/index.md", "how-to-guides/lucj.ipynb", "index.md", "install.md", "tutorials/double-factorized-trotter.ipynb", "tutorials/index.md"], "indexentries": {"__init__() (ffsim.qiskit.diagcoulombevolutionjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW.__init__", false]], "__init__() (ffsim.qiskit.dropnegligible method)": [[4, "ffsim.qiskit.DropNegligible.__init__", false]], "__init__() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.__init__", false]], "__init__() (ffsim.qiskit.preparehartreefockjw method)": [[4, "ffsim.qiskit.PrepareHartreeFockJW.__init__", false]], "__init__() (ffsim.qiskit.prepareslaterdeterminantjw method)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantJW.__init__", false]], "__init__() (ffsim.qiskit.ucjoperatorjw method)": [[4, "ffsim.qiskit.UCJOperatorJW.__init__", false]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action", false]], "active_space (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.active_space", false]], "alpha (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA", false]], "alpha_and_beta (ffsim.spin attribute)": [[0, "ffsim.Spin.ALPHA_AND_BETA", false]], "apply_diag_coulomb_evolution() (in module ffsim)": [[0, "ffsim.apply_diag_coulomb_evolution", false]], "apply_fsim_gate() (in module ffsim)": [[0, "ffsim.apply_fsim_gate", false]], "apply_givens_rotation() (in module ffsim)": [[0, "ffsim.apply_givens_rotation", false]], "apply_hop_gate() (in module ffsim)": [[0, "ffsim.apply_hop_gate", false]], "apply_matrix_to_slices() (in module ffsim.linalg)": [[2, "ffsim.linalg.apply_matrix_to_slices", false]], "apply_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_interaction", false]], "apply_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_num_num_interaction", false]], "apply_num_op_prod_interaction() (in module ffsim)": [[0, "ffsim.apply_num_op_prod_interaction", false]], "apply_num_op_sum_evolution() (in module ffsim)": [[0, "ffsim.apply_num_op_sum_evolution", false]], "apply_on_site_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_interaction", false]], "apply_on_site_num_num_interaction() (in module ffsim)": [[0, "ffsim.apply_on_site_num_num_interaction", false]], "apply_orbital_rotation() (in module ffsim)": [[0, "ffsim.apply_orbital_rotation", false]], "apply_tunneling_interaction() (in module ffsim)": [[0, "ffsim.apply_tunneling_interaction", false]], "apply_unitary() (in module ffsim)": [[0, "ffsim.apply_unitary", false]], "approx_eq() (in module ffsim)": [[0, "ffsim.approx_eq", false]], "assert_allclose_up_to_global_phase() (in module ffsim.testing)": [[6, "ffsim.testing.assert_allclose_up_to_global_phase", false]], "atom (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.atom", false]], "basis (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.basis", false]], "beta (ffsim.spin attribute)": [[0, "ffsim.Spin.BETA", false]], "c (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.c", false]], "ccsd_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_energy", false]], "ccsd_t1 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t1", false]], "ccsd_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.ccsd_t2", false]], "coeffs (ffsim.productstatesum attribute)": [[0, "ffsim.ProductStateSum.coeffs", false]], "conserves_particle_number() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_particle_number", false]], "conserves_spin_z() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.conserves_spin_z", false]], "constant (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.constant", false]], "constant (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.constant", false]], "constant (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.constant", false]], "contract_diag_coulomb() (in module ffsim.contract)": [[1, "ffsim.contract.contract_diag_coulomb", false]], "contract_num_op_sum() (in module ffsim.contract)": [[1, "ffsim.contract.contract_num_op_sum", false]], "contract_one_body() (in module ffsim.contract)": [[1, "ffsim.contract.contract_one_body", false]], "core_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.core_energy", false]], "cre() (in module ffsim)": [[0, "ffsim.cre", false]], "cre_a() (in module ffsim)": [[0, "ffsim.cre_a", false]], "cre_b() (in module ffsim)": [[0, "ffsim.cre_b", false]], "des() (in module ffsim)": [[0, "ffsim.des", false]], "des_a() (in module ffsim)": [[0, "ffsim.des_a", false]], "des_b() (in module ffsim)": [[0, "ffsim.des_b", false]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop", false]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats", false]], "diag_coulomb_mats_alpha_alpha (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_alpha", false]], "diag_coulomb_mats_alpha_alpha (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_alpha", false]], "diag_coulomb_mats_alpha_beta (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.diag_coulomb_mats_alpha_beta", false]], "diag_coulomb_mats_alpha_beta (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.diag_coulomb_mats_alpha_beta", false]], "diagcoulombevolutionjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW", false]], "dim() (in module ffsim)": [[0, "ffsim.dim", false]], "dims() (in module ffsim)": [[0, "ffsim.dims", false]], "dipole_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.dipole_integrals", false]], "double_factorized() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized", false]], "double_factorized_t2() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2", false]], "doublefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.DoubleFactorizedHamiltonian", false]], "dropnegligible (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DropNegligible", false]], "expectation_one_body_power() (in module ffsim)": [[0, "ffsim.expectation_one_body_power", false]], "expectation_one_body_product() (in module ffsim)": [[0, "ffsim.expectation_one_body_product", false]], "expectation_product_state() (ffsim.singlefactorizedhamiltonian method)": [[0, "ffsim.SingleFactorizedHamiltonian.expectation_product_state", false]], "expm_multiply_taylor() (in module ffsim.linalg)": [[2, "ffsim.linalg.expm_multiply_taylor", false]], "fci_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_energy", false]], "fci_vec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.fci_vec", false]], "fermi_hubbard_1d() (in module ffsim)": [[0, "ffsim.fermi_hubbard_1d", false]], "fermion_operator() (in module ffsim)": [[0, "ffsim.fermion_operator", false]], "fermionaction (class in ffsim)": [[0, "ffsim.FermionAction", false]], "fermionoperator (class in ffsim)": [[0, "ffsim.FermionOperator", false]], "ffsim": [[0, "module-ffsim", false]], "ffsim.contract": [[1, "module-ffsim.contract", false]], "ffsim.linalg": [[2, "module-ffsim.linalg", false]], "ffsim.optimize": [[3, "module-ffsim.optimize", false]], "ffsim.qiskit": [[4, "module-ffsim.qiskit", false]], "ffsim.random": [[5, "module-ffsim.random", false]], "ffsim.testing": [[6, "module-ffsim.testing", false]], "ffsim_vec_to_qiskit_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.ffsim_vec_to_qiskit_vec", false]], "final_orbital_rotation (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.final_orbital_rotation", false]], "from_mole() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_mole", false]], "from_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian static method)": [[0, "ffsim.DoubleFactorizedHamiltonian.from_molecular_hamiltonian", false]], "from_molecular_hamiltonian() (ffsim.singlefactorizedhamiltonian static method)": [[0, "ffsim.SingleFactorizedHamiltonian.from_molecular_hamiltonian", false]], "from_parameters() (ffsim.hopgateansatzoperator static method)": [[0, "ffsim.HopGateAnsatzOperator.from_parameters", false]], "from_parameters() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_parameters", false]], "from_parameters() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_parameters", false]], "from_scf() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_scf", false]], "from_t_amplitudes() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.from_t_amplitudes", false]], "from_t_amplitudes() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.from_t_amplitudes", false]], "generate_norb_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec", false]], "generate_norb_nelec_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nelec_spin", false]], "generate_norb_spin() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_spin", false]], "givens_decomposition() (in module ffsim.linalg)": [[2, "ffsim.linalg.givens_decomposition", false]], "givensrotation (class in ffsim.linalg)": [[2, "ffsim.linalg.GivensRotation", false]], "hamiltonian (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.hamiltonian", false]], "hartree_fock_state() (in module ffsim)": [[0, "ffsim.hartree_fock_state", false]], "hf_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.hf_energy", false]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator", false]], "i (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.i", false]], "indices_to_strings() (in module ffsim)": [[0, "ffsim.indices_to_strings", false]], "init_cache() (in module ffsim)": [[0, "ffsim.init_cache", false]], "interaction_pairs (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.interaction_pairs", false]], "inverse() (ffsim.qiskit.diagcoulombevolutionjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW.inverse", false]], "inverse() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.inverse", false]], "is_antihermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_antihermitian", false]], "is_hermitian() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_hermitian", false]], "is_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_orthogonal", false]], "is_real_symmetric() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_real_symmetric", false]], "is_special_orthogonal() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_special_orthogonal", false]], "is_unitary() (in module ffsim.linalg)": [[2, "ffsim.linalg.is_unitary", false]], "j (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.j", false]], "linear_operator() (in module ffsim)": [[0, "ffsim.linear_operator", false]], "lup() (in module ffsim.linalg)": [[2, "ffsim.linalg.lup", false]], "many_body_order() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.many_body_order", false]], "match_global_phase() (in module ffsim.linalg)": [[2, "ffsim.linalg.match_global_phase", false]], "mergeorbitalrotations (class in ffsim.qiskit)": [[4, "ffsim.qiskit.MergeOrbitalRotations", false]], "minimize_linear_method() (in module ffsim.optimize)": [[3, "ffsim.optimize.minimize_linear_method", false]], "mo_coeff (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_coeff", false]], "mo_occ (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mo_occ", false]], "modified_cholesky() (in module ffsim.linalg)": [[2, "ffsim.linalg.modified_cholesky", false]], "module": [[0, "module-ffsim", false], [1, "module-ffsim.contract", false], [2, "module-ffsim.linalg", false], [3, "module-ffsim.optimize", false], [4, "module-ffsim.qiskit", false], [5, "module-ffsim.random", false], [6, "module-ffsim.testing", false]], "mole (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.mole", false]], "moleculardata (class in ffsim)": [[0, "ffsim.MolecularData", false]], "molecularhamiltonian (class in ffsim)": [[0, "ffsim.MolecularHamiltonian", false]], "mp2_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_energy", false]], "mp2_t2 (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.mp2_t2", false]], "multireference_state() (in module ffsim)": [[0, "ffsim.multireference_state", false]], "multireference_state_prod() (in module ffsim)": [[0, "ffsim.multireference_state_prod", false]], "n_params() (ffsim.realucjoperator static method)": [[0, "ffsim.RealUCJOperator.n_params", false]], "n_params() (ffsim.ucjoperator static method)": [[0, "ffsim.UCJOperator.n_params", false]], "n_reps (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.n_reps", false]], "n_reps (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.n_reps", false]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec", false]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb", false]], "norb (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.norb", false]], "norb (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.norb", false]], "norb (ffsim.molecularhamiltonian property)": [[0, "ffsim.MolecularHamiltonian.norb", false]], "norb (ffsim.realucjoperator property)": [[0, "ffsim.RealUCJOperator.norb", false]], "norb (ffsim.singlefactorizedhamiltonian property)": [[0, "ffsim.SingleFactorizedHamiltonian.norb", false]], "norb (ffsim.ucjoperator property)": [[0, "ffsim.UCJOperator.norb", false]], "normal_ordered() (ffsim.fermionoperator method)": [[0, "ffsim.FermionOperator.normal_ordered", false]], "num_op_sum_linop() (in module ffsim.contract)": [[1, "ffsim.contract.num_op_sum_linop", false]], "number_operator() (in module ffsim)": [[0, "ffsim.number_operator", false]], "one_body_linop() (in module ffsim.contract)": [[1, "ffsim.contract.one_body_linop", false]], "one_body_squares (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_squares", false]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.one_body_tensor", false]], "one_body_tensor (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_tensor", false]], "one_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.one_body_tensor", false]], "one_body_tensor (ffsim.singlefactorizedhamiltonian attribute)": [[0, "ffsim.SingleFactorizedHamiltonian.one_body_tensor", false]], "one_hot() (in module ffsim)": [[0, "ffsim.one_hot", false]], "orb (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.orb", false]], "orbital_rotations (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.orbital_rotations", false]], "orbital_rotations (ffsim.realucjoperator attribute)": [[0, "ffsim.RealUCJOperator.orbital_rotations", false]], "orbital_rotations (ffsim.ucjoperator attribute)": [[0, "ffsim.UCJOperator.orbital_rotations", false]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries", false]], "orbitalrotationjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.OrbitalRotationJW", false]], "preparehartreefockjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareHartreeFockJW", false]], "prepareslaterdeterminantjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantJW", false]], "productstatesum (class in ffsim)": [[0, "ffsim.ProductStateSum", false]], "qiskit_vec_to_ffsim_vec() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.qiskit_vec_to_ffsim_vec", false]], "random_antihermitian() (in module ffsim.random)": [[5, "ffsim.random.random_antihermitian", false]], "random_hermitian() (in module ffsim.random)": [[5, "ffsim.random.random_hermitian", false]], "random_molecular_hamiltonian() (in module ffsim.random)": [[5, "ffsim.random.random_molecular_hamiltonian", false]], "random_nelec() (in module ffsim.testing)": [[6, "ffsim.testing.random_nelec", false]], "random_occupied_orbitals() (in module ffsim.testing)": [[6, "ffsim.testing.random_occupied_orbitals", false]], "random_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_orthogonal", false]], "random_real_symmetric_matrix() (in module ffsim.random)": [[5, "ffsim.random.random_real_symmetric_matrix", false]], "random_special_orthogonal() (in module ffsim.random)": [[5, "ffsim.random.random_special_orthogonal", false]], "random_statevector() (in module ffsim.random)": [[5, "ffsim.random.random_statevector", false]], "random_t2_amplitudes() (in module ffsim.random)": [[5, "ffsim.random.random_t2_amplitudes", false]], "random_two_body_tensor() (in module ffsim.random)": [[5, "ffsim.random.random_two_body_tensor", false]], "random_unitary() (in module ffsim.random)": [[5, "ffsim.random.random_unitary", false]], "rdm() (in module ffsim)": [[0, "ffsim.rdm", false]], "realucjoperator (class in ffsim)": [[0, "ffsim.RealUCJOperator", false]], "reduced_matrix() (in module ffsim.linalg)": [[2, "ffsim.linalg.reduced_matrix", false]], "reduced_matrix_product_states() (ffsim.singlefactorizedhamiltonian method)": [[0, "ffsim.SingleFactorizedHamiltonian.reduced_matrix_product_states", false]], "rotated() (ffsim.molecularhamiltonian method)": [[0, "ffsim.MolecularHamiltonian.rotated", false]], "run() (ffsim.qiskit.dropnegligible method)": [[4, "ffsim.qiskit.DropNegligible.run", false]], "run() (ffsim.qiskit.mergeorbitalrotations method)": [[4, "ffsim.qiskit.MergeOrbitalRotations.run", false]], "run_ccsd() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_ccsd", false]], "run_fci() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_fci", false]], "run_mp2() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_mp2", false]], "s (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.s", false]], "scf (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.scf", false]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized", false]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized", false]], "singlefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.SingleFactorizedHamiltonian", false]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant", false]], "slater_determinant_rdm() (in module ffsim)": [[0, "ffsim.slater_determinant_rdm", false]], "spin (class in ffsim)": [[0, "ffsim.Spin", false]], "spin (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.spin", false]], "spin (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.spin", false]], "spin_square() (in module ffsim)": [[0, "ffsim.spin_square", false]], "states (ffsim.productstatesum attribute)": [[0, "ffsim.ProductStateSum.states", false]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary", false]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality", false]], "supportsfermionoperator (class in ffsim)": [[0, "ffsim.SupportsFermionOperator", false]], "supportslinearoperator (class in ffsim)": [[0, "ffsim.SupportsLinearOperator", false]], "supportstrace (class in ffsim)": [[0, "ffsim.SupportsTrace", false]], "symmetry (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.symmetry", false]], "thetas (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.thetas", false]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation", false]], "to_parameters() (ffsim.hopgateansatzoperator method)": [[0, "ffsim.HopGateAnsatzOperator.to_parameters", false]], "to_parameters() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_parameters", false]], "to_parameters() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_parameters", false]], "to_t_amplitudes() (ffsim.realucjoperator method)": [[0, "ffsim.RealUCJOperator.to_t_amplitudes", false]], "to_t_amplitudes() (ffsim.ucjoperator method)": [[0, "ffsim.UCJOperator.to_t_amplitudes", false]], "to_z_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_z_representation", false]], "trace() (in module ffsim)": [[0, "ffsim.trace", false]], "two_body_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.two_body_integrals", false]], "two_body_tensor (ffsim.molecularhamiltonian attribute)": [[0, "ffsim.MolecularHamiltonian.two_body_tensor", false]], "ucjoperator (class in ffsim)": [[0, "ffsim.UCJOperator", false]], "ucjoperatorjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOperatorJW", false]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation", false]]}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "ProductStateSum"], [0, 1, 1, "", "RealUCJOperator"], [0, 1, 1, "", "SingleFactorizedHamiltonian"], [0, 1, 1, "", "Spin"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsFermionOperator"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCJOperator"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_givens_rotation"], [0, 5, 1, "", "apply_hop_gate"], [0, 5, 1, "", "apply_num_interaction"], [0, 5, 1, "", "apply_num_num_interaction"], [0, 5, 1, "", "apply_num_op_prod_interaction"], [0, 5, 1, "", "apply_num_op_sum_evolution"], [0, 5, 1, "", "apply_on_site_interaction"], [0, 5, 1, "", "apply_on_site_num_num_interaction"], [0, 5, 1, "", "apply_orbital_rotation"], [0, 5, 1, "", "apply_tunneling_interaction"], [0, 5, 1, "", "apply_unitary"], [0, 5, 1, "", "approx_eq"], [1, 0, 0, "-", "contract"], [0, 5, 1, "", "cre"], [0, 5, 1, "", "cre_a"], [0, 5, 1, "", "cre_b"], [0, 5, 1, "", "des"], [0, 5, 1, "", "des_a"], [0, 5, 1, "", "des_b"], [0, 5, 1, "", "dim"], [0, 5, 1, "", "dims"], [0, 5, 1, "", "expectation_one_body_power"], [0, 5, 1, "", "expectation_one_body_product"], [0, 5, 1, "", "fermi_hubbard_1d"], [0, 5, 1, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [0, 5, 1, "", "indices_to_strings"], [0, 5, 1, "", "init_cache"], [2, 0, 0, "-", "linalg"], [0, 5, 1, "", "linear_operator"], [0, 5, 1, "", "multireference_state"], [0, 5, 1, "", "multireference_state_prod"], [0, 5, 1, "", "number_operator"], [0, 5, 1, "", "one_hot"], [3, 0, 0, "-", "optimize"], [4, 0, 0, "-", "qiskit"], [5, 0, 0, "-", "random"], [0, 5, 1, "", "rdm"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_rdm"], [0, 5, 1, "", "spin_square"], [6, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.DoubleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_number_representation"], [0, 3, 1, "", "to_z_representation"], [0, 2, 1, "", "z_representation"]], "ffsim.FermionAction": [[0, 2, 1, "", "action"], [0, 2, 1, "", "orb"], [0, 2, 1, "", "spin"]], "ffsim.FermionOperator": [[0, 3, 1, "", "conserves_particle_number"], [0, 3, 1, "", "conserves_spin_z"], [0, 3, 1, "", "many_body_order"], [0, 3, 1, "", "normal_ordered"]], "ffsim.HopGateAnsatzOperator": [[0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 2, 1, "", "interaction_pairs"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "thetas"], [0, 3, 1, "", "to_parameters"]], "ffsim.MolecularData": [[0, 2, 1, "", "active_space"], [0, 2, 1, "", "atom"], [0, 2, 1, "", "basis"], [0, 2, 1, "", "ccsd_energy"], [0, 2, 1, "", "ccsd_t1"], [0, 2, 1, "", "ccsd_t2"], [0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 2, 1, "", "fci_energy"], [0, 2, 1, "", "fci_vec"], [0, 3, 1, "", "from_mole"], [0, 3, 1, "", "from_scf"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "hf_energy"], [0, 2, 1, "", "mo_coeff"], [0, 2, 1, "", "mo_occ"], [0, 4, 1, "", "mole"], [0, 2, 1, "", "mp2_energy"], [0, 2, 1, "", "mp2_t2"], [0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 2, 1, "", "orbital_symmetries"], [0, 3, 1, "", "run_ccsd"], [0, 3, 1, "", "run_fci"], [0, 3, 1, "", "run_mp2"], [0, 4, 1, "", "scf"], [0, 2, 1, "", "spin"], [0, 2, 1, "", "symmetry"], [0, 2, 1, "", "two_body_integrals"]], "ffsim.MolecularHamiltonian": [[0, 2, 1, "", "constant"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"], [0, 3, 1, "", "rotated"], [0, 2, 1, "", "two_body_tensor"]], "ffsim.ProductStateSum": [[0, 2, 1, "", "coeffs"], [0, 2, 1, "", "states"]], "ffsim.RealUCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.SingleFactorizedHamiltonian": [[0, 2, 1, "", "constant"], [0, 3, 1, "", "expectation_product_state"], [0, 3, 1, "", "from_molecular_hamiltonian"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_squares"], [0, 2, 1, "", "one_body_tensor"], [0, 3, 1, "", "reduced_matrix_product_states"]], "ffsim.Spin": [[0, 2, 1, "", "ALPHA"], [0, 2, 1, "", "ALPHA_AND_BETA"], [0, 2, 1, "", "BETA"]], "ffsim.UCJOperator": [[0, 2, 1, "", "diag_coulomb_mats_alpha_alpha"], [0, 2, 1, "", "diag_coulomb_mats_alpha_beta"], [0, 2, 1, "", "final_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "orbital_rotations"], [0, 3, 1, "", "to_parameters"], [0, 3, 1, "", "to_t_amplitudes"]], "ffsim.contract": [[1, 5, 1, "", "contract_diag_coulomb"], [1, 5, 1, "", "contract_num_op_sum"], [1, 5, 1, "", "contract_one_body"], [1, 5, 1, "", "diag_coulomb_linop"], [1, 5, 1, "", "num_op_sum_linop"], [1, 5, 1, "", "one_body_linop"]], "ffsim.linalg": [[2, 1, 1, "", "GivensRotation"], [2, 5, 1, "", "apply_matrix_to_slices"], [2, 5, 1, "", "double_factorized"], [2, 5, 1, "", "double_factorized_t2"], [2, 5, 1, "", "expm_multiply_taylor"], [2, 5, 1, "", "givens_decomposition"], [2, 5, 1, "", "is_antihermitian"], [2, 5, 1, "", "is_hermitian"], [2, 5, 1, "", "is_orthogonal"], [2, 5, 1, "", "is_real_symmetric"], [2, 5, 1, "", "is_special_orthogonal"], [2, 5, 1, "", "is_unitary"], [2, 5, 1, "", "lup"], [2, 5, 1, "", "match_global_phase"], [2, 5, 1, "", "modified_cholesky"], [2, 5, 1, "", "reduced_matrix"]], "ffsim.linalg.GivensRotation": [[2, 2, 1, "", "c"], [2, 2, 1, "", "i"], [2, 2, 1, "", "j"], [2, 2, 1, "", "s"]], "ffsim.optimize": [[3, 5, 1, "", "minimize_linear_method"]], "ffsim.qiskit": [[4, 1, 1, "", "DiagCoulombEvolutionJW"], [4, 1, 1, "", "DropNegligible"], [4, 1, 1, "", "MergeOrbitalRotations"], [4, 1, 1, "", "OrbitalRotationJW"], [4, 1, 1, "", "PrepareHartreeFockJW"], [4, 1, 1, "", "PrepareSlaterDeterminantJW"], [4, 1, 1, "", "UCJOperatorJW"], [4, 5, 1, "", "ffsim_vec_to_qiskit_vec"], [4, 5, 1, "", "qiskit_vec_to_ffsim_vec"]], "ffsim.qiskit.DiagCoulombEvolutionJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.DropNegligible": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "run"]], "ffsim.qiskit.MergeOrbitalRotations": [[4, 3, 1, "", "run"]], "ffsim.qiskit.OrbitalRotationJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.PrepareHartreeFockJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.PrepareSlaterDeterminantJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.UCJOperatorJW": [[4, 3, 1, "", "__init__"]], "ffsim.random": [[5, 5, 1, "", "random_antihermitian"], [5, 5, 1, "", "random_hermitian"], [5, 5, 1, "", "random_molecular_hamiltonian"], [5, 5, 1, "", "random_orthogonal"], [5, 5, 1, "", "random_real_symmetric_matrix"], [5, 5, 1, "", "random_special_orthogonal"], [5, 5, 1, "", "random_statevector"], [5, 5, 1, "", "random_t2_amplitudes"], [5, 5, 1, "", "random_two_body_tensor"], [5, 5, 1, "", "random_unitary"]], "ffsim.testing": [[6, 5, 1, "", "assert_allclose_up_to_global_phase"], [6, 5, 1, "", "generate_norb_nelec"], [6, 5, 1, "", "generate_norb_nelec_spin"], [6, 5, 1, "", "generate_norb_spin"], [6, 5, 1, "", "random_nelec"], [6, 5, 1, "", "random_occupied_orbitals"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "property", "Python property"], "5": ["py", "function", "Python function"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function"}, "terms": {"": [0, 2, 4, 7, 8, 9, 12, 13, 14, 16, 18, 19], "0": [0, 2, 3, 6, 8, 9, 12, 13, 14, 16, 19], "00": 16, "0000000": [13, 16], "001011": [0, 12], "001101": [0, 12], "001110": [0, 12], "003615488377960778": 16, "005e": 13, "01": [13, 16], "010011": [0, 12], "010101": [0, 12], "010110": [0, 12], "015845038941322578": 16, "02": [13, 16], "02242": 2, "023687069370341447": 16, "02459434j": 12, "02625": 2, "028364385191491454": 16, "02998708j": 12, "03": [13, 16], "03101213j": 12, "03525116j": 12, "036685417309834656": 19, "04": [13, 16], "046e": 16, "04824536314851351": 16, "05": [0, 2, 3, 4, 16], "05395": 4, "0609050": 5, "0625": [0, 14], "06273307": 12, "06551571": 12, "06677383j": 12, "06844774j": 12, "07": 6, "08": [0, 2, 3, 4], "08531313567180646": 16, "08729592721294072": 16, "08897206": 14, "08957": 2, "09438409j": 14, "094e": 13, "09723851": 12, "0j": 14, "1": [0, 2, 3, 5, 8, 9, 11, 12, 13, 14, 16, 19], "10": 19, "100": 13, "1000": 3, "100011": [0, 12], "100101": [0, 12], "100110": [0, 12], "104": 13, "108": 19, "11": [16, 19], "1102529j": 12, "11157654": 12, "112": 13, "12": [2, 14, 19], "12204343": 12, "1234": [9, 12, 13], "125": [0, 14], "12j": 14, "13": 19, "13113848": 12, "13327423j": 12, "13957088j": 12, "15": 13, "15624569": 12, "15828306": 12, "15x15": 13, "1711": [2, 4], "17276745j": 12, "17558331": 12, "180": 13, "1808": 2, "18j": 14, "192e": 16, "1e": [0, 2, 3, 4, 6, 13, 19], "1j": [0, 9, 14, 19], "2": [0, 1, 2, 4, 5, 8, 9, 12, 13, 14, 16, 19], "203e": 13, "20835741": 12, "20881506": 12, "208e": 16, "2104": 2, "2190712273": 9, "21928194": 12, "21984743e": 14, "22392824": 12, "23": 13, "23550198": 12, "23611476": 12, "249e": 16, "25": [0, 14], "25j": [0, 14], "26": 19, "263e": 16, "265e": 16, "269e": 16, "2732954031856018e": 16, "29821173j": 12, "2j": [0, 14], "2n": 12, "3": [0, 2, 4, 9, 12, 13, 14, 16, 19], "30052742j": 12, "307e": 16, "31980058j": 12, "33731417j": 12, "35": 19, "352929781916682": 16, "366e": 16, "36730125j": 12, "3714141": 12, "384e": 13, "39": [12, 14], "39075171": 12, "395e": 16, "3j": 14, "4": [0, 2, 8, 9, 12, 13, 14, 16, 19], "407e": 16, "412e": 13, "423": 16, "43103721276847": 16, "4314789553586": 16, "437e": 16, "4456267643962": 16, "44619365555918": 16, "45391634843948": 16, "453e": 16, "45740952655616": 16, "4578454353424": 16, "46": 16, "464957764796": 19, "46975600021709": 16, "46x46": 16, "478": 13, "49094286j": 12, "49387212754468": 16, "4j": 14, "5": [0, 3, 9, 12, 13, 14, 16, 19], "502e": 16, "504987065321155": 16, "50963842904653": 16, "51253171j": 12, "55717072551572": 9, "5626": 16, "57322412553863": 16, "584": 16, "58888": 18, "5j": [0, 14], "6": [9, 12, 13, 14, 16, 19], "603e": 13, "604e": 16, "611": 16, "6290254326717": 16, "6332495815006": 13, "64": 12, "669e": 16, "67794403659722": 13, "678": 16, "6787887956297": 13, "68381571232878": 13, "688e": 16, "690e": 16, "6g": [0, 13, 16, 19], "6j": 14, "7": [9, 13, 14, 19], "72": 16, "7288249991515": 13, "729e": 16, "72x72": 16, "736e": 13, "747e": 13, "75": 13, "77": 16, "774e": 16, "794e": 16, "8": [13, 14, 16, 19], "826e": 16, "841": 16, "9": [12, 14, 16, 19], "925e": 16, "9289": 16, "9402393562171305": 19, "958": 13, "974e": 16, "99": 9, "9974661839606402": 16, "9974709394967256": 16, "9985211214229683": 19, "9985211214229975": 19, "9988348999036183": 16, "9996731166933271": 19, "A": [0, 1, 2, 3, 4, 5, 6, 8, 11, 12, 14, 16, 18, 19], "AND": 13, "As": [0, 12, 16, 19], "By": 17, "For": [0, 3, 8, 9, 12, 13, 14, 16, 18, 19], "If": [0, 1, 2, 3, 4, 5, 6, 14], "In": [0, 8, 9, 12, 13, 14, 16, 19], "It": [0, 2, 3, 4, 12, 14, 16, 18], "Its": [3, 4], "NO": [13, 16], "No": 2, "Of": 16, "On": [12, 18], "One": [0, 19], "Such": 14, "That": [0, 3, 11, 14], "The": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 17, 18, 19], "Then": 0, "These": 14, "To": [0, 4, 8, 9, 12, 16, 19], "With": [16, 19], "_": [0, 2, 4, 8, 11, 13, 16, 19], "_1": 11, "_2": 11, "__init__": [4, 7], "_k": [0, 8, 16], "a_": [0, 4, 8, 9, 11, 14], "a_j": 1, "a_p": 0, "a_q": 0, "ab": 19, "abil": 8, "abl": 18, "about": 17, "abov": 14, "absolut": [0, 2, 4, 6], "acceler": 18, "accept": [11, 16], "access": [9, 18], "accomod": 8, "accur": 8, "achiev": [2, 19], "across": 18, "act": [0, 2, 4, 9, 13, 14], "action": [0, 1, 7, 11, 14, 18, 19], "activ": [0, 13, 16, 19], "active_spac": [0, 7, 13, 16, 19], "actual": [0, 6, 16], "ad": 0, "addit": [0, 8, 14, 19], "addition": 2, "after": [3, 16], "al": 2, "algebra": [2, 9, 14], "algorithm": [2, 3, 16, 17], "alia": [0, 2], "align": [0, 11, 16], "all": [0, 3, 4, 6, 14, 16, 18], "alloc": 0, "allow": [0, 2, 16, 18, 19], "allow_col_permut": 0, "allow_row_permut": 0, "alpha": [0, 1, 4, 6, 7, 9, 12, 13, 14, 16], "alpha_alpha_indic": [0, 16], "alpha_and_beta": [0, 4, 7], "alpha_beta_indic": [0, 16], "alpha_i": 0, "alpha_j": 0, "alreadi": [0, 4, 11], "also": [0, 1, 3, 4, 9, 11, 12, 14, 16, 19], "altern": [0, 8], "alwai": [0, 2, 5, 11, 12, 19], "amplitud": [0, 2, 5, 16], "an": [0, 1, 2, 4, 5, 8, 9, 11, 12, 13, 14, 16, 19], "angl": 0, "ani": [0, 3, 4, 11, 16], "annihil": [0, 14], "anoth": [2, 6], "ansatz": [0, 3, 15, 17], "ansatz_oper": 0, "ansatz_st": 16, "anti": [2, 5], "anticommut": 11, "ao": 0, "ap": 2, "api": [12, 17], "appear": [0, 2, 14], "append": [0, 6, 16], "appli": [0, 1, 2, 3, 4, 9, 11, 12, 16, 19], "applic": 11, "apply_": 12, "apply_diag_coulomb_evolut": [0, 7, 8, 19], "apply_fsim_g": [0, 7], "apply_givens_rot": [0, 7], "apply_hop_g": [0, 7], "apply_matrix_to_slic": [2, 7], "apply_num_interact": [0, 7], "apply_num_num_interact": [0, 7], "apply_num_op_prod_interact": [0, 7], "apply_num_op_sum_evolut": [0, 7, 11, 19], "apply_on_site_interact": [0, 7, 12], "apply_on_site_num_num_interact": [0, 7], "apply_orbital_rot": [0, 7, 11, 12], "apply_quad_ham_evolut": 11, "apply_tunneling_interact": [0, 7, 12], "apply_unitari": [0, 7, 16], "appropri": 0, "approx": 8, "approx_eq": [0, 7], "approxim": [0, 2, 3, 8, 19], "apt": 18, "ar": [0, 1, 2, 4, 5, 6, 8, 9, 11, 12, 14, 16, 18], "arbitrari": 4, "arch": 18, "arg": [0, 4], "argument": [0, 2, 3, 8, 9, 11, 12, 19], "aris": 8, "arithmet": 14, "around": 19, "arrai": [0, 2, 4, 6, 9, 12, 14], "arxiv": [2, 4, 5], "assembl": 2, "assert": 12, "assert_allclose_up_to_global_phas": [6, 7], "assertionerror": 6, "associ": [0, 3, 12, 14, 16], "assum": [4, 12], "asterisk": 0, "asymmetr": 8, "atol": [0, 2, 4, 6], "atom": [0, 7, 13, 16, 19], "attempt": 2, "attribut": [3, 9], "author": 17, "avail": [9, 18], "avoid": [0, 9, 14], "awar": 14, "b": [0, 2, 3, 6, 11, 13, 16], "backflow": 3, "background": 19, "base": [0, 2, 4], "basi": [0, 2, 4, 7, 11, 13, 16, 19], "basic": 9, "bear": 19, "becaus": [8, 9, 14], "been": [0, 8], "befor": [0, 14, 16, 18, 19], "begin": [0, 2, 11, 12, 16, 19], "behavior": [2, 4, 5], "being": [2, 14, 16], "below": [0, 16, 19], "benchmark": 0, "beta": [0, 1, 4, 6, 7, 9, 12, 13, 14, 16], "beta_i": 0, "beta_j": 0, "better": 8, "between": [0, 1, 2, 3, 4, 16], "bfg": [0, 2, 3, 13, 16], "bibtex": 17, "bit": 12, "bitstr": [0, 12], "bla": 18, "block_diag": 0, "bodi": [0, 1, 2, 5, 8, 9, 16, 19], "bond": [13, 16], "bond_angle_deg": 13, "bond_dist": 16, "bool": [0, 1, 2, 3, 4, 6], "bool_": 2, "both": [0, 2, 4, 13], "bound": [0, 2], "boundari": 0, "bq": 2, "brickwork": 13, "browser": 18, "build": [16, 18], "built": 19, "c": [0, 2, 7, 16], "c2v": 13, "cach": 0, "calcul": [0, 12, 16], "call": [0, 3, 8, 9, 11, 12, 14, 16, 19], "callabl": [3, 16], "callback": [0, 2, 3, 16], "can": [0, 2, 4, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19], "canon": 0, "casci": [13, 16], "case": [6, 13], "categori": 17, "cc": 16, "ccsd": [0, 16], "ccsd_energi": [0, 7], "ccsd_t1": [0, 7], "ccsd_t2": [0, 7], "cd": 18, "cdot": 2, "cell": [9, 12, 16, 19], "certain": 2, "challeng": 16, "character": 0, "check": [2, 4, 6], "chemcor": 19, "chemic": 0, "chemical_potenti": 0, "chemistri": 17, "choic": [0, 4, 6, 12], "choleski": [0, 2], "choos": [2, 12, 16], "ci": [13, 16], "circuit": [0, 4, 8, 12, 17], "class": [0, 2, 4, 5, 9, 13, 15, 16, 17, 19], "clement": 2, "clone": 18, "cluster": [0, 4, 15, 17], "co": [0, 13], "code": [4, 9, 12, 14, 16, 19], "coeff": [0, 1, 7], "coeffici": [0, 1, 2, 4, 11, 14, 16], "collect": [2, 16], "column": [0, 2, 4, 11, 12], "com": [17, 18], "comb": 4, "combin": [0, 1, 11, 14], "command": 18, "commonli": 8, "commun": [17, 18], "commut": [0, 8, 16], "compact": [8, 19], "compar": [0, 6, 19], "compil": 18, "complet": 0, "complex": [0, 1, 2, 5, 9], "complic": 16, "compon": [0, 14, 17], "compos": 18, "compress": [0, 2], "compris": [0, 14], "comput": [0, 2, 4, 9, 11, 16, 19], "concaten": 12, "concret": 9, "condit": 0, "configur": [0, 4, 12, 18], "conflict": 6, "conj": 11, "conjug": 2, "connect": 16, "consecut": 4, "conserv": [0, 14, 17], "conserves_particle_numb": [0, 7, 14], "conserves_spin_z": [0, 7, 14], "consid": [11, 16], "consist": [0, 9], "constant": [0, 5, 7, 8, 9, 16], "constrain": 2, "constraint": 16, "construct": [0, 1, 3, 4, 12, 13, 14, 16, 19], "constructor": 16, "contain": [0, 2, 3, 14, 16, 17, 18], "contract": [7, 17], "contract_diag_coulomb": [1, 7], "contract_num_op_sum": [1, 7], "contract_one_bodi": [1, 7], "contrast": 12, "control": 3, "conveni": 12, "convent": 0, "converg": [3, 13, 16, 19], "convers": 16, "convert": [0, 1, 4, 12, 14, 16, 19], "coordin": 0, "copi": [0, 14], "core": 0, "core_energi": [0, 7], "correl": 3, "correspond": [0, 2, 3, 4, 8, 11, 12, 16], "cost": 0, "coulomb": [0, 1, 2, 4, 8, 16, 19], "count": 0, "cours": 16, "cre": [0, 7], "cre_a": [0, 7, 14], "cre_b": [0, 7, 14], "creat": [0, 4, 12, 14, 16, 19], "creation": [0, 4, 11, 14], "criteria": 14, "current": [0, 2, 16], "d": [2, 18], "d2h": [16, 19], "dag": 4, "dagcircuit": 4, "dagger": [0, 1, 2, 8, 11, 14, 16], "dagger_": [0, 4, 8, 9, 11], "dagger_i": 1, "data": [0, 5, 13, 14, 16, 19], "dataclass": 16, "daunt": 8, "de": [0, 7], "decompos": [2, 4, 8], "decomposit": [0, 2, 8, 19], "decreas": 16, "def": [11, 13, 16, 19], "default": [0, 2, 3, 4, 5, 8, 9, 19], "default_rng": [0, 5, 6, 9, 13], "defaultdict": 16, "defin": [0, 2, 13, 16, 19], "definit": [0, 2, 3, 12], "demonstr": [12, 16], "denot": [0, 1, 2, 4, 11], "dens": 13, "densiti": 0, "depend": [0, 2, 3, 18, 19], "deprec": 0, "depth": 16, "deriv": 8, "des_a": [0, 7, 14], "des_b": [0, 7, 14], "descend": [0, 14], "describ": [0, 1, 2, 4, 8, 11, 14, 16, 19], "descript": [0, 4], "design": [0, 2, 11], "desir": [0, 6], "destroi": [0, 14], "determin": [0, 2, 4, 12], "dev": 18, "devel": 18, "develop": [4, 17], "df_hamiltonian": 19, "df_hamiltonian_alt": 19, "diag_coulomb_indic": [0, 2], "diag_coulomb_linop": [1, 7], "diag_coulomb_mat": [0, 7, 19], "diag_coulomb_mats_alpha_alpha": [0, 7], "diag_coulomb_mats_alpha_beta": [0, 7], "diagcoulombevolutionjw": [4, 7], "diagon": [0, 1, 2, 4, 8, 16, 19], "dict": [0, 2, 3, 13, 16], "dictionari": [0, 14], "differ": [0, 1, 2, 3, 4, 9, 16, 18, 19], "dim": [0, 5, 7, 12, 14], "dim_a": [0, 12], "dim_b": [0, 12], "dimens": [0, 5, 12], "dimension": [0, 2, 4, 12], "dipol": 0, "dipole_integr": [0, 7], "direct": 19, "directli": [16, 18, 19], "directori": 18, "discuss": [8, 11], "disjoint": 2, "displai": 14, "distribut": 5, "divid": 8, "divis": [0, 14], "dnf": 18, "do": [8, 14], "docker": 17, "dockerfil": 18, "docstr": 0, "document": [0, 2], "doe": [0, 14], "dot": 0, "doubl": [0, 2, 10, 16, 17, 20], "double_factor": [0, 2, 7], "double_factorized_t2": [2, 7], "doublefactorizedhamiltonian": [0, 7, 19], "down": 12, "drop": 4, "dropneglig": [4, 7], "dtype": [0, 5, 9, 13, 16], "e": [0, 2, 4, 8, 9, 13, 14, 16], "e_corr": 16, "each": [0, 2, 3, 8, 12, 14, 16, 18, 19], "effect": [0, 4, 16], "effici": [8, 14], "eig": [9, 14], "eigendecomposit": 11, "eigenvalu": [0, 2, 3, 9], "eigenvector": 0, "eigh": [11, 19], "eigsh": 9, "einsum": 19, "either": [0, 2, 4, 16], "electon": [0, 4], "electron": [0, 1, 4, 5, 6, 9, 12, 13, 19], "element": [0, 2, 19], "ell": 2, "els": [0, 5, 12], "elsewher": 0, "enabl": 2, "end": [0, 2, 11, 16, 19], "energi": [0, 3, 9, 11, 16, 19], "enforc": [0, 16], "ensur": 9, "entangl": [0, 15, 17], "entir": [2, 8], "entri": [0, 2, 12, 16, 19], "enumer": [0, 16], "environ": 18, "epsilon": 3, "equal": [0, 2, 6], "equal_nan": 6, "equilibrium": 13, "equival": [0, 4], "err_msg": 6, "error": [0, 2, 4, 6, 19], "especi": 14, "estim": 9, "et": 2, "etc": 0, "ethen": 16, "evalu": [3, 13], "everi": 11, "everywher": 12, "evolut": [0, 4, 9, 19], "evolv": [0, 19], "evolved_vec": 9, "exact": [2, 8, 9, 19], "exact_st": 19, "exampl": [0, 9, 12, 13, 14, 16, 18], "exce": [2, 13, 19], "except": [0, 3], "exist": 4, "exp": [0, 2, 4, 6], "expand": 0, "expans": [2, 3], "expect": [0, 3], "expectation_one_body_pow": [0, 7], "expectation_one_body_product": [0, 7], "expectation_product_st": [0, 7], "expens": [0, 2], "explain": [9, 12, 19], "explan": [0, 17], "explicit": 0, "exploit": 17, "expm": 2, "expm_multipli": [9, 19], "expm_multiply_taylor": [2, 7], "exponenti": [8, 9, 19], "express": [12, 16, 19], "extra": 8, "f": [3, 12, 13, 16, 19], "facilit": 16, "fact": 13, "factor": [0, 2, 10, 16, 17, 20], "failur": 6, "fals": [0, 1, 2, 4, 13, 14, 16], "far": 14, "fast": 0, "faster": [16, 17], "fault": 16, "fci": [0, 12, 13, 16], "fci_energi": [0, 7], "fci_vec": [0, 7], "fcivec": 0, "fedora": 18, "feenberg": 3, "fermi": 0, "fermi_hubbard_1d": [0, 7], "fermion": [0, 8, 11, 14, 16, 17], "fermion_oper": [0, 7], "fermionact": [0, 7], "fermionoper": [0, 7, 15, 17], "few": [12, 18], "fewer": [3, 19], "ffsim": [7, 8, 9, 11, 12, 13, 14, 16, 18, 19], "ffsim_vec_to_qiskit_vec": [4, 7], "fidel": 19, "field": [0, 2], "file": 18, "filter": 0, "final": [0, 3, 16, 19], "final_orbital_rot": [0, 7], "final_st": [16, 19], "finish": 19, "finit": 3, "first": [0, 2, 4, 8, 12, 16, 19], "fix": 12, "flag": 0, "float": [0, 2, 3, 4, 5, 6, 9, 11, 19], "float64": [13, 16], "fock": [0, 4, 12, 16, 19], "focu": 9, "follow": [0, 3, 9, 11, 12, 14, 16, 17, 18, 19], "foot": 0, "forg": [0, 15, 17], "form": [0, 1, 2, 4, 8, 9, 11, 14, 16, 19], "format": [0, 4], "formula": [0, 19], "fourth": 8, "frac": [0, 2], "frac12": [0, 8, 9, 16], "frac18": 0, "framework": 18, "from": [0, 4, 5, 8, 11, 12, 13, 14, 16, 17, 19], "from_mol": [0, 7, 13, 19], "from_molecular_hamiltonian": [0, 7, 19], "from_paramet": [0, 7, 16], "from_scf": [0, 7, 16], "from_t_amplitud": [0, 7, 16], "frozen": 16, "fsim": 0, "full": [0, 2, 12, 13], "fulli": 9, "fun": [3, 13, 16], "function": [0, 1, 2, 3, 8, 9, 11, 12, 13, 14, 16, 19], "fundament": 11, "further": 12, "furthermor": [0, 2], "g": [0, 4, 13, 16], "g_": 2, "g_1": 2, "g_k": 2, "g_l": 2, "gate": [0, 4, 10, 13, 16, 17], "gener": [0, 3, 4, 5, 6, 8, 12, 13, 16, 17], "generate_norb_nelec": [6, 7], "generate_norb_nelec_spin": [6, 7], "generate_norb_spin": [6, 7], "get": [0, 12, 13, 16, 19], "git": 18, "github": [17, 18], "give": [0, 8], "given": [0, 1, 2, 4, 6, 8, 11], "givens_decomposit": [2, 7], "givensrot": [2, 7], "global": [4, 6], "go": [0, 14], "good": 14, "gradient": [2, 3, 16], "greater": 3, "ground": [9, 16], "gt": [13, 16], "gto": [13, 16, 19], "gtol": 3, "guarante": 4, "guess": 3, "guid": [13, 16, 17], "h": [0, 8, 9, 13, 16, 19], "h1_x": 13, "h2_x": 13, "h2_y": 13, "h_": [0, 2, 8, 9], "h_0": [8, 19], "h_k": [8, 19], "ha": [0, 1, 2, 4, 8, 11, 12, 16], "haar": 5, "ham": 12, "hamiltonian": [0, 3, 5, 7, 10, 13, 16, 17, 20], "hand": 12, "handl": 19, "hartre": [0, 4, 12, 16, 19], "hartree_fock": [0, 16], "hartree_fock_st": [0, 7, 9, 12, 16, 19], "hasattr": 16, "hash": 14, "have": [0, 2, 4, 8, 9, 11, 12, 14, 16, 18], "height": 5, "helper": 14, "here": [0, 2, 8, 11, 13, 16, 19], "hermitian": [0, 2, 5, 11], "hess_inv": [13, 16], "hf_energi": [0, 7], "higher": [0, 8, 19], "hold": 3, "home": 18, "hop": [0, 13], "hopgateansatzoper": [0, 7, 13], "hot": 0, "how": [0, 8, 9, 11, 12, 17, 19], "howev": [8, 17], "http": [17, 18], "hubbard": 0, "hyperparamet": [3, 16], "i": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19], "idea": 16, "ignor": [0, 2, 8], "ij": [0, 1, 2, 4, 8, 11, 16], "ijab": 2, "ik": 11, "imag": 18, "implement": [0, 1, 3, 4, 8, 9, 11, 13, 16, 17, 18, 20], "import": [0, 9, 11, 12, 13, 14, 16, 19], "impos": 16, "improv": 19, "includ": [0, 2, 8, 9, 11, 12, 13, 16, 17, 18], "incorpor": 0, "increas": [0, 12, 16, 19], "increment": 3, "incur": 3, "independ": [0, 4, 13], "index": [0, 12, 14, 16], "indic": [0, 2, 12, 14, 16], "indices_to_str": [0, 7, 12], "individu": [8, 12, 14], "info": 16, "inform": [9, 14, 16, 17, 19], "init_cach": [0, 7], "initi": [0, 3, 4, 5, 6, 9, 16, 19], "initial_st": 19, "initiali": 13, "input": [0, 1, 3, 4, 5, 6, 16], "instanc": [5, 9, 19], "instead": [0, 2, 16, 19], "instruct": [17, 18], "int": [0, 1, 2, 3, 4, 5, 6, 11, 13, 19], "integ": [0, 2, 4], "integr": 0, "interact": [0, 1, 4], "interaction_pair": [0, 7, 13], "interfac": [16, 18], "interferomet": 2, "intermedi": 16, "intermediate_result": [3, 16], "intern": 14, "interpret": 0, "introduc": [11, 16, 19], "invers": [4, 7], "involv": [0, 11, 16], "ip": 2, "ipykernel_4397": 9, "is_antihermitian": [2, 7], "is_hermitian": [2, 7], "is_orthogon": [2, 7], "is_real_symmetr": [2, 7], "is_special_orthogon": [2, 7], "is_unitari": [2, 7], "isclos": 0, "isn": 4, "issu": 9, "iter": [0, 3, 6, 16], "its": [0, 2, 9, 12, 13, 14, 19], "itself": [0, 12, 14], "j": [0, 1, 2, 4, 7, 8, 11, 12, 13, 14, 16], "jac": [3, 13, 16], "jastrow": [0, 3, 4, 15, 17], "ji": [0, 4, 11], "jk": 11, "jordan": [0, 4], "jq": 2, "jupyt": 18, "just": [0, 12, 16, 18, 19], "jwt": 4, "k": [0, 2, 8, 9, 14, 16, 19], "kappa": 0, "kappa_": 0, "keep": [0, 2], "kernel": 16, "kij": 19, "know": 13, "known": 8, "kpi": 19, "kqi": 19, "krj": 19, "kron": 0, "ksj": 19, "kwarg": [0, 4], "l": [0, 2, 3, 8, 13, 16, 19], "label": [4, 12], "ladder": [8, 16], "lambda_i": [0, 1, 11], "lambda_k": 11, "langl": 0, "larger": [0, 2, 3, 14], "last": [3, 4], "later": 19, "lattic": 16, "layer": 2, "lbfgsinvhessproduct": [13, 16], "ldot": [2, 8, 16, 19], "lead": [0, 3], "least": 2, "left": [0, 4, 11, 12, 14], "len": [13, 16, 19], "length": [0, 4, 12, 13, 16], "leq": [0, 2], "less": [2, 16], "let": [0, 12, 14, 19], "level": 19, "lexicograph": [0, 14], "libopenbla": 18, "librari": [0, 17], "like": [16, 18], "limit": [0, 2, 13, 16], "linalg": [0, 7, 9, 11, 14, 16, 17, 19], "lindep": 3, "line": 16, "linear": [0, 1, 2, 3, 9, 11, 14], "linear_oper": [0, 7, 9, 14, 16, 19], "linearli": 8, "linearoper": [0, 1, 3, 14, 16, 19], "linop": [9, 14, 19], "linux": 18, "list": [0, 2, 4, 6, 12, 13, 16, 19], "ll": [9, 11, 13, 16, 19], "lm": 14, "local": [15, 17], "localhost": 18, "log": [0, 4], "logic": [11, 13], "longest": 0, "lookup": 0, "low": [0, 8, 19], "lower": [0, 2], "lowest": [0, 12], "lt": [13, 16], "lu": 2, "lucj": [15, 17], "lup": [2, 7], "lvert": [0, 4, 12, 16], "m": [0, 1, 2, 11], "m_": [0, 1, 2], "maco": 18, "made": 19, "mai": [0, 2, 3, 4, 16, 18, 19], "main": [16, 18], "maintain": 8, "make": 16, "manag": 18, "mani": [0, 9, 11, 17], "manual": 19, "many_body_ord": [0, 7], "map": [0, 4, 11, 14], "mapsto": [0, 4, 11], "mat": [0, 1, 2, 4, 11, 12], "mat_alpha_beta": [0, 1, 4], "match": 2, "match_global_phas": [2, 7], "math": [5, 13], "mathbf": [0, 8, 11, 16], "mathcal": [0, 1, 4, 8, 11, 16], "matric": [0, 1, 2, 4, 11, 16, 19], "matrix": [0, 1, 2, 3, 4, 5, 8, 9, 11, 12, 14, 16], "max": 19, "max_error": 19, "max_vec": [0, 2, 19], "maxfun": 13, "maximum": [0, 2, 3, 5, 19], "maxit": [3, 16], "mcscf": [13, 16], "meant": 4, "measur": [5, 8], "mention": 8, "merg": 4, "mergeorbitalrot": [4, 7], "messag": [6, 13, 16], "method": [0, 2, 3, 13, 14, 17], "mind": 19, "minim": [0, 2, 3, 13, 16], "minimize_linear_method": [3, 7, 16], "minimizz": 13, "mo_coeff": [0, 7], "mo_occ": [0, 7], "mode": 11, "model": 0, "modifi": [0, 2], "modified_choleski": [2, 7], "modul": [0, 12, 13], "mol": [13, 16, 19], "mol_data": [13, 16, 19], "mol_hamiltonian": [9, 13, 16, 19], "mole": [0, 7, 13, 16, 19], "molecul": [0, 16, 19], "molecular": [0, 5, 9, 10, 12, 13, 16, 17, 19], "moleculardata": [0, 7, 13, 16, 19], "molecularhamiltonian": [0, 5, 7, 9, 19], "more": [0, 2, 3, 4, 8, 9, 12, 16, 19], "most": [0, 2, 14], "mp2": [0, 16], "mp2_energi": [0, 7], "mp2_t2": [0, 7], "mu": 0, "much": [0, 2, 8, 17], "multipl": [0, 9, 14, 19], "multipli": [0, 14], "multiport": 2, "multirefer": 0, "multireference_st": [0, 7], "multireference_state_prod": [0, 7, 13], "must": [0, 2, 3, 4, 14], "n": [0, 2, 8, 9, 11, 12, 16, 19], "n2": 19, "n_": [0, 1, 4, 8, 11, 12, 16], "n_alpha": [4, 6], "n_beta": [4, 6], "n_frozen": 19, "n_layer": 13, "n_p": 0, "n_param": [0, 7], "n_rep": [0, 7, 16], "n_sampl": 0, "n_step": [0, 19], "name": [0, 9, 12, 18], "namedtupl": [0, 2], "nan": 6, "nao_nr": [13, 16, 19], "nativ": 17, "navig": 18, "ndarrai": [0, 1, 2, 3, 4, 5, 6, 11, 16, 19], "nearest": 0, "nearest_neighbor_interact": 0, "need": [0, 9, 16, 18, 19], "neg": 0, "neglig": 4, "neighbor": 0, "nelec": [0, 1, 4, 6, 7, 9, 11, 12, 13, 14, 16, 19], "nelectron": 16, "neq": [0, 1, 4], "nest": 2, "network": 16, "new": [0, 4, 11, 14], "newli": 0, "next": [13, 19], "nfev": [3, 13, 16], "nit": [13, 16], "nitrogen": 19, "njev": [13, 16], "nlinop": [3, 16], "nn": 0, "nocc": [0, 5], "noisi": 16, "non": 16, "none": [0, 1, 2, 3, 4, 5, 6], "nonzero": [0, 2, 16], "norb": [0, 1, 4, 5, 6, 7, 9, 11, 12, 13, 14, 16, 19], "norb_rang": 6, "norm": [0, 3, 16], "normal": [0, 13, 14], "normal_ord": [0, 7, 14], "note": [0, 2, 3, 12, 14], "notebook": 18, "notic": 16, "notimplementederror": 4, "now": [9, 13, 19], "np": [0, 5, 6, 9, 11, 13, 16, 19], "num_op_sum_linop": [1, 7], "number": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 16, 17, 19], "number_oper": [0, 7], "numer": [0, 2, 4, 14], "numpi": [0, 2, 4, 6, 9, 11, 12, 13, 16, 19], "o": [0, 13], "o_1": 0, "o_2": 0, "o_k": 0, "obj": 0, "object": [0, 2, 3, 9, 14, 16], "obtain": [0, 8, 9, 11, 16, 19], "occ_a": 6, "occ_b": 6, "occup": [0, 8, 11, 12], "occupi": [0, 4, 5, 6, 12], "occupied_orbit": [0, 4], "often": [8, 16], "onc": [11, 18], "one": [0, 1, 2, 4, 5, 8, 9, 12, 16, 18, 19], "one_body_basis_chang": 19, "one_body_energi": 19, "one_body_integr": 0, "one_body_linop": [1, 7], "one_body_squar": [0, 7], "one_body_tensor": [0, 7, 9, 19], "one_hot": [0, 7], "one_rdm": 0, "ones": 9, "onli": [0, 2, 4, 8, 11, 16, 18], "onsit": 0, "onto": 14, "op": [0, 14], "op1": [0, 14], "op2": [0, 14], "op3": 14, "op4": 14, "openbla": 18, "oper": [0, 1, 2, 3, 4, 8, 11, 14, 16, 18, 19], "optim": [0, 2, 4, 7, 17], "optimize_hyperparamet": 3, "optimize_hyperparameters_arg": 3, "optimizeresult": [3, 16], "option": [0, 1, 2, 3, 9, 13, 16, 18], "orb": [0, 7, 14], "orbit": [0, 1, 2, 4, 5, 6, 8, 9, 10, 12, 13, 14, 16, 17, 19], "orbital_coeff": 4, "orbital_rot": [0, 1, 4, 7, 11, 12, 19], "orbital_symmetri": [0, 7], "orbitalrotationjw": [4, 7], "order": [0, 4, 8, 9, 12, 14, 16, 19], "origin": [0, 2, 19], "orthogon": [2, 5], "orthonorm": 4, "other": [0, 4, 12, 16], "otherwis": 0, "our": [13, 16, 19], "out": [2, 19], "output": [0, 3, 16], "over": 0, "overal": 3, "overrid": [0, 2], "overwritten": 0, "p": [0, 2, 8, 9, 16], "packag": 18, "pacman": 18, "page": [8, 9, 11, 12], "pair": [0, 2, 4, 6], "parallel": [2, 16], "param": 0, "paramet": [0, 1, 2, 3, 4, 5, 6, 13, 16], "params_to_vec": [3, 16], "part": [0, 8, 11, 12, 13], "particl": [0, 6, 11, 14, 17], "pass": [0, 2, 4, 9, 11, 12, 13, 14, 16], "pattern": 13, "pauli": 0, "per": 19, "perform": [0, 2, 3, 8, 9, 11, 19], "period": 0, "permut": [0, 2], "persist": 18, "ph": 5, "phase": [0, 2, 4, 6], "phi": [0, 2, 6], "phi_0": 16, "pi": [0, 13], "piec": [9, 14], "pip": 17, "pivot": 2, "pk": 2, "place": [0, 1, 4, 14, 16, 18], "plain": 12, "pmatrix": [0, 2], "posit": [2, 3, 12], "possibl": [0, 2, 6, 17], "possibli": [0, 16], "potenti": 0, "power": 0, "pq": [0, 2, 8, 9], "pqr": [0, 2, 8, 9, 19], "practic": 8, "pre": 16, "precis": [6, 16], "prepar": [0, 4], "preparehartreefockjw": [4, 7], "prepareslaterdeterminantjw": [4, 7], "present": 3, "preserv": 14, "previou": 16, "previous": [8, 12], "print": [0, 6, 12, 13, 14, 16, 19], "probabl": 0, "problem": 3, "processor": 16, "prod": 13, "prod_": [0, 4, 16], "prod_k": 8, "prod_state_sum": 0, "product": [0, 8, 12, 13, 14], "productstatesum": [0, 7], "programmat": 14, "project": 3, "properti": [0, 2, 11], "proport": [0, 8], "protocol": 0, "provid": [9, 16, 18], "pseudorandom": [0, 5, 6], "psi": [0, 16], "put": 13, "py": 9, "pypi": 18, "pyscf": [0, 4, 12, 13, 16, 19], "q": [0, 8, 9], "qdrift": 0, "qi": 0, "qiskit": [7, 17, 18], "qiskit_vec_to_ffsim_vec": [4, 7], "qk": 2, "quadrat": [8, 10, 17, 19], "qualnam": 0, "quantifi": 2, "quantiti": 0, "quantum": [0, 4, 8, 12, 16, 17], "qubit": [0, 4, 13, 16], "r": [0, 2, 8, 9], "radius_1": 13, "radius_2": 13, "rais": [0, 2, 4, 6], "random": [0, 6, 7, 9, 12, 13, 14, 17], "random_antihermitian": [5, 7], "random_hermitian": [5, 7], "random_molecular_hamiltonian": [5, 7], "random_nelec": [6, 7], "random_occupied_orbit": [6, 7], "random_orthogon": [5, 7], "random_real_symmetric_matrix": [5, 7, 9], "random_special_orthogon": [5, 7], "random_statevector": [5, 7, 14], "random_t2_amplitud": [5, 7], "random_two_body_tensor": [5, 7, 9], "random_unitari": [5, 7, 12], "rang": [0, 6, 12, 13, 16, 19], "rangl": [0, 4, 12, 16], "rank": [0, 2, 5, 8], "rather": [0, 11], "rdm": [0, 7], "rdm1": 0, "rdm2": 0, "rdm3": 0, "rdm4": 0, "reach": 16, "real": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 16], "realucjoper": [0, 7], "reason": [4, 11], "recommend": [14, 17], "reconstruct": [0, 2, 19], "recover": 0, "reduc": [0, 2], "reduced_matrix": [2, 7], "reduced_matrix_product_st": [0, 7], "redund": 16, "refer": [0, 2, 3, 4, 5, 11, 12, 16, 17], "reference_occup": [0, 13], "reference_occupations_spati": 13, "reference_st": 16, "regular": [3, 16], "rel": [0, 2, 4, 6], "relat": [11, 16], "reorder": [0, 8], "repeat": 13, "repeatedli": 11, "repetit": [0, 16], "repositori": 18, "repr": 14, "repres": [0, 2, 3, 9, 12, 14, 16], "represent": [0, 1, 2, 4, 10, 12, 14, 17, 19], "reproduc": 19, "requir": [0, 9, 12, 16, 18], "reshap": 12, "respect": [0, 2, 3, 19], "rest": 0, "result": [0, 1, 2, 3, 5, 8, 9, 13, 16, 19], "return": [0, 1, 2, 3, 4, 5, 6, 11, 13, 14, 16, 19], "return_lower_rank": 0, "rewrit": 0, "rewritten": 11, "rhf": [0, 16], "right": [0, 4, 11, 12, 14], "rise": 8, "rng": [9, 13], "root": 0, "rotat": [0, 1, 2, 4, 7, 8, 10, 12, 16, 17, 19], "rotated_vec": 12, "routin": [2, 9, 14], "row": [0, 12], "rtol": [0, 2, 4, 6], "rtype": 2, "run": [0, 4, 7, 16, 17, 18], "run_ccsd": [0, 7], "run_fci": [0, 7, 13, 16], "run_mp2": [0, 7], "rung": 16, "rust": 18, "rvert": 0, "s_": [0, 12], "sa": 9, "same": [0, 9, 11, 12, 13, 16], "sampl": [0, 5, 6, 9], "satisfi": [11, 14, 18], "save": [16, 18], "scalar": [0, 14], "scale": [8, 13], "scf": [0, 7, 13, 16, 19], "scf_func": 0, "scheme": 8, "scipi": [0, 2, 3, 13, 14, 16, 19], "scipy_optimize_minimize_arg": 3, "search": 12, "second": [0, 2, 4, 8], "section": 8, "sector": [0, 4, 13], "see": [0, 2, 4, 12, 18, 19], "seed": [0, 5, 6, 9, 12], "select": 3, "sens": 19, "separ": 12, "sequenc": [0, 2, 4], "seri": 2, "set": [0, 2, 8, 11, 16, 19], "setup": 16, "sever": 9, "shape": [0, 2, 5, 16, 19], "share": 16, "short": 16, "should": [0, 2, 4, 5, 6, 9, 11, 18], "show": [13, 14, 16], "shown": 14, "side": 0, "sigma": [0, 1, 4, 8, 9, 11, 16], "sign": 0, "signatur": 3, "signific": 19, "similar": 16, "simpl": 18, "simpler": 0, "simpli": [4, 12], "simplist": 19, "simul": [0, 8, 11, 12, 15, 17, 20], "simulate_qdrift_double_factor": [0, 7], "simulate_trotter_double_factor": [0, 7, 8, 19], "simulate_trotter_step_double_factor": 19, "sin": [0, 13], "sinc": [0, 2, 11, 13, 16], "singl": [0, 4, 8, 19], "singlefactorizedhamiltonian": [0, 7], "site": 0, "size": [3, 13], "slater": [0, 4], "slater_determin": [0, 7], "slater_determinant_rdm": [0, 7], "slice": 2, "small": [2, 16], "smaller": [0, 2, 8, 14, 19], "so": [0, 2, 8, 11, 13, 14, 16, 18, 19], "softwar": [0, 17], "solv": 3, "some": [0, 2, 6, 9, 12, 14, 16], "sometim": [0, 12], "somewhat": 16, "sourc": [0, 1, 2, 3, 4, 5, 6, 17], "space": [0, 9, 12, 13, 16, 19], "span": [0, 2], "spars": [9, 14, 19], "sparsiti": 16, "spatial": [0, 1, 4, 6, 8, 9, 11, 12, 13, 14, 16, 19], "special": [2, 5, 17], "specif": 12, "specifi": [0, 2, 3, 4, 6, 9, 13, 16, 19], "spectral": 0, "speed": 3, "spin": [0, 1, 4, 6, 7, 11, 12, 13, 14, 16, 17], "spin_squar": [0, 7], "spin_sum": 0, "split": 19, "squar": [0, 2, 16], "standard": 16, "standard_norm": 9, "star": 2, "start": 0, "state": [0, 1, 3, 4, 5, 7, 9, 10, 11, 16, 17, 19], "statevector": [0, 4], "static": 0, "statu": [13, 16], "step": [0, 8, 11, 13, 19], "step_tim": 19, "still": [0, 8, 16], "sto": [0, 13, 16, 19], "stop": [13, 16], "store": [0, 2, 9, 16, 19], "store_fci_vec": 0, "store_t1": 0, "store_t2": 0, "str": [0, 2, 4, 6], "straightforward": 2, "strength": 0, "stretch": 16, "strictli": 3, "string": [0, 12, 14], "structur": [0, 8], "subdirectori": 18, "subroutin": 11, "subspac": [0, 2, 14], "subsystem": [12, 18], "subtract": [0, 14], "success": [13, 16], "sudo": 18, "suffix": 13, "sum": [0, 1, 4, 8, 19], "sum_": [0, 1, 2, 4, 8, 9, 11, 16, 19], "sum_j": 11, "sum_k": [8, 11], "sum_t": 0, "summat": 0, "support": [0, 2, 9, 12, 14, 18], "supportsapplyunitari": [0, 7], "supportsapproximateequ": [0, 7], "supportsfermionoper": [0, 7], "supportslinearoper": [0, 7], "supportstrac": [0, 7], "suzuki": [0, 19], "swap": 16, "symmetr": [0, 1, 2, 4, 5, 8, 16], "symmetri": [0, 7, 11, 13, 16, 17, 19], "system": [11, 12, 18], "t": [0, 2, 4, 8, 11, 17], "t1": [0, 16], "t2": [0, 2, 5, 16], "t2_amplitud": 2, "t_": 2, "tabl": [0, 14], "take": [0, 3, 16], "taken": 16, "target": 2, "target_orb": 0, "tau": [0, 1, 4, 8, 9, 16], "taylor": 2, "tensor": [0, 1, 2, 5, 8, 9, 16, 19], "term": [0, 1, 2, 4, 5, 8, 14, 16, 19], "test": [7, 17, 19], "text": [0, 8, 9], "th": [2, 11], "than": [0, 4, 11, 16, 17], "thei": [0, 9, 11, 14, 16], "them": [12, 16], "therefor": 2, "theta": [0, 7, 13], "thi": [0, 2, 4, 8, 9, 11, 12, 13, 16, 17, 18, 19], "think": 2, "those": 3, "three": [9, 14], "threshold": [0, 2, 3], "thu": 8, "time": [0, 2, 3, 4, 9, 12, 19], "titl": 17, "tmp": 9, "to_number_represent": [0, 7], "to_paramet": [0, 7, 16], "to_t_amplitud": [0, 7], "to_z_represent": [0, 7], "tol": [0, 2, 19], "toler": [0, 2, 4, 6, 16, 19], "too": 2, "topologi": 16, "total": [0, 8, 13, 16, 19], "trace": [0, 7, 9, 19], "tracea": [9, 19], "trajectori": 0, "transform": [0, 1, 4], "transformationpass": 4, "transpil": 4, "treat": 0, "triangl": 16, "trianglular": [0, 2], "triangular": [0, 2], "triplet": 6, "trotter": [0, 17, 20], "true": [0, 2, 3, 4, 6, 14], "truncat": [8, 16], "try": 19, "tunnel": 0, "tupl": [0, 1, 2, 4, 6, 11, 13, 14, 19], "tutori": [17, 19], "twice": 13, "two": [0, 2, 5, 8, 9, 12, 13, 16, 18, 19], "two_body_integr": [0, 7], "two_body_tensor": [0, 2, 7, 9, 19], "type": [0, 1, 2, 3, 4, 5, 6, 18], "typic": 0, "u": [0, 1, 2, 4], "u_": [0, 4], "ubuntu": 18, "ucj": [0, 4], "ucj_oper": 4, "ucjoper": [0, 4, 7, 16], "ucjoperatorjw": [4, 7], "under": [0, 4], "uniform": [0, 5], "unimpl": 4, "union": 2, "unit": 2, "unitari": [0, 1, 2, 4, 5, 8, 11, 12, 15, 17], "univers": 2, "unlik": 0, "unord": 0, "untouch": 0, "up": [0, 3, 6, 8, 12, 18], "updat": [0, 8], "upon": 14, "upper": [0, 2, 16], "url": 17, "us": [0, 1, 2, 3, 4, 5, 8, 9, 11, 12, 13, 15, 16, 17, 19], "usag": [0, 2, 14], "user": 18, "userwarn": 9, "usual": 0, "util": [2, 5, 6, 8], "v": 0, "v_i": 2, "v_j": 2, "valid": [0, 4, 5, 6], "valu": [0, 1, 2, 3, 4, 6, 9, 16, 19], "valueerror": [0, 2, 4], "vari": 0, "variabl": 19, "variat": [0, 3, 16], "vdot": [16, 19], "ve": 19, "vec": [0, 1, 2, 4, 9, 11, 12, 14, 19], "vec_a": 0, "vec_b": 0, "vector": [0, 1, 2, 3, 4, 5, 9, 10, 11, 13, 14, 16, 17], "verbos": 6, "verifi": 2, "via": [0, 19], "view": 14, "volum": 18, "w": [0, 8, 11, 16], "w_k": [0, 16], "wa": [0, 3], "wai": 16, "warn": 9, "water": 13, "wavefunct": [3, 16], "we": [0, 2, 8, 9, 11, 12, 13, 14, 16, 17, 18, 19], "web": 18, "weight": 12, "well": [0, 3, 12, 17, 18, 19], "when": [0, 3, 4, 9, 12, 14, 16, 17], "whenev": 0, "where": [0, 1, 2, 3, 4, 8, 11, 12, 16, 18, 19], "whether": [0, 1, 2, 3, 4, 14], "which": [0, 2, 4, 5, 8, 9, 11, 12, 13, 14, 16, 18, 19], "while": [8, 16], "whose": [0, 2, 12], "width": 5, "wigner": [0, 4], "william": 2, "window": [17, 18], "wise": 2, "with_final_orbital_rot": 0, "within": [0, 2, 14, 17], "without": 16, "won": 17, "word": [0, 16], "work": [9, 17, 18], "would": [12, 16], "wrapper": 19, "write": 19, "written": 8, "wrote": 19, "wsl": 18, "x": [0, 3, 4, 13, 16], "x0": [3, 13, 16], "yaml": 18, "yet": 9, "yield": [0, 2, 8, 13, 16, 19], "you": [0, 4, 9, 12, 16, 17, 18, 19], "your": 18, "z": [0, 1, 2, 4, 11, 14, 16, 17], "z_": [0, 1, 4], "z_represent": [0, 1, 4, 7], "zero": [0, 2, 4, 9], "zip": [0, 13, 16, 19], "\u03c8": 16}, "titles": ["ffsim", "ffsim.contract", "ffsim.linalg", "ffsim.optimize", "ffsim.qiskit", "ffsim.random", "ffsim.testing", "API Reference", "Double-factorized representation of the molecular Hamiltonian", "Hamiltonians", "Explanations", "Orbital rotations and quadratic Hamiltonians", "State vectors and gates", "How to simulate entanglement forging", "How to use the FermionOperator class", "How-to guides", "How to simulate the local unitary cluster Jastrow (LUCJ) ansatz", "ffsim", "Installation", "Implementing Trotter simulation of the double-factorized Hamiltonian", "Tutorials"], "titleterms": {"The": 16, "action": 9, "ansatz": [13, 16], "api": 7, "applic": 8, "background": 8, "brief": 8, "build": [13, 19], "choos": 13, "cite": 17, "class": 14, "cluster": 16, "comput": 13, "content": 17, "contract": 1, "data": 9, "docker": 18, "doubl": [8, 19], "energi": 13, "entangl": 13, "evolut": [8, 11], "explan": 10, "factor": [8, 19], "fermionoper": 14, "ffsim": [0, 1, 2, 3, 4, 5, 6, 17], "forg": 13, "formula": 8, "from": 18, "gate": 12, "guid": 15, "hamiltonian": [8, 9, 11, 19], "how": [13, 14, 15, 16], "implement": 19, "initi": 13, "instal": [17, 18], "jastrow": 16, "linalg": 2, "linear": 16, "linearoper": 9, "local": 16, "lucj": 16, "method": 16, "molecul": 13, "molecular": 8, "occup": 13, "oper": [9, 13], "optim": [3, 13, 16], "orbit": 11, "pip": 18, "qiskit": 4, "quadrat": 11, "random": 5, "refer": [7, 13], "represent": [8, 9], "rotat": 11, "scipi": 9, "simul": [13, 16, 19], "sourc": 18, "state": 12, "suzuki": 8, "test": 6, "time": [8, 11], "trotter": [8, 19], "tutori": 20, "ucj": 16, "unitari": 16, "us": [14, 18], "vector": 12, "via": [8, 9], "within": 18}}) \ No newline at end of file diff --git a/tutorials/double-factorized-trotter.html b/tutorials/double-factorized-trotter.html index 75c79843c..e95b39ccb 100644 --- a/tutorials/double-factorized-trotter.html +++ b/tutorials/double-factorized-trotter.html @@ -406,7 +406,7 @@

Build the Hamiltonian
-Maximum error in a tensor entry: 0.036685417309834434
+Maximum error in a tensor entry: 0.036685417309834656
 

@@ -547,7 +547,7 @@

Implement Trotter simulation
-Fidelity of Trotter-evolved state with exact state: 0.9402435386998327
+Fidelity of Trotter-evolved state with exact state: 0.9402393562171305
 

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

@@ -574,7 +574,7 @@

Implement Trotter simulation
-Fidelity of Trotter-evolved state with exact state: 0.998521286151722
+Fidelity of Trotter-evolved state with exact state: 0.9985211214229683
 

In the code cell below, we reproduce the results of our manually implemented function using ffsim’s built-in implementation.

@@ -602,7 +602,7 @@

Implement Trotter simulation
-Fidelity of Trotter-evolved state with exact state: 0.9985212861517185
+Fidelity of Trotter-evolved state with exact state: 0.9985211214229975
 

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

@@ -630,7 +630,7 @@

Implement Trotter simulation
-Fidelity of Trotter-evolved state with exact state: 0.9996731164189284
+Fidelity of Trotter-evolved state with exact state: 0.9996731166933271
 

You’ve made it to the end of this tutorial!

diff --git a/tutorials/double-factorized-trotter.ipynb b/tutorials/double-factorized-trotter.ipynb index b8fefab92..40883e76e 100644 --- a/tutorials/double-factorized-trotter.ipynb +++ b/tutorials/double-factorized-trotter.ipynb @@ -18,10 +18,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:53.401657Z", - "iopub.status.busy": "2024-04-29T11:31:53.401204Z", - "iopub.status.idle": "2024-04-29T11:31:54.058194Z", - "shell.execute_reply": "2024-04-29T11:31:54.057609Z" + "iopub.execute_input": "2024-04-29T12:29:41.431200Z", + "iopub.status.busy": "2024-04-29T12:29:41.430997Z", + "iopub.status.idle": "2024-04-29T12:29:42.092292Z", + "shell.execute_reply": "2024-04-29T12:29:42.091658Z" } }, "outputs": [ @@ -79,10 +79,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.061249Z", - "iopub.status.busy": "2024-04-29T11:31:54.060704Z", - "iopub.status.idle": "2024-04-29T11:31:54.065083Z", - "shell.execute_reply": "2024-04-29T11:31:54.064500Z" + "iopub.execute_input": "2024-04-29T12:29:42.095377Z", + "iopub.status.busy": "2024-04-29T12:29:42.094795Z", + "iopub.status.idle": "2024-04-29T12:29:42.099198Z", + "shell.execute_reply": "2024-04-29T12:29:42.098618Z" } }, "outputs": [], @@ -105,10 +105,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.067656Z", - "iopub.status.busy": "2024-04-29T11:31:54.067279Z", - "iopub.status.idle": "2024-04-29T11:31:54.072307Z", - "shell.execute_reply": "2024-04-29T11:31:54.071780Z" + "iopub.execute_input": "2024-04-29T12:29:42.101757Z", + "iopub.status.busy": "2024-04-29T12:29:42.101398Z", + "iopub.status.idle": "2024-04-29T12:29:42.106500Z", + "shell.execute_reply": "2024-04-29T12:29:42.105993Z" } }, "outputs": [ @@ -171,10 +171,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.074538Z", - "iopub.status.busy": "2024-04-29T11:31:54.074185Z", - "iopub.status.idle": "2024-04-29T11:31:54.078718Z", - "shell.execute_reply": "2024-04-29T11:31:54.078122Z" + "iopub.execute_input": "2024-04-29T12:29:42.108873Z", + "iopub.status.busy": "2024-04-29T12:29:42.108532Z", + "iopub.status.idle": "2024-04-29T12:29:42.113165Z", + "shell.execute_reply": "2024-04-29T12:29:42.112544Z" } }, "outputs": [ @@ -207,10 +207,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.080938Z", - "iopub.status.busy": "2024-04-29T11:31:54.080747Z", - "iopub.status.idle": "2024-04-29T11:31:54.084742Z", - "shell.execute_reply": "2024-04-29T11:31:54.084247Z" + "iopub.execute_input": "2024-04-29T12:29:42.115291Z", + "iopub.status.busy": "2024-04-29T12:29:42.115096Z", + "iopub.status.idle": "2024-04-29T12:29:42.119008Z", + "shell.execute_reply": "2024-04-29T12:29:42.118412Z" } }, "outputs": [ @@ -241,10 +241,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.087008Z", - "iopub.status.busy": "2024-04-29T11:31:54.086650Z", - "iopub.status.idle": "2024-04-29T11:31:54.105086Z", - "shell.execute_reply": "2024-04-29T11:31:54.104616Z" + "iopub.execute_input": "2024-04-29T12:29:42.121247Z", + "iopub.status.busy": "2024-04-29T12:29:42.121060Z", + "iopub.status.idle": "2024-04-29T12:29:42.139791Z", + "shell.execute_reply": "2024-04-29T12:29:42.139177Z" } }, "outputs": [ @@ -252,7 +252,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Maximum error in a tensor entry: 0.036685417309834434\n" + "Maximum error in a tensor entry: 0.036685417309834656\n" ] } ], @@ -301,10 +301,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.107450Z", - "iopub.status.busy": "2024-04-29T11:31:54.106964Z", - "iopub.status.idle": "2024-04-29T11:31:54.111330Z", - "shell.execute_reply": "2024-04-29T11:31:54.110832Z" + "iopub.execute_input": "2024-04-29T12:29:42.142152Z", + "iopub.status.busy": "2024-04-29T12:29:42.141790Z", + "iopub.status.idle": "2024-04-29T12:29:42.146634Z", + "shell.execute_reply": "2024-04-29T12:29:42.146002Z" } }, "outputs": [], @@ -359,10 +359,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.113376Z", - "iopub.status.busy": "2024-04-29T11:31:54.113183Z", - "iopub.status.idle": "2024-04-29T11:31:54.116626Z", - "shell.execute_reply": "2024-04-29T11:31:54.116164Z" + "iopub.execute_input": "2024-04-29T12:29:42.149048Z", + "iopub.status.busy": "2024-04-29T12:29:42.148677Z", + "iopub.status.idle": "2024-04-29T12:29:42.152301Z", + "shell.execute_reply": "2024-04-29T12:29:42.151810Z" } }, "outputs": [], @@ -399,10 +399,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:54.118760Z", - "iopub.status.busy": "2024-04-29T11:31:54.118550Z", - "iopub.status.idle": "2024-04-29T11:31:57.082872Z", - "shell.execute_reply": "2024-04-29T11:31:57.082221Z" + "iopub.execute_input": "2024-04-29T12:29:42.154510Z", + "iopub.status.busy": "2024-04-29T12:29:42.154171Z", + "iopub.status.idle": "2024-04-29T12:29:45.128898Z", + "shell.execute_reply": "2024-04-29T12:29:45.128243Z" } }, "outputs": [], @@ -438,10 +438,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:57.086304Z", - "iopub.status.busy": "2024-04-29T11:31:57.085850Z", - "iopub.status.idle": "2024-04-29T11:31:57.170646Z", - "shell.execute_reply": "2024-04-29T11:31:57.169978Z" + "iopub.execute_input": "2024-04-29T12:29:45.132287Z", + "iopub.status.busy": "2024-04-29T12:29:45.131875Z", + "iopub.status.idle": "2024-04-29T12:29:45.221794Z", + "shell.execute_reply": "2024-04-29T12:29:45.221229Z" } }, "outputs": [ @@ -449,7 +449,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9402435386998327\n" + "Fidelity of Trotter-evolved state with exact state: 0.9402393562171305\n" ] } ], @@ -479,10 +479,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:57.173582Z", - "iopub.status.busy": "2024-04-29T11:31:57.173358Z", - "iopub.status.idle": "2024-04-29T11:31:57.473983Z", - "shell.execute_reply": "2024-04-29T11:31:57.473356Z" + "iopub.execute_input": "2024-04-29T12:29:45.224698Z", + "iopub.status.busy": "2024-04-29T12:29:45.224266Z", + "iopub.status.idle": "2024-04-29T12:29:45.549121Z", + "shell.execute_reply": "2024-04-29T12:29:45.548546Z" } }, "outputs": [ @@ -490,7 +490,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.998521286151722\n" + "Fidelity of Trotter-evolved state with exact state: 0.9985211214229683\n" ] } ], @@ -520,10 +520,10 @@ "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:57.501012Z", - "iopub.status.busy": "2024-04-29T11:31:57.499862Z", - "iopub.status.idle": "2024-04-29T11:31:57.779011Z", - "shell.execute_reply": "2024-04-29T11:31:57.778445Z" + "iopub.execute_input": "2024-04-29T12:29:45.552137Z", + "iopub.status.busy": "2024-04-29T12:29:45.551663Z", + "iopub.status.idle": "2024-04-29T12:29:45.834944Z", + "shell.execute_reply": "2024-04-29T12:29:45.834355Z" } }, "outputs": [ @@ -531,7 +531,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9985212861517185\n" + "Fidelity of Trotter-evolved state with exact state: 0.9985211214229975\n" ] } ], @@ -562,10 +562,10 @@ "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2024-04-29T11:31:57.783749Z", - "iopub.status.busy": "2024-04-29T11:31:57.782767Z", - "iopub.status.idle": "2024-04-29T11:31:57.999128Z", - "shell.execute_reply": "2024-04-29T11:31:57.998592Z" + "iopub.execute_input": "2024-04-29T12:29:45.839258Z", + "iopub.status.busy": "2024-04-29T12:29:45.838261Z", + "iopub.status.idle": "2024-04-29T12:29:46.066669Z", + "shell.execute_reply": "2024-04-29T12:29:46.066059Z" } }, "outputs": [ @@ -573,7 +573,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9996731164189284\n" + "Fidelity of Trotter-evolved state with exact state: 0.9996731166933271\n" ] } ],