diff --git a/dev/.buildinfo b/dev/.buildinfo index 229036896..77e44b3c5 100644 --- a/dev/.buildinfo +++ b/dev/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file records the configuration used when building these files. When it is not found, a full rebuild will be done. -config: d2b66d7f5e0fbf1d48589b95885ca240 +config: d61c402cfb341a03d13159edf317180c tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/dev/.doctrees/environment.pickle b/dev/.doctrees/environment.pickle index d2da55780..c05da30ad 100644 Binary files a/dev/.doctrees/environment.pickle and b/dev/.doctrees/environment.pickle differ diff --git a/dev/.doctrees/explanations/hamiltonians.doctree b/dev/.doctrees/explanations/hamiltonians.doctree index b7b1cd741..60cee43b0 100644 Binary files a/dev/.doctrees/explanations/hamiltonians.doctree and b/dev/.doctrees/explanations/hamiltonians.doctree differ diff --git a/dev/.doctrees/how-to-guides/entanglement-forging.doctree b/dev/.doctrees/how-to-guides/entanglement-forging.doctree index 3c433f56b..f4aa7050e 100644 Binary files a/dev/.doctrees/how-to-guides/entanglement-forging.doctree and b/dev/.doctrees/how-to-guides/entanglement-forging.doctree differ diff --git a/dev/.doctrees/how-to-guides/fermion-operator.doctree b/dev/.doctrees/how-to-guides/fermion-operator.doctree index d19ebbe1e..d7313ce8b 100644 Binary files a/dev/.doctrees/how-to-guides/fermion-operator.doctree and b/dev/.doctrees/how-to-guides/fermion-operator.doctree differ diff --git a/dev/.doctrees/how-to-guides/lucj.doctree b/dev/.doctrees/how-to-guides/lucj.doctree index 868980fac..c983eb34d 100644 Binary files a/dev/.doctrees/how-to-guides/lucj.doctree and b/dev/.doctrees/how-to-guides/lucj.doctree differ diff --git a/dev/.doctrees/how-to-guides/qiskit-circuits.doctree b/dev/.doctrees/how-to-guides/qiskit-circuits.doctree index 2906b86da..67e232f8c 100644 Binary files a/dev/.doctrees/how-to-guides/qiskit-circuits.doctree and b/dev/.doctrees/how-to-guides/qiskit-circuits.doctree differ diff --git a/dev/.doctrees/how-to-guides/qiskit-sampler.doctree b/dev/.doctrees/how-to-guides/qiskit-sampler.doctree index 3d00b4df1..92b8f64d0 100644 Binary files a/dev/.doctrees/how-to-guides/qiskit-sampler.doctree and b/dev/.doctrees/how-to-guides/qiskit-sampler.doctree differ diff --git a/dev/.doctrees/nbsphinx/explanations/hamiltonians.ipynb b/dev/.doctrees/nbsphinx/explanations/hamiltonians.ipynb index bb2c53292..542d6136e 100644 --- a/dev/.doctrees/nbsphinx/explanations/hamiltonians.ipynb +++ b/dev/.doctrees/nbsphinx/explanations/hamiltonians.ipynb @@ -33,10 +33,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:22.212599Z", - "iopub.status.busy": "2024-12-05T03:21:22.212405Z", - "iopub.status.idle": "2024-12-05T03:21:22.936360Z", - "shell.execute_reply": "2024-12-05T03:21:22.935726Z" + "iopub.execute_input": "2024-12-05T04:46:56.170333Z", + "iopub.status.busy": "2024-12-05T04:46:56.169891Z", + "iopub.status.idle": "2024-12-05T04:46:56.899239Z", + "shell.execute_reply": "2024-12-05T04:46:56.898651Z" } }, "outputs": [], @@ -68,10 +68,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:22.938787Z", - "iopub.status.busy": "2024-12-05T03:21:22.938491Z", - "iopub.status.idle": "2024-12-05T03:21:22.941593Z", - "shell.execute_reply": "2024-12-05T03:21:22.941110Z" + "iopub.execute_input": "2024-12-05T04:46:56.901846Z", + "iopub.status.busy": "2024-12-05T04:46:56.901352Z", + "iopub.status.idle": "2024-12-05T04:46:56.904240Z", + "shell.execute_reply": "2024-12-05T04:46:56.903774Z" } }, "outputs": [], @@ -99,10 +99,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:22.943786Z", - "iopub.status.busy": "2024-12-05T03:21:22.943290Z", - "iopub.status.idle": "2024-12-05T03:21:22.946565Z", - "shell.execute_reply": "2024-12-05T03:21:22.946108Z" + "iopub.execute_input": "2024-12-05T04:46:56.906329Z", + "iopub.status.busy": "2024-12-05T04:46:56.905971Z", + "iopub.status.idle": "2024-12-05T04:46:56.908965Z", + "shell.execute_reply": "2024-12-05T04:46:56.908507Z" } }, "outputs": [], @@ -127,10 +127,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:22.948362Z", - "iopub.status.busy": "2024-12-05T03:21:22.948174Z", - "iopub.status.idle": "2024-12-05T03:21:22.952632Z", - "shell.execute_reply": "2024-12-05T03:21:22.952065Z" + "iopub.execute_input": "2024-12-05T04:46:56.910865Z", + "iopub.status.busy": "2024-12-05T04:46:56.910504Z", + "iopub.status.idle": "2024-12-05T04:46:56.915405Z", + "shell.execute_reply": "2024-12-05T04:46:56.914846Z" } }, "outputs": [], @@ -152,17 +152,17 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:22.954753Z", - "iopub.status.busy": "2024-12-05T03:21:22.954540Z", - "iopub.status.idle": "2024-12-05T03:21:22.979586Z", - "shell.execute_reply": "2024-12-05T03:21:22.979023Z" + "iopub.execute_input": "2024-12-05T04:46:56.918616Z", + "iopub.status.busy": "2024-12-05T04:46:56.917818Z", + "iopub.status.idle": "2024-12-05T04:46:56.946633Z", + "shell.execute_reply": "2024-12-05T04:46:56.945953Z" } }, "outputs": [ { "data": { "text/plain": [ - "np.float64(-99.55717072551569)" + "np.float64(-99.55717072551553)" ] }, "execution_count": 5, @@ -191,10 +191,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:23.014517Z", - "iopub.status.busy": "2024-12-05T03:21:23.013952Z", - "iopub.status.idle": "2024-12-05T03:21:23.722545Z", - "shell.execute_reply": "2024-12-05T03:21:23.721915Z" + "iopub.execute_input": "2024-12-05T04:46:56.980235Z", + "iopub.status.busy": "2024-12-05T04:46:56.979782Z", + "iopub.status.idle": "2024-12-05T04:46:57.697130Z", + "shell.execute_reply": "2024-12-05T04:46:57.696466Z" } }, "outputs": [ @@ -202,7 +202,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_4129/2190712273.py:2: UserWarning: Trace of LinearOperator not available, it will be estimated. Provide `traceA` to ensure performance.\n", + "/tmp/ipykernel_4154/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-12-05T03:21:23.725922Z", - "iopub.status.busy": "2024-12-05T03:21:23.725125Z", - "iopub.status.idle": "2024-12-05T03:21:24.323558Z", - "shell.execute_reply": "2024-12-05T03:21:24.322918Z" + "iopub.execute_input": "2024-12-05T04:46:57.700023Z", + "iopub.status.busy": "2024-12-05T04:46:57.699781Z", + "iopub.status.idle": "2024-12-05T04:46:58.311503Z", + "shell.execute_reply": "2024-12-05T04:46:58.310879Z" } }, "outputs": [], diff --git a/dev/.doctrees/nbsphinx/explanations/orbital-rotation.ipynb b/dev/.doctrees/nbsphinx/explanations/orbital-rotation.ipynb index 1226b7570..541ea77b8 100644 --- a/dev/.doctrees/nbsphinx/explanations/orbital-rotation.ipynb +++ b/dev/.doctrees/nbsphinx/explanations/orbital-rotation.ipynb @@ -62,10 +62,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:27.401921Z", - "iopub.status.busy": "2024-12-05T03:21:27.401472Z", - "iopub.status.idle": "2024-12-05T03:21:28.119716Z", - "shell.execute_reply": "2024-12-05T03:21:28.119137Z" + "iopub.execute_input": "2024-12-05T04:47:04.503741Z", + "iopub.status.busy": "2024-12-05T04:47:04.503545Z", + "iopub.status.idle": "2024-12-05T04:47:05.238122Z", + "shell.execute_reply": "2024-12-05T04:47:05.237523Z" } }, "outputs": [], diff --git a/dev/.doctrees/nbsphinx/explanations/qiskit-gate-decompositions.ipynb b/dev/.doctrees/nbsphinx/explanations/qiskit-gate-decompositions.ipynb index 62f857fbb..37ec63cee 100644 --- a/dev/.doctrees/nbsphinx/explanations/qiskit-gate-decompositions.ipynb +++ b/dev/.doctrees/nbsphinx/explanations/qiskit-gate-decompositions.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:29.543343Z", - "iopub.status.busy": "2024-12-05T03:21:29.542995Z", - "iopub.status.idle": "2024-12-05T03:21:31.111710Z", - "shell.execute_reply": "2024-12-05T03:21:31.111147Z" + "iopub.execute_input": "2024-12-05T04:47:06.896362Z", + "iopub.status.busy": "2024-12-05T04:47:06.896167Z", + "iopub.status.idle": "2024-12-05T04:47:10.928540Z", + "shell.execute_reply": "2024-12-05T04:47:10.927878Z" } }, "outputs": [ @@ -81,10 +81,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.113976Z", - "iopub.status.busy": "2024-12-05T03:21:31.113487Z", - "iopub.status.idle": "2024-12-05T03:21:31.316959Z", - "shell.execute_reply": "2024-12-05T03:21:31.316364Z" + "iopub.execute_input": "2024-12-05T04:47:10.931010Z", + "iopub.status.busy": "2024-12-05T04:47:10.930415Z", + "iopub.status.idle": "2024-12-05T04:47:11.143861Z", + "shell.execute_reply": "2024-12-05T04:47:11.143226Z" } }, "outputs": [ @@ -119,10 +119,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.319255Z", - "iopub.status.busy": "2024-12-05T03:21:31.318854Z", - "iopub.status.idle": "2024-12-05T03:21:31.426366Z", - "shell.execute_reply": "2024-12-05T03:21:31.425800Z" + "iopub.execute_input": "2024-12-05T04:47:11.146444Z", + "iopub.status.busy": "2024-12-05T04:47:11.145906Z", + "iopub.status.idle": "2024-12-05T04:47:11.255057Z", + "shell.execute_reply": "2024-12-05T04:47:11.254491Z" } }, "outputs": [ @@ -156,10 +156,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.428468Z", - "iopub.status.busy": "2024-12-05T03:21:31.428270Z", - "iopub.status.idle": "2024-12-05T03:21:31.537726Z", - "shell.execute_reply": "2024-12-05T03:21:31.537172Z" + "iopub.execute_input": "2024-12-05T04:47:11.257399Z", + "iopub.status.busy": "2024-12-05T04:47:11.256936Z", + "iopub.status.idle": "2024-12-05T04:47:11.369270Z", + "shell.execute_reply": "2024-12-05T04:47:11.368577Z" } }, "outputs": [ @@ -196,10 +196,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.540008Z", - "iopub.status.busy": "2024-12-05T03:21:31.539516Z", - "iopub.status.idle": "2024-12-05T03:21:31.747721Z", - "shell.execute_reply": "2024-12-05T03:21:31.746610Z" + "iopub.execute_input": "2024-12-05T04:47:11.371447Z", + "iopub.status.busy": "2024-12-05T04:47:11.371075Z", + "iopub.status.idle": "2024-12-05T04:47:11.557187Z", + "shell.execute_reply": "2024-12-05T04:47:11.556603Z" } }, "outputs": [ @@ -250,10 +250,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.750916Z", - "iopub.status.busy": "2024-12-05T03:21:31.750536Z", - "iopub.status.idle": "2024-12-05T03:21:31.980425Z", - "shell.execute_reply": "2024-12-05T03:21:31.979904Z" + "iopub.execute_input": "2024-12-05T04:47:11.559444Z", + "iopub.status.busy": "2024-12-05T04:47:11.559061Z", + "iopub.status.idle": "2024-12-05T04:47:11.780913Z", + "shell.execute_reply": "2024-12-05T04:47:11.780301Z" } }, "outputs": [ @@ -292,10 +292,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.982569Z", - "iopub.status.busy": "2024-12-05T03:21:31.982186Z", - "iopub.status.idle": "2024-12-05T03:21:32.116976Z", - "shell.execute_reply": "2024-12-05T03:21:32.116336Z" + "iopub.execute_input": "2024-12-05T04:47:11.783120Z", + "iopub.status.busy": "2024-12-05T04:47:11.782761Z", + "iopub.status.idle": "2024-12-05T04:47:11.919074Z", + "shell.execute_reply": "2024-12-05T04:47:11.918459Z" } }, "outputs": [ @@ -334,10 +334,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:32.119328Z", - "iopub.status.busy": "2024-12-05T03:21:32.118738Z", - "iopub.status.idle": "2024-12-05T03:21:32.640450Z", - "shell.execute_reply": "2024-12-05T03:21:32.639847Z" + "iopub.execute_input": "2024-12-05T04:47:11.921244Z", + "iopub.status.busy": "2024-12-05T04:47:11.921044Z", + "iopub.status.idle": "2024-12-05T04:47:12.453587Z", + "shell.execute_reply": "2024-12-05T04:47:12.452932Z" } }, "outputs": [ @@ -378,10 +378,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:32.642697Z", - "iopub.status.busy": "2024-12-05T03:21:32.642353Z", - "iopub.status.idle": "2024-12-05T03:21:32.821158Z", - "shell.execute_reply": "2024-12-05T03:21:32.820634Z" + "iopub.execute_input": "2024-12-05T04:47:12.455860Z", + "iopub.status.busy": "2024-12-05T04:47:12.455400Z", + "iopub.status.idle": "2024-12-05T04:47:12.636075Z", + "shell.execute_reply": "2024-12-05T04:47:12.635532Z" } }, "outputs": [ @@ -430,10 +430,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:32.823312Z", - "iopub.status.busy": "2024-12-05T03:21:32.822906Z", - "iopub.status.idle": "2024-12-05T03:21:32.988913Z", - "shell.execute_reply": "2024-12-05T03:21:32.988306Z" + "iopub.execute_input": "2024-12-05T04:47:12.638214Z", + "iopub.status.busy": "2024-12-05T04:47:12.637860Z", + "iopub.status.idle": "2024-12-05T04:47:12.807896Z", + "shell.execute_reply": "2024-12-05T04:47:12.807245Z" } }, "outputs": [ @@ -474,10 +474,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:32.991113Z", - "iopub.status.busy": "2024-12-05T03:21:32.990698Z", - "iopub.status.idle": "2024-12-05T03:21:33.121686Z", - "shell.execute_reply": "2024-12-05T03:21:33.121123Z" + "iopub.execute_input": "2024-12-05T04:47:12.810422Z", + "iopub.status.busy": "2024-12-05T04:47:12.809905Z", + "iopub.status.idle": "2024-12-05T04:47:12.941894Z", + "shell.execute_reply": "2024-12-05T04:47:12.941226Z" } }, "outputs": [ @@ -513,10 +513,10 @@ "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.123837Z", - "iopub.status.busy": "2024-12-05T03:21:33.123457Z", - "iopub.status.idle": "2024-12-05T03:21:33.300292Z", - "shell.execute_reply": "2024-12-05T03:21:33.299694Z" + "iopub.execute_input": "2024-12-05T04:47:12.944103Z", + "iopub.status.busy": "2024-12-05T04:47:12.943722Z", + "iopub.status.idle": "2024-12-05T04:47:13.126592Z", + "shell.execute_reply": "2024-12-05T04:47:13.126005Z" } }, "outputs": [ @@ -553,10 +553,10 @@ "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.302440Z", - "iopub.status.busy": "2024-12-05T03:21:33.302062Z", - "iopub.status.idle": "2024-12-05T03:21:33.461175Z", - "shell.execute_reply": "2024-12-05T03:21:33.460659Z" + "iopub.execute_input": "2024-12-05T04:47:13.128611Z", + "iopub.status.busy": "2024-12-05T04:47:13.128424Z", + "iopub.status.idle": "2024-12-05T04:47:13.289598Z", + "shell.execute_reply": "2024-12-05T04:47:13.288976Z" } }, "outputs": [ @@ -593,10 +593,10 @@ "execution_count": 14, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.463262Z", - "iopub.status.busy": "2024-12-05T03:21:33.462859Z", - "iopub.status.idle": "2024-12-05T03:21:33.614941Z", - "shell.execute_reply": "2024-12-05T03:21:33.614363Z" + "iopub.execute_input": "2024-12-05T04:47:13.291732Z", + "iopub.status.busy": "2024-12-05T04:47:13.291345Z", + "iopub.status.idle": "2024-12-05T04:47:13.425891Z", + "shell.execute_reply": "2024-12-05T04:47:13.425120Z" } }, "outputs": [ @@ -630,10 +630,10 @@ "execution_count": 15, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.617371Z", - "iopub.status.busy": "2024-12-05T03:21:33.616925Z", - "iopub.status.idle": "2024-12-05T03:21:33.887906Z", - "shell.execute_reply": "2024-12-05T03:21:33.887267Z" + "iopub.execute_input": "2024-12-05T04:47:13.428264Z", + "iopub.status.busy": "2024-12-05T04:47:13.427871Z", + "iopub.status.idle": "2024-12-05T04:47:13.589877Z", + "shell.execute_reply": "2024-12-05T04:47:13.589261Z" } }, "outputs": [ @@ -677,10 +677,10 @@ "execution_count": 16, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.890102Z", - "iopub.status.busy": "2024-12-05T03:21:33.889904Z", - "iopub.status.idle": "2024-12-05T03:21:33.958944Z", - "shell.execute_reply": "2024-12-05T03:21:33.958377Z" + "iopub.execute_input": "2024-12-05T04:47:13.592156Z", + "iopub.status.busy": "2024-12-05T04:47:13.591784Z", + "iopub.status.idle": "2024-12-05T04:47:13.769692Z", + "shell.execute_reply": "2024-12-05T04:47:13.769088Z" } }, "outputs": [ @@ -736,16 +736,16 @@ "execution_count": 17, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.961315Z", - "iopub.status.busy": "2024-12-05T03:21:33.960784Z", - "iopub.status.idle": "2024-12-05T03:21:34.407442Z", - "shell.execute_reply": "2024-12-05T03:21:34.406774Z" + "iopub.execute_input": "2024-12-05T04:47:13.771715Z", + "iopub.status.busy": "2024-12-05T04:47:13.771518Z", + "iopub.status.idle": "2024-12-05T04:47:14.223630Z", + "shell.execute_reply": "2024-12-05T04:47:14.223002Z" } }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABLsAAAMkCAYAAABQkSLjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAADUdElEQVR4nOzde1zUVf7H8dfMgFwERDAVEAHFC2oIq2neEpWsfm2amW0X01K7W2tbZmvaWqmttlpb2cVNN7Usy63M1jItWS9RZN5NuXghw1uKCshNmfn9MYmOXBWYG+/n48FD5pwzcz7fr1++853PnHO+BovFYkFERERERERERMQNGB0dgIiIiIiIiIiISG1RsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DQ9HB+DMinPzObHrF0eH4TYax7Skgb9vle3yzkBGjh0CKkd0APh5OqZvEREREREREak5JbsqcWLXL3w5eJKjw3AbNyybSrNu7atsl5EDYzbYIaByvNML4oId07eIiIiIiIiI1JymMYqIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oQXqxS2kPpPA6d3JGDw8MZg88A5rT+jwaQR0HuDo0ERERERERETEjjSyS9xG6PBpxC/JI3bBERq268Ge6TdTcvqUo8MSERERERERETtSskvcjtHTiybXjsZcmEfhoQxHhyMiIiIiIiIidqRkl7gdc1EBx1a9g9E3AO/QNo4OR0RERERERETs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HR2F+xs9ejSTJk3iscceIzk5mR49epTWLV++nCVLlpCdnc3KlSvx8/Pj7rvvJi0tjbZt25a2Gz58OHFxcXz33XeVlt10000sWbKEUaNG2WfjREREREREpN7SNEaReq5Tp05kZWWVPs7Ozsbb2xuDwUBwcDB+fn4AmEwmDAaDzXObNm2K0Wissuyaa65h5cqVdbQFIiIiIiIiIucp2SVSzyUnJxMdHV36OCMjg4iICJs2O3fu5NixY7Rp0+ay+vD19eXEiRM1ilNERERERESkOpTsEqmn5s2bR0JCAmFhYcTFxVXYLicnh7FjxzJ37lz7BSciIiIiIiJymbRml0g9dW7NrotFR0eTmZkJgMViYdSoUTz//POEhoZedl/5+fkEBgZe9vNFREREREREqkvJLhGxERQURH5+PmC9a+O3337LsWPHAJg1axZhYWEsWrSI8ePHs3DhQv75z39y6tQpcnJymDlzZrlla9euZeDAgY7cLBEREREREaknlOwSqYcSEhJISEiosH7QoEGsXr2axMREsrOzy9SPHz8egBEjRjBixAibuvLKli9fzowZM2oeuIiIiIiIiEgVlOwSkTIuTlbV1Jw5c2r19UREREREREQqogXqRURERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNvQAvXidPLOQEaOY/qODgA/T8f0LSIiIiIiIiI1p2SXOJ2MHBizwTF9v9ML4oId07eIiIiIiIiI1JymMYqIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oQXqxS2kPpPA6d3JGDw8MZg88A5rT+jwaQR0HuDo0ERERERERETEjjSyS9xG6PBpxC/JI3bBERq268Ge6TdTcvqUo8MSERERERERETtSskvcjtHTiybXjsZcmEfhoQxHhyMiIiIiIiIidqRkl7gdc1EBx1a9g9E3AO/QNo4OR0RERERERETsyGWSXcXFxUyePJnw8HB8fHzo378/KSkpGAwGli1b5ujwxAkcXDyZLXcGsv2+SPL3bSV60heYfAMcHZZDFJec/91icVwcIrXBYoHD+fDraSgqqbq9iLM7UQS/5EHeGUdHIiKuorAEDuTB4QJd24nrM1vg4O/XdmfMjo5G3JVLLFBvsVgYNmwYKSkpTJkyhejo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B2D27Nl06NCBa6+9trRdfTtHiIhI+XQ3RhEREamxoKCg0ulvzZs3JzY2lj59+hAbG0vXrl05fPgwixYtYvz48fzlL38hLCyMhIQErr32Wp555hleeukl3n33XQwGA0ePHuUvf/kLiYmJNGjQgMDAQN577z3Aup5VZVMf3cW8efNYvXo1vXv3rnAkzM8//8zDDz9sU3b99deXGVnXunXrKvv79ddfefHFF/n8888B8PLyKq3r06cPe/bsITg4+DK3RqR8F543kpKS+Pbbbzl27BgAs2bNIiwsrPS88fzzz5OUlERYWBhvv/02xcXF/PWvf6VHjx589dVX3H333aVJtfpwjhARkcop2SUiIiLVkpCQQEJCQoX1gwYNYvXq1SQmJjJ58mQmT55cWte8eXPGjx8PUDqS40Ljx48vrT/nhx9+sHl89uxZjh49ajPSyV2NHj2aSZMmlSlv06YNn3zyCQAdOnQgKSmpTJsff/yRDz74gJtuuom1a9eWrmVUkaKiIu655x7efPPN0gXC8/Ly8PPzw2KxsHHjRsaOHQtY/+969epVw62T+uRSzhsXrsV1zrnzwrPPPsuzzz5rU1dUVGTzuD6dI0REpHKaxigiIiK1YsSIESQmJtbZ63t4eJQuVF9fde7cmdTU1ErbXHXVVRQVFdGnTx86d+5Ms2bNOHz4MC+99FJpm8TERDZv3kxiYiJz587l559/5oEHHiAhIYGsrCy+++47unbtSs+ePRk4cCAhISGAdUHxTp061ek2Sv1Sm+cNnSNEROQcjewSERERcSKVjYQxGo3ExsaSnp5e6bpEc+bMsXl84cg6gNWrV9vUP/roozaPw8LCGDhwoE3Zrl276NKlCwaDoTqbISIiIuIwSnaJiIiIuJDypjfaQ0xMDDExMQ7pW0RERORSaBqjiIiIiIiIiIi4DSW7RERERERERETEbWgaozidvDOQkeOYvqMDwM/TMX2LiIiIiIiISM0p2SVOJyMHxmxwTN/v9IK4YMf0LSIiIiIiIiI1p2mMIiIiIiIiIiLiNpTsEhERERERERERt6Fkl4iIiIiIiIiIuA0lu0RERERERERExG1ogXpxC6nPJHB6dzIGD08MJg+8w9oTOnwaAZ0HODo0EREREREREbEjjewStxE6fBrxS/KIXXCEhu16sGf6zZScPuXosERERERERETEjpTsErdj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6skP8fALtGOUIiKuxWCAKH9HR1E/tGho/RFxB8He1h8RERFnotUhxOUYPDzx8C9/PbairDSyFj5N2t8GUvhrKuYzxRQfO8D+V0aQMW0wZ04esXO0IiIiIiIiImJPLjmyS6QiebvW0+Gf27BYzGQt/Cvh971KQeYOOr2VTsHeLRxe+iLhY15xdJgiIiIiIiIiUkc0skvcinfLjniFtMY7tA0l+acwNWyET8SVePg1xq9jHwqzUh0dooiIiIiIiIjUIY3sErfi1TSSsznHsJhLMHr5YvJuiLGBN+YzRRQe2EWDppGODlFERERERERE6pCSXeKS0iYnkr9vM2mTEwm9Ywp5u5Npfst4mt82iT0v3oKl5Czh970KQLPBT5A2eQAGo4nIP7/r2MBFREREREREpE4p2SUuqe0Lq20e+3XoDYBvZCztXlxrUxcQl0hAXKLdYhMRERERERERx9GaXSIiIiIiIiIi4jaU7BIREREREREREbehZJeIiIiIiIiIiLgNrdnlZHq/8ghnThfywzPzHB1KGXdlLOLLm58le8e+Ou0nOgDe6VWnXVTat4iIiLi/pKQk7r33XiIiIoiIiGDBggU29YsWLSIkJITExET69OnD5s2b2b17Ny1atLBpt3btWsaPHw/AxIkTGTx4MPfddx9paWmUlJQwf/582rZty7333sv8+fMxGAx220YREZH6SsmuOtS8Z0finriN4NhWABzftpct//iIw8k7HRyZVdwTtxHcuTXfjHixWu3fj767jiOy8vOEuGC7dCUiIiL12OjRo5k0aRKPPfYYycnJ9OjRo7Ru+fLlLFmyBICPP/6Yp59+utzXePnll/n0008JCgrixhtvZPDgwbzxxht4enqybt063nrrLWbPnk337t1Zs2YN/fv3t8u2iYiI1GeaxlhHWiR24drFkziw+ic++sMDfPSHBziw+ieu/WASLQb8odznGEy1999h8DDV2muJiIiIuLNOnTqRlZVV+jg7Oxtvb+/SUVjNmzev8Llt2rTh1KlTnD59Gn9/fwA8PT0ByMvLo1OnTgD069ePFStW1NUmiIi4laSkJKKiokhISGDkyJFl6qdNm0Z6enqFz8/OzqZLly74+flVq37//v2EhISQkJDAiBEjANi1axczZsyoha0RR1Cyq450nzqKjI+T2Pnm55zJzedMbj473/ycPUv/R7ep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ERERt6Fkl4iIiIiIiIiIuA2t2SVOJzoA3unluL7rg6SkJO69914iIiKIiIhgwYIFNvWLFi0iJCSE8PBwRo0ahdFopGvXrrz88ss27WbPns2sWbN46KGHmDRpUoVljzzyCDNnzqRhw4b22UARERGReqS613aJiYn06dOHzZs3s3v3blq0aGHTbsqUKSxbtoxGjRpx//33c+edd+o6TkRckkZ2idPx84S4YMf8+Hk6euvtZ/To0SQlJdGoUSOSk5Nt6pYvX86AAQNo0qQJK1euZN26dRw7doy0tDSbdsOHD2fRokVVlt10000sWbKkbjZERERERKp1bQfw8ccfc+utt1b4Oq+99hpJSUnceeedgK7jRMQ1KdklUs916tSJrKys0sfZ2dl4e3tjMBgIDg7Gz88PAJPJhMFgsHlu06ZNMRqNVZZdc801rFy5so62QERERETOqezaDqB58+aVPn/cuHHceOON7N+/H9B13MWSkpKIiooiISGBkSNHlqmfNm0a6enpFT4/OzubLl26lF5jV1W/f/9+QkJCSEhIYMSIEQDs2rWLGTNm1MLWiLgvJbtE6rnk5GSio6NLH2dkZBAREWHTZufOnRw7dow2bdpcVh++vr6cOHGiRnGKiIiISNWqc21XkT//+c9s3LiRKVOmMGHCBEDXceWpaBSd2Wxm27ZtlV4z+/v7s2rVKq6++upq1994440kJSWxcOFCAGJiYti0aRMWi6WWtkjE/SjZJVJPzZs3j4SEBMLCwoiLi6uwXU5ODmPHjmXu3Ln2C05ERERELkl1r+0q07hxYwCuuuoqjh8/XovRuaeLR9Ft3bqVtm3bVvocT09PgoKCLql+5cqV9OnTh/fff7+0rFWrVuzcufMyIxdxf1qgXqSeGj16dOkC8heKjo4mMzMTAIvFwqhRo3j++ecJDQ297L7y8/MJDAy87OeLiIiISOWqc21XldzcXPz9/dm7d2/pgvS6jqtYcnIyf/7zn0sfp6enExkZWat9hISEkJqaisFg4LrrruP6668nODiYiIgI0tLS6NSpU632J+IulOwSERtBQUHk5+cD1jUJvv32W44dOwbArFmzCAsLY9GiRYwfP56FCxfyz3/+k1OnTpGTk8PMmTPLLVu7di0DBw505GaJiIiI1EsXXtuB9WZC3377LXv27GHKlCkMGDCAJ554glmzZjFhwgS2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F57m+JpFBPe7m7RnEzF6NsDUMJCox98D4MD8Jzj5/aec2vhfmt40juCEuxy8BSIiIiIiIiJSl5TsEpfSuNcwGvcaZlPm2yoOgJh//FCmffioWYSPmmWP0ERERERERETECWgao4iIiIiIiIiIuA0lu0RERERERERExG0o2SUiIiIiIiIiIm5Da3aJ04kOgHd6Oa5vEREpX1JSEvfeey8RERFERESwYMECm/pFixYREhJCYmIi06dP58svvyQuLo7XXnvNpt3IkSPZs2cPXl5eLFy4kLCwMJ588kkWLFjAyy+/zPDhwwHo168fFosFgDfeeIO2bdvy4IMP8s4779hng8WtVfd4Dg8PZ9SoURiNRrp27crLL79s0+6rr77iueeew9/fn3fffZfQ0FAGDhxIQUEBAQEBLFmyBG9vbx27IiIidqSRXeJ0/DwhLtgxP36ejt56ERHnNnr0aJKSkmjUqBHJyck2dcuXL2fAgAEcOXKETZs2sW7dOjw8PNi4caNNu+eee47169czceJE5syZA8D48eN56aWXbNqZTCaSkpJISkqiQ4cOeHh4cMUVV7Bnz5663UipN6pzPDdp0oSVK1eybt06jh07Rlpamk27GTNmsGbNGmbPns2MGTMAmDt3LuvWreOWW25h8eLFOnZFRETsTMkuERERuWSdOnUiKyur9HF2djbe3t4YDAY2btxI3759Aejfvz8pKSk2z42MjASsySyDwQBAs2bNyvRhsVhISEhgzJgxFBYWApCQkMCXX35ZF5vkNJKSkoiKiiIhIYGRI0eWqZ82bRrp6emVvsajjz5Knz59mD59epm67OxsunTpgp+fHwDr16/n6quvpmfPnsyaZb2D8f79+wkJCSEhIYERI0YAsGvXrtJkjrup7HgODg4u3VcXHrPneHh44O3tTceOHUuP9fKO8fpw7IqIiDgLJbtERETkkiUnJxMdHV36OCMjg4iICABOnjxJQIB1Xri/vz8nT54s83yz2cz06dMZPXp0hX0sXbqUpKQkYmJimDdvHgARERFlRta4o4pGHJnNZrZt20abNm0qfO7GjRvx8PBg3bp1bNq0iSNHjtjU+/v7s2rVKq6++moAWrVqxdq1a/nuu+/44osvyM/PB+DGG28kKSmJhQsXAhATE8OmTZtKp5a6k8qO53N27tzJsWPHyuz7M2fOcPz4cdavX092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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLsAAAMkCAYAAABQkSLjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAADaMUlEQVR4nOzdeVxU9f7H8dfMsAuIuKIioCDhBuSWCzki1vV2s8W0LMvM7lK3urZ3S71Wanm7dbvdW1bXFrO01X5W18olJpdI3HAXQRH3lRAEZJv5/TGJIogLMMMM7+fjwUPO93znnM/5cpw58znf7/cYbDabDRERERERERERETdgdHYAIiIiIiIiIiIidUXJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2PJwdQENWkl/IL9v2ODsMt9EspgNeAX4XrHeyFDLzHBBQNSIDwd/TOfsWERERERERkdpTsqsGv2zbw7c3THR2GG5j2IKptO5zxQXrZebBvSsdEFA1Zg2AuObO2beIiIiIiIiI1J6GMYqIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oQnqxS2kP2OmYHsKBg9PDCYPfNpdQdsx0wiMHeLs0ERERERERETEgdSzS9xG2zHTiP/kJD1mH6ZJdD92Tr+R8oITzg5LRERERERERBxIyS5xO0ZPb1oMHY/11ElOHcx0djgiIiIiIiIi4kBKdonbsRYXcWzxLIx+gfi0jXJ2OCIiIiIiIiLi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qT9g8vEnMO4apx2LiIiIiIiIiNQfJbvEJTSJ6o2ttJj0vybgFxFLac5BjifPAaD1DY+yY9IQ9s76C21ufgKjpxfBV48m/amBnNz+E037DMdWVkr6M2Z2TBqCT2gXvFqGOvmIRERERERERKQ+aPpqcRkd/vR6pWW/jnEABMYlERiXVGldi6R7aJF0T6Wy6GmW+gxPRERERERERBoA9ewSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkMT1EuDExkIswY4b98iIiIiIiIi4rqU7JIGx98T4po7OwoRERERERERcUUaxigiUo8sFgsRERGYzWbGjh1bZf20adPIyMiocRsPPvggCQkJTJ8+/bx1Xn31VZKSkgB46623GDJkCGazmdLS0mrLtm3bxowZM2pxZA1Lbds5JyeHnj174u/vf946Z/8dvvvuO8xmM2azmebNm5OWluZ2bSoiIiIi4qqU7BIRqWfjx4/HYrHQtGlTUlJSKsqtVisbN24kKirqvK9ds2YNHh4eLF++nHXr1nH48OEqdUpLS0lLSwNgz549bNq0iaVLl2KxWPD09Ky2LCYmhnXr1mGz2er8eJ2lNu0cEBDA4sWLueqqq6pdf+7fIT4+HovFQnJyMh07diQ2NtYt21RERERExBUp2SUi4iDdunVj//79FcsbNmygc+fONb5m1apVJCYmAjBo0CDWrl1bpc6cOXMYPXo0AIsWLaKgoIDExESmTJly3jKAjh07smXLlloeVcNzOe3s6elJcHDwedef7++wevVqevXqhcFgANy3TUVEREREXImSXSIiDpKSkkJkZGTFckZGBuHh4TW+Jjc3l8BA+5MTAgICyM3NrbTearXy/fffc+211wJw5MgRDAYDP/zwA1lZWaSlpVVbBhAWFsaOHTvq7Pgaistp5ws5399hwYIF3HDDDRX13LVNRURERERciSaoFxGpZ++88w5Llixh4MCBxMXFVVtn69at3H///ZXKfvOb3xAUFEReXh4A+fn5dOrUqVKd+fPnM3z48Irlpk2bMmjQIACuvvpq0tPTqy07XxyurDbt/NRTT9W47fP9HZKTk/nb3/5W++BFRERERKTOKNklIlLPxo8fz8SJE6uUR0VFMX/+fAC6dOmCxWKpUmf16tXMmzeP66+/nmXLljFq1KhK69PT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+voSGBhIQUEBoOu4087tRZeRkUF4eHiNr7nQyIno6Gh+/PFHbDYby5cvJz8/H4PBwA8//EBWVhZpaWmAeteJXIiSXSJSSXBwMIWFhQC0adOGHj16kJCQQHFxMb169eLQoUMV8wfcddddDBw4kGeffZannnqKgIAA+vXrx4ABA7j11lt57LHH2LVrF7NmzeLNN9/EbDbzv//9D4Cff/4Zs9nsrMMUERERaRTOvrazWCz88MMPTJo0CbPZXNGrKCkpifXr15OUlMTmzZurXO/179+fxMREHnnkEcB+E3TYsGHOOaAG4GJ60W3duhWz2Vzp58UXX7zgyInhw4dz9OhRhg4dSsuWLQkKCqqYQ/fqq68mPT29Pg9NxG14ODsAEXG80x+45zN8+HCWLFlCUlISkyZNqtRlvU2bNjz++OMAfPnll1VeO3nyZCZPnlyp7PQF1mk5OTkEBQUREBBQi6MQEREREbi0a7vTDxU625IlS6qUnb7eu/fee7n33nsrrVu1ahV/+MMfahe0Cxs/fjwTJ06sUh4VFcX8+fMB6NKlS7UPY1q9ejXz5s3j+uuvZ9myZYwaNarSepPJxMyZM7HZbIwdO5b4+PiKbW7atInRo0cD9t51AwYMqOMjE3Ef6tklIlXcddddJCUl1dv2g4OD+ec//1lv2xcRERGRM+r62u69997DaNRXyXPFxsZesOdV7969KS4uJiEhgdjYWFq3bl2pJ92ePXswm80MGTKEW265hf79+1NWVobZbKawsJC+ffsC9gcPdOvWrd6PScRVqWeXiIiIiIiIyEWoqRed0WikR48eZGRk1Din2euvv15p+eyREx06dKjSI+zVV1+ttLxt2zZ69uyJwWC45PhFGgslu0RERERERETqQHXDG+taTEwMMTEx9b4fEVemvqciIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4Dc3ZJQ3OyVLIzHPOviMDwd/TOfsWERERERERkdpTsksanMw8uHelc/Y9awDENXfOvkVERERERESk9jSMUURERERERERE3IaSXSIiIiIiIiIi4jaU7BIREREREREREbehObvELaQ/Y6ZgewoGD08MJg982l1B2zHTCIwd4uzQRERERERERMSB1LNL3EbbMdOI/+QkPWYfpkl0P3ZOv5HyghPODktEREREREREHEjJLnE7Rk9v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RERERERERNyG5uySBicyEGYNcN6+RURERERERNydxWJh3LhxhIWFERYWxuzZsyutnzNnDiEhIURHR3Prrbfi4eFBp06dePfddzEYDBX1vvvuO5599lkCAgJ4//33adu2LWazGYCjR48ydOhQ/vGPf/CnP/2JWbNmOeTYlOySBsffE+KaOzsKEREREREREfc2fvx4Jk6cyEMPPURKSgr9+vWrWPf111/zySefYLVaWblyJQaDgfHjx7Np0yZ69OhRUW/GjBkkJyeTmZnJjBkz+Ne//oXFYgHgr3/9K4MHD8bDw4OWLVuyc+dOOnXqVO/HpWGMIiL1yGKxEBERgdlsZuzYsVXWT5s2jYyMjBq38eCDD5KQkMD06dPPW+fVV18lKcn+VNK33nqLIUOGYDabKS0trbZs27ZtzJgxoxZH1rDUtp1zcnLo2bMn/v7+561z9t/hu+++w2w2Yzabad68OWlpaW7XpiIiIiLSeHTr1o39+/dXLOfk5ODj44PBYMBkMlX05PL29qZt27aVXuvh4YGPjw9du3YlNTW10jqLxVLRy8tsNvPtt9/W74H8SskuEZF6Nn78eCwWC02bNiUlJaWi3Gq1snHjRqKios772jVr1uDh4cHy5ctZt24dhw8frlKntLSUtLQ0APbs2cOmTZtYunQpFosFT0/PastiYmJYt24dNputzo/XWWrTzgEBASxevJirrrqq2vXn/h3i4+OxWCwkJyfTsWNHYmNj3bJNRURERKRxSElJITIysmI5MzOTsLCwiuUffviBHj16cOjQIZo2bVrptaWlpRw/fpwVK1aQk5NTZRteXl4AhIWFsWPHjno+Ejslu0REHOTcuyUbNmygc+fONb5m1apVJCYmAjBo0CDWrl1bpc6cOXMYPXo0AIsWLaKgoIDExESmTJly3jKAjh07smXLlloeVcNzOe3s6elJcHDwedef7++wevVqevXqVXGny13bVERERETc0zvvvIPZbKZdu3bExcWdt15iYiIbN24kLCyM7777rtK6qVOncssttzBv3jy6dOlSUb5gwQJuuOGG+gq9Rkp2iYg4yLl3SzIyMggPD6/xNbm5uQQG2p+cEBAQQG5ubqX1VquV77//nmuvvRaAI0eOYDAY+OGHH8jKyiItLa3aMnDsnRVHupx2vpDz/R3O/QB31zYVEREREfd0enTE1KlTK5VH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nTvr8chcQ3BwMIWFhRXLY8aMYdGiRYwePZqlS5cC8OijjwJw3333YTabue6663jmmWcAeOSRR9iwYQNms5lp06YBkJyczLBhwxx8JCIiIo2TnsYoIiIiF+300+vOFRUVxfz58wHo0qULFoulSp3Vq1czb948rr/+epYtW8aoUaMq1hUXF3P33Xczc+bMShPSn8tkMjFz5kxsNhtjx46teHpednY2AwYMqOXRNRz11c5gb2tvb2+MRiMBAQEV5TabjTVr1vDAAw8A7tem5zqdIDyf4cOHs2TJEpKSkvjwww+rrD+dlH333XerrKuuV9iqVav4wx/+cPkBi4iIyEVTzy4RERGptdjYWNLT02us07t3b4qLi0lISCA2NpbWrVtz6NAhXnrpJebOncvWrVv54x//iNlsrpinKikpifXr15OUlMTmzZvZs2cPZrOZIUOGcMstt+Dn5wfYJxTv1q1bvR+ns9W2nQG++uorzGYzV199Ne3bt+fgwYP06tWL/v37c8011xASEgI0njY9n7vuuoukpKQ62957772H0ahLbxEREUdQzy4RERG5KDX1hDEajfTo0YOMjIwa5yV6/fXXKy23adOGxx9/HIBx48ZVqb9kyZIqZef2Ztq2bRs9e/bEYDBc4AhcQ32388iRIxk5cmSl9ddcc02lZXdrUxEREWlclOwSERGROlHdsDtHiImJISYmxin7dgZHtHNja1MRERFxL+pLLSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNvQnF3S4Jwshcw85+w7MhD8PZ2zbxERERERERGpPSW7pMHJzIN7Vzpn37MGQFxz5+xbRERERERERGpPwxhFRERERERERMRtKNklIiIiIiIiIiJuQ8kuERERERERERFxG0p2iYiIiIiIiIiI29AE9eIW0p8xU7A9BYOHJwaTBz7trqDtmGkExg5xdmgiIiIiIiIi4kDq2SVuo+2YacR/cpIesw/TJLofO6ffSHnBCWeHJSIiIiIiIiIOpGSXuB2jpzctho7Heuokpw5mOjscEREREREREXEgJbvE7ViLizi2eBZGv0B82kY5OxwRERERERERcSCXSXaVlJQwadIkQkND8fX1JTExkdTUVAwGAwsWLHBYHHdkzqn0c9eejxm+9GWH7V/O78DcSaTdHsSm34dTmLWByInfYPILdHZY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/K4iVTeGXQF33XXXkZmZScOGDZkzZ06JbVOnTmXAgAHFt//2t7/RqlWrUo8xcuRIZs6cyauvvsrvf/97AJ5++mlmzZrFlClTitt69OjBjBkzKnFvJEk6cuX5LNywYQPz58/n/fffJykpiXnz5pXo9+CDD/Lkk08yY8YMbrjhBgCmTJnCzJkzGT58OJMmTSruO27cOE4//XQAkpKSaNq0KStWrKjkvVR1URHH8/fP4woKCnjhhReYPXs2119/Pc888wzr1q1jwYIFzJo1i7POOoupU6eSnJzMli1b2LFjRzR3WQFWnuO5SZMmvPXWW7z//vts2rSJ5cuXl+h3sPdngD/+8Y/06NGj+LbfVaTqxbCrmujcuTNr164tvr1582Zq165NKBQC4L333qN3794kJJQ+JPb/Or1jxw5OO+00ANq2bcvOnTvZunUrycnJAPTr149p06ZV9q5IknRUyvosnDdvHn379gWgf//+ZGVllbjv8uXLuffeezn33HNZtmwZcODzcffu3aSlpQGQk5ND06ZNqV+/fvF9MzIyeOONNyp131T9HMvx/P3zuE2bNtG6dWsSEhI47bTTmDNnDnl5eXTq1AmguA0igUFmZmZ0dlLVRlnHc+PGjalXrx4AiYmJxd9f9jvY+/OWLVvYtGkTbdu2Le7ndxWpejHsqibmzJlDampq8e3c3FzatGlTfPvZZ5896PDh/a666ip++MMf0q9fPyAydSM9PZ2BAwdy6623AtCmTZtSv7RIklRVlPVZuGXLFho0aABA/fr12bJlS4n7zp49m9GjR/P0009z//33A5EvYz179mTs2LHFYdcf/vAHbrvtthL39fNRleFYjufvn8c1bdqU3Nxcdu/ezaxZs9i6dSvt2rVj7ty5FBUVFbeBx7Mqx+G+qwAsWrSITZs2lVp25WDvz08//TQ33XRTiX4eu1L1YtgVcBMmTCAjI4OWLVvSrVu3g/aZN28ep556KrVr1z7k40ycOJGsrCx++9vfAjBmzBiWLFnCxx9/zMiRIyujdEmSKkR5PgsbNWrEtm3bANi+fTuNGjUqsb1Tp060b9+eDh06FH/pT05O5sMPP2T06NE88cQTfPXVVwC0aNGi0vZFqojj+fvncYmJidx1112cd955fPrppzRv3pxmzZoxePBg+vfvz4YNG2jWrFkl75mqo/IczwDbtm3jtttu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", "text/plain": [ "
" ] @@ -776,10 +776,10 @@ "execution_count": 18, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:34.409586Z", - "iopub.status.busy": "2024-12-05T03:21:34.409139Z", - "iopub.status.idle": "2024-12-05T03:21:34.667420Z", - "shell.execute_reply": "2024-12-05T03:21:34.666812Z" + "iopub.execute_input": "2024-12-05T04:47:14.226071Z", + "iopub.status.busy": "2024-12-05T04:47:14.225610Z", + "iopub.status.idle": "2024-12-05T04:47:14.487412Z", + "shell.execute_reply": "2024-12-05T04:47:14.486860Z" } }, "outputs": [ diff --git a/dev/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb b/dev/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb index 845039d0d..fda94d81a 100644 --- a/dev/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb +++ b/dev/.doctrees/nbsphinx/explanations/state-vectors-and-gates.ipynb @@ -26,10 +26,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:37.291915Z", - "iopub.status.busy": "2024-12-05T03:21:37.291726Z", - "iopub.status.idle": "2024-12-05T03:21:38.024215Z", - "shell.execute_reply": "2024-12-05T03:21:38.023670Z" + "iopub.execute_input": "2024-12-05T04:47:16.990270Z", + "iopub.status.busy": "2024-12-05T04:47:16.990081Z", + "iopub.status.idle": "2024-12-05T04:47:17.717290Z", + "shell.execute_reply": "2024-12-05T04:47:17.716676Z" } }, "outputs": [ @@ -74,10 +74,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.026436Z", - "iopub.status.busy": "2024-12-05T03:21:38.025967Z", - "iopub.status.idle": "2024-12-05T03:21:38.032743Z", - "shell.execute_reply": "2024-12-05T03:21:38.032274Z" + "iopub.execute_input": "2024-12-05T04:47:17.719857Z", + "iopub.status.busy": "2024-12-05T04:47:17.719329Z", + "iopub.status.idle": "2024-12-05T04:47:17.725919Z", + "shell.execute_reply": "2024-12-05T04:47:17.725452Z" } }, "outputs": [ @@ -120,10 +120,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.034620Z", - "iopub.status.busy": "2024-12-05T03:21:38.034422Z", - "iopub.status.idle": "2024-12-05T03:21:38.038774Z", - "shell.execute_reply": "2024-12-05T03:21:38.038313Z" + "iopub.execute_input": "2024-12-05T04:47:17.727987Z", + "iopub.status.busy": "2024-12-05T04:47:17.727624Z", + "iopub.status.idle": "2024-12-05T04:47:17.732068Z", + "shell.execute_reply": "2024-12-05T04:47:17.731473Z" } }, "outputs": [ @@ -157,10 +157,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.040973Z", - "iopub.status.busy": "2024-12-05T03:21:38.040442Z", - "iopub.status.idle": "2024-12-05T03:21:38.044870Z", - "shell.execute_reply": "2024-12-05T03:21:38.044379Z" + "iopub.execute_input": "2024-12-05T04:47:17.734124Z", + "iopub.status.busy": "2024-12-05T04:47:17.733932Z", + "iopub.status.idle": "2024-12-05T04:47:17.738101Z", + "shell.execute_reply": "2024-12-05T04:47:17.737512Z" } }, "outputs": [ @@ -199,10 +199,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.046998Z", - "iopub.status.busy": "2024-12-05T03:21:38.046581Z", - "iopub.status.idle": "2024-12-05T03:21:38.052906Z", - "shell.execute_reply": "2024-12-05T03:21:38.052316Z" + "iopub.execute_input": "2024-12-05T04:47:17.740165Z", + "iopub.status.busy": "2024-12-05T04:47:17.739826Z", + "iopub.status.idle": "2024-12-05T04:47:17.746116Z", + "shell.execute_reply": "2024-12-05T04:47:17.745625Z" } }, "outputs": [ @@ -245,10 +245,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.054945Z", - "iopub.status.busy": "2024-12-05T03:21:38.054590Z", - "iopub.status.idle": "2024-12-05T03:21:38.060386Z", - "shell.execute_reply": "2024-12-05T03:21:38.059903Z" + "iopub.execute_input": "2024-12-05T04:47:17.748053Z", + "iopub.status.busy": "2024-12-05T04:47:17.747734Z", + "iopub.status.idle": "2024-12-05T04:47:17.753752Z", + "shell.execute_reply": "2024-12-05T04:47:17.753218Z" } }, "outputs": [ @@ -293,10 +293,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.062114Z", - "iopub.status.busy": "2024-12-05T03:21:38.061929Z", - "iopub.status.idle": "2024-12-05T03:21:38.067001Z", - "shell.execute_reply": "2024-12-05T03:21:38.066524Z" + "iopub.execute_input": "2024-12-05T04:47:17.755598Z", + "iopub.status.busy": "2024-12-05T04:47:17.755279Z", + "iopub.status.idle": "2024-12-05T04:47:17.760456Z", + "shell.execute_reply": "2024-12-05T04:47:17.759964Z" } }, "outputs": [ diff --git a/dev/.doctrees/nbsphinx/explanations_qiskit-gate-decompositions_34_0.png b/dev/.doctrees/nbsphinx/explanations_qiskit-gate-decompositions_34_0.png index e59fb4340..2d824b3ee 100644 Binary files a/dev/.doctrees/nbsphinx/explanations_qiskit-gate-decompositions_34_0.png and b/dev/.doctrees/nbsphinx/explanations_qiskit-gate-decompositions_34_0.png differ diff --git a/dev/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb b/dev/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb index e51384ae0..5a426c4d7 100644 --- a/dev/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb +++ b/dev/.doctrees/nbsphinx/how-to-guides/entanglement-forging.ipynb @@ -18,10 +18,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:40.045206Z", - "iopub.status.busy": "2024-12-05T03:21:40.044764Z", - "iopub.status.idle": "2024-12-05T03:21:41.054600Z", - "shell.execute_reply": "2024-12-05T03:21:41.054000Z" + "iopub.execute_input": "2024-12-05T04:47:19.614667Z", + "iopub.status.busy": "2024-12-05T04:47:19.614473Z", + "iopub.status.idle": "2024-12-05T04:47:20.632277Z", + "shell.execute_reply": "2024-12-05T04:47:20.631645Z" } }, "outputs": [ @@ -36,7 +36,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Parsing /tmp/tmpm19br8hy\n", + "Parsing /tmp/tmphpc8qqlh\n", "converged SCF energy = -75.6787887956314\n" ] }, @@ -59,7 +59,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Overwritten attributes get_hcore get_ovlp of \n", + "Overwritten attributes get_ovlp get_hcore of \n", "/home/runner/work/ffsim/ffsim/.tox/docs/lib/python3.12/site-packages/pyscf/gto/mole.py:1294: UserWarning: Function mol.dumps drops attribute energy_nuc because it is not JSON-serializable\n", " warnings.warn(msg)\n", "/home/runner/work/ffsim/ffsim/.tox/docs/lib/python3.12/site-packages/pyscf/gto/mole.py:1294: UserWarning: Function mol.dumps drops attribute intor_symmetric because it is not JSON-serializable\n", @@ -125,10 +125,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:41.057868Z", - "iopub.status.busy": "2024-12-05T03:21:41.057140Z", - "iopub.status.idle": "2024-12-05T03:21:41.062181Z", - "shell.execute_reply": "2024-12-05T03:21:41.061615Z" + "iopub.execute_input": "2024-12-05T04:47:20.635458Z", + "iopub.status.busy": "2024-12-05T04:47:20.634865Z", + "iopub.status.idle": "2024-12-05T04:47:20.639723Z", + "shell.execute_reply": "2024-12-05T04:47:20.639260Z" } }, "outputs": [], @@ -168,10 +168,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:41.064499Z", - "iopub.status.busy": "2024-12-05T03:21:41.064099Z", - "iopub.status.idle": "2024-12-05T03:21:41.067400Z", - "shell.execute_reply": "2024-12-05T03:21:41.066875Z" + "iopub.execute_input": "2024-12-05T04:47:20.641824Z", + "iopub.status.busy": "2024-12-05T04:47:20.641345Z", + "iopub.status.idle": "2024-12-05T04:47:20.644638Z", + "shell.execute_reply": "2024-12-05T04:47:20.644188Z" } }, "outputs": [], @@ -200,10 +200,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:41.069298Z", - "iopub.status.busy": "2024-12-05T03:21:41.068913Z", - "iopub.status.idle": "2024-12-05T03:21:41.192191Z", - "shell.execute_reply": "2024-12-05T03:21:41.191651Z" + "iopub.execute_input": "2024-12-05T04:47:20.646296Z", + "iopub.status.busy": "2024-12-05T04:47:20.646122Z", + "iopub.status.idle": "2024-12-05T04:47:20.780872Z", + "shell.execute_reply": "2024-12-05T04:47:20.780298Z" } }, "outputs": [ @@ -211,7 +211,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -75.67794403659722\n" + "Energy at initialialization: -75.67794403659728\n" ] } ], @@ -238,10 +238,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:41.194514Z", - "iopub.status.busy": "2024-12-05T03:21:41.194006Z", - "iopub.status.idle": "2024-12-05T03:21:49.107340Z", - "shell.execute_reply": "2024-12-05T03:21:49.106740Z" + "iopub.execute_input": "2024-12-05T04:47:20.782975Z", + "iopub.status.busy": "2024-12-05T04:47:20.782769Z", + "iopub.status.idle": "2024-12-05T04:47:28.675124Z", + "shell.execute_reply": "2024-12-05T04:47:28.674590Z" } }, "outputs": [ @@ -253,10 +253,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -75.68381556798737\n", - " x: [-1.603e-01 6.418e-03 ... 5.747e-02 -1.005e-01]\n", + " fun: -75.6838155921487\n", + " x: [-1.603e-01 6.417e-03 ... 5.748e-02 -1.005e-01]\n", " nit: 3\n", - " jac: [ 2.132e-04 1.108e-04 ... -4.749e-03 7.439e-03]\n", + " jac: [ 2.132e-04 1.052e-04 ... -4.755e-03 7.408e-03]\n", " nfev: 112\n", " njev: 7\n", " hess_inv: <15x15 LbfgsInvHessProduct with dtype=float64>\n" diff --git a/dev/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb b/dev/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb index fdd6d7e17..7ab8a7f21 100644 --- a/dev/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb +++ b/dev/.doctrees/nbsphinx/how-to-guides/fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:50.640522Z", - "iopub.status.busy": "2024-12-05T03:21:50.640134Z", - "iopub.status.idle": "2024-12-05T03:21:51.341324Z", - "shell.execute_reply": "2024-12-05T03:21:51.340747Z" + "iopub.execute_input": "2024-12-05T04:47:30.226768Z", + "iopub.status.busy": "2024-12-05T04:47:30.226575Z", + "iopub.status.idle": "2024-12-05T04:47:30.965603Z", + "shell.execute_reply": "2024-12-05T04:47:30.964988Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(0), des_a(3)): 0.5,\n", " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", - " (cre_a(3), des_a(0)): -0.25\n", + " (cre_a(3), des_a(0)): -0.25,\n", + " (cre_a(0), des_a(3)): 0.5\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.343521Z", - "iopub.status.busy": "2024-12-05T03:21:51.343223Z", - "iopub.status.idle": "2024-12-05T03:21:51.347243Z", - "shell.execute_reply": "2024-12-05T03:21:51.346758Z" + "iopub.execute_input": "2024-12-05T04:47:30.967881Z", + "iopub.status.busy": "2024-12-05T04:47:30.967396Z", + "iopub.status.idle": "2024-12-05T04:47:30.971660Z", + "shell.execute_reply": "2024-12-05T04:47:30.971050Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, False, 0), (False, False, 3)): 0.5+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" + "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.349301Z", - "iopub.status.busy": "2024-12-05T03:21:51.348918Z", - "iopub.status.idle": "2024-12-05T03:21:51.353277Z", - "shell.execute_reply": "2024-12-05T03:21:51.352826Z" + "iopub.execute_input": "2024-12-05T04:47:30.973761Z", + "iopub.status.busy": "2024-12-05T04:47:30.973421Z", + "iopub.status.idle": "2024-12-05T04:47:30.977951Z", + "shell.execute_reply": "2024-12-05T04:47:30.977358Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(3), des_a(0)): -0.5,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", + " (cre_b(2)): 0-0.25j,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", " (cre_a(0), des_a(3)): 1,\n", - " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", - " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", + " (des_a(3), des_b(3)): 0.0625\n", "})" ] }, @@ -170,10 +170,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.355312Z", - "iopub.status.busy": "2024-12-05T03:21:51.354859Z", - "iopub.status.idle": "2024-12-05T03:21:51.358956Z", - "shell.execute_reply": "2024-12-05T03:21:51.358362Z" + "iopub.execute_input": "2024-12-05T04:47:30.980267Z", + "iopub.status.busy": "2024-12-05T04:47:30.979767Z", + "iopub.status.idle": "2024-12-05T04:47:30.983877Z", + "shell.execute_reply": "2024-12-05T04:47:30.983421Z" } }, "outputs": [ @@ -181,17 +181,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2)): -5,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", + " (cre_b(2)): -5,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", " (cre_a(0), des_a(3)): 0-6j,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", + " (des_a(3), des_b(3)): 0-1.25j\n", "})" ] }, @@ -220,10 +220,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.360954Z", - "iopub.status.busy": "2024-12-05T03:21:51.360624Z", - "iopub.status.idle": "2024-12-05T03:21:51.364593Z", - "shell.execute_reply": "2024-12-05T03:21:51.364003Z" + "iopub.execute_input": "2024-12-05T04:47:30.985909Z", + "iopub.status.busy": "2024-12-05T04:47:30.985608Z", + "iopub.status.idle": "2024-12-05T04:47:30.989535Z", + "shell.execute_reply": "2024-12-05T04:47:30.989012Z" } }, "outputs": [ @@ -231,16 +231,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", - " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (des_b(3), des_a(3)): 0+1.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_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", - " (cre_b(2)): -5\n", + " (cre_b(2), cre_a(0), des_a(3)): 2,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_a(0), des_a(3)): 0-6j\n", "})" ] }, @@ -265,10 +265,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.366539Z", - "iopub.status.busy": "2024-12-05T03:21:51.366208Z", - "iopub.status.idle": "2024-12-05T03:21:51.369122Z", - "shell.execute_reply": "2024-12-05T03:21:51.368636Z" + "iopub.execute_input": "2024-12-05T04:47:30.991463Z", + "iopub.status.busy": "2024-12-05T04:47:30.991103Z", + "iopub.status.idle": "2024-12-05T04:47:30.994167Z", + "shell.execute_reply": "2024-12-05T04:47:30.993691Z" } }, "outputs": [ @@ -298,10 +298,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.370816Z", - "iopub.status.busy": "2024-12-05T03:21:51.370632Z", - "iopub.status.idle": "2024-12-05T03:21:51.374623Z", - "shell.execute_reply": "2024-12-05T03:21:51.374039Z" + "iopub.execute_input": "2024-12-05T04:47:30.995896Z", + "iopub.status.busy": "2024-12-05T04:47:30.995698Z", + "iopub.status.idle": "2024-12-05T04:47:30.999695Z", + "shell.execute_reply": "2024-12-05T04:47:30.999229Z" } }, "outputs": [ @@ -341,10 +341,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.376696Z", - "iopub.status.busy": "2024-12-05T03:21:51.376269Z", - "iopub.status.idle": "2024-12-05T03:21:51.382038Z", - "shell.execute_reply": "2024-12-05T03:21:51.381553Z" + "iopub.execute_input": "2024-12-05T04:47:31.001572Z", + "iopub.status.busy": "2024-12-05T04:47:31.001223Z", + "iopub.status.idle": "2024-12-05T04:47:31.007527Z", + "shell.execute_reply": "2024-12-05T04:47:31.007016Z" } }, "outputs": [ @@ -353,7 +353,7 @@ "text/plain": [ "array([0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " 0.13782298-0.09230004j, 0. +0.j ,\n", + " 0.11570449-0.30035899j, 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", " 0. +0.j ])" ] @@ -380,10 +380,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.384119Z", - "iopub.status.busy": "2024-12-05T03:21:51.383694Z", - "iopub.status.idle": "2024-12-05T03:21:51.394533Z", - "shell.execute_reply": "2024-12-05T03:21:51.394082Z" + "iopub.execute_input": "2024-12-05T04:47:31.009412Z", + "iopub.status.busy": "2024-12-05T04:47:31.009117Z", + "iopub.status.idle": "2024-12-05T04:47:31.020986Z", + "shell.execute_reply": "2024-12-05T04:47:31.020399Z" } }, "outputs": [ diff --git a/dev/.doctrees/nbsphinx/how-to-guides/lucj.ipynb b/dev/.doctrees/nbsphinx/how-to-guides/lucj.ipynb index e80c1f706..d69f9970c 100644 --- a/dev/.doctrees/nbsphinx/how-to-guides/lucj.ipynb +++ b/dev/.doctrees/nbsphinx/how-to-guides/lucj.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:53.113886Z", - "iopub.status.busy": "2024-12-05T03:21:53.113685Z", - "iopub.status.idle": "2024-12-05T03:21:54.115496Z", - "shell.execute_reply": "2024-12-05T03:21:54.114824Z" + "iopub.execute_input": "2024-12-05T04:47:33.052758Z", + "iopub.status.busy": "2024-12-05T04:47:33.052570Z", + "iopub.status.idle": "2024-12-05T04:47:34.088439Z", + "shell.execute_reply": "2024-12-05T04:47:34.087780Z" } }, "outputs": [ @@ -27,14 +27,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "converged SCF energy = -77.8266321248744\n" + "converged SCF energy = -77.8266321248745\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Parsing /tmp/tmpqg7_8pjf\n", + "Parsing /tmp/tmpiqx5sdlb\n", "converged SCF energy = -77.8266321248744\n" ] }, @@ -42,7 +42,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "CASCI E = -77.8742165643863 E(CI) = -4.02122442107773 S^2 = 0.0000000\n" + "CASCI E = -77.8742165643862 E(CI) = -4.02122442107773 S^2 = 0.0000000\n" ] }, { @@ -57,7 +57,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Overwritten attributes get_hcore get_ovlp of \n", + "Overwritten attributes get_ovlp get_hcore of \n", "/home/runner/work/ffsim/ffsim/.tox/docs/lib/python3.12/site-packages/pyscf/gto/mole.py:1294: UserWarning: Function mol.dumps drops attribute energy_nuc because it is not JSON-serializable\n", " warnings.warn(msg)\n", "/home/runner/work/ffsim/ffsim/.tox/docs/lib/python3.12/site-packages/pyscf/gto/mole.py:1294: UserWarning: Function mol.dumps drops attribute intor_symmetric because it is not JSON-serializable\n", @@ -123,10 +123,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:54.118487Z", - "iopub.status.busy": "2024-12-05T03:21:54.117857Z", - "iopub.status.idle": "2024-12-05T03:21:54.189316Z", - "shell.execute_reply": "2024-12-05T03:21:54.188746Z" + "iopub.execute_input": "2024-12-05T04:47:34.091238Z", + "iopub.status.busy": "2024-12-05T04:47:34.090881Z", + "iopub.status.idle": "2024-12-05T04:47:34.163484Z", + "shell.execute_reply": "2024-12-05T04:47:34.162860Z" } }, "outputs": [ @@ -134,14 +134,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.87421536374029 E_corr = -0.04758323886585067\n" + "E(CCSD) = -77.87421536374035 E_corr = -0.04758323886584979\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialization: -77.87160024816282\n" + "Energy at initialization: -77.87160024816271\n" ] }, { @@ -189,10 +189,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:54.192242Z", - "iopub.status.busy": "2024-12-05T03:21:54.191660Z", - "iopub.status.idle": "2024-12-05T03:23:41.886254Z", - "shell.execute_reply": "2024-12-05T03:23:41.885678Z" + "iopub.execute_input": "2024-12-05T04:47:34.166386Z", + "iopub.status.busy": "2024-12-05T04:47:34.166100Z", + "iopub.status.idle": "2024-12-05T04:49:19.368740Z", + "shell.execute_reply": "2024-12-05T04:49:19.368156Z" } }, "outputs": [ @@ -204,10 +204,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.87387392946924\n", - " x: [-1.152e+00 2.429e-04 ... 2.427e-04 1.287e-01]\n", + " fun: -77.87387393478726\n", + " x: [ 4.547e-04 -1.276e+00 ... 1.908e-04 1.287e-01]\n", " nit: 10\n", - " jac: [-3.126e-05 -2.416e-05 ... 4.263e-06 0.000e+00]\n", + " jac: [-8.527e-06 -7.105e-06 ... 1.847e-05 1.563e-05]\n", " nfev: 949\n", " njev: 13\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" @@ -251,10 +251,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:23:41.889131Z", - "iopub.status.busy": "2024-12-05T03:23:41.888857Z", - "iopub.status.idle": "2024-12-05T03:24:18.451311Z", - "shell.execute_reply": "2024-12-05T03:24:18.450673Z" + "iopub.execute_input": "2024-12-05T04:49:19.372489Z", + "iopub.status.busy": "2024-12-05T04:49:19.372004Z", + "iopub.status.idle": "2024-12-05T04:49:55.323205Z", + "shell.execute_reply": "2024-12-05T04:49:55.322633Z" } }, "outputs": [ @@ -266,10 +266,10 @@ " message: CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH\n", " success: True\n", " status: 0\n", - " fun: -77.87363426554221\n", - " x: [-1.152e+00 -3.455e-05 ... 3.518e-02 2.561e-01]\n", + " fun: -77.87363426561933\n", + " x: [-5.097e-05 -1.276e+00 ... 3.521e-02 2.560e-01]\n", " nit: 5\n", - " jac: [-1.990e-05 4.547e-05 ... 5.684e-06 -5.684e-06]\n", + " jac: [-1.279e-05 8.527e-06 ... 0.000e+00 -2.842e-06]\n", " nfev: 329\n", " njev: 7\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -314,10 +314,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:18.455061Z", - "iopub.status.busy": "2024-12-05T03:24:18.454107Z", - "iopub.status.idle": "2024-12-05T03:24:37.881300Z", - "shell.execute_reply": "2024-12-05T03:24:37.880651Z" + "iopub.execute_input": "2024-12-05T04:49:55.325870Z", + "iopub.status.busy": "2024-12-05T04:49:55.325412Z", + "iopub.status.idle": "2024-12-05T04:50:36.439220Z", + "shell.execute_reply": "2024-12-05T04:50:36.438634Z" } }, "outputs": [ @@ -326,31 +326,61 @@ "output_type": "stream", "text": [ "Number of parameters: 46\n", - " message: Convergence: Relative reduction of objective function <= ftol.\n", - " success: True\n", - " fun: -77.87363428118711\n", - " x: [-1.152e+00 7.876e-04 ... 3.488e-02 2.557e-01]\n", - " nit: 3\n", - " jac: [ 7.816e-07 1.160e-05 ... -1.013e-06 -8.020e-06]\n", - " nfev: 529\n", - " njev: 4\n", - " nlinop: 345\n", + " message: Stop: Total number of iterations reached limit.\n", + " success: False\n", + " fun: -77.87415887962864\n", + " x: [ 5.575e-03 -1.331e+00 ... 3.528e-02 3.174e-01]\n", + " nit: 10\n", + " jac: [ 3.935e-05 7.358e-06 ... -2.139e-04 -1.046e-04]\n", + " nfev: 1267\n", + " njev: 10\n", + " nlinop: 807\n", "\n", "Iteration 1\n", - " Energy: -77.87363196954891\n", - " Norm of gradient: 0.0010575938908307025\n", - " Regularization hyperparameter: 0.001761897637537816\n", - " Variation hyperparameter: 0.9990810043136625\n", + " Energy: -77.87362685711526\n", + " Norm of gradient: 0.001855901915920389\n", + " Regularization hyperparameter: 0.0006311432653366777\n", + " Variation hyperparameter: 0.9822442645562184\n", "Iteration 2\n", - " Energy: -77.8736342801622\n", - " Norm of gradient: 6.770421184784103e-05\n", - " Regularization hyperparameter: 0.001761897637537816\n", - " Variation hyperparameter: 0.9990810043136625\n", + " Energy: -77.87363310271725\n", + " Norm of gradient: 0.00030252117985897243\n", + " Regularization hyperparameter: 0.017917228638547493\n", + " Variation hyperparameter: 0.9822715295787552\n", "Iteration 3\n", - " Energy: -77.87363428118711\n", - " Norm of gradient: 5.91431234347536e-05\n", - " Regularization hyperparameter: 1.826121241130568\n", - " Variation hyperparameter: 0.9998395119356727\n" + " Energy: -77.87363465185152\n", + " Norm of gradient: 0.00013693848943698868\n", + " Regularization hyperparameter: 0.0016125257073217676\n", + " Variation hyperparameter: 0.9796823873521728\n", + "Iteration 4\n", + " Energy: -77.87367036227928\n", + " Norm of gradient: 0.0036903600525447777\n", + " Regularization hyperparameter: 0.00023737584156002583\n", + " Variation hyperparameter: 0.9797942563603614\n", + "Iteration 5\n", + " Energy: -77.87367575401149\n", + " Norm of gradient: 0.0032559906379786073\n", + " Regularization hyperparameter: 1.028498765850173\n", + " Variation hyperparameter: 0.9796914690528229\n", + "Iteration 6\n", + " Energy: -77.87368004450491\n", + " Norm of gradient: 0.0029155790648158287\n", + " Regularization hyperparameter: 1.028498765850173\n", + " Variation hyperparameter: 0.9796914690528229\n", + "Iteration 7\n", + " Energy: -77.8739817406614\n", + " Norm of gradient: 0.005990163908565813\n", + " Regularization hyperparameter: 0.001147509641622838\n", + " Variation hyperparameter: 0.8996245760543174\n", + "Iteration 8\n", + " Energy: -77.87414523157764\n", + " Norm of gradient: 0.0018668421854928312\n", + " Regularization hyperparameter: 0.0008331180627833742\n", + " Variation hyperparameter: 0.8998205846301155\n", + "Iteration 9\n", + " Energy: -77.8741576272094\n", + " Norm of gradient: 0.0006038689751939719\n", + " Regularization hyperparameter: 0.00025281008523048225\n", + " Variation hyperparameter: 0.9027648650557756\n" ] } ], diff --git a/dev/.doctrees/nbsphinx/how-to-guides/qiskit-circuits.ipynb b/dev/.doctrees/nbsphinx/how-to-guides/qiskit-circuits.ipynb index 482021668..2196b445e 100644 --- a/dev/.doctrees/nbsphinx/how-to-guides/qiskit-circuits.ipynb +++ b/dev/.doctrees/nbsphinx/how-to-guides/qiskit-circuits.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:39.456445Z", - "iopub.status.busy": "2024-12-05T03:24:39.456253Z", - "iopub.status.idle": "2024-12-05T03:24:40.155805Z", - "shell.execute_reply": "2024-12-05T03:24:40.155276Z" + "iopub.execute_input": "2024-12-05T04:50:38.336473Z", + "iopub.status.busy": "2024-12-05T04:50:38.336280Z", + "iopub.status.idle": "2024-12-05T04:50:39.070125Z", + "shell.execute_reply": "2024-12-05T04:50:39.069579Z" } }, "outputs": [], @@ -54,10 +54,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.158319Z", - "iopub.status.busy": "2024-12-05T03:24:40.157923Z", - "iopub.status.idle": "2024-12-05T03:24:40.783095Z", - "shell.execute_reply": "2024-12-05T03:24:40.782523Z" + "iopub.execute_input": "2024-12-05T04:50:39.072600Z", + "iopub.status.busy": "2024-12-05T04:50:39.072144Z", + "iopub.status.idle": "2024-12-05T04:50:39.668193Z", + "shell.execute_reply": "2024-12-05T04:50:39.667540Z" } }, "outputs": [ @@ -103,10 +103,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.785611Z", - "iopub.status.busy": "2024-12-05T03:24:40.784914Z", - "iopub.status.idle": "2024-12-05T03:24:40.838801Z", - "shell.execute_reply": "2024-12-05T03:24:40.838179Z" + "iopub.execute_input": "2024-12-05T04:50:39.670961Z", + "iopub.status.busy": "2024-12-05T04:50:39.670111Z", + "iopub.status.idle": "2024-12-05T04:50:39.727231Z", + "shell.execute_reply": "2024-12-05T04:50:39.726569Z" } }, "outputs": [ @@ -160,17 +160,17 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.840795Z", - "iopub.status.busy": "2024-12-05T03:24:40.840596Z", - "iopub.status.idle": "2024-12-05T03:24:40.845007Z", - "shell.execute_reply": "2024-12-05T03:24:40.844439Z" + "iopub.execute_input": "2024-12-05T04:50:39.729735Z", + "iopub.status.busy": "2024-12-05T04:50:39.729386Z", + "iopub.status.idle": "2024-12-05T04:50:39.733779Z", + "shell.execute_reply": "2024-12-05T04:50:39.733276Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -195,17 +195,17 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.846845Z", - "iopub.status.busy": "2024-12-05T03:24:40.846651Z", - "iopub.status.idle": "2024-12-05T03:24:40.851609Z", - "shell.execute_reply": "2024-12-05T03:24:40.851021Z" + "iopub.execute_input": "2024-12-05T04:50:39.735886Z", + "iopub.status.busy": "2024-12-05T04:50:39.735487Z", + "iopub.status.idle": "2024-12-05T04:50:39.740764Z", + "shell.execute_reply": "2024-12-05T04:50:39.740173Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -242,17 +242,17 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.853466Z", - "iopub.status.busy": "2024-12-05T03:24:40.853274Z", - "iopub.status.idle": "2024-12-05T03:24:40.858068Z", - "shell.execute_reply": "2024-12-05T03:24:40.857469Z" + "iopub.execute_input": "2024-12-05T04:50:39.743192Z", + "iopub.status.busy": "2024-12-05T04:50:39.742782Z", + "iopub.status.idle": "2024-12-05T04:50:39.747601Z", + "shell.execute_reply": "2024-12-05T04:50:39.747124Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -279,17 +279,17 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.860035Z", - "iopub.status.busy": "2024-12-05T03:24:40.859691Z", - "iopub.status.idle": "2024-12-05T03:24:40.864104Z", - "shell.execute_reply": "2024-12-05T03:24:40.863518Z" + "iopub.execute_input": "2024-12-05T04:50:39.749484Z", + "iopub.status.busy": "2024-12-05T04:50:39.749269Z", + "iopub.status.idle": "2024-12-05T04:50:39.753884Z", + "shell.execute_reply": "2024-12-05T04:50:39.753313Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -315,17 +315,17 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.865967Z", - "iopub.status.busy": "2024-12-05T03:24:40.865637Z", - "iopub.status.idle": "2024-12-05T03:24:40.869985Z", - "shell.execute_reply": "2024-12-05T03:24:40.869528Z" + "iopub.execute_input": "2024-12-05T04:50:39.755940Z", + "iopub.status.busy": "2024-12-05T04:50:39.755577Z", + "iopub.status.idle": "2024-12-05T04:50:39.760094Z", + "shell.execute_reply": "2024-12-05T04:50:39.759612Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -354,17 +354,17 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.872043Z", - "iopub.status.busy": "2024-12-05T03:24:40.871604Z", - "iopub.status.idle": "2024-12-05T03:24:40.876834Z", - "shell.execute_reply": "2024-12-05T03:24:40.876270Z" + "iopub.execute_input": "2024-12-05T04:50:39.761841Z", + "iopub.status.busy": "2024-12-05T04:50:39.761647Z", + "iopub.status.idle": "2024-12-05T04:50:39.767034Z", + "shell.execute_reply": "2024-12-05T04:50:39.766447Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -391,17 +391,17 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.878795Z", - "iopub.status.busy": "2024-12-05T03:24:40.878432Z", - "iopub.status.idle": "2024-12-05T03:24:40.883674Z", - "shell.execute_reply": "2024-12-05T03:24:40.883188Z" + "iopub.execute_input": "2024-12-05T04:50:39.769107Z", + "iopub.status.busy": "2024-12-05T04:50:39.768908Z", + "iopub.status.idle": "2024-12-05T04:50:39.774806Z", + "shell.execute_reply": "2024-12-05T04:50:39.774227Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 10, @@ -428,17 +428,17 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.885608Z", - "iopub.status.busy": "2024-12-05T03:24:40.885242Z", - "iopub.status.idle": "2024-12-05T03:24:40.890580Z", - "shell.execute_reply": "2024-12-05T03:24:40.890136Z" + "iopub.execute_input": "2024-12-05T04:50:39.777047Z", + "iopub.status.busy": "2024-12-05T04:50:39.776647Z", + "iopub.status.idle": "2024-12-05T04:50:39.782265Z", + "shell.execute_reply": "2024-12-05T04:50:39.781793Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 11, diff --git a/dev/.doctrees/nbsphinx/how-to-guides/qiskit-sampler.ipynb b/dev/.doctrees/nbsphinx/how-to-guides/qiskit-sampler.ipynb index f1cee1268..544fa4f8a 100644 --- a/dev/.doctrees/nbsphinx/how-to-guides/qiskit-sampler.ipynb +++ b/dev/.doctrees/nbsphinx/how-to-guides/qiskit-sampler.ipynb @@ -18,10 +18,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:42.786996Z", - "iopub.status.busy": "2024-12-05T03:24:42.786810Z", - "iopub.status.idle": "2024-12-05T03:24:43.473452Z", - "shell.execute_reply": "2024-12-05T03:24:43.472896Z" + "iopub.execute_input": "2024-12-05T04:50:41.796420Z", + "iopub.status.busy": "2024-12-05T04:50:41.796235Z", + "iopub.status.idle": "2024-12-05T04:50:42.529490Z", + "shell.execute_reply": "2024-12-05T04:50:42.528818Z" } }, "outputs": [], @@ -71,10 +71,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:43.476028Z", - "iopub.status.busy": "2024-12-05T03:24:43.475564Z", - "iopub.status.idle": "2024-12-05T03:24:43.538662Z", - "shell.execute_reply": "2024-12-05T03:24:43.538071Z" + "iopub.execute_input": "2024-12-05T04:50:42.531917Z", + "iopub.status.busy": "2024-12-05T04:50:42.531561Z", + "iopub.status.idle": "2024-12-05T04:50:42.597274Z", + "shell.execute_reply": "2024-12-05T04:50:42.596712Z" } }, "outputs": [ @@ -154,10 +154,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:43.540921Z", - "iopub.status.busy": "2024-12-05T03:24:43.540416Z", - "iopub.status.idle": "2024-12-05T03:24:43.825014Z", - "shell.execute_reply": "2024-12-05T03:24:43.824381Z" + "iopub.execute_input": "2024-12-05T04:50:42.599625Z", + "iopub.status.busy": "2024-12-05T04:50:42.599248Z", + "iopub.status.idle": "2024-12-05T04:50:42.890209Z", + "shell.execute_reply": "2024-12-05T04:50:42.889660Z" } }, "outputs": [ @@ -174,7 +174,7 @@ "text": [ "norb = 14\n", "nelec = (3, 3)\n", - "E(CCSD) = -108.9630419334856 E_corr = -0.1278053627110059\n" + "E(CCSD) = -108.9630419334856 E_corr = -0.1278053627110061\n" ] }, { @@ -194,7 +194,7 @@ " '0000000001011000000000010110': 10,\n", " '0001000001010000000000000111': 5,\n", " '0000000001011000100000000110': 4,\n", - " '0100000000100100000000000111': 3,\n", + " '0100000001001000000000000111': 3,\n", " '0000000000011100100000001100': 3,\n", " '0010000000011000000000010110': 3}" ] @@ -276,10 +276,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:43.827282Z", - "iopub.status.busy": "2024-12-05T03:24:43.826768Z", - "iopub.status.idle": "2024-12-05T03:24:44.368732Z", - "shell.execute_reply": "2024-12-05T03:24:44.368099Z" + "iopub.execute_input": "2024-12-05T04:50:42.892649Z", + "iopub.status.busy": "2024-12-05T04:50:42.892132Z", + "iopub.status.idle": "2024-12-05T04:50:43.440269Z", + "shell.execute_reply": "2024-12-05T04:50:43.439652Z" } }, "outputs": [ @@ -294,7 +294,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "SCF energy = -75.3484557063616\n" + "SCF energy = -75.3484557067739\n" ] }, { @@ -312,7 +312,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(UCCSD) = -75.4561973913865 E_corr = -0.1077416850249517\n" + "E(UCCSD) = -75.45619739131376 E_corr = -0.1077416845398132\n" ] }, { diff --git a/dev/.doctrees/nbsphinx/tutorials/double-factorized-trotter.ipynb b/dev/.doctrees/nbsphinx/tutorials/double-factorized-trotter.ipynb index ff0fcf662..8ee8fffb2 100644 --- a/dev/.doctrees/nbsphinx/tutorials/double-factorized-trotter.ipynb +++ b/dev/.doctrees/nbsphinx/tutorials/double-factorized-trotter.ipynb @@ -18,10 +18,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:45.923610Z", - "iopub.status.busy": "2024-12-05T03:24:45.923421Z", - "iopub.status.idle": "2024-12-05T03:24:46.676204Z", - "shell.execute_reply": "2024-12-05T03:24:46.675632Z" + "iopub.execute_input": "2024-12-05T04:50:45.060715Z", + "iopub.status.busy": "2024-12-05T04:50:45.060524Z", + "iopub.status.idle": "2024-12-05T04:50:45.838950Z", + "shell.execute_reply": "2024-12-05T04:50:45.838311Z" } }, "outputs": [ @@ -80,10 +80,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.679398Z", - "iopub.status.busy": "2024-12-05T03:24:46.678465Z", - "iopub.status.idle": "2024-12-05T03:24:46.683627Z", - "shell.execute_reply": "2024-12-05T03:24:46.683009Z" + "iopub.execute_input": "2024-12-05T04:50:45.842464Z", + "iopub.status.busy": "2024-12-05T04:50:45.841892Z", + "iopub.status.idle": "2024-12-05T04:50:45.846401Z", + "shell.execute_reply": "2024-12-05T04:50:45.845830Z" } }, "outputs": [], @@ -106,10 +106,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.685803Z", - "iopub.status.busy": "2024-12-05T03:24:46.685344Z", - "iopub.status.idle": "2024-12-05T03:24:46.689861Z", - "shell.execute_reply": "2024-12-05T03:24:46.689405Z" + "iopub.execute_input": "2024-12-05T04:50:45.848668Z", + "iopub.status.busy": "2024-12-05T04:50:45.848340Z", + "iopub.status.idle": "2024-12-05T04:50:45.852870Z", + "shell.execute_reply": "2024-12-05T04:50:45.852337Z" } }, "outputs": [ @@ -172,10 +172,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.691839Z", - "iopub.status.busy": "2024-12-05T03:24:46.691484Z", - "iopub.status.idle": "2024-12-05T03:24:46.695294Z", - "shell.execute_reply": "2024-12-05T03:24:46.694799Z" + "iopub.execute_input": "2024-12-05T04:50:45.855132Z", + "iopub.status.busy": "2024-12-05T04:50:45.854603Z", + "iopub.status.idle": "2024-12-05T04:50:45.859029Z", + "shell.execute_reply": "2024-12-05T04:50:45.858493Z" } }, "outputs": [ @@ -208,10 +208,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.697235Z", - "iopub.status.busy": "2024-12-05T03:24:46.696822Z", - "iopub.status.idle": "2024-12-05T03:24:46.700442Z", - "shell.execute_reply": "2024-12-05T03:24:46.699970Z" + "iopub.execute_input": "2024-12-05T04:50:45.860796Z", + "iopub.status.busy": "2024-12-05T04:50:45.860615Z", + "iopub.status.idle": "2024-12-05T04:50:45.864240Z", + "shell.execute_reply": "2024-12-05T04:50:45.863712Z" } }, "outputs": [ @@ -242,10 +242,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.702448Z", - "iopub.status.busy": "2024-12-05T03:24:46.702098Z", - "iopub.status.idle": "2024-12-05T03:24:46.720392Z", - "shell.execute_reply": "2024-12-05T03:24:46.719899Z" + "iopub.execute_input": "2024-12-05T04:50:45.866157Z", + "iopub.status.busy": "2024-12-05T04:50:45.865817Z", + "iopub.status.idle": "2024-12-05T04:50:45.887001Z", + "shell.execute_reply": "2024-12-05T04:50:45.886493Z" } }, "outputs": [ @@ -253,7 +253,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Maximum error in a tensor entry: 0.03668541730983477\n" + "Maximum error in a tensor entry: 0.036685417309835655\n" ] } ], @@ -302,10 +302,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.722271Z", - "iopub.status.busy": "2024-12-05T03:24:46.721943Z", - "iopub.status.idle": "2024-12-05T03:24:46.726146Z", - "shell.execute_reply": "2024-12-05T03:24:46.725562Z" + "iopub.execute_input": "2024-12-05T04:50:45.889065Z", + "iopub.status.busy": "2024-12-05T04:50:45.888815Z", + "iopub.status.idle": "2024-12-05T04:50:45.892958Z", + "shell.execute_reply": "2024-12-05T04:50:45.892470Z" } }, "outputs": [], @@ -360,10 +360,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.728062Z", - "iopub.status.busy": "2024-12-05T03:24:46.727724Z", - "iopub.status.idle": "2024-12-05T03:24:46.731309Z", - "shell.execute_reply": "2024-12-05T03:24:46.730691Z" + "iopub.execute_input": "2024-12-05T04:50:45.895111Z", + "iopub.status.busy": "2024-12-05T04:50:45.894751Z", + "iopub.status.idle": "2024-12-05T04:50:45.898688Z", + "shell.execute_reply": "2024-12-05T04:50:45.898088Z" } }, "outputs": [], @@ -400,10 +400,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.733244Z", - "iopub.status.busy": "2024-12-05T03:24:46.732809Z", - "iopub.status.idle": "2024-12-05T03:24:46.833048Z", - "shell.execute_reply": "2024-12-05T03:24:46.832493Z" + "iopub.execute_input": "2024-12-05T04:50:45.900714Z", + "iopub.status.busy": "2024-12-05T04:50:45.900352Z", + "iopub.status.idle": "2024-12-05T04:50:45.998404Z", + "shell.execute_reply": "2024-12-05T04:50:45.997725Z" } }, "outputs": [], @@ -439,10 +439,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.836109Z", - "iopub.status.busy": "2024-12-05T03:24:46.835316Z", - "iopub.status.idle": "2024-12-05T03:24:46.884721Z", - "shell.execute_reply": "2024-12-05T03:24:46.884124Z" + "iopub.execute_input": "2024-12-05T04:50:46.001119Z", + "iopub.status.busy": "2024-12-05T04:50:46.000556Z", + "iopub.status.idle": "2024-12-05T04:50:46.049519Z", + "shell.execute_reply": "2024-12-05T04:50:46.048970Z" } }, "outputs": [ @@ -450,7 +450,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.940243511515908\n" + "Fidelity of Trotter-evolved state with exact state: 0.9402384003985698\n" ] } ], @@ -480,10 +480,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.886638Z", - "iopub.status.busy": "2024-12-05T03:24:46.886293Z", - "iopub.status.idle": "2024-12-05T03:24:47.094658Z", - "shell.execute_reply": "2024-12-05T03:24:47.094144Z" + "iopub.execute_input": "2024-12-05T04:50:46.051515Z", + "iopub.status.busy": "2024-12-05T04:50:46.051316Z", + "iopub.status.idle": "2024-12-05T04:50:46.261990Z", + "shell.execute_reply": "2024-12-05T04:50:46.261346Z" } }, "outputs": [ @@ -491,7 +491,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9985212854201858\n" + "Fidelity of Trotter-evolved state with exact state: 0.9985210983501976\n" ] } ], @@ -521,10 +521,10 @@ "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:47.096768Z", - "iopub.status.busy": "2024-12-05T03:24:47.096400Z", - "iopub.status.idle": "2024-12-05T03:24:47.227776Z", - "shell.execute_reply": "2024-12-05T03:24:47.227137Z" + "iopub.execute_input": "2024-12-05T04:50:46.264192Z", + "iopub.status.busy": "2024-12-05T04:50:46.263853Z", + "iopub.status.idle": "2024-12-05T04:50:46.389718Z", + "shell.execute_reply": "2024-12-05T04:50:46.389062Z" } }, "outputs": [ @@ -532,7 +532,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9985212854202294\n" + "Fidelity of Trotter-evolved state with exact state: 0.9985210983500586\n" ] } ], @@ -563,10 +563,10 @@ "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:47.230002Z", - "iopub.status.busy": "2024-12-05T03:24:47.229543Z", - "iopub.status.idle": "2024-12-05T03:24:47.329290Z", - "shell.execute_reply": "2024-12-05T03:24:47.328789Z" + "iopub.execute_input": "2024-12-05T04:50:46.392016Z", + "iopub.status.busy": "2024-12-05T04:50:46.391656Z", + "iopub.status.idle": "2024-12-05T04:50:46.493627Z", + "shell.execute_reply": "2024-12-05T04:50:46.493019Z" } }, "outputs": [ @@ -574,7 +574,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9996731164188969\n" + "Fidelity of Trotter-evolved state with exact state: 0.9996731173183583\n" ] } ], diff --git a/dev/.doctrees/tutorials/double-factorized-trotter.doctree b/dev/.doctrees/tutorials/double-factorized-trotter.doctree index 0367c2ead..2f70754af 100644 Binary files a/dev/.doctrees/tutorials/double-factorized-trotter.doctree and b/dev/.doctrees/tutorials/double-factorized-trotter.doctree differ diff --git a/dev/_images/explanations_qiskit-gate-decompositions_34_0.png b/dev/_images/explanations_qiskit-gate-decompositions_34_0.png index e59fb4340..2d824b3ee 100644 Binary files a/dev/_images/explanations_qiskit-gate-decompositions_34_0.png and b/dev/_images/explanations_qiskit-gate-decompositions_34_0.png differ diff --git a/dev/explanations/hamiltonians.html b/dev/explanations/hamiltonians.html index 694bb0631..32ad05ac2 100644 --- a/dev/explanations/hamiltonians.html +++ b/dev/explanations/hamiltonians.html @@ -377,7 +377,7 @@

Operator action via SciPy LinearOperators
-np.float64(-99.55717072551569)
+np.float64(-99.55717072551553)
 

Time evolution by the Hamiltonian can be computed using expm_multiply:

@@ -395,7 +395,7 @@

Operator action via SciPy LinearOperators
-/tmp/ipykernel_4129/2190712273.py:2: UserWarning: Trace of LinearOperator not available, it will be estimated. Provide `traceA` to ensure performance.
+/tmp/ipykernel_4154/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/dev/explanations/hamiltonians.ipynb b/dev/explanations/hamiltonians.ipynb index bb2c53292..542d6136e 100644 --- a/dev/explanations/hamiltonians.ipynb +++ b/dev/explanations/hamiltonians.ipynb @@ -33,10 +33,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:22.212599Z", - "iopub.status.busy": "2024-12-05T03:21:22.212405Z", - "iopub.status.idle": "2024-12-05T03:21:22.936360Z", - "shell.execute_reply": "2024-12-05T03:21:22.935726Z" + "iopub.execute_input": "2024-12-05T04:46:56.170333Z", + "iopub.status.busy": "2024-12-05T04:46:56.169891Z", + "iopub.status.idle": "2024-12-05T04:46:56.899239Z", + "shell.execute_reply": "2024-12-05T04:46:56.898651Z" } }, "outputs": [], @@ -68,10 +68,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:22.938787Z", - "iopub.status.busy": "2024-12-05T03:21:22.938491Z", - "iopub.status.idle": "2024-12-05T03:21:22.941593Z", - "shell.execute_reply": "2024-12-05T03:21:22.941110Z" + "iopub.execute_input": "2024-12-05T04:46:56.901846Z", + "iopub.status.busy": "2024-12-05T04:46:56.901352Z", + "iopub.status.idle": "2024-12-05T04:46:56.904240Z", + "shell.execute_reply": "2024-12-05T04:46:56.903774Z" } }, "outputs": [], @@ -99,10 +99,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:22.943786Z", - "iopub.status.busy": "2024-12-05T03:21:22.943290Z", - "iopub.status.idle": "2024-12-05T03:21:22.946565Z", - "shell.execute_reply": "2024-12-05T03:21:22.946108Z" + "iopub.execute_input": "2024-12-05T04:46:56.906329Z", + "iopub.status.busy": "2024-12-05T04:46:56.905971Z", + "iopub.status.idle": "2024-12-05T04:46:56.908965Z", + "shell.execute_reply": "2024-12-05T04:46:56.908507Z" } }, "outputs": [], @@ -127,10 +127,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:22.948362Z", - "iopub.status.busy": "2024-12-05T03:21:22.948174Z", - "iopub.status.idle": "2024-12-05T03:21:22.952632Z", - "shell.execute_reply": "2024-12-05T03:21:22.952065Z" + "iopub.execute_input": "2024-12-05T04:46:56.910865Z", + "iopub.status.busy": "2024-12-05T04:46:56.910504Z", + "iopub.status.idle": "2024-12-05T04:46:56.915405Z", + "shell.execute_reply": "2024-12-05T04:46:56.914846Z" } }, "outputs": [], @@ -152,17 +152,17 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:22.954753Z", - "iopub.status.busy": "2024-12-05T03:21:22.954540Z", - "iopub.status.idle": "2024-12-05T03:21:22.979586Z", - "shell.execute_reply": "2024-12-05T03:21:22.979023Z" + "iopub.execute_input": "2024-12-05T04:46:56.918616Z", + "iopub.status.busy": "2024-12-05T04:46:56.917818Z", + "iopub.status.idle": "2024-12-05T04:46:56.946633Z", + "shell.execute_reply": "2024-12-05T04:46:56.945953Z" } }, "outputs": [ { "data": { "text/plain": [ - "np.float64(-99.55717072551569)" + "np.float64(-99.55717072551553)" ] }, "execution_count": 5, @@ -191,10 +191,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:23.014517Z", - "iopub.status.busy": "2024-12-05T03:21:23.013952Z", - "iopub.status.idle": "2024-12-05T03:21:23.722545Z", - "shell.execute_reply": "2024-12-05T03:21:23.721915Z" + "iopub.execute_input": "2024-12-05T04:46:56.980235Z", + "iopub.status.busy": "2024-12-05T04:46:56.979782Z", + "iopub.status.idle": "2024-12-05T04:46:57.697130Z", + "shell.execute_reply": "2024-12-05T04:46:57.696466Z" } }, "outputs": [ @@ -202,7 +202,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "/tmp/ipykernel_4129/2190712273.py:2: UserWarning: Trace of LinearOperator not available, it will be estimated. Provide `traceA` to ensure performance.\n", + "/tmp/ipykernel_4154/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-12-05T03:21:23.725922Z", - "iopub.status.busy": "2024-12-05T03:21:23.725125Z", - "iopub.status.idle": "2024-12-05T03:21:24.323558Z", - "shell.execute_reply": "2024-12-05T03:21:24.322918Z" + "iopub.execute_input": "2024-12-05T04:46:57.700023Z", + "iopub.status.busy": "2024-12-05T04:46:57.699781Z", + "iopub.status.idle": "2024-12-05T04:46:58.311503Z", + "shell.execute_reply": "2024-12-05T04:46:58.310879Z" } }, "outputs": [], diff --git a/dev/explanations/orbital-rotation.ipynb b/dev/explanations/orbital-rotation.ipynb index 1226b7570..541ea77b8 100644 --- a/dev/explanations/orbital-rotation.ipynb +++ b/dev/explanations/orbital-rotation.ipynb @@ -62,10 +62,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:27.401921Z", - "iopub.status.busy": "2024-12-05T03:21:27.401472Z", - "iopub.status.idle": "2024-12-05T03:21:28.119716Z", - "shell.execute_reply": "2024-12-05T03:21:28.119137Z" + "iopub.execute_input": "2024-12-05T04:47:04.503741Z", + "iopub.status.busy": "2024-12-05T04:47:04.503545Z", + "iopub.status.idle": "2024-12-05T04:47:05.238122Z", + "shell.execute_reply": "2024-12-05T04:47:05.237523Z" } }, "outputs": [], diff --git a/dev/explanations/qiskit-gate-decompositions.ipynb b/dev/explanations/qiskit-gate-decompositions.ipynb index 62f857fbb..37ec63cee 100644 --- a/dev/explanations/qiskit-gate-decompositions.ipynb +++ b/dev/explanations/qiskit-gate-decompositions.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:29.543343Z", - "iopub.status.busy": "2024-12-05T03:21:29.542995Z", - "iopub.status.idle": "2024-12-05T03:21:31.111710Z", - "shell.execute_reply": "2024-12-05T03:21:31.111147Z" + "iopub.execute_input": "2024-12-05T04:47:06.896362Z", + "iopub.status.busy": "2024-12-05T04:47:06.896167Z", + "iopub.status.idle": "2024-12-05T04:47:10.928540Z", + "shell.execute_reply": "2024-12-05T04:47:10.927878Z" } }, "outputs": [ @@ -81,10 +81,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.113976Z", - "iopub.status.busy": "2024-12-05T03:21:31.113487Z", - "iopub.status.idle": "2024-12-05T03:21:31.316959Z", - "shell.execute_reply": "2024-12-05T03:21:31.316364Z" + "iopub.execute_input": "2024-12-05T04:47:10.931010Z", + "iopub.status.busy": "2024-12-05T04:47:10.930415Z", + "iopub.status.idle": "2024-12-05T04:47:11.143861Z", + "shell.execute_reply": "2024-12-05T04:47:11.143226Z" } }, "outputs": [ @@ -119,10 +119,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.319255Z", - "iopub.status.busy": "2024-12-05T03:21:31.318854Z", - "iopub.status.idle": "2024-12-05T03:21:31.426366Z", - "shell.execute_reply": "2024-12-05T03:21:31.425800Z" + "iopub.execute_input": "2024-12-05T04:47:11.146444Z", + "iopub.status.busy": "2024-12-05T04:47:11.145906Z", + "iopub.status.idle": "2024-12-05T04:47:11.255057Z", + "shell.execute_reply": "2024-12-05T04:47:11.254491Z" } }, "outputs": [ @@ -156,10 +156,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.428468Z", - "iopub.status.busy": "2024-12-05T03:21:31.428270Z", - "iopub.status.idle": "2024-12-05T03:21:31.537726Z", - "shell.execute_reply": "2024-12-05T03:21:31.537172Z" + "iopub.execute_input": "2024-12-05T04:47:11.257399Z", + "iopub.status.busy": "2024-12-05T04:47:11.256936Z", + "iopub.status.idle": "2024-12-05T04:47:11.369270Z", + "shell.execute_reply": "2024-12-05T04:47:11.368577Z" } }, "outputs": [ @@ -196,10 +196,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.540008Z", - "iopub.status.busy": "2024-12-05T03:21:31.539516Z", - "iopub.status.idle": "2024-12-05T03:21:31.747721Z", - "shell.execute_reply": "2024-12-05T03:21:31.746610Z" + "iopub.execute_input": "2024-12-05T04:47:11.371447Z", + "iopub.status.busy": "2024-12-05T04:47:11.371075Z", + "iopub.status.idle": "2024-12-05T04:47:11.557187Z", + "shell.execute_reply": "2024-12-05T04:47:11.556603Z" } }, "outputs": [ @@ -250,10 +250,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.750916Z", - "iopub.status.busy": "2024-12-05T03:21:31.750536Z", - "iopub.status.idle": "2024-12-05T03:21:31.980425Z", - "shell.execute_reply": "2024-12-05T03:21:31.979904Z" + "iopub.execute_input": "2024-12-05T04:47:11.559444Z", + "iopub.status.busy": "2024-12-05T04:47:11.559061Z", + "iopub.status.idle": "2024-12-05T04:47:11.780913Z", + "shell.execute_reply": "2024-12-05T04:47:11.780301Z" } }, "outputs": [ @@ -292,10 +292,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:31.982569Z", - "iopub.status.busy": "2024-12-05T03:21:31.982186Z", - "iopub.status.idle": "2024-12-05T03:21:32.116976Z", - "shell.execute_reply": "2024-12-05T03:21:32.116336Z" + "iopub.execute_input": "2024-12-05T04:47:11.783120Z", + "iopub.status.busy": "2024-12-05T04:47:11.782761Z", + "iopub.status.idle": "2024-12-05T04:47:11.919074Z", + "shell.execute_reply": "2024-12-05T04:47:11.918459Z" } }, "outputs": [ @@ -334,10 +334,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:32.119328Z", - "iopub.status.busy": "2024-12-05T03:21:32.118738Z", - "iopub.status.idle": "2024-12-05T03:21:32.640450Z", - "shell.execute_reply": "2024-12-05T03:21:32.639847Z" + "iopub.execute_input": "2024-12-05T04:47:11.921244Z", + "iopub.status.busy": "2024-12-05T04:47:11.921044Z", + "iopub.status.idle": "2024-12-05T04:47:12.453587Z", + "shell.execute_reply": "2024-12-05T04:47:12.452932Z" } }, "outputs": [ @@ -378,10 +378,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:32.642697Z", - "iopub.status.busy": "2024-12-05T03:21:32.642353Z", - "iopub.status.idle": "2024-12-05T03:21:32.821158Z", - "shell.execute_reply": "2024-12-05T03:21:32.820634Z" + "iopub.execute_input": "2024-12-05T04:47:12.455860Z", + "iopub.status.busy": "2024-12-05T04:47:12.455400Z", + "iopub.status.idle": "2024-12-05T04:47:12.636075Z", + "shell.execute_reply": "2024-12-05T04:47:12.635532Z" } }, "outputs": [ @@ -430,10 +430,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:32.823312Z", - "iopub.status.busy": "2024-12-05T03:21:32.822906Z", - "iopub.status.idle": "2024-12-05T03:21:32.988913Z", - "shell.execute_reply": "2024-12-05T03:21:32.988306Z" + "iopub.execute_input": "2024-12-05T04:47:12.638214Z", + "iopub.status.busy": "2024-12-05T04:47:12.637860Z", + "iopub.status.idle": "2024-12-05T04:47:12.807896Z", + "shell.execute_reply": "2024-12-05T04:47:12.807245Z" } }, "outputs": [ @@ -474,10 +474,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:32.991113Z", - "iopub.status.busy": "2024-12-05T03:21:32.990698Z", - "iopub.status.idle": "2024-12-05T03:21:33.121686Z", - "shell.execute_reply": "2024-12-05T03:21:33.121123Z" + "iopub.execute_input": "2024-12-05T04:47:12.810422Z", + "iopub.status.busy": "2024-12-05T04:47:12.809905Z", + "iopub.status.idle": "2024-12-05T04:47:12.941894Z", + "shell.execute_reply": "2024-12-05T04:47:12.941226Z" } }, "outputs": [ @@ -513,10 +513,10 @@ "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.123837Z", - "iopub.status.busy": "2024-12-05T03:21:33.123457Z", - "iopub.status.idle": "2024-12-05T03:21:33.300292Z", - "shell.execute_reply": "2024-12-05T03:21:33.299694Z" + "iopub.execute_input": "2024-12-05T04:47:12.944103Z", + "iopub.status.busy": "2024-12-05T04:47:12.943722Z", + "iopub.status.idle": "2024-12-05T04:47:13.126592Z", + "shell.execute_reply": "2024-12-05T04:47:13.126005Z" } }, "outputs": [ @@ -553,10 +553,10 @@ "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.302440Z", - "iopub.status.busy": "2024-12-05T03:21:33.302062Z", - "iopub.status.idle": "2024-12-05T03:21:33.461175Z", - "shell.execute_reply": "2024-12-05T03:21:33.460659Z" + "iopub.execute_input": "2024-12-05T04:47:13.128611Z", + "iopub.status.busy": "2024-12-05T04:47:13.128424Z", + "iopub.status.idle": "2024-12-05T04:47:13.289598Z", + "shell.execute_reply": "2024-12-05T04:47:13.288976Z" } }, "outputs": [ @@ -593,10 +593,10 @@ "execution_count": 14, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.463262Z", - "iopub.status.busy": "2024-12-05T03:21:33.462859Z", - "iopub.status.idle": "2024-12-05T03:21:33.614941Z", - "shell.execute_reply": "2024-12-05T03:21:33.614363Z" + "iopub.execute_input": "2024-12-05T04:47:13.291732Z", + "iopub.status.busy": "2024-12-05T04:47:13.291345Z", + "iopub.status.idle": "2024-12-05T04:47:13.425891Z", + "shell.execute_reply": "2024-12-05T04:47:13.425120Z" } }, "outputs": [ @@ -630,10 +630,10 @@ "execution_count": 15, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.617371Z", - "iopub.status.busy": "2024-12-05T03:21:33.616925Z", - "iopub.status.idle": "2024-12-05T03:21:33.887906Z", - "shell.execute_reply": "2024-12-05T03:21:33.887267Z" + "iopub.execute_input": "2024-12-05T04:47:13.428264Z", + "iopub.status.busy": "2024-12-05T04:47:13.427871Z", + "iopub.status.idle": "2024-12-05T04:47:13.589877Z", + "shell.execute_reply": "2024-12-05T04:47:13.589261Z" } }, "outputs": [ @@ -677,10 +677,10 @@ "execution_count": 16, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.890102Z", - "iopub.status.busy": "2024-12-05T03:21:33.889904Z", - "iopub.status.idle": "2024-12-05T03:21:33.958944Z", - "shell.execute_reply": "2024-12-05T03:21:33.958377Z" + "iopub.execute_input": "2024-12-05T04:47:13.592156Z", + "iopub.status.busy": "2024-12-05T04:47:13.591784Z", + "iopub.status.idle": "2024-12-05T04:47:13.769692Z", + "shell.execute_reply": "2024-12-05T04:47:13.769088Z" } }, "outputs": [ @@ -736,16 +736,16 @@ "execution_count": 17, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:33.961315Z", - "iopub.status.busy": "2024-12-05T03:21:33.960784Z", - "iopub.status.idle": "2024-12-05T03:21:34.407442Z", - "shell.execute_reply": "2024-12-05T03:21:34.406774Z" + "iopub.execute_input": "2024-12-05T04:47:13.771715Z", + "iopub.status.busy": "2024-12-05T04:47:13.771518Z", + "iopub.status.idle": "2024-12-05T04:47:14.223630Z", + "shell.execute_reply": "2024-12-05T04:47:14.223002Z" } }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABLsAAAMkCAYAAABQkSLjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAADUdElEQVR4nOzde1zUVf7H8dfMgFwERDAVEAHFC2oIq2neEpWsfm2amW0X01K7W2tbZmvaWqmttlpb2cVNN7Usy63M1jItWS9RZN5NuXghw1uKCshNmfn9MYmOXBWYG+/n48FD5pwzcz7fr1++853PnHO+BovFYkFERERERERERMQNGB0dgIiIiIiIiIiISG1RsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DQ9HB+DMinPzObHrF0eH4TYax7Skgb9vle3yzkBGjh0CKkd0APh5OqZvEREREREREak5JbsqcWLXL3w5eJKjw3AbNyybSrNu7atsl5EDYzbYIaByvNML4oId07eIiIiIiIiI1JymMYqIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oQXqxS2kPpPA6d3JGDw8MZg88A5rT+jwaQR0HuDo0ERERERERETEjjSyS9xG6PBpxC/JI3bBERq268Ge6TdTcvqUo8MSERERERERETtSskvcjtHTiybXjsZcmEfhoQxHhyMiIiIiIiIidqRkl7gdc1EBx1a9g9E3AO/QNo4OR0RERERERETs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HR2F+xs9ejSTJk3iscceIzk5mR49epTWLV++nCVLlpCdnc3KlSvx8/Pj7rvvJi0tjbZt25a2Gz58OHFxcXz33XeVlt10000sWbKEUaNG2WfjREREREREpN7SNEaReq5Tp05kZWWVPs7Ozsbb2xuDwUBwcDB+fn4AmEwmDAaDzXObNm2K0Wissuyaa65h5cqVdbQFIiIiIiIiIucp2SVSzyUnJxMdHV36OCMjg4iICJs2O3fu5NixY7Rp0+ay+vD19eXEiRM1ilNERERERESkOpTsEqmn5s2bR0JCAmFhYcTFxVXYLicnh7FjxzJ37lz7BSciIiIiIiJymbRml0g9dW7NrotFR0eTmZkJgMViYdSoUTz//POEhoZedl/5+fkEBgZe9vNFREREREREqkvJLhGxERQURH5+PmC9a+O3337LsWPHAJg1axZhYWEsWrSI8ePHs3DhQv75z39y6tQpcnJymDlzZrlla9euZeDAgY7cLBEREREREaknlOwSqYcSEhJISEiosH7QoEGsXr2axMREsrOzy9SPHz8egBEjRjBixAibuvLKli9fzowZM2oeuIiIiIiIiEgVlOwSkTIuTlbV1Jw5c2r19UREREREREQqogXqRURERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNvQAvXidPLOQEaOY/qODgA/T8f0LSIiIiIiIiI1p2SXOJ2MHBizwTF9v9ML4oId07eIiIiIiIiI1JymMYqIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oQXqxS2kPpPA6d3JGDw8MZg88A5rT+jwaQR0HuDo0ERERERERETEjjSyS9xG6PBpxC/JI3bBERq268Ge6TdTcvqUo8MSERERERERETtSskvcjtHTiybXjsZcmEfhoQxHhyMiIiIiIiIidqRkl7gdc1EBx1a9g9E3AO/QNo4OR0RERERERETsyGWSXcXFxUyePJnw8HB8fHzo378/KSkpGAwGli1b5ujwxAkcXDyZLXcGsv2+SPL3bSV60heYfAMcHZZDFJec/91icVwcIrXBYoHD+fDraSgqqbq9iLM7UQS/5EHeGUdHIiKuorAEDuTB4QJd24nrM1vg4O/XdmfMjo5G3JVLLFBvsVgYNmwYKSkpTJkyhejo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B2D27Nl06NCBa6+9trRdfTtHiIhI+XQ3RhEREamxoKCg0ulvzZs3JzY2lj59+hAbG0vXrl05fPgwixYtYvz48fzlL38hLCyMhIQErr32Wp555hleeukl3n33XQwGA0ePHuUvf/kLiYmJNGjQgMDAQN577z3Aup5VZVMf3cW8efNYvXo1vXv3rnAkzM8//8zDDz9sU3b99deXGVnXunXrKvv79ddfefHFF/n8888B8PLyKq3r06cPe/bsITg4+DK3RqR8F543kpKS+Pbbbzl27BgAs2bNIiwsrPS88fzzz5OUlERYWBhvv/02xcXF/PWvf6VHjx589dVX3H333aVJtfpwjhARkcop2SUiIiLVkpCQQEJCQoX1gwYNYvXq1SQmJjJ58mQmT55cWte8eXPGjx8PUDqS40Ljx48vrT/nhx9+sHl89uxZjh49ajPSyV2NHj2aSZMmlSlv06YNn3zyCQAdOnQgKSmpTJsff/yRDz74gJtuuom1a9eWrmVUkaKiIu655x7efPPN0gXC8/Ly8PPzw2KxsHHjRsaOHQtY/+969epVw62T+uRSzhsXrsV1zrnzwrPPPsuzzz5rU1dUVGTzuD6dI0REpHKaxigiIiK1YsSIESQmJtbZ63t4eJQuVF9fde7cmdTU1ErbXHXVVRQVFdGnTx86d+5Ms2bNOHz4MC+99FJpm8TERDZv3kxiYiJz587l559/5oEHHiAhIYGsrCy+++47unbtSs+ePRk4cCAhISGAdUHxTp061ek2Sv1Sm+cNnSNEROQcjewSERERcSKVjYQxGo3ExsaSnp5e6bpEc+bMsXl84cg6gNWrV9vUP/roozaPw8LCGDhwoE3Zrl276NKlCwaDoTqbISIiIuIwSnaJiIiIuJDypjfaQ0xMDDExMQ7pW0RERORSaBqjiIiIiIiIiIi4DSW7RERERERERETEbWgaozidvDOQkeOYvqMDwM/TMX2LiIiIiIiISM0p2SVOJyMHxmxwTN/v9IK4YMf0LSIiIiIiIiI1p2mMIiIiIiIiIiLiNpTsEhERERERERERt6Fkl4iIiIiIiIiIuA0lu0RERERERERExG1ogXpxC6nPJHB6dzIGD08MJg+8w9oTOnwaAZ0HODo0EREREREREbEjjewStxE6fBrxS/KIXXCEhu16sGf6zZScPuXosERERERERETEjpTsErdj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6skP8fALtGOUIiKuxWCAKH9HR1E/tGho/RFxB8He1h8RERFnotUhxOUYPDzx8C9/PbairDSyFj5N2t8GUvhrKuYzxRQfO8D+V0aQMW0wZ04esXO0IiIiIiIiImJPLjmyS6QiebvW0+Gf27BYzGQt/Cvh971KQeYOOr2VTsHeLRxe+iLhY15xdJgiIiIiIiIiUkc0skvcinfLjniFtMY7tA0l+acwNWyET8SVePg1xq9jHwqzUh0dooiIiIiIiIjUIY3sErfi1TSSsznHsJhLMHr5YvJuiLGBN+YzRRQe2EWDppGODlFERERERERE6pCSXeKS0iYnkr9vM2mTEwm9Ywp5u5Npfst4mt82iT0v3oKl5Czh970KQLPBT5A2eQAGo4nIP7/r2MBFREREREREpE4p2SUuqe0Lq20e+3XoDYBvZCztXlxrUxcQl0hAXKLdYhMRERERERERx9GaXSIiIiIiIiIi4jaU7BIREREREREREbehZJeIiIiIiIiIiLgNrdnlZHq/8ghnThfywzPzHB1KGXdlLOLLm58le8e+Ou0nOgDe6VWnXVTat4iIiLi/pKQk7r33XiIiIoiIiGDBggU29YsWLSIkJITExET69OnD5s2b2b17Ny1atLBpt3btWsaPHw/AxIkTGTx4MPfddx9paWmUlJQwf/582rZty7333sv8+fMxGAx220YREZH6SsmuOtS8Z0finriN4NhWABzftpct//iIw8k7HRyZVdwTtxHcuTXfjHixWu3fj767jiOy8vOEuGC7dCUiIiL12OjRo5k0aRKPPfYYycnJ9OjRo7Ru+fLlLFmyBICPP/6Yp59+utzXePnll/n0008JCgrixhtvZPDgwbzxxht4enqybt063nrrLWbPnk337t1Zs2YN/fv3t8u2iYiI1GeaxlhHWiR24drFkziw+ic++sMDfPSHBziw+ieu/WASLQb8odznGEy1999h8DDV2muJiIiIuLNOnTqRlZVV+jg7Oxtvb+/SUVjNmzev8Llt2rTh1KlTnD59Gn9/fwA8PT0ByMvLo1OnTgD069ePFStW1NUmiIi4laSkJKKiokhISGDkyJFl6qdNm0Z6enqFz8/OzqZLly74+flVq37//v2EhISQkJDAiBEjANi1axczZsyoha0RR1Cyq450nzqKjI+T2Pnm55zJzedMbj473/ycPUv/R7ep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ERERt6Fkl4iIiIiIiIiIuA2t2SVOJzoA3unluL7rg6SkJO69914iIiKIiIhgwYIFNvWLFi0iJCSE8PBwRo0ahdFopGvXrrz88ss27WbPns2sWbN46KGHmDRpUoVljzzyCDNnzqRhw4b22UARERGReqS613aJiYn06dOHzZs3s3v3blq0aGHTbsqUKSxbtoxGjRpx//33c+edd+o6TkRckkZ2idPx84S4YMf8+Hk6euvtZ/To0SQlJdGoUSOSk5Nt6pYvX86AAQNo0qQJK1euZN26dRw7doy0tDSbdsOHD2fRokVVlt10000sWbKkbjZERERERKp1bQfw8ccfc+utt1b4Oq+99hpJSUnceeedgK7jRMQ1KdklUs916tSJrKys0sfZ2dl4e3tjMBgIDg7Gz88PAJPJhMFgsHlu06ZNMRqNVZZdc801rFy5so62QERERETOqezaDqB58+aVPn/cuHHceOON7N+/H9B13MWSkpKIiooiISGBkSNHlqmfNm0a6enpFT4/OzubLl26lF5jV1W/f/9+QkJCSEhIYMSIEQDs2rWLGTNm1MLWiLgvJbtE6rnk5GSio6NLH2dkZBAREWHTZufOnRw7dow2bdpcVh++vr6cOHGiRnGKiIiISNWqc21XkT//+c9s3LiRKVOmMGHCBEDXceWpaBSd2Wxm27ZtlV4z+/v7s2rVKq6++upq1994440kJSWxcOFCAGJiYti0aRMWi6WWtkjE/SjZJVJPzZs3j4SEBMLCwoiLi6uwXU5ODmPHjmXu3Ln2C05ERERELkl1r+0q07hxYwCuuuoqjh8/XovRuaeLR9Ft3bqVtm3bVvocT09PgoKCLql+5cqV9OnTh/fff7+0rFWrVuzcufMyIxdxf1qgXqSeGj16dOkC8heKjo4mMzMTAIvFwqhRo3j++ecJDQ297L7y8/MJDAy87OeLiIiISOWqc21XldzcXPz9/dm7d2/pgvS6jqtYcnIyf/7zn0sfp6enExkZWat9hISEkJqaisFg4LrrruP6668nODiYiIgI0tLS6NSpU632J+IulOwSERtBQUHk5+cD1jUJvv32W44dOwbArFmzCAsLY9GiRYwfP56FCxfyz3/+k1OnTpGTk8PMmTPLLVu7di0DBw505GaJiIiI1EsXXtuB9WZC3377LXv27GHKlCkMGDCAJ554glmzZjFhwgS2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F57m+JpFBPe7m7RnEzF6NsDUMJCox98D4MD8Jzj5/aec2vhfmt40juCEuxy8BSIiIiIiIiJSl5TsEpfSuNcwGvcaZlPm2yoOgJh//FCmffioWYSPmmWP0ERERERERETECWgao4iIiIiIiIiIuA0lu0RERERERERExG0o2SUiIiIiIiIiIm5Da3aJ04kOgHd6Oa5vEREpX1JSEvfeey8RERFERESwYMECm/pFixYREhJCYmIi06dP58svvyQuLo7XXnvNpt3IkSPZs2cPXl5eLFy4kLCwMJ588kkWLFjAyy+/zPDhwwHo168fFosFgDfeeIO2bdvy4IMP8s4779hng8WtVfd4Dg8PZ9SoURiNRrp27crLL79s0+6rr77iueeew9/fn3fffZfQ0FAGDhxIQUEBAQEBLFmyBG9vbx27IiIidqSRXeJ0/DwhLtgxP36ejt56ERHnNnr0aJKSkmjUqBHJyck2dcuXL2fAgAEcOXKETZs2sW7dOjw8PNi4caNNu+eee47169czceJE5syZA8D48eN56aWXbNqZTCaSkpJISkqiQ4cOeHh4cMUVV7Bnz5663UipN6pzPDdp0oSVK1eybt06jh07Rlpamk27GTNmsGbNGmbPns2MGTMAmDt3LuvWreOWW25h8eLFOnZFRETsTMkuERERuWSdOnUiKyur9HF2djbe3t4YDAY2btxI3759Aejfvz8pKSk2z42MjASsySyDwQBAs2bNyvRhsVhISEhgzJgxFBYWApCQkMCXX35ZF5vkNJKSkoiKiiIhIYGRI0eWqZ82bRrp6emVvsajjz5Knz59mD59epm67OxsunTpgp+fHwDr16/n6quvpmfPnsyaZb2D8f79+wkJCSEhIYERI0YAsGvXrtJkjrup7HgODg4u3VcXHrPneHh44O3tTceOHUuP9fKO8fpw7IqIiDgLJbtERETkkiUnJxMdHV36OCMjg4iICABOnjxJQIB1Xri/vz8nT54s83yz2cz06dMZPXp0hX0sXbqUpKQkYmJimDdvHgARERFlRta4o4pGHJnNZrZt20abNm0qfO7GjRvx8PBg3bp1bNq0iSNHjtjU+/v7s2rVKq6++moAWrVqxdq1a/nuu+/44osvyM/PB+DGG28kKSmJhQsXAhATE8OmTZtKp5a6k8qO53N27tzJsWPHyuz7M2fOcPz4cdavX092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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAABLsAAAMkCAYAAABQkSLjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/GU6VOAAAACXBIWXMAAA9hAAAPYQGoP6dpAADaMUlEQVR4nOzdeVxU9f7H8dfMsAuIuKIioCDhBuSWCzki1vV2s8W0LMvM7lK3urZ3S71Wanm7dbvdW1bXFrO01X5W18olJpdI3HAXQRH3lRAEZJv5/TGJIogLMMMM7+fjwUPO93znnM/5cpw58znf7/cYbDabDRERERERERERETdgdHYAIiIiIiIiIiIidUXJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2PJwdQENWkl/IL9v2ODsMt9EspgNeAX4XrHeyFDLzHBBQNSIDwd/TOfsWERERERERkdpTsqsGv2zbw7c3THR2GG5j2IKptO5zxQXrZebBvSsdEFA1Zg2AuObO2beIiIiIiIiI1J6GMYqIiIiIiIiIiNtQsktERERERERERNyGkl0iIiIiIiIiIuI2lOwSERERERERERG3oQnqxS2kP2OmYHsKBg9PDCYPfNpdQdsx0wiMHeLs0ERERERERETEgdSzS9xG2zHTiP/kJD1mH6ZJdD92Tr+R8oITzg5LRERERERERBxIyS5xO0ZPb1oMHY/11ElOHcx0djgiIiIiIiIi4kBKdonbsRYXcWzxLIx+gfi0jXJ2OCIiIiIiIiLi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qT9g8vEnMO4apx2LiIiIiIiIiNQfJbvEJTSJ6o2ttJj0vybgFxFLac5BjifPAaD1DY+yY9IQ9s76C21ufgKjpxfBV48m/amBnNz+E037DMdWVkr6M2Z2TBqCT2gXvFqGOvmIRERERERERKQ+aPpqcRkd/vR6pWW/jnEABMYlERiXVGldi6R7aJF0T6Wy6GmW+gxPRERERERERBoA9ewSERERERERERG3oWSXiIiIiIiIiIi4DSW7RERERERERETEbSjZJSIiIiIiIiIibkMT1EuDExkIswY4b98iIiIiIiIi4rqU7JIGx98T4po7OwoRERERERERcUUaxigiUo8sFgsRERGYzWbGjh1bZf20adPIyMiocRsPPvggCQkJTJ8+/bx1Xn31VZKSkgB46623GDJkCGazmdLS0mrLtm3bxowZM2pxZA1Lbds5JyeHnj174u/vf946Z/8dvvvuO8xmM2azmebNm5OWluZ2bSoiIiIi4qqU7BIRqWfjx4/HYrHQtGlTUlJSKsqtVisbN24kKirqvK9ds2YNHh4eLF++nHXr1nH48OEqdUpLS0lLSwNgz549bNq0iaVLl2KxWPD09Ky2LCYmhnXr1mGz2er8eJ2lNu0cEBDA4sWLueqqq6pdf+7fIT4+HovFQnJyMh07diQ2NtYt21RERERExBUp2SUi4iDdunVj//79FcsbNmygc+fONb5m1apVJCYmAjBo0CDWrl1bpc6cOXMYPXo0AIsWLaKgoIDExESmTJly3jKAjh07smXLlloeVcNzOe3s6elJcHDwedef7++wevVqevXqhcFgANy3TUVEREREXImSXSIiDpKSkkJkZGTFckZGBuHh4TW+Jjc3l8BA+5MTAgICyM3NrbTearXy/fffc+211wJw5MgRDAYDP/zwA1lZWaSlpVVbBhAWFsaOHTvq7Pgaistp5ws5399hwYIF3HDDDRX13LVNRURERERciSaoFxGpZ++88w5Llixh4MCBxMXFVVtn69at3H///ZXKfvOb3xAUFEReXh4A+fn5dOrUqVKd+fPnM3z48Irlpk2bMmjQIACuvvpq0tPTqy07XxyurDbt/NRTT9W47fP9HZKTk/nb3/5W++BFRERERKTOKNklIlLPxo8fz8SJE6uUR0VFMX/+fAC6dOmCxWKpUmf16tXMmzeP66+/nmXLljFq1KhK69PT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+voSGBhIQUEBoOu4087tRZeRkUF4eHiNr7nQyIno6Gh+/PFHbDYby5cvJz8/H4PBwA8//EBWVhZpaWmAeteJXIiSXSJSSXBwMIWFhQC0adOGHj16kJCQQHFxMb169eLQoUMV8wfcddddDBw4kGeffZannnqKgIAA+vXrx4ABA7j11lt57LHH2LVrF7NmzeLNN9/EbDbzv//9D4Cff/4Zs9nsrMMUERERaRTOvrazWCz88MMPTJo0CbPZXNGrKCkpifXr15OUlMTmzZurXO/179+fxMREHnnkEcB+E3TYsGHOOaAG4GJ60W3duhWz2Vzp58UXX7zgyInhw4dz9OhRhg4dSsuWLQkKCqqYQ/fqq68mPT29Pg9NxG14ODsAEXG80x+45zN8+HCWLFlCUlISkyZNqtRlvU2bNjz++OMAfPnll1VeO3nyZCZPnlyp7PQF1mk5OTkEBQUREBBQi6MQEREREbi0a7vTDxU625IlS6qUnb7eu/fee7n33nsrrVu1ahV/+MMfahe0Cxs/fjwTJ06sUh4VFcX8+fMB6NKlS7UPY1q9ejXz5s3j+uuvZ9myZYwaNarSepPJxMyZM7HZbIwdO5b4+PiKbW7atInRo0cD9t51AwYMqOMjE3Ef6tklIlXcddddJCUl1dv2g4OD+ec//1lv2xcRERGRM+r62u69997DaNRXyXPFxsZesOdV7969KS4uJiEhgdjYWFq3bl2pJ92ePXswm80MGTKEW265hf79+1NWVobZbKawsJC+ffsC9gcPdOvWrd6PScRVqWeXiIiIiIiIyEWoqRed0WikR48eZGRk1Din2euvv15p+eyREx06dKjSI+zVV1+ttLxt2zZ69uyJwWC45PhFGgslu0RERERERETqQHXDG+taTEwMMTEx9b4fEVemvqciIiIiIiIiIuI2lOwSERERERERERG3oWSXiIiIiIiIiIi4Dc3ZJQ3OyVLIzHPOviMDwd/TOfsWERERERERkdpTsksanMw8uHelc/Y9awDENXfOvkVERERERESk9jSMUURERERERERE3IaSXSIiIiIiIiIi4jaU7BIREREREREREbehObvELaQ/Y6ZgewoGD08MJg982l1B2zHTCIwd4uzQRERERERERMSB1LNL3EbbMdOI/+QkPWYfpkl0P3ZOv5HyghPODktEREREREREHEjJLnE7Rk9vWgwdj/XUSU4dzHR2OCIiIiIiIiLiQEp2iduxFhdxbPEsjH6B+LSNcnY4IiIiIiIiIuJALpPsKikpYdKkSYSGhuLr60tiYiKpqakYDAYWLFjg7PCkATgwdxJptwex6ffhFGZtIHLiN5j8Ap0dloiIiIiIiIg4kEtMUG+z2Rg5ciSpqalMmTKFyMhI5s6dy0033QRAfHy8w2IZ+OqfibhpINbSsooyy+9fZn9ymsNikOq1vf152tz0mLPDcCqbDVYdhc93nyl7cSPcEg6RyvuJC8rKh892w4rDUGaF6Kb287l/KzAYnB2dyKXJLYb/2wPf7YPcEmjjBzd0gGHtwMclrshExNGsNvtn4Be7z5S9vBlGhkMHf2dF5Z7WHYfPss4sP5cGo8LhiiAnBSQiteISl1Zvv/02CxcuJC0tja5duwJgNpuJiIggODiYDh06ODSeHR8uYdUz7zh0nyIXYrXBCxvhy2wwnpUEmL/bfoE0Mc7+pUrEVSzcC1PSABtYfy07dgqWH4br2sPkeDAp4SUuIjMP7vsJfik5U3a8GDb/AvN2wZv9IdjbefGJSMNTZoWJ62DJgcrDcT7eZU/KTOsJQ9o6LTy3YbPBa1thzs7K7fzNHvhqDzzSFW7v5LTwROQyucQwxhkzZjBmzJiKRBeAyWQiIiKioldXeHg4V1xxBXFxccTFxfH99987K1wRp5i3y57oAnvi6zQrYAOmpsGmHCcEJnIZtp+AKevt57L1rPLTv/9vH8zR8yfERZSUw4M/w4mSyuWn36p358Nf1zg8LBFp4P67w57ogsqfhTag3AZPr7X3gJba+XqvPdEF1V9zvLIFfj7i6KhEpLYafLIrIyODrKwsRowYUWXd3r17Kw1h/Pzzz0lLSyMtLY1rr7223mLqeHMCo7e+x43LXqXHX27GYGrwzShurtwGH+6suY4B+Dir5joiDcUnuy5c56Od9rveIg3d0oNw9FTlL1FnswJrj8OOE46MSkQaslPlNX8W2rD3SPpU13a1YrPZb57V1FHciP2aQ0RcS4Mfxrh//34AWrVqVal8+/btZGdn18l8XQEBAZSUlFQp7+TRjCcCB1Yq2/rOQtY8P4dTOfk079GRQW9MwOTtxfq/f1zrONzd4MFmdpb9csF6ftH96DTVcknbjp52afXPZ/BgM4XpKXWyLUfyCe9B1Eura6xjBb7dVcg/+jdzTFCNRLdPTwHg7e3j5EjcS5f3DmHyr/lc/aUEWvRIoCgj1UFRuT+dz/UjdMIcml51MwbT+S+7bDYriX96lqPzX3RgZCLSUDXpZqbj32oeqWIF5q47wOTeEY4Jyg15tgzjijd21FjHCvx0xIpPk0BsZaWOCUykjrj6tZ3Vevl3tht8l6TmzZsDkJl5ZryKzWbjySefxGq1Vkp23XHHHfTo0YP777+f3NzceoknZ1MWp47ngc3G8Q07Wf+PT4i4YUC97EvkYhm9fC+qnsFTE8KIazB4XdwH8sWe+yLOZPTyvfATFaw2jN46n0XE7qKv7fQ5WCsX3c4GIwYPXUeLuJIG37MrJiaGyMhInn76aTw9PfH392fmzJmsX78ePz8/oqOjAVi+fDmhoaEUFxczYcIEHnjgAT788MOL2kd+fvWD3Q+nbufbGybW/GKrreZ+r1IhOdlC6z5XXLBe2nG4d6UDAqpGcrKFuObO2Xdt5BTDbxZVnqvrXAYgPNDE2uJih8XVGPT6yv5vsdq1Tt1ugYy8M3MaVccAbFu5iNa6zq8zOp/rx2tb7cNkajyfTSbefP4pfvv+Uw6LS0Qarr0n4aYfaq5jBHqGNiNN79mXrbAMkr6Dkgt0HmnuDYW5x/UkaHE5rn5tt3LlSgYOHHjhitVo8D27PDw8+PzzzwkJCWHs2LFMmDCBYcOGMWjQIHr06IHRaD+E0NBQALy9vbn//vtZubJ+siXhw/vjGeAHQLOYMGIfHcnub1xv2Ju4l2BvGNym5v/QNuCWcAcFJFJLt4TXnBgwAgNbo0SXuISbOlw4cevvAYl6qpqI/CrUH3o1r/nazgrcohGMteLnAdeF1tzOBmBk+IU76IpIw9Lge3YBxMbGkpJSOaH0n//8h0GDBgFQUFBAWVkZTZs2xWaz8fHHHxMXF1cvsVxx97X0m/EHjJ4mig7nsvPzH9n47y/rZV8il+LBLrD6GJwsq9rDywB0CYIbOzgjMpFL97tQ+xMXN+ZUTRIYDeBngr90cUpoIpcs1B/GRcF7GVXXGbCf40/1AB+ToyMTkYbs0W5wzwooLq/+ARd9WsBQJclr7fedYcVhOF7Ng0SMQLg/3NbRGZGJSG24RLLrXEVFRaSnpzNhwgQADh8+zIgRIygvL6e8vJwuXbrwxhtv1Mu+v7v5b/WyXZHaat8E3kuAFzfak16neRhgWHt4rDv4uOT/eGmMvEzwn6vsj/v+Zi+UnnX1GRdsTwyEBzgvPpFLdf8V0MzLnvD65axn4rTzg4e6qFeXiFQV1RTeGQgzNsGGnDPlXka4oQP8pSt4NPhxOg1fK194byC8sBF+OnLmJpvRYE8mPtEd/D2dGqKIXAaX/Oq7ceNGysvLKyan79ixI+vXr3dyVFLf9rz9IEVZaQReOYyQkU9XlJ86mMnetx7AWlpM6+EPE9R3OMeWvs+xRf/Fq1UYEX+ZjcHDk+yZ93Fq33b8OsYTOv4VJx5J/Qnzh5n9Yc9J2JFnT3TFBUOQ5tMUF+TrAc/EwgMxMOQ7e9nnifY7rCKuxmCA2zvBqAi46ht72awBEBusoTEicn6df0147cq3/3gaoWdzJV/qWhs/+NdVcKAQtuXae932CIYWrvkAOxHBRZNdffv2xWarafYLcTcFGWswGD2IfmE5O1+8hdLcw3gGtQbg4MfPEvHYx3j4BwFgKyslx/Ih0S+u4Mg3r5G7agFeLUIxenoTPS2Zfe89RuGu9fh1jK9hj66tg7/9R8QdNPU687sSXeLqzu6F4YoPRBER5+gYYP+R+tXWz/4jIq5PHV/FJRTsWEVAj0QAAroNojBzLQDW0hJKju1l96t3kTntBkpzD3PqwA58I2IxGAwEdk+kICOV4sNZ+IZ1B8A3rDsnt+uhAiIiIiIiIiLuSMkucQnlBbmY/AIBMPoGUF6QC0BZ3jGKsjcTPmE2ra+fwKHPX6i2rk/7aPI3/whA/pZllBeecMpxiIiIiIiIiEj9UrJLXIKpSRDlhXkAWIvyMTUJ+rW8Kb5h3fHwb4Z/1wRO7U+vtq5fx3i8W4WzY6K9d5hn01ZOOQ4RERERERERqV9KdolLaNK5D/mbkgF7zyy/yJ4AmHyaYPTywVpaTFH2ZrxaheMdEkXR7o3YbDbyNyXTJKoPAG3veI7OU3/A5ONPYNw1TjsWEREREREREak/SnaJS2gS1RtbaTHpf03ALyKW0pyDHE+eA0DrGx5lx6Qh7J31F9rc/ARGTy+Crx5N+lMDObn9J5r2GY6trJT0Z8zsmDQEn9AueLUMdfIRiYiIiIiIiEh9cMmnMUrj1OFPr1da9usYB0BgXBKBcUmV1rVIuocWSfdUKoueZqnP8ERERERERESkAVDPLhERERERERERcRtKdomIiIiIiIiIiNtQsktERERERERERNyG5uySBicyEGYNcN6+RURERERERNydxWJh3LhxhIWFERYWxuzZsyutnzNnDiEhIURHR3Prrbfi4eFBp06dePfddzEYDBX1vvvuO5599lkCAgJ4//33adu2LWazGYCjR48ydOhQ/vGPf/CnP/2JWbNmOeTYlOySBsffE+KaOzsKEREREREREfc2fvx4Jk6cyEMPPURKSgr9+vWrWPf111/zySefYLVaWblyJQaDgfHjx7Np0yZ69OhRUW/GjBkkJyeTmZnJjBkz+Ne//oXFYgHgr3/9K4MHD8bDw4OWLVuyc+dOOnXqVO/HpWGMIiL1yGKxEBERgdlsZuzYsVXWT5s2jYyMjBq38eCDD5KQkMD06dPPW+fVV18lKcn+VNK33nqLIUOGYDabKS0trbZs27ZtzJgxoxZH1rDUtp1zcnLo2bMn/v7+561z9t/hu+++w2w2Yzabad68OWlpaW7XpiIiIiLSeHTr1o39+/dXLOfk5ODj44PBYMBkMlX05PL29qZt27aVXuvh4YGPjw9du3YlNTW10jqLxVLRy8tsNvPtt9/W74H8SskuEZF6Nn78eCwWC02bNiUlJaWi3Gq1snHjRqKios772jVr1uDh4cHy5ctZt24dhw8frlKntLSUtLQ0APbs2cOmTZtYunQpFosFT0/PastiYmJYt24dNputzo/XWWrTzgEBASxevJirrrqq2vXn/h3i4+OxWCwkJyfTsWNHYmNj3bJNRURERKRxSElJITIysmI5MzOTsLCwiuUffviBHj16cOjQIZo2bVrptaWlpRw/fpwVK1aQk5NTZRteXl4AhIWFsWPHjno+Ejslu0REHOTcuyUbNmygc+fONb5m1apVJCYmAjBo0CDWrl1bpc6cOXMYPXo0AIsWLaKgoIDExESmTJly3jKAjh07smXLlloeVcNzOe3s6elJcHDwedef7++wevVqevXqVXGny13bVERERETc0zvvvIPZbKZdu3bExcWdt15iYiIbN24kLCyM7777rtK6qVOncssttzBv3jy6dOlSUb5gwQJuuOGG+gq9Rkp2iYg4yLl3SzIyMggPD6/xNbm5uQQG2p+cEBAQQG5ubqX1VquV77//nmuvvRaAI0eOYDAY+OGHH8jKyiItLa3aMnDsnRVHupx2vpDz/R3O/QB31zYVEREREfd0enTE1KlTK5VH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nTvr8chcQ3BwMIWFhRXLY8aMYdGiRYwePZqlS5cC8OijjwJw3333YTabue6663jmmWcAeOSRR9iwYQNms5lp06YBkJyczLBhwxx8JCIiIo2TnsYoIiIiF+300+vOFRUVxfz58wHo0qULFoulSp3Vq1czb948rr/+epYtW8aoUaMq1hUXF3P33Xczc+bMShPSn8tkMjFz5kxsNhtjx46teHpednY2AwYMqOXRNRz11c5gb2tvb2+MRiMBAQEV5TabjTVr1vDAAw8A7tem5zqdIDyf4cOHs2TJEpKSkvjwww+rrD+dlH333XerrKuuV9iqVav4wx/+cPkBi4iIyEVTzy4RERGptdjYWNLT02us07t3b4qLi0lISCA2NpbWrVtz6NAhXnrpJebOncvWrVv54x//iNlsrpinKikpifXr15OUlMTmzZvZs2cPZrOZIUOGcMstt+Dn5wfYJxTv1q1bvR+ns9W2nQG++uorzGYzV199Ne3bt+fgwYP06tWL/v37c8011xASEgI0njY9n7vuuoukpKQ62957772H0ahLbxEREUdQzy4RERG5KDX1hDEajfTo0YOMjIwa5yV6/fXXKy23adOGxx9/HIBx48ZVqb9kyZIqZef2Ztq2bRs9e/bEYDBc4AhcQ32388iRIxk5cmSl9ddcc02lZXdrUxEREWlclOwSERGROlHdsDtHiImJISYmxin7dgZHtHNja1MRERFxL+pLLSIiIiIiIiIibkPJLhERERERERERcRtKdomIiIiIiIiIiNvQnF3S4Jwshcw85+w7MhD8PZ2zbxERERERERGpPSW7pMHJzIN7Vzpn37MGQFxz5+xbRERERERERGpPwxhFRERERERERMRtKNklIiIiIiIiIiJuQ8kuERERERERERFxG0p2iYiIiIiIiIiI29AE9eIW0p8xU7A9BYOHJwaTBz7trqDtmGkExg5xdmgiIiIiIiIi4kDq2SVuo+2YacR/cpIesw/TJLofO6ffSHnBCWeHJSIiIiIiIiIOpGSXuB2jpzctho7Heuokpw5mOjscEREREREREXEgJbvE7ViLizi2eBZGv0B82kY5OxwRERERERERcSCXSXaVlJQwadIkQkND8fX1JTExkdTUVAwGAwsWLHBYHHdkzqn0c9eejxm+9GWH7V/O78DcSaTdHsSm34dTmLWByInfYPILdHZY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/K4iVTeGXQF33XXXkZmZScOGDZkzZ06JbVOnTmXAgAHFt//2t7/RqlWrUo8xcuRIZs6cyauvvsrvf/97AJ5++mlmzZrFlClTitt69OjBjBkzKnFvJEk6cuX5LNywYQPz58/n/fffJykpiXnz5pXo9+CDD/Lkk08yY8YMbrjhBgCmTJnCzJkzGT58OJMmTSruO27cOE4//XQAkpKSaNq0KStWrKjkvVR1URHH8/fP4woKCnjhhReYPXs2119/Pc888wzr1q1jwYIFzJo1i7POOoupU6eSnJzMli1b2LFjRzR3WQFWnuO5SZMmvPXWW7z//vts2rSJ5cuXl+h3sPdngD/+8Y/06NGj+LbfVaTqxbCrmujcuTNr164tvr1582Zq165NKBQC4L333qN3794kJJQ+JPb/Or1jxw5OO+00ANq2bcvOnTvZunUrycnJAPTr149p06ZV9q5IknRUyvosnDdvHn379gWgf//+ZGVllbjv8uXLuffeezn33HNZtmwZcODzcffu3aSlpQGQk5ND06ZNqV+/fvF9MzIyeOONNyp131T9HMvx/P3zuE2bNtG6dWsSEhI47bTTmDNnDnl5eXTq1AmguA0igUFmZmZ0dlLVRlnHc+PGjalXrx4AiYmJxd9f9jvY+/OWLVvYtGkTbdu2Le7ndxWpejHsqibmzJlDampq8e3c3FzatGlTfPvZZ5896PDh/a666ip++MMf0q9fPyAydSM9PZ2BAwdy6623AtCmTZtSv7RIklRVlPVZuGXLFho0aABA/fr12bJlS4n7zp49m9GjR/P0009z//33A5EvYz179mTs2LHFYdcf/vAHbrvtthL39fNRleFYjufvn8c1bdqU3Nxcdu/ezaxZs9i6dSvt2rVj7ty5FBUVFbeBx7Mqx+G+qwAsWrSITZs2lVp25WDvz08//TQ33XRTiX4eu1L1YtgVcBMmTCAjI4OWLVvSrVu3g/aZN28ep556KrVr1z7k40ycOJGsrCx++9vfAjBmzBiWLFnCxx9/zMiRIyujdEmSKkR5PgsbNWrEtm3bANi+fTuNGjUqsb1Tp060b9+eDh06FH/pT05O5sMPP2T06NE88cQTfPXVVwC0aNGi0vZFqojj+fvncYmJidx1112cd955fPrppzRv3pxmzZoxePBg+vfvz4YNG2jWrFkl75mqo/IczwDbtm3jtttu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", "text/plain": [ "
" ] @@ -776,10 +776,10 @@ "execution_count": 18, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:34.409586Z", - "iopub.status.busy": "2024-12-05T03:21:34.409139Z", - "iopub.status.idle": "2024-12-05T03:21:34.667420Z", - "shell.execute_reply": "2024-12-05T03:21:34.666812Z" + "iopub.execute_input": "2024-12-05T04:47:14.226071Z", + "iopub.status.busy": "2024-12-05T04:47:14.225610Z", + "iopub.status.idle": "2024-12-05T04:47:14.487412Z", + "shell.execute_reply": "2024-12-05T04:47:14.486860Z" } }, "outputs": [ diff --git a/dev/explanations/state-vectors-and-gates.ipynb b/dev/explanations/state-vectors-and-gates.ipynb index 845039d0d..fda94d81a 100644 --- a/dev/explanations/state-vectors-and-gates.ipynb +++ b/dev/explanations/state-vectors-and-gates.ipynb @@ -26,10 +26,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:37.291915Z", - "iopub.status.busy": "2024-12-05T03:21:37.291726Z", - "iopub.status.idle": "2024-12-05T03:21:38.024215Z", - "shell.execute_reply": "2024-12-05T03:21:38.023670Z" + "iopub.execute_input": "2024-12-05T04:47:16.990270Z", + "iopub.status.busy": "2024-12-05T04:47:16.990081Z", + "iopub.status.idle": "2024-12-05T04:47:17.717290Z", + "shell.execute_reply": "2024-12-05T04:47:17.716676Z" } }, "outputs": [ @@ -74,10 +74,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.026436Z", - "iopub.status.busy": "2024-12-05T03:21:38.025967Z", - "iopub.status.idle": "2024-12-05T03:21:38.032743Z", - "shell.execute_reply": "2024-12-05T03:21:38.032274Z" + "iopub.execute_input": "2024-12-05T04:47:17.719857Z", + "iopub.status.busy": "2024-12-05T04:47:17.719329Z", + "iopub.status.idle": "2024-12-05T04:47:17.725919Z", + "shell.execute_reply": "2024-12-05T04:47:17.725452Z" } }, "outputs": [ @@ -120,10 +120,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.034620Z", - "iopub.status.busy": "2024-12-05T03:21:38.034422Z", - "iopub.status.idle": "2024-12-05T03:21:38.038774Z", - "shell.execute_reply": "2024-12-05T03:21:38.038313Z" + "iopub.execute_input": "2024-12-05T04:47:17.727987Z", + "iopub.status.busy": "2024-12-05T04:47:17.727624Z", + "iopub.status.idle": "2024-12-05T04:47:17.732068Z", + "shell.execute_reply": "2024-12-05T04:47:17.731473Z" } }, "outputs": [ @@ -157,10 +157,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.040973Z", - "iopub.status.busy": "2024-12-05T03:21:38.040442Z", - "iopub.status.idle": "2024-12-05T03:21:38.044870Z", - "shell.execute_reply": "2024-12-05T03:21:38.044379Z" + "iopub.execute_input": "2024-12-05T04:47:17.734124Z", + "iopub.status.busy": "2024-12-05T04:47:17.733932Z", + "iopub.status.idle": "2024-12-05T04:47:17.738101Z", + "shell.execute_reply": "2024-12-05T04:47:17.737512Z" } }, "outputs": [ @@ -199,10 +199,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.046998Z", - "iopub.status.busy": "2024-12-05T03:21:38.046581Z", - "iopub.status.idle": "2024-12-05T03:21:38.052906Z", - "shell.execute_reply": "2024-12-05T03:21:38.052316Z" + "iopub.execute_input": "2024-12-05T04:47:17.740165Z", + "iopub.status.busy": "2024-12-05T04:47:17.739826Z", + "iopub.status.idle": "2024-12-05T04:47:17.746116Z", + "shell.execute_reply": "2024-12-05T04:47:17.745625Z" } }, "outputs": [ @@ -245,10 +245,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.054945Z", - "iopub.status.busy": "2024-12-05T03:21:38.054590Z", - "iopub.status.idle": "2024-12-05T03:21:38.060386Z", - "shell.execute_reply": "2024-12-05T03:21:38.059903Z" + "iopub.execute_input": "2024-12-05T04:47:17.748053Z", + "iopub.status.busy": "2024-12-05T04:47:17.747734Z", + "iopub.status.idle": "2024-12-05T04:47:17.753752Z", + "shell.execute_reply": "2024-12-05T04:47:17.753218Z" } }, "outputs": [ @@ -293,10 +293,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:38.062114Z", - "iopub.status.busy": "2024-12-05T03:21:38.061929Z", - "iopub.status.idle": "2024-12-05T03:21:38.067001Z", - "shell.execute_reply": "2024-12-05T03:21:38.066524Z" + "iopub.execute_input": "2024-12-05T04:47:17.755598Z", + "iopub.status.busy": "2024-12-05T04:47:17.755279Z", + "iopub.status.idle": "2024-12-05T04:47:17.760456Z", + "shell.execute_reply": "2024-12-05T04:47:17.759964Z" } }, "outputs": [ diff --git a/dev/how-to-guides/entanglement-forging.html b/dev/how-to-guides/entanglement-forging.html index 0b7858592..0e6eb0f99 100644 --- a/dev/how-to-guides/entanglement-forging.html +++ b/dev/how-to-guides/entanglement-forging.html @@ -335,7 +335,7 @@

Build a molecule @@ -471,10 +471,10 @@

Optimize energy\n", + "Overwritten attributes get_ovlp get_hcore of \n", "/home/runner/work/ffsim/ffsim/.tox/docs/lib/python3.12/site-packages/pyscf/gto/mole.py:1294: UserWarning: Function mol.dumps drops attribute energy_nuc because it is not JSON-serializable\n", " warnings.warn(msg)\n", "/home/runner/work/ffsim/ffsim/.tox/docs/lib/python3.12/site-packages/pyscf/gto/mole.py:1294: UserWarning: Function mol.dumps drops attribute intor_symmetric because it is not JSON-serializable\n", @@ -125,10 +125,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:41.057868Z", - "iopub.status.busy": "2024-12-05T03:21:41.057140Z", - "iopub.status.idle": "2024-12-05T03:21:41.062181Z", - "shell.execute_reply": "2024-12-05T03:21:41.061615Z" + "iopub.execute_input": "2024-12-05T04:47:20.635458Z", + "iopub.status.busy": "2024-12-05T04:47:20.634865Z", + "iopub.status.idle": "2024-12-05T04:47:20.639723Z", + "shell.execute_reply": "2024-12-05T04:47:20.639260Z" } }, "outputs": [], @@ -168,10 +168,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:41.064499Z", - "iopub.status.busy": "2024-12-05T03:21:41.064099Z", - "iopub.status.idle": "2024-12-05T03:21:41.067400Z", - "shell.execute_reply": "2024-12-05T03:21:41.066875Z" + "iopub.execute_input": "2024-12-05T04:47:20.641824Z", + "iopub.status.busy": "2024-12-05T04:47:20.641345Z", + "iopub.status.idle": "2024-12-05T04:47:20.644638Z", + "shell.execute_reply": "2024-12-05T04:47:20.644188Z" } }, "outputs": [], @@ -200,10 +200,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:41.069298Z", - "iopub.status.busy": "2024-12-05T03:21:41.068913Z", - "iopub.status.idle": "2024-12-05T03:21:41.192191Z", - "shell.execute_reply": "2024-12-05T03:21:41.191651Z" + "iopub.execute_input": "2024-12-05T04:47:20.646296Z", + "iopub.status.busy": "2024-12-05T04:47:20.646122Z", + "iopub.status.idle": "2024-12-05T04:47:20.780872Z", + "shell.execute_reply": "2024-12-05T04:47:20.780298Z" } }, "outputs": [ @@ -211,7 +211,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialialization: -75.67794403659722\n" + "Energy at initialialization: -75.67794403659728\n" ] } ], @@ -238,10 +238,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:41.194514Z", - "iopub.status.busy": "2024-12-05T03:21:41.194006Z", - "iopub.status.idle": "2024-12-05T03:21:49.107340Z", - "shell.execute_reply": "2024-12-05T03:21:49.106740Z" + "iopub.execute_input": "2024-12-05T04:47:20.782975Z", + "iopub.status.busy": "2024-12-05T04:47:20.782769Z", + "iopub.status.idle": "2024-12-05T04:47:28.675124Z", + "shell.execute_reply": "2024-12-05T04:47:28.674590Z" } }, "outputs": [ @@ -253,10 +253,10 @@ " message: STOP: TOTAL NO. of f AND g EVALUATIONS EXCEEDS LIMIT\n", " success: False\n", " status: 1\n", - " fun: -75.68381556798737\n", - " x: [-1.603e-01 6.418e-03 ... 5.747e-02 -1.005e-01]\n", + " fun: -75.6838155921487\n", + " x: [-1.603e-01 6.417e-03 ... 5.748e-02 -1.005e-01]\n", " nit: 3\n", - " jac: [ 2.132e-04 1.108e-04 ... -4.749e-03 7.439e-03]\n", + " jac: [ 2.132e-04 1.052e-04 ... -4.755e-03 7.408e-03]\n", " nfev: 112\n", " njev: 7\n", " hess_inv: <15x15 LbfgsInvHessProduct with dtype=float64>\n" diff --git a/dev/how-to-guides/fermion-operator.html b/dev/how-to-guides/fermion-operator.html index af3e04a54..8727d3caa 100644 --- a/dev/how-to-guides/fermion-operator.html +++ b/dev/how-to-guides/fermion-operator.html @@ -315,9 +315,9 @@

How to use the FermionOperator class
 FermionOperator({
-    (cre_a(0), des_a(3)): 0.5,
     (cre_b(1), des_b(5), cre_a(4)): 1+1j,
-    (cre_a(3), des_a(0)): -0.25
+    (cre_a(3), des_a(0)): -0.25,
+    (cre_a(0), des_a(3)): 0.5
 })
 
@@ -336,7 +336,7 @@

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

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

@@ -364,17 +364,17 @@

How to use the FermionOperator class
 FermionOperator({
-    (cre_b(2)): 0-0.25j,
-    (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,
     (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,
-    (des_a(3), des_b(3)): 0.0625,
+    (cre_a(3), des_a(0)): -0.5,
     (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,
-    (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,
+    (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,
+    (cre_b(2)): 0-0.25j,
+    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
     (cre_a(0), des_a(3)): 1,
-    (cre_a(3), des_a(0)): -0.5,
+    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,
     (cre_b(1), des_b(5), cre_a(4)): 2+2j,
-    (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,
-    (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625
+    (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,
+    (des_a(3), des_b(3)): 0.0625
 })
 
@@ -403,17 +403,17 @@

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

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

How to use the FermionOperator class
 array([0.        +0.j        , 0.        +0.j        ,
        0.        +0.j        , 0.        +0.j        ,
-       0.13782298-0.09230004j, 0.        +0.j        ,
+       0.11570449-0.30035899j, 0.        +0.j        ,
        0.        +0.j        , 0.        +0.j        ,
        0.        +0.j        ])
 
diff --git a/dev/how-to-guides/fermion-operator.ipynb b/dev/how-to-guides/fermion-operator.ipynb index fdd6d7e17..7ab8a7f21 100644 --- a/dev/how-to-guides/fermion-operator.ipynb +++ b/dev/how-to-guides/fermion-operator.ipynb @@ -29,10 +29,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:50.640522Z", - "iopub.status.busy": "2024-12-05T03:21:50.640134Z", - "iopub.status.idle": "2024-12-05T03:21:51.341324Z", - "shell.execute_reply": "2024-12-05T03:21:51.340747Z" + "iopub.execute_input": "2024-12-05T04:47:30.226768Z", + "iopub.status.busy": "2024-12-05T04:47:30.226575Z", + "iopub.status.idle": "2024-12-05T04:47:30.965603Z", + "shell.execute_reply": "2024-12-05T04:47:30.964988Z" } }, "outputs": [ @@ -40,9 +40,9 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_a(0), des_a(3)): 0.5,\n", " (cre_b(1), des_b(5), cre_a(4)): 1+1j,\n", - " (cre_a(3), des_a(0)): -0.25\n", + " (cre_a(3), des_a(0)): -0.25,\n", + " (cre_a(0), des_a(3)): 0.5\n", "})" ] }, @@ -76,17 +76,17 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.343521Z", - "iopub.status.busy": "2024-12-05T03:21:51.343223Z", - "iopub.status.idle": "2024-12-05T03:21:51.347243Z", - "shell.execute_reply": "2024-12-05T03:21:51.346758Z" + "iopub.execute_input": "2024-12-05T04:47:30.967881Z", + "iopub.status.busy": "2024-12-05T04:47:30.967396Z", + "iopub.status.idle": "2024-12-05T04:47:30.971660Z", + "shell.execute_reply": "2024-12-05T04:47:30.971050Z" } }, "outputs": [ { "data": { "text/plain": [ - "'FermionOperator({((True, False, 0), (False, False, 3)): 0.5+0j, ((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j})'" + "'FermionOperator({((True, True, 1), (False, True, 5), (True, False, 4)): 1+1j, ((True, False, 3), (False, False, 0)): -0.25+0j, ((True, False, 0), (False, False, 3)): 0.5+0j})'" ] }, "execution_count": 2, @@ -110,10 +110,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.349301Z", - "iopub.status.busy": "2024-12-05T03:21:51.348918Z", - "iopub.status.idle": "2024-12-05T03:21:51.353277Z", - "shell.execute_reply": "2024-12-05T03:21:51.352826Z" + "iopub.execute_input": "2024-12-05T04:47:30.973761Z", + "iopub.status.busy": "2024-12-05T04:47:30.973421Z", + "iopub.status.idle": "2024-12-05T04:47:30.977951Z", + "shell.execute_reply": "2024-12-05T04:47:30.977358Z" } }, "outputs": [ @@ -121,17 +121,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2)): 0-0.25j,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -0.25-0.25j,\n", - " (des_a(3), des_b(3)): 0.0625,\n", + " (cre_a(3), des_a(0)): -0.5,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): -1+1j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): -0.125,\n", + " (cre_b(2)): 0-0.25j,\n", + " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", " (cre_a(0), des_a(3)): 1,\n", - " (cre_a(3), des_a(0)): -0.5,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625,\n", " (cre_b(1), des_b(5), cre_a(4)): 2+2j,\n", - " (cre_a(3), des_a(0), cre_b(2)): 0-0.25j,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0.0625\n", + " (cre_a(0), des_a(3), cre_b(2)): 0+0.5j,\n", + " (des_a(3), des_b(3)): 0.0625\n", "})" ] }, @@ -170,10 +170,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.355312Z", - "iopub.status.busy": "2024-12-05T03:21:51.354859Z", - "iopub.status.idle": "2024-12-05T03:21:51.358956Z", - "shell.execute_reply": "2024-12-05T03:21:51.358362Z" + "iopub.execute_input": "2024-12-05T04:47:30.980267Z", + "iopub.status.busy": "2024-12-05T04:47:30.979767Z", + "iopub.status.idle": "2024-12-05T04:47:30.983877Z", + "shell.execute_reply": "2024-12-05T04:47:30.983421Z" } }, "outputs": [ @@ -181,17 +181,17 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2)): -5,\n", - " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", " (cre_b(1), des_b(5), cre_a(4), des_a(3), des_b(3)): -1+1j,\n", - " (des_a(3), des_b(3)): 0-1.25j,\n", + " (cre_a(3), des_a(0)): 0+3j,\n", " (cre_b(1), des_b(5), cre_a(4), cre_b(2)): 4+4j,\n", - " (cre_a(0), des_a(3), cre_b(2)): 2,\n", + " (cre_a(0), des_a(3), des_a(3), des_b(3)): 0+0.5j,\n", + " (cre_b(2)): -5,\n", + " (cre_a(3), des_a(0), cre_b(2)): -1,\n", " (cre_a(0), des_a(3)): 0-6j,\n", - " (cre_a(3), des_a(0)): 0+3j,\n", + " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j,\n", " (cre_b(1), des_b(5), cre_a(4)): 12-12j,\n", - " (cre_a(3), des_a(0), cre_b(2)): -1,\n", - " (cre_a(3), des_a(0), des_a(3), des_b(3)): 0-0.25j\n", + " (cre_a(0), des_a(3), cre_b(2)): 2,\n", + " (des_a(3), des_b(3)): 0-1.25j\n", "})" ] }, @@ -220,10 +220,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.360954Z", - "iopub.status.busy": "2024-12-05T03:21:51.360624Z", - "iopub.status.idle": "2024-12-05T03:21:51.364593Z", - "shell.execute_reply": "2024-12-05T03:21:51.364003Z" + "iopub.execute_input": "2024-12-05T04:47:30.985909Z", + "iopub.status.busy": "2024-12-05T04:47:30.985608Z", + "iopub.status.idle": "2024-12-05T04:47:30.989535Z", + "shell.execute_reply": "2024-12-05T04:47:30.989012Z" } }, "outputs": [ @@ -231,16 +231,16 @@ "data": { "text/plain": [ "FermionOperator({\n", - " (cre_b(2), cre_b(1), cre_a(4), des_b(5)): 4+4j,\n", " (cre_a(3), des_a(0)): 0+3j,\n", - " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", - " (cre_b(2), cre_a(0), des_a(3)): 2,\n", - " (des_b(3), des_a(3)): 0+1.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_a(3), des_b(3), des_a(3), des_a(0)): 0+0.25j,\n", " (cre_b(1), cre_a(4), des_b(5)): -12+12j,\n", - " (cre_b(2)): -5\n", + " (cre_b(2), cre_a(0), des_a(3)): 2,\n", + " (cre_b(1), cre_a(4), des_b(5), des_b(3), des_a(3)): -1+1j,\n", + " (des_b(3), des_a(3)): 0+1.25j,\n", + " (cre_a(0), des_a(3)): 0-6j\n", "})" ] }, @@ -265,10 +265,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.366539Z", - "iopub.status.busy": "2024-12-05T03:21:51.366208Z", - "iopub.status.idle": "2024-12-05T03:21:51.369122Z", - "shell.execute_reply": "2024-12-05T03:21:51.368636Z" + "iopub.execute_input": "2024-12-05T04:47:30.991463Z", + "iopub.status.busy": "2024-12-05T04:47:30.991103Z", + "iopub.status.idle": "2024-12-05T04:47:30.994167Z", + "shell.execute_reply": "2024-12-05T04:47:30.993691Z" } }, "outputs": [ @@ -298,10 +298,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.370816Z", - "iopub.status.busy": "2024-12-05T03:21:51.370632Z", - "iopub.status.idle": "2024-12-05T03:21:51.374623Z", - "shell.execute_reply": "2024-12-05T03:21:51.374039Z" + "iopub.execute_input": "2024-12-05T04:47:30.995896Z", + "iopub.status.busy": "2024-12-05T04:47:30.995698Z", + "iopub.status.idle": "2024-12-05T04:47:30.999695Z", + "shell.execute_reply": "2024-12-05T04:47:30.999229Z" } }, "outputs": [ @@ -341,10 +341,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.376696Z", - "iopub.status.busy": "2024-12-05T03:21:51.376269Z", - "iopub.status.idle": "2024-12-05T03:21:51.382038Z", - "shell.execute_reply": "2024-12-05T03:21:51.381553Z" + "iopub.execute_input": "2024-12-05T04:47:31.001572Z", + "iopub.status.busy": "2024-12-05T04:47:31.001223Z", + "iopub.status.idle": "2024-12-05T04:47:31.007527Z", + "shell.execute_reply": "2024-12-05T04:47:31.007016Z" } }, "outputs": [ @@ -353,7 +353,7 @@ "text/plain": [ "array([0. +0.j , 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", - " 0.13782298-0.09230004j, 0. +0.j ,\n", + " 0.11570449-0.30035899j, 0. +0.j ,\n", " 0. +0.j , 0. +0.j ,\n", " 0. +0.j ])" ] @@ -380,10 +380,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:51.384119Z", - "iopub.status.busy": "2024-12-05T03:21:51.383694Z", - "iopub.status.idle": "2024-12-05T03:21:51.394533Z", - "shell.execute_reply": "2024-12-05T03:21:51.394082Z" + "iopub.execute_input": "2024-12-05T04:47:31.009412Z", + "iopub.status.busy": "2024-12-05T04:47:31.009117Z", + "iopub.status.idle": "2024-12-05T04:47:31.020986Z", + "shell.execute_reply": "2024-12-05T04:47:31.020399Z" } }, "outputs": [ diff --git a/dev/how-to-guides/lucj.html b/dev/how-to-guides/lucj.html index 0e5929fba..e3ac959da 100644 --- a/dev/how-to-guides/lucj.html +++ b/dev/how-to-guides/lucj.html @@ -330,10 +330,10 @@

How to simulate the local unitary cluster Jastrow (LUCJ) ansatz
+converged SCF energy = -77.8266321248745
+Parsing /tmp/tmpiqx5sdlb
 converged SCF energy = -77.8266321248744
-Parsing /tmp/tmpqg7_8pjf
-converged SCF energy = -77.8266321248744
-CASCI E = -77.8742165643863  E(CI) = -4.02122442107773  S^2 = 0.0000000
+CASCI E = -77.8742165643862  E(CI) = -4.02122442107773  S^2 = 0.0000000
 norb = 4
 nelec = (2, 2)
 
@@ -343,7 +343,7 @@

How to simulate the local unitary cluster Jastrow (LUCJ) ansatz
@@ -435,10 +435,10 @@

General UCJ ansatz
 Number of parameters: 46
- message: Convergence: Relative reduction of objective function <= ftol.
- success: True
-     fun: -77.87363428118711
-       x: [-1.152e+00  7.876e-04 ...  3.488e-02  2.557e-01]
-     nit: 3
-     jac: [ 7.816e-07  1.160e-05 ... -1.013e-06 -8.020e-06]
-    nfev: 529
-    njev: 4
-  nlinop: 345
+ message: Stop: Total number of iterations reached limit.
+ success: False
+     fun: -77.87415887962864
+       x: [ 5.575e-03 -1.331e+00 ...  3.528e-02  3.174e-01]
+     nit: 10
+     jac: [ 3.935e-05  7.358e-06 ... -2.139e-04 -1.046e-04]
+    nfev: 1267
+    njev: 10
+  nlinop: 807
 
 Iteration 1
-    Energy: -77.87363196954891
-    Norm of gradient: 0.0010575938908307025
-    Regularization hyperparameter: 0.001761897637537816
-    Variation hyperparameter: 0.9990810043136625
+    Energy: -77.87362685711526
+    Norm of gradient: 0.001855901915920389
+    Regularization hyperparameter: 0.0006311432653366777
+    Variation hyperparameter: 0.9822442645562184
 Iteration 2
-    Energy: -77.8736342801622
-    Norm of gradient: 6.770421184784103e-05
-    Regularization hyperparameter: 0.001761897637537816
-    Variation hyperparameter: 0.9990810043136625
+    Energy: -77.87363310271725
+    Norm of gradient: 0.00030252117985897243
+    Regularization hyperparameter: 0.017917228638547493
+    Variation hyperparameter: 0.9822715295787552
 Iteration 3
-    Energy: -77.87363428118711
-    Norm of gradient: 5.91431234347536e-05
-    Regularization hyperparameter: 1.826121241130568
-    Variation hyperparameter: 0.9998395119356727
+    Energy: -77.87363465185152
+    Norm of gradient: 0.00013693848943698868
+    Regularization hyperparameter: 0.0016125257073217676
+    Variation hyperparameter: 0.9796823873521728
+Iteration 4
+    Energy: -77.87367036227928
+    Norm of gradient: 0.0036903600525447777
+    Regularization hyperparameter: 0.00023737584156002583
+    Variation hyperparameter: 0.9797942563603614
+Iteration 5
+    Energy: -77.87367575401149
+    Norm of gradient: 0.0032559906379786073
+    Regularization hyperparameter: 1.028498765850173
+    Variation hyperparameter: 0.9796914690528229
+Iteration 6
+    Energy: -77.87368004450491
+    Norm of gradient: 0.0029155790648158287
+    Regularization hyperparameter: 1.028498765850173
+    Variation hyperparameter: 0.9796914690528229
+Iteration 7
+    Energy: -77.8739817406614
+    Norm of gradient: 0.005990163908565813
+    Regularization hyperparameter: 0.001147509641622838
+    Variation hyperparameter: 0.8996245760543174
+Iteration 8
+    Energy: -77.87414523157764
+    Norm of gradient: 0.0018668421854928312
+    Regularization hyperparameter: 0.0008331180627833742
+    Variation hyperparameter: 0.8998205846301155
+Iteration 9
+    Energy: -77.8741576272094
+    Norm of gradient: 0.0006038689751939719
+    Regularization hyperparameter: 0.00025281008523048225
+    Variation hyperparameter: 0.9027648650557756
 

diff --git a/dev/how-to-guides/lucj.ipynb b/dev/how-to-guides/lucj.ipynb index e80c1f706..d69f9970c 100644 --- a/dev/how-to-guides/lucj.ipynb +++ b/dev/how-to-guides/lucj.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:53.113886Z", - "iopub.status.busy": "2024-12-05T03:21:53.113685Z", - "iopub.status.idle": "2024-12-05T03:21:54.115496Z", - "shell.execute_reply": "2024-12-05T03:21:54.114824Z" + "iopub.execute_input": "2024-12-05T04:47:33.052758Z", + "iopub.status.busy": "2024-12-05T04:47:33.052570Z", + "iopub.status.idle": "2024-12-05T04:47:34.088439Z", + "shell.execute_reply": "2024-12-05T04:47:34.087780Z" } }, "outputs": [ @@ -27,14 +27,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "converged SCF energy = -77.8266321248744\n" + "converged SCF energy = -77.8266321248745\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Parsing /tmp/tmpqg7_8pjf\n", + "Parsing /tmp/tmpiqx5sdlb\n", "converged SCF energy = -77.8266321248744\n" ] }, @@ -42,7 +42,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "CASCI E = -77.8742165643863 E(CI) = -4.02122442107773 S^2 = 0.0000000\n" + "CASCI E = -77.8742165643862 E(CI) = -4.02122442107773 S^2 = 0.0000000\n" ] }, { @@ -57,7 +57,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "Overwritten attributes get_hcore get_ovlp of \n", + "Overwritten attributes get_ovlp get_hcore of \n", "/home/runner/work/ffsim/ffsim/.tox/docs/lib/python3.12/site-packages/pyscf/gto/mole.py:1294: UserWarning: Function mol.dumps drops attribute energy_nuc because it is not JSON-serializable\n", " warnings.warn(msg)\n", "/home/runner/work/ffsim/ffsim/.tox/docs/lib/python3.12/site-packages/pyscf/gto/mole.py:1294: UserWarning: Function mol.dumps drops attribute intor_symmetric because it is not JSON-serializable\n", @@ -123,10 +123,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:54.118487Z", - "iopub.status.busy": "2024-12-05T03:21:54.117857Z", - "iopub.status.idle": "2024-12-05T03:21:54.189316Z", - "shell.execute_reply": "2024-12-05T03:21:54.188746Z" + "iopub.execute_input": "2024-12-05T04:47:34.091238Z", + "iopub.status.busy": "2024-12-05T04:47:34.090881Z", + "iopub.status.idle": "2024-12-05T04:47:34.163484Z", + "shell.execute_reply": "2024-12-05T04:47:34.162860Z" } }, "outputs": [ @@ -134,14 +134,14 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(CCSD) = -77.87421536374029 E_corr = -0.04758323886585067\n" + "E(CCSD) = -77.87421536374035 E_corr = -0.04758323886584979\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ - "Energy at initialization: -77.87160024816282\n" + "Energy at initialization: -77.87160024816271\n" ] }, { @@ -189,10 +189,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:21:54.192242Z", - "iopub.status.busy": "2024-12-05T03:21:54.191660Z", - "iopub.status.idle": "2024-12-05T03:23:41.886254Z", - "shell.execute_reply": "2024-12-05T03:23:41.885678Z" + "iopub.execute_input": "2024-12-05T04:47:34.166386Z", + "iopub.status.busy": "2024-12-05T04:47:34.166100Z", + "iopub.status.idle": "2024-12-05T04:49:19.368740Z", + "shell.execute_reply": "2024-12-05T04:49:19.368156Z" } }, "outputs": [ @@ -204,10 +204,10 @@ " message: STOP: TOTAL NO. of ITERATIONS REACHED LIMIT\n", " success: False\n", " status: 1\n", - " fun: -77.87387392946924\n", - " x: [-1.152e+00 2.429e-04 ... 2.427e-04 1.287e-01]\n", + " fun: -77.87387393478726\n", + " x: [ 4.547e-04 -1.276e+00 ... 1.908e-04 1.287e-01]\n", " nit: 10\n", - " jac: [-3.126e-05 -2.416e-05 ... 4.263e-06 0.000e+00]\n", + " jac: [-8.527e-06 -7.105e-06 ... 1.847e-05 1.563e-05]\n", " nfev: 949\n", " njev: 13\n", " hess_inv: <72x72 LbfgsInvHessProduct with dtype=float64>\n" @@ -251,10 +251,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:23:41.889131Z", - "iopub.status.busy": "2024-12-05T03:23:41.888857Z", - "iopub.status.idle": "2024-12-05T03:24:18.451311Z", - "shell.execute_reply": "2024-12-05T03:24:18.450673Z" + "iopub.execute_input": "2024-12-05T04:49:19.372489Z", + "iopub.status.busy": "2024-12-05T04:49:19.372004Z", + "iopub.status.idle": "2024-12-05T04:49:55.323205Z", + "shell.execute_reply": "2024-12-05T04:49:55.322633Z" } }, "outputs": [ @@ -266,10 +266,10 @@ " message: CONVERGENCE: REL_REDUCTION_OF_F_<=_FACTR*EPSMCH\n", " success: True\n", " status: 0\n", - " fun: -77.87363426554221\n", - " x: [-1.152e+00 -3.455e-05 ... 3.518e-02 2.561e-01]\n", + " fun: -77.87363426561933\n", + " x: [-5.097e-05 -1.276e+00 ... 3.521e-02 2.560e-01]\n", " nit: 5\n", - " jac: [-1.990e-05 4.547e-05 ... 5.684e-06 -5.684e-06]\n", + " jac: [-1.279e-05 8.527e-06 ... 0.000e+00 -2.842e-06]\n", " nfev: 329\n", " njev: 7\n", " hess_inv: <46x46 LbfgsInvHessProduct with dtype=float64>\n" @@ -314,10 +314,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:18.455061Z", - "iopub.status.busy": "2024-12-05T03:24:18.454107Z", - "iopub.status.idle": "2024-12-05T03:24:37.881300Z", - "shell.execute_reply": "2024-12-05T03:24:37.880651Z" + "iopub.execute_input": "2024-12-05T04:49:55.325870Z", + "iopub.status.busy": "2024-12-05T04:49:55.325412Z", + "iopub.status.idle": "2024-12-05T04:50:36.439220Z", + "shell.execute_reply": "2024-12-05T04:50:36.438634Z" } }, "outputs": [ @@ -326,31 +326,61 @@ "output_type": "stream", "text": [ "Number of parameters: 46\n", - " message: Convergence: Relative reduction of objective function <= ftol.\n", - " success: True\n", - " fun: -77.87363428118711\n", - " x: [-1.152e+00 7.876e-04 ... 3.488e-02 2.557e-01]\n", - " nit: 3\n", - " jac: [ 7.816e-07 1.160e-05 ... -1.013e-06 -8.020e-06]\n", - " nfev: 529\n", - " njev: 4\n", - " nlinop: 345\n", + " message: Stop: Total number of iterations reached limit.\n", + " success: False\n", + " fun: -77.87415887962864\n", + " x: [ 5.575e-03 -1.331e+00 ... 3.528e-02 3.174e-01]\n", + " nit: 10\n", + " jac: [ 3.935e-05 7.358e-06 ... -2.139e-04 -1.046e-04]\n", + " nfev: 1267\n", + " njev: 10\n", + " nlinop: 807\n", "\n", "Iteration 1\n", - " Energy: -77.87363196954891\n", - " Norm of gradient: 0.0010575938908307025\n", - " Regularization hyperparameter: 0.001761897637537816\n", - " Variation hyperparameter: 0.9990810043136625\n", + " Energy: -77.87362685711526\n", + " Norm of gradient: 0.001855901915920389\n", + " Regularization hyperparameter: 0.0006311432653366777\n", + " Variation hyperparameter: 0.9822442645562184\n", "Iteration 2\n", - " Energy: -77.8736342801622\n", - " Norm of gradient: 6.770421184784103e-05\n", - " Regularization hyperparameter: 0.001761897637537816\n", - " Variation hyperparameter: 0.9990810043136625\n", + " Energy: -77.87363310271725\n", + " Norm of gradient: 0.00030252117985897243\n", + " Regularization hyperparameter: 0.017917228638547493\n", + " Variation hyperparameter: 0.9822715295787552\n", "Iteration 3\n", - " Energy: -77.87363428118711\n", - " Norm of gradient: 5.91431234347536e-05\n", - " Regularization hyperparameter: 1.826121241130568\n", - " Variation hyperparameter: 0.9998395119356727\n" + " Energy: -77.87363465185152\n", + " Norm of gradient: 0.00013693848943698868\n", + " Regularization hyperparameter: 0.0016125257073217676\n", + " Variation hyperparameter: 0.9796823873521728\n", + "Iteration 4\n", + " Energy: -77.87367036227928\n", + " Norm of gradient: 0.0036903600525447777\n", + " Regularization hyperparameter: 0.00023737584156002583\n", + " Variation hyperparameter: 0.9797942563603614\n", + "Iteration 5\n", + " Energy: -77.87367575401149\n", + " Norm of gradient: 0.0032559906379786073\n", + " Regularization hyperparameter: 1.028498765850173\n", + " Variation hyperparameter: 0.9796914690528229\n", + "Iteration 6\n", + " Energy: -77.87368004450491\n", + " Norm of gradient: 0.0029155790648158287\n", + " Regularization hyperparameter: 1.028498765850173\n", + " Variation hyperparameter: 0.9796914690528229\n", + "Iteration 7\n", + " Energy: -77.8739817406614\n", + " Norm of gradient: 0.005990163908565813\n", + " Regularization hyperparameter: 0.001147509641622838\n", + " Variation hyperparameter: 0.8996245760543174\n", + "Iteration 8\n", + " Energy: -77.87414523157764\n", + " Norm of gradient: 0.0018668421854928312\n", + " Regularization hyperparameter: 0.0008331180627833742\n", + " Variation hyperparameter: 0.8998205846301155\n", + "Iteration 9\n", + " Energy: -77.8741576272094\n", + " Norm of gradient: 0.0006038689751939719\n", + " Regularization hyperparameter: 0.00025281008523048225\n", + " Variation hyperparameter: 0.9027648650557756\n" ] } ], diff --git a/dev/how-to-guides/qiskit-circuits.html b/dev/how-to-guides/qiskit-circuits.html index 17fcc1693..5e56c4eac 100644 --- a/dev/how-to-guides/qiskit-circuits.html +++ b/dev/how-to-guides/qiskit-circuits.html @@ -391,7 +391,7 @@

Prepare Hartree-Fock state
-<qiskit.circuit.instructionset.InstructionSet at 0x7fc434e2cfa0>
+<qiskit.circuit.instructionset.InstructionSet at 0x7f031521b910>
 
@@ -420,7 +420,7 @@

Prepare Slater determinant
-<qiskit.circuit.instructionset.InstructionSet at 0x7fc434e2ca60>
+<qiskit.circuit.instructionset.InstructionSet at 0x7f031521a590>
 
@@ -447,7 +447,7 @@

Orbital rotation
-<qiskit.circuit.instructionset.InstructionSet at 0x7fc434e2e410>
+<qiskit.circuit.instructionset.InstructionSet at 0x7f0315bf0070>
 
@@ -469,7 +469,7 @@

Number operator sum evolution
-<qiskit.circuit.instructionset.InstructionSet at 0x7fc434e2c400>
+<qiskit.circuit.instructionset.InstructionSet at 0x7f031521a5c0>
 
@@ -494,7 +494,7 @@

Diagonal Coulomb evolution
-<qiskit.circuit.instructionset.InstructionSet at 0x7fc435723a60>
+<qiskit.circuit.instructionset.InstructionSet at 0x7f031592f400>
 
@@ -517,7 +517,7 @@

Spin-balanced unitary cluster Jastrow (UCJ) operator
-<qiskit.circuit.instructionset.InstructionSet at 0x7fc434e2efb0>
+<qiskit.circuit.instructionset.InstructionSet at 0x7f031521ac80>
 
@@ -540,7 +540,7 @@

Spin-unbalanced unitary cluster Jastrow (UCJ) operator
-<qiskit.circuit.instructionset.InstructionSet at 0x7fc435615c30>
+<qiskit.circuit.instructionset.InstructionSet at 0x7f031521b010>
 
@@ -567,7 +567,7 @@

Trotter simulation of double-factorized Hamiltonian
-<qiskit.circuit.instructionset.InstructionSet at 0x7fc435723460>
+<qiskit.circuit.instructionset.InstructionSet at 0x7f0315bf39d0>
 
diff --git a/dev/how-to-guides/qiskit-circuits.ipynb b/dev/how-to-guides/qiskit-circuits.ipynb index 482021668..2196b445e 100644 --- a/dev/how-to-guides/qiskit-circuits.ipynb +++ b/dev/how-to-guides/qiskit-circuits.ipynb @@ -16,10 +16,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:39.456445Z", - "iopub.status.busy": "2024-12-05T03:24:39.456253Z", - "iopub.status.idle": "2024-12-05T03:24:40.155805Z", - "shell.execute_reply": "2024-12-05T03:24:40.155276Z" + "iopub.execute_input": "2024-12-05T04:50:38.336473Z", + "iopub.status.busy": "2024-12-05T04:50:38.336280Z", + "iopub.status.idle": "2024-12-05T04:50:39.070125Z", + "shell.execute_reply": "2024-12-05T04:50:39.069579Z" } }, "outputs": [], @@ -54,10 +54,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.158319Z", - "iopub.status.busy": "2024-12-05T03:24:40.157923Z", - "iopub.status.idle": "2024-12-05T03:24:40.783095Z", - "shell.execute_reply": "2024-12-05T03:24:40.782523Z" + "iopub.execute_input": "2024-12-05T04:50:39.072600Z", + "iopub.status.busy": "2024-12-05T04:50:39.072144Z", + "iopub.status.idle": "2024-12-05T04:50:39.668193Z", + "shell.execute_reply": "2024-12-05T04:50:39.667540Z" } }, "outputs": [ @@ -103,10 +103,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.785611Z", - "iopub.status.busy": "2024-12-05T03:24:40.784914Z", - "iopub.status.idle": "2024-12-05T03:24:40.838801Z", - "shell.execute_reply": "2024-12-05T03:24:40.838179Z" + "iopub.execute_input": "2024-12-05T04:50:39.670961Z", + "iopub.status.busy": "2024-12-05T04:50:39.670111Z", + "iopub.status.idle": "2024-12-05T04:50:39.727231Z", + "shell.execute_reply": "2024-12-05T04:50:39.726569Z" } }, "outputs": [ @@ -160,17 +160,17 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.840795Z", - "iopub.status.busy": "2024-12-05T03:24:40.840596Z", - "iopub.status.idle": "2024-12-05T03:24:40.845007Z", - "shell.execute_reply": "2024-12-05T03:24:40.844439Z" + "iopub.execute_input": "2024-12-05T04:50:39.729735Z", + "iopub.status.busy": "2024-12-05T04:50:39.729386Z", + "iopub.status.idle": "2024-12-05T04:50:39.733779Z", + "shell.execute_reply": "2024-12-05T04:50:39.733276Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 4, @@ -195,17 +195,17 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.846845Z", - "iopub.status.busy": "2024-12-05T03:24:40.846651Z", - "iopub.status.idle": "2024-12-05T03:24:40.851609Z", - "shell.execute_reply": "2024-12-05T03:24:40.851021Z" + "iopub.execute_input": "2024-12-05T04:50:39.735886Z", + "iopub.status.busy": "2024-12-05T04:50:39.735487Z", + "iopub.status.idle": "2024-12-05T04:50:39.740764Z", + "shell.execute_reply": "2024-12-05T04:50:39.740173Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 5, @@ -242,17 +242,17 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.853466Z", - "iopub.status.busy": "2024-12-05T03:24:40.853274Z", - "iopub.status.idle": "2024-12-05T03:24:40.858068Z", - "shell.execute_reply": "2024-12-05T03:24:40.857469Z" + "iopub.execute_input": "2024-12-05T04:50:39.743192Z", + "iopub.status.busy": "2024-12-05T04:50:39.742782Z", + "iopub.status.idle": "2024-12-05T04:50:39.747601Z", + "shell.execute_reply": "2024-12-05T04:50:39.747124Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 6, @@ -279,17 +279,17 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.860035Z", - "iopub.status.busy": "2024-12-05T03:24:40.859691Z", - "iopub.status.idle": "2024-12-05T03:24:40.864104Z", - "shell.execute_reply": "2024-12-05T03:24:40.863518Z" + "iopub.execute_input": "2024-12-05T04:50:39.749484Z", + "iopub.status.busy": "2024-12-05T04:50:39.749269Z", + "iopub.status.idle": "2024-12-05T04:50:39.753884Z", + "shell.execute_reply": "2024-12-05T04:50:39.753313Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 7, @@ -315,17 +315,17 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.865967Z", - "iopub.status.busy": "2024-12-05T03:24:40.865637Z", - "iopub.status.idle": "2024-12-05T03:24:40.869985Z", - "shell.execute_reply": "2024-12-05T03:24:40.869528Z" + "iopub.execute_input": "2024-12-05T04:50:39.755940Z", + "iopub.status.busy": "2024-12-05T04:50:39.755577Z", + "iopub.status.idle": "2024-12-05T04:50:39.760094Z", + "shell.execute_reply": "2024-12-05T04:50:39.759612Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 8, @@ -354,17 +354,17 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.872043Z", - "iopub.status.busy": "2024-12-05T03:24:40.871604Z", - "iopub.status.idle": "2024-12-05T03:24:40.876834Z", - "shell.execute_reply": "2024-12-05T03:24:40.876270Z" + "iopub.execute_input": "2024-12-05T04:50:39.761841Z", + "iopub.status.busy": "2024-12-05T04:50:39.761647Z", + "iopub.status.idle": "2024-12-05T04:50:39.767034Z", + "shell.execute_reply": "2024-12-05T04:50:39.766447Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 9, @@ -391,17 +391,17 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.878795Z", - "iopub.status.busy": "2024-12-05T03:24:40.878432Z", - "iopub.status.idle": "2024-12-05T03:24:40.883674Z", - "shell.execute_reply": "2024-12-05T03:24:40.883188Z" + "iopub.execute_input": "2024-12-05T04:50:39.769107Z", + "iopub.status.busy": "2024-12-05T04:50:39.768908Z", + "iopub.status.idle": "2024-12-05T04:50:39.774806Z", + "shell.execute_reply": "2024-12-05T04:50:39.774227Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 10, @@ -428,17 +428,17 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:40.885608Z", - "iopub.status.busy": "2024-12-05T03:24:40.885242Z", - "iopub.status.idle": "2024-12-05T03:24:40.890580Z", - "shell.execute_reply": "2024-12-05T03:24:40.890136Z" + "iopub.execute_input": "2024-12-05T04:50:39.777047Z", + "iopub.status.busy": "2024-12-05T04:50:39.776647Z", + "iopub.status.idle": "2024-12-05T04:50:39.782265Z", + "shell.execute_reply": "2024-12-05T04:50:39.781793Z" } }, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 11, diff --git a/dev/how-to-guides/qiskit-sampler.html b/dev/how-to-guides/qiskit-sampler.html index 1e2cce6f5..e4263d817 100644 --- a/dev/how-to-guides/qiskit-sampler.html +++ b/dev/how-to-guides/qiskit-sampler.html @@ -459,7 +459,7 @@

Sampling from an LUCJ circuit for a closed-shell molecule @@ -483,7 +483,7 @@

Sampling from an LUCJ circuit for a closed-shell molecule
 SCF not converged.
-SCF energy = -75.3484557063616
+SCF energy = -75.3484557067739
 norb = 11
 nelec = (5, 4)
 
 WARN: RCCSD method does not support ROHF method. ROHF object is converted to UHF object and UCCSD method is called.
 
-E(UCCSD) = -75.4561973913865  E_corr = -0.1077416850249517
+E(UCCSD) = -75.45619739131376  E_corr = -0.1077416845398132
 
diff --git a/dev/how-to-guides/qiskit-sampler.ipynb b/dev/how-to-guides/qiskit-sampler.ipynb index f1cee1268..544fa4f8a 100644 --- a/dev/how-to-guides/qiskit-sampler.ipynb +++ b/dev/how-to-guides/qiskit-sampler.ipynb @@ -18,10 +18,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:42.786996Z", - "iopub.status.busy": "2024-12-05T03:24:42.786810Z", - "iopub.status.idle": "2024-12-05T03:24:43.473452Z", - "shell.execute_reply": "2024-12-05T03:24:43.472896Z" + "iopub.execute_input": "2024-12-05T04:50:41.796420Z", + "iopub.status.busy": "2024-12-05T04:50:41.796235Z", + "iopub.status.idle": "2024-12-05T04:50:42.529490Z", + "shell.execute_reply": "2024-12-05T04:50:42.528818Z" } }, "outputs": [], @@ -71,10 +71,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:43.476028Z", - "iopub.status.busy": "2024-12-05T03:24:43.475564Z", - "iopub.status.idle": "2024-12-05T03:24:43.538662Z", - "shell.execute_reply": "2024-12-05T03:24:43.538071Z" + "iopub.execute_input": "2024-12-05T04:50:42.531917Z", + "iopub.status.busy": "2024-12-05T04:50:42.531561Z", + "iopub.status.idle": "2024-12-05T04:50:42.597274Z", + "shell.execute_reply": "2024-12-05T04:50:42.596712Z" } }, "outputs": [ @@ -154,10 +154,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:43.540921Z", - "iopub.status.busy": "2024-12-05T03:24:43.540416Z", - "iopub.status.idle": "2024-12-05T03:24:43.825014Z", - "shell.execute_reply": "2024-12-05T03:24:43.824381Z" + "iopub.execute_input": "2024-12-05T04:50:42.599625Z", + "iopub.status.busy": "2024-12-05T04:50:42.599248Z", + "iopub.status.idle": "2024-12-05T04:50:42.890209Z", + "shell.execute_reply": "2024-12-05T04:50:42.889660Z" } }, "outputs": [ @@ -174,7 +174,7 @@ "text": [ "norb = 14\n", "nelec = (3, 3)\n", - "E(CCSD) = -108.9630419334856 E_corr = -0.1278053627110059\n" + "E(CCSD) = -108.9630419334856 E_corr = -0.1278053627110061\n" ] }, { @@ -194,7 +194,7 @@ " '0000000001011000000000010110': 10,\n", " '0001000001010000000000000111': 5,\n", " '0000000001011000100000000110': 4,\n", - " '0100000000100100000000000111': 3,\n", + " '0100000001001000000000000111': 3,\n", " '0000000000011100100000001100': 3,\n", " '0010000000011000000000010110': 3}" ] @@ -276,10 +276,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:43.827282Z", - "iopub.status.busy": "2024-12-05T03:24:43.826768Z", - "iopub.status.idle": "2024-12-05T03:24:44.368732Z", - "shell.execute_reply": "2024-12-05T03:24:44.368099Z" + "iopub.execute_input": "2024-12-05T04:50:42.892649Z", + "iopub.status.busy": "2024-12-05T04:50:42.892132Z", + "iopub.status.idle": "2024-12-05T04:50:43.440269Z", + "shell.execute_reply": "2024-12-05T04:50:43.439652Z" } }, "outputs": [ @@ -294,7 +294,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "SCF energy = -75.3484557063616\n" + "SCF energy = -75.3484557067739\n" ] }, { @@ -312,7 +312,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "E(UCCSD) = -75.4561973913865 E_corr = -0.1077416850249517\n" + "E(UCCSD) = -75.45619739131376 E_corr = -0.1077416845398132\n" ] }, { diff --git a/dev/searchindex.js b/dev/searchindex.js index 5b9a1003e..1e7d2ecb9 100644 --- a/dev/searchindex.js +++ b/dev/searchindex.js @@ -1 +1 @@ -Search.setIndex({"alltitles": {"API reference": [[7, null]], "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": [[15, "Build-a-molecule"]], "Build the Hamiltonian": [[23, "Build-the-Hamiltonian"]], "Choose reference occupations": [[15, "Choose-reference-occupations"]], "Circuit transpilation": [[19, "Circuit-transpilation"]], "Citing ffsim": [[21, "citing-ffsim"]], "Code example": [[21, "code-example"]], "Compute energy": [[15, "Compute-energy"]], "Contents": [[21, "contents"]], "Criteria for circuits that FfsimSampler can sample": [[20, "Criteria-for-circuits-that-FfsimSampler-can-sample"]], "Data representation": [[9, "Data-representation"]], "Diagonal Coulomb evolution": [[13, "Diagonal-Coulomb-evolution"], [19, "Diagonal-Coulomb-evolution"]], "Double-factorized representation": [[8, "Double-factorized-representation"]], "Double-factorized representation of the molecular Hamiltonian": [[8, null]], "Example of using FfsimSampler": [[20, "Example-of-using-FfsimSampler"]], "Explanations": [[10, null]], "Gates": [[14, "Gates"]], "General UCJ ansatz": [[18, "General-UCJ-ansatz"]], "Hamiltonians": [[9, null]], "Hartree-Fock and Slater determinant preparation": [[13, "Hartree-Fock-and-Slater-determinant-preparation"]], "How to build and transpile Qiskit quantum circuits": [[19, null]], "How to simulate entanglement forging": [[15, null]], "How to simulate the local unitary cluster Jastrow (LUCJ) ansatz": [[18, null]], "How to use ffsim\u2019s Qiskit Sampler primitive": [[20, null]], "How to use the FermionOperator class": [[16, null]], "How-to guides": [[17, null]], "Implement Trotter simulation": [[23, "Implement-Trotter-simulation"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[23, null]], "Initialize ansatz operator": [[15, "Initialize-ansatz-operator"]], "Install from source": [[22, "install-from-source"]], "Installation": [[21, "installation"], [22, null]], "LUCJ ansatz": [[18, "LUCJ-ansatz"]], "Locality in the UCJ operator": [[13, "Locality-in-the-UCJ-operator"]], "Merging orbital rotations": [[13, "Merging-orbital-rotations"]], "More examples": [[20, "More-examples"]], "Number operator sum evolution": [[13, "Number-operator-sum-evolution"], [19, "Number-operator-sum-evolution"]], "Operator action via SciPy LinearOperators": [[9, "Operator-action-via-SciPy-LinearOperators"]], "Optimize energy": [[15, "Optimize-energy"]], "Optimize with the linear method": [[18, "Optimize-with-the-linear-method"]], "Orbital rotation": [[13, "Orbital-rotation"], [19, "Orbital-rotation"]], "Orbital rotations": [[12, "Orbital-rotations"]], "Orbital rotations and quadratic Hamiltonians": [[12, null]], "Overview of gates": [[19, "Overview-of-gates"]], "Pip install": [[22, "pip-install"]], "Prepare Hartree-Fock state": [[19, "Prepare-Hartree-Fock-state"]], "Prepare Slater determinant": [[19, "Prepare-Slater-determinant"]], "Qubit gate decompositions of fermionic gates": [[13, null]], "Sampling from an LUCJ circuit for a closed-shell molecule": [[20, "Sampling-from-an-LUCJ-circuit-for-a-closed-shell-molecule"]], "Sampling from an LUCJ circuit for an open-shell molecule": [[20, "Sampling-from-an-LUCJ-circuit-for-an-open-shell-molecule"]], "Spin-balanced and spin-unbalanced ansatzes": [[11, "Spin-balanced-and-spin-unbalanced-ansatzes"]], "Spin-balanced unitary cluster Jastrow (UCJ) operator": [[19, "Spin-balanced-unitary-cluster-Jastrow-(UCJ)-operator"]], "Spin-unbalanced unitary cluster Jastrow (UCJ) operator": [[19, "Spin-unbalanced-unitary-cluster-Jastrow-(UCJ)-operator"]], "State preparation gates": [[19, "State-preparation-gates"]], "State vectors": [[14, "State-vectors"]], "State vectors and gates": [[14, null]], "The general unitary cluster Jastrow (UCJ) ansatz": [[11, "The-general-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "The local UCJ (LUCJ) ansatz": [[11, "The-local-UCJ-(LUCJ)-ansatz"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[11, null]], "Time evolution by a quadratic Hamiltonian": [[12, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Treating spinless fermions": [[14, "Treating-spinless-fermions"]], "Trotter simulation of double-factorized Hamiltonian": [[13, "Trotter-simulation-of-double-factorized-Hamiltonian"], [19, "Trotter-simulation-of-double-factorized-Hamiltonian"]], "Tutorials": [[24, null]], "Unitary cluster Jastrow (UCJ) operator": [[13, "Unitary-cluster-Jastrow-(UCJ)-operator"]], "Unitary transformation gates": [[19, "Unitary-transformation-gates"]], "Use within Docker": [[22, "use-within-docker"]], "ffsim": [[0, null], [21, null]], "ffsim.contract": [[1, null]], "ffsim.linalg": [[2, null]], "ffsim.optimize": [[3, null]], "ffsim.qiskit": [[4, null]], "ffsim.random": [[5, null]], "ffsim.testing": [[6, null]]}, "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/lucj", "explanations/orbital-rotation", "explanations/qiskit-gate-decompositions", "explanations/state-vectors-and-gates", "how-to-guides/entanglement-forging", "how-to-guides/fermion-operator", "how-to-guides/index", "how-to-guides/lucj", "how-to-guides/qiskit-circuits", "how-to-guides/qiskit-sampler", "index", "install", "tutorials/double-factorized-trotter", "tutorials/index"], "envversion": {"nbsphinx": 4, "sphinx": 64, "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/lucj.ipynb", "explanations/orbital-rotation.ipynb", "explanations/qiskit-gate-decompositions.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", "how-to-guides/qiskit-circuits.ipynb", "how-to-guides/qiskit-sampler.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.diagcoulombevolutionspinlessjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.dropnegligible method)": [[4, "ffsim.qiskit.DropNegligible.__init__", false]], "__init__() (ffsim.qiskit.ffsimsampler method)": [[4, "ffsim.qiskit.FfsimSampler.__init__", false]], "__init__() (ffsim.qiskit.givensansatzopjw method)": [[4, "ffsim.qiskit.GivensAnsatzOpJW.__init__", false]], "__init__() (ffsim.qiskit.givensansatzopspinlessjw method)": [[4, "ffsim.qiskit.GivensAnsatzOpSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.numnumansatzopspinbalancedjw method)": [[4, "ffsim.qiskit.NumNumAnsatzOpSpinBalancedJW.__init__", false]], "__init__() (ffsim.qiskit.numopsumevolutionjw method)": [[4, "ffsim.qiskit.NumOpSumEvolutionJW.__init__", false]], "__init__() (ffsim.qiskit.numopsumevolutionspinlessjw method)": [[4, "ffsim.qiskit.NumOpSumEvolutionSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.__init__", false]], "__init__() (ffsim.qiskit.orbitalrotationspinlessjw method)": [[4, "ffsim.qiskit.OrbitalRotationSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.preparehartreefockjw method)": [[4, "ffsim.qiskit.PrepareHartreeFockJW.__init__", false]], "__init__() (ffsim.qiskit.preparehartreefockspinlessjw method)": [[4, "ffsim.qiskit.PrepareHartreeFockSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.prepareslaterdeterminantjw method)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantJW.__init__", false]], "__init__() (ffsim.qiskit.prepareslaterdeterminantspinlessjw method)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.simulatetrotterdiagcoulombsplitopjw method)": [[4, "ffsim.qiskit.SimulateTrotterDiagCoulombSplitOpJW.__init__", false]], "__init__() (ffsim.qiskit.simulatetrotterdoublefactorizedjw method)": [[4, "ffsim.qiskit.SimulateTrotterDoubleFactorizedJW.__init__", false]], "__init__() (ffsim.qiskit.ucjopspinbalancedjw method)": [[4, "ffsim.qiskit.UCJOpSpinBalancedJW.__init__", false]], "__init__() (ffsim.qiskit.ucjopspinlessjw method)": [[4, "ffsim.qiskit.UCJOpSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.ucjopspinunbalancedjw method)": [[4, "ffsim.qiskit.UCJOpSpinUnbalancedJW.__init__", false]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action", false]], "active_space (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.active_space", false]], "addresses_to_strings() (in module ffsim)": [[0, "ffsim.addresses_to_strings", 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_fswap_gate() (in module ffsim)": [[0, "ffsim.apply_fswap_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_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]], "bit_array (ffsim.bitstringtype attribute)": [[0, "ffsim.BitstringType.BIT_ARRAY", false]], "bitstringtype (class in ffsim)": [[0, "ffsim.BitstringType", 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]], "cisd_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.cisd_energy", false]], "cisd_vec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.cisd_vec", 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.diagonalcoulombhamiltonian attribute)": [[0, "ffsim.DiagonalCoulombHamiltonian.constant", 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() (in module ffsim)": [[0, "ffsim.diag", false]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop", false]], "diag_coulomb_mats (ffsim.diagonalcoulombhamiltonian attribute)": [[0, "ffsim.DiagonalCoulombHamiltonian.diag_coulomb_mats", false]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats", false]], "diag_coulomb_mats (ffsim.ucjopspinbalanced attribute)": [[0, "ffsim.UCJOpSpinBalanced.diag_coulomb_mats", false]], "diag_coulomb_mats (ffsim.ucjopspinless attribute)": [[0, "ffsim.UCJOpSpinless.diag_coulomb_mats", false]], "diag_coulomb_mats (ffsim.ucjopspinunbalanced attribute)": [[0, "ffsim.UCJOpSpinUnbalanced.diag_coulomb_mats", false]], "diagcoulombevolutionjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW", false]], "diagcoulombevolutionspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DiagCoulombEvolutionSpinlessJW", false]], "diagonalcoulombhamiltonian (class in ffsim)": [[0, "ffsim.DiagonalCoulombHamiltonian", 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]], "double_factorized_t2_alpha_beta() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2_alpha_beta", 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]], "fermi_hubbard_2d() (in module ffsim)": [[0, "ffsim.fermi_hubbard_2d", 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]], "ffsimsampler (class in ffsim.qiskit)": [[4, "ffsim.qiskit.FfsimSampler", false]], "final_orbital_rotation (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.ucjopspinbalanced attribute)": [[0, "ffsim.UCJOpSpinBalanced.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.ucjopspinless attribute)": [[0, "ffsim.UCJOpSpinless.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.ucjopspinunbalanced attribute)": [[0, "ffsim.UCJOpSpinUnbalanced.final_orbital_rotation", false]], "final_state_vector() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.final_state_vector", false]], "from_diag_coulomb_mats() (ffsim.numnumansatzopspinbalanced static method)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.from_diag_coulomb_mats", false]], "from_fcidump() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_fcidump", false]], "from_fermion_operator() (ffsim.diagonalcoulombhamiltonian static method)": [[0, "ffsim.DiagonalCoulombHamiltonian.from_fermion_operator", false]], "from_json() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_json", 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_orbital_rotation() (ffsim.givensansatzop static method)": [[0, "ffsim.GivensAnsatzOp.from_orbital_rotation", false]], "from_parameters() (ffsim.givensansatzop static method)": [[0, "ffsim.GivensAnsatzOp.from_parameters", false]], "from_parameters() (ffsim.hopgateansatzoperator static method)": [[0, "ffsim.HopGateAnsatzOperator.from_parameters", false]], "from_parameters() (ffsim.numnumansatzopspinbalanced static method)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.from_parameters", false]], "from_parameters() (ffsim.uccsdoprestrictedreal static method)": [[0, "ffsim.UCCSDOpRestrictedReal.from_parameters", false]], "from_parameters() (ffsim.ucjanglesopspinbalanced static method)": [[0, "ffsim.UCJAnglesOpSpinBalanced.from_parameters", false]], "from_parameters() (ffsim.ucjopspinbalanced static method)": [[0, "ffsim.UCJOpSpinBalanced.from_parameters", false]], "from_parameters() (ffsim.ucjopspinless static method)": [[0, "ffsim.UCJOpSpinless.from_parameters", false]], "from_parameters() (ffsim.ucjopspinunbalanced static method)": [[0, "ffsim.UCJOpSpinUnbalanced.from_parameters", false]], "from_scf() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_scf", false]], "from_t_amplitudes() (ffsim.ucjanglesopspinbalanced static method)": [[0, "ffsim.UCJAnglesOpSpinBalanced.from_t_amplitudes", false]], "from_t_amplitudes() (ffsim.ucjopspinbalanced static method)": [[0, "ffsim.UCJOpSpinBalanced.from_t_amplitudes", false]], "from_t_amplitudes() (ffsim.ucjopspinless static method)": [[0, "ffsim.UCJOpSpinless.from_t_amplitudes", false]], "from_t_amplitudes() (ffsim.ucjopspinunbalanced static method)": [[0, "ffsim.UCJOpSpinUnbalanced.from_t_amplitudes", false]], "from_ucj_op() (ffsim.ucjanglesopspinbalanced static method)": [[0, "ffsim.UCJAnglesOpSpinBalanced.from_ucj_op", 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_nocc() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nocc", 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]], "givensansatzop (class in ffsim)": [[0, "ffsim.GivensAnsatzOp", false]], "givensansatzopjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.GivensAnsatzOpJW", false]], "givensansatzopspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.GivensAnsatzOpSpinlessJW", 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]], "hf_mo_coeff (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.hf_mo_coeff", false]], "hf_mo_occ (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.hf_mo_occ", false]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator", false]], "i (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.i", false]], "init_cache() (in module ffsim)": [[0, "ffsim.init_cache", false]], "int (ffsim.bitstringtype attribute)": [[0, "ffsim.BitstringType.INT", false]], "interaction_pairs (ffsim.givensansatzop attribute)": [[0, "ffsim.GivensAnsatzOp.interaction_pairs", false]], "interaction_pairs (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.interaction_pairs", false]], "interaction_pairs (ffsim.numnumansatzopspinbalanced attribute)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.interaction_pairs", false]], "inverse() (ffsim.qiskit.diagcoulombevolutionjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW.inverse", false]], "inverse() (ffsim.qiskit.diagcoulombevolutionspinlessjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionSpinlessJW.inverse", false]], "inverse() (ffsim.qiskit.numopsumevolutionjw method)": [[4, "ffsim.qiskit.NumOpSumEvolutionJW.inverse", false]], "inverse() (ffsim.qiskit.numopsumevolutionspinlessjw method)": [[4, "ffsim.qiskit.NumOpSumEvolutionSpinlessJW.inverse", false]], "inverse() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.inverse", false]], "inverse() (ffsim.qiskit.orbitalrotationspinlessjw method)": [[4, "ffsim.qiskit.OrbitalRotationSpinlessJW.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]], "jordan_wigner() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.jordan_wigner", 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.givensansatzop static method)": [[0, "ffsim.GivensAnsatzOp.n_params", false]], "n_params() (ffsim.numnumansatzopspinbalanced static method)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.n_params", false]], "n_params() (ffsim.uccsdoprestrictedreal static method)": [[0, "ffsim.UCCSDOpRestrictedReal.n_params", false]], "n_params() (ffsim.ucjanglesopspinbalanced static method)": [[0, "ffsim.UCJAnglesOpSpinBalanced.n_params", false]], "n_params() (ffsim.ucjopspinbalanced static method)": [[0, "ffsim.UCJOpSpinBalanced.n_params", false]], "n_params() (ffsim.ucjopspinless static method)": [[0, "ffsim.UCJOpSpinless.n_params", false]], "n_params() (ffsim.ucjopspinunbalanced static method)": [[0, "ffsim.UCJOpSpinUnbalanced.n_params", false]], "n_reps (ffsim.ucjanglesopspinbalanced property)": [[0, "ffsim.UCJAnglesOpSpinBalanced.n_reps", false]], "n_reps (ffsim.ucjopspinbalanced property)": [[0, "ffsim.UCJOpSpinBalanced.n_reps", false]], "n_reps (ffsim.ucjopspinless property)": [[0, "ffsim.UCJOpSpinless.n_reps", false]], "n_reps (ffsim.ucjopspinunbalanced property)": [[0, "ffsim.UCJOpSpinUnbalanced.n_reps", false]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec", false]], "nelec (ffsim.statevector attribute)": [[0, "ffsim.StateVector.nelec", false]], "norb (ffsim.diagonalcoulombhamiltonian property)": [[0, "ffsim.DiagonalCoulombHamiltonian.norb", false]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb", false]], "norb (ffsim.givensansatzop attribute)": [[0, "ffsim.GivensAnsatzOp.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.numnumansatzopspinbalanced attribute)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.norb", false]], "norb (ffsim.singlefactorizedhamiltonian property)": [[0, "ffsim.SingleFactorizedHamiltonian.norb", false]], "norb (ffsim.statevector attribute)": [[0, "ffsim.StateVector.norb", false]], "norb (ffsim.uccsdoprestrictedreal property)": [[0, "ffsim.UCCSDOpRestrictedReal.norb", false]], "norb (ffsim.ucjopspinbalanced property)": [[0, "ffsim.UCJOpSpinBalanced.norb", false]], "norb (ffsim.ucjopspinless property)": [[0, "ffsim.UCJOpSpinless.norb", false]], "norb (ffsim.ucjopspinunbalanced property)": [[0, "ffsim.UCJOpSpinUnbalanced.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]], "numnumansatzopspinbalanced (class in ffsim)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced", false]], "numnumansatzopspinbalancedjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.NumNumAnsatzOpSpinBalancedJW", false]], "numopsumevolutionjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.NumOpSumEvolutionJW", false]], "numopsumevolutionspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.NumOpSumEvolutionSpinlessJW", false]], "one_body_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_integrals", 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.diagonalcoulombhamiltonian attribute)": [[0, "ffsim.DiagonalCoulombHamiltonian.one_body_tensor", false]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.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.linalg)": [[2, "ffsim.linalg.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.ucjopspinbalanced attribute)": [[0, "ffsim.UCJOpSpinBalanced.orbital_rotations", false]], "orbital_rotations (ffsim.ucjopspinless attribute)": [[0, "ffsim.UCJOpSpinless.orbital_rotations", false]], "orbital_rotations (ffsim.ucjopspinunbalanced attribute)": [[0, "ffsim.UCJOpSpinUnbalanced.orbital_rotations", false]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries", false]], "orbitalrotationjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.OrbitalRotationJW", false]], "orbitalrotationspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.OrbitalRotationSpinlessJW", false]], "phase_angles (ffsim.givensansatzop attribute)": [[0, "ffsim.GivensAnsatzOp.phase_angles", false]], "phis (ffsim.givensansatzop attribute)": [[0, "ffsim.GivensAnsatzOp.phis", false]], "pre_init (in module ffsim.qiskit)": [[4, "ffsim.qiskit.PRE_INIT", false]], "pre_init_passes() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.pre_init_passes", false]], "preparehartreefockjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareHartreeFockJW", false]], "preparehartreefockspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareHartreeFockSpinlessJW", false]], "prepareslaterdeterminantjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantJW", false]], "prepareslaterdeterminantspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantSpinlessJW", 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_density_matrix() (in module ffsim.random)": [[5, "ffsim.random.random_density_matrix", false]], "random_diagonal_coulomb_hamiltonian() (in module ffsim.random)": [[5, "ffsim.random.random_diagonal_coulomb_hamiltonian", false]], "random_double_factorized_hamiltonian() (in module ffsim.random)": [[5, "ffsim.random.random_double_factorized_hamiltonian", false]], "random_fermion_hamiltonian() (in module ffsim.random)": [[5, "ffsim.random.random_fermion_hamiltonian", false]], "random_fermion_operator() (in module ffsim.random)": [[5, "ffsim.random.random_fermion_operator", 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_state_vector() (in module ffsim.random)": [[5, "ffsim.random.random_state_vector", 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_uccsd_restricted() (in module ffsim.random)": [[5, "ffsim.random.random_uccsd_restricted", false]], "random_ucj_op_spin_balanced() (in module ffsim.random)": [[5, "ffsim.random.random_ucj_op_spin_balanced", false]], "random_ucj_op_spin_unbalanced() (in module ffsim.random)": [[5, "ffsim.random.random_ucj_op_spin_unbalanced", false]], "random_ucj_op_spinless() (in module ffsim.random)": [[5, "ffsim.random.random_ucj_op_spinless", false]], "random_unitary() (in module ffsim.random)": [[5, "ffsim.random.random_unitary", false]], "rdms() (in module ffsim)": [[0, "ffsim.rdms", 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.ffsimsampler method)": [[4, "ffsim.qiskit.FfsimSampler.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_cisd() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_cisd", false]], "run_fci() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_fci", false]], "run_mp2() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_mp2", false]], "run_sci() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_sci", false]], "s (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.s", false]], "sample_slater_determinant() (in module ffsim)": [[0, "ffsim.sample_slater_determinant", false]], "sample_state_vector() (in module ffsim)": [[0, "ffsim.sample_state_vector", false]], "scf (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.scf", false]], "sci_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.sci_energy", false]], "sci_vec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.sci_vec", false]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized", false]], "simulate_trotter_diag_coulomb_split_op() (in module ffsim)": [[0, "ffsim.simulate_trotter_diag_coulomb_split_op", false]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized", false]], "simulatetrotterdiagcoulombsplitopjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.SimulateTrotterDiagCoulombSplitOpJW", false]], "simulatetrotterdoublefactorizedjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.SimulateTrotterDoubleFactorizedJW", false]], "singlefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.SingleFactorizedHamiltonian", false]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant", false]], "slater_determinant_amplitudes() (in module ffsim)": [[0, "ffsim.slater_determinant_amplitudes", false]], "slater_determinant_rdms() (in module ffsim)": [[0, "ffsim.slater_determinant_rdms", 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]], "statevector (class in ffsim)": [[0, "ffsim.StateVector", false]], "string (ffsim.bitstringtype attribute)": [[0, "ffsim.BitstringType.STRING", false]], "strings_to_addresses() (in module ffsim)": [[0, "ffsim.strings_to_addresses", false]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary", false]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality", false]], "supportsdiagonal (class in ffsim)": [[0, "ffsim.SupportsDiagonal", 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.givensansatzop attribute)": [[0, "ffsim.GivensAnsatzOp.thetas", false]], "thetas (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.thetas", false]], "thetas (ffsim.numnumansatzopspinbalanced attribute)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.thetas", false]], "to_diag_coulomb_mats() (ffsim.numnumansatzopspinbalanced method)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.to_diag_coulomb_mats", false]], "to_fcidump() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.to_fcidump", false]], "to_json() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.to_json", false]], "to_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_molecular_hamiltonian", false]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation", false]], "to_orbital_rotation() (ffsim.givensansatzop method)": [[0, "ffsim.GivensAnsatzOp.to_orbital_rotation", false]], "to_parameters() (ffsim.givensansatzop method)": [[0, "ffsim.GivensAnsatzOp.to_parameters", false]], "to_parameters() (ffsim.hopgateansatzoperator method)": [[0, "ffsim.HopGateAnsatzOperator.to_parameters", false]], "to_parameters() (ffsim.numnumansatzopspinbalanced method)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.to_parameters", false]], "to_parameters() (ffsim.uccsdoprestrictedreal method)": [[0, "ffsim.UCCSDOpRestrictedReal.to_parameters", false]], "to_parameters() (ffsim.ucjanglesopspinbalanced method)": [[0, "ffsim.UCJAnglesOpSpinBalanced.to_parameters", false]], "to_parameters() (ffsim.ucjopspinbalanced method)": [[0, "ffsim.UCJOpSpinBalanced.to_parameters", false]], "to_parameters() (ffsim.ucjopspinless method)": [[0, "ffsim.UCJOpSpinless.to_parameters", false]], "to_parameters() (ffsim.ucjopspinunbalanced method)": [[0, "ffsim.UCJOpSpinUnbalanced.to_parameters", 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]], "uccsdoprestrictedreal (class in ffsim)": [[0, "ffsim.UCCSDOpRestrictedReal", false]], "ucjanglesopspinbalanced (class in ffsim)": [[0, "ffsim.UCJAnglesOpSpinBalanced", false]], "ucjopspinbalanced (class in ffsim)": [[0, "ffsim.UCJOpSpinBalanced", false]], "ucjopspinbalancedjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOpSpinBalancedJW", false]], "ucjopspinless (class in ffsim)": [[0, "ffsim.UCJOpSpinless", false]], "ucjopspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOpSpinlessJW", false]], "ucjopspinunbalanced (class in ffsim)": [[0, "ffsim.UCJOpSpinUnbalanced", false]], "ucjopspinunbalancedjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOpSpinUnbalancedJW", false]], "vec (ffsim.statevector attribute)": [[0, "ffsim.StateVector.vec", false]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation", false]]}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "BitstringType"], [0, 1, 1, "", "DiagonalCoulombHamiltonian"], [0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "GivensAnsatzOp"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "NumNumAnsatzOpSpinBalanced"], [0, 1, 1, "", "ProductStateSum"], [0, 1, 1, "", "SingleFactorizedHamiltonian"], [0, 1, 1, "", "Spin"], [0, 1, 1, "", "StateVector"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsDiagonal"], [0, 1, 1, "", "SupportsFermionOperator"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCCSDOpRestrictedReal"], [0, 1, 1, "", "UCJAnglesOpSpinBalanced"], [0, 1, 1, "", "UCJOpSpinBalanced"], [0, 1, 1, "", "UCJOpSpinUnbalanced"], [0, 1, 1, "", "UCJOpSpinless"], [0, 5, 1, "", "addresses_to_strings"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_fswap_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_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, "", "diag"], [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, "", "fermi_hubbard_2d"], [0, 5, 1, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [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"], [3, 0, 0, "-", "optimize"], [4, 0, 0, "-", "qiskit"], [5, 0, 0, "-", "random"], [0, 5, 1, "", "rdms"], [0, 5, 1, "", "sample_slater_determinant"], [0, 5, 1, "", "sample_state_vector"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_diag_coulomb_split_op"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_amplitudes"], [0, 5, 1, "", "slater_determinant_rdms"], [0, 5, 1, "", "spin_square"], [0, 5, 1, "", "strings_to_addresses"], [6, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.BitstringType": [[0, 2, 1, "", "BIT_ARRAY"], [0, 2, 1, "", "INT"], [0, 2, 1, "", "STRING"]], "ffsim.DiagonalCoulombHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_fermion_operator"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"]], "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_molecular_hamiltonian"], [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.GivensAnsatzOp": [[0, 3, 1, "", "from_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 2, 1, "", "interaction_pairs"], [0, 3, 1, "", "n_params"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "phase_angles"], [0, 2, 1, "", "phis"], [0, 2, 1, "", "thetas"], [0, 3, 1, "", "to_orbital_rotation"], [0, 3, 1, "", "to_parameters"]], "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, "", "cisd_energy"], [0, 2, 1, "", "cisd_vec"], [0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 2, 1, "", "fci_energy"], [0, 2, 1, "", "fci_vec"], [0, 3, 1, "", "from_fcidump"], [0, 3, 1, "", "from_json"], [0, 3, 1, "", "from_scf"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "hf_energy"], [0, 2, 1, "", "hf_mo_coeff"], [0, 2, 1, "", "hf_mo_occ"], [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_integrals"], [0, 2, 1, "", "orbital_symmetries"], [0, 3, 1, "", "run_ccsd"], [0, 3, 1, "", "run_cisd"], [0, 3, 1, "", "run_fci"], [0, 3, 1, "", "run_mp2"], [0, 3, 1, "", "run_sci"], [0, 4, 1, "", "scf"], [0, 2, 1, "", "sci_energy"], [0, 2, 1, "", "sci_vec"], [0, 2, 1, "", "spin"], [0, 2, 1, "", "symmetry"], [0, 3, 1, "", "to_fcidump"], [0, 3, 1, "", "to_json"], [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.NumNumAnsatzOpSpinBalanced": [[0, 3, 1, "", "from_diag_coulomb_mats"], [0, 3, 1, "", "from_parameters"], [0, 2, 1, "", "interaction_pairs"], [0, 3, 1, "", "n_params"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "thetas"], [0, 3, 1, "", "to_diag_coulomb_mats"], [0, 3, 1, "", "to_parameters"]], "ffsim.ProductStateSum": [[0, 2, 1, "", "coeffs"], [0, 2, 1, "", "states"]], "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.StateVector": [[0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "vec"]], "ffsim.UCCSDOpRestrictedReal": [[0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "norb"], [0, 3, 1, "", "to_parameters"]], "ffsim.UCJAnglesOpSpinBalanced": [[0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 3, 1, "", "from_ucj_op"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 3, 1, "", "to_parameters"]], "ffsim.UCJOpSpinBalanced": [[0, 2, 1, "", "diag_coulomb_mats"], [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"]], "ffsim.UCJOpSpinUnbalanced": [[0, 2, 1, "", "diag_coulomb_mats"], [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"]], "ffsim.UCJOpSpinless": [[0, 2, 1, "", "diag_coulomb_mats"], [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"]], "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, "", "double_factorized_t2_alpha_beta"], [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, "", "one_hot"], [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, "", "DiagCoulombEvolutionSpinlessJW"], [4, 1, 1, "", "DropNegligible"], [4, 1, 1, "", "FfsimSampler"], [4, 1, 1, "", "GivensAnsatzOpJW"], [4, 1, 1, "", "GivensAnsatzOpSpinlessJW"], [4, 1, 1, "", "MergeOrbitalRotations"], [4, 1, 1, "", "NumNumAnsatzOpSpinBalancedJW"], [4, 1, 1, "", "NumOpSumEvolutionJW"], [4, 1, 1, "", "NumOpSumEvolutionSpinlessJW"], [4, 1, 1, "", "OrbitalRotationJW"], [4, 1, 1, "", "OrbitalRotationSpinlessJW"], [4, 6, 1, "", "PRE_INIT"], [4, 1, 1, "", "PrepareHartreeFockJW"], [4, 1, 1, "", "PrepareHartreeFockSpinlessJW"], [4, 1, 1, "", "PrepareSlaterDeterminantJW"], [4, 1, 1, "", "PrepareSlaterDeterminantSpinlessJW"], [4, 1, 1, "", "SimulateTrotterDiagCoulombSplitOpJW"], [4, 1, 1, "", "SimulateTrotterDoubleFactorizedJW"], [4, 1, 1, "", "UCJOpSpinBalancedJW"], [4, 1, 1, "", "UCJOpSpinUnbalancedJW"], [4, 1, 1, "", "UCJOpSpinlessJW"], [4, 5, 1, "", "ffsim_vec_to_qiskit_vec"], [4, 5, 1, "", "final_state_vector"], [4, 5, 1, "", "jordan_wigner"], [4, 5, 1, "", "pre_init_passes"], [4, 5, 1, "", "qiskit_vec_to_ffsim_vec"]], "ffsim.qiskit.DiagCoulombEvolutionJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.DiagCoulombEvolutionSpinlessJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.DropNegligible": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "run"]], "ffsim.qiskit.FfsimSampler": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "run"]], "ffsim.qiskit.GivensAnsatzOpJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.GivensAnsatzOpSpinlessJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.MergeOrbitalRotations": [[4, 3, 1, "", "run"]], "ffsim.qiskit.NumNumAnsatzOpSpinBalancedJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.NumOpSumEvolutionJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.NumOpSumEvolutionSpinlessJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.OrbitalRotationJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.OrbitalRotationSpinlessJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.PrepareHartreeFockJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.PrepareHartreeFockSpinlessJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.PrepareSlaterDeterminantJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.PrepareSlaterDeterminantSpinlessJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.SimulateTrotterDiagCoulombSplitOpJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.SimulateTrotterDoubleFactorizedJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.UCJOpSpinBalancedJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.UCJOpSpinUnbalancedJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.UCJOpSpinlessJW": [[4, 3, 1, "", "__init__"]], "ffsim.random": [[5, 5, 1, "", "random_antihermitian"], [5, 5, 1, "", "random_density_matrix"], [5, 5, 1, "", "random_diagonal_coulomb_hamiltonian"], [5, 5, 1, "", "random_double_factorized_hamiltonian"], [5, 5, 1, "", "random_fermion_hamiltonian"], [5, 5, 1, "", "random_fermion_operator"], [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_state_vector"], [5, 5, 1, "", "random_t2_amplitudes"], [5, 5, 1, "", "random_two_body_tensor"], [5, 5, 1, "", "random_uccsd_restricted"], [5, 5, 1, "", "random_ucj_op_spin_balanced"], [5, 5, 1, "", "random_ucj_op_spin_unbalanced"], [5, 5, 1, "", "random_ucj_op_spinless"], [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_nocc"], [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"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function", "6": "py:data"}, "terms": {"": [0, 2, 4, 8, 9, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23], "0": [0, 2, 3, 4, 6, 8, 9, 11, 13, 14, 15, 16, 18, 19, 20, 21, 23], "00": 18, "000": 20, "0000000": [15, 18], "0000000000011100000000000111": 20, "0000000000011100000000011100": 20, "0000000000011100100000001100": 20, "0000000000110100000000001101": 20, "0000000001011000000000010110": 20, "0000000001011000100000000110": 20, "0000000001110000000000000111": 20, "0000000111100000011111": 20, "0000000111100110000111": 20, "0000010101100001011011": 20, "0000010110100001011011": 20, "0000100101100000111011": 20, "0000100110100000111011": 20, "0000111100001111": 20, "0000111100011011": 20, "0000111100011101": 20, "0000111100101011": 20, "0001": 3, "0001000001010000000000000111": 20, "0001110100001111": 20, "000e": 18, "0010000000011000000000010110": 20, "0010011100101101": 20, "0010101100001111": 20, "0010101100101101": 20, "001011": [0, 14], "0010110100100111": 20, "0010110100101011": 20, "0010575938908307025": 18, "001101": [0, 14], "001110": 14, "001761897637537816": 18, "005e": 15, "01": [15, 18], "0100000000100100000000000111": 20, "0100000110100100001111": 20, "010011": [0, 14], "0101": 0, "0101000001100000011111": 20, "010101": [0, 14], "010110": [0, 14], "0110": 0, "013e": 18, "02": [15, 18], "020e": 18, "02122442107773": 18, "02242": 2, "02459434j": 14, "02625": 2, "02998708j": 14, "03": 15, "03101213j": 14, "03525116j": 14, "03668541730983477": 23, "04": [15, 18], "04758323886585067": 18, "05": [0, 2, 3, 4, 18], "05395": 4, "06": 18, "0609050": 5, "0625": [0, 16], "06273307": 14, "06551571": 14, "06677383j": 14, "06844774j": 14, "07": [6, 18], "08": [0, 2, 3, 4], "08957": 2, "0909": 5, "09230004j": 16, "09723851": 14, "0b001011": 0, "0b010101": 0, "0b010110": 0, "0b100101": 0, "0b100110": 0, "0j": 16, "0x7fc434e2c400": 19, "0x7fc434e2ca60": 19, "0x7fc434e2cfa0": 19, "0x7fc434e2e410": 19, "0x7fc434e2efb0": 19, "0x7fc435615c30": 19, "0x7fc435723460": 19, "0x7fc435723a60": 19, "1": [0, 2, 3, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23], "10": [13, 18, 19, 20, 23], "100": 15, "1000": 3, "1000000101100000111011": 20, "100011": [0, 14], "100101": [0, 14], "100110": [0, 14], "101": 20, "1024": 4, "104": [15, 21], "1077416850249517": 20, "108": [20, 23], "108e": 15, "10_000": 20, "11": [0, 13, 19, 20, 23], "1102529j": 14, "11157654": 14, "112": 15, "12": [2, 13, 15, 16, 18, 23], "1207": 0, "12204343": 14, "1234": [9, 13, 14, 15, 19, 21], "12345": 20, "125": [0, 16], "126e": 18, "1278053627110059": 20, "1294": [15, 18], "12j": 16, "13": [0, 13, 18, 23], "13113848": 14, "132e": 15, "133": 20, "13327423j": 14, "13782298": 16, "13957088j": 14, "14": [13, 20], "15": [13, 15], "152e": 18, "1561685j": 14, "15624569": 14, "15828306": 14, "15x15": 15, "16": [13, 20], "160e": 18, "17": 13, "1711": [2, 4], "17181289596": 21, "17276745j": 14, "17558331": 14, "18": 13, "180": 15, "18007105": 14, "1808": 2, "18j": 16, "19": 0, "1e": [0, 2, 3, 4, 6, 15, 23], "1j": [0, 9, 16, 23], "2": [0, 1, 2, 4, 5, 8, 9, 11, 13, 14, 15, 16, 18, 19, 20, 23], "20835741": 14, "20881506": 14, "21": 0, "210": 20, "2104": 2, "2190712273": 9, "21928194": 14, "21984743e": 16, "22392824": 14, "23": 15, "23550198": 14, "23611476": 14, "24": [13, 19], "25": [0, 16], "25j": [0, 16], "26": 23, "26121865": 14, "263e": 18, "287e": 18, "29821173j": 14, "2d": 0, "2j": [0, 2, 16], "2n": 14, "3": [0, 2, 5, 9, 11, 13, 14, 15, 16, 18, 19, 20, 23], "30052742j": 14, "31980058j": 14, "31g": [20, 21], "32": [13, 19], "329": 18, "33731417j": 14, "339": 18, "345": 18, "3484557063616": 20, "35": [0, 23], "36730125j": 14, "3714141": 14, "38435478j": 14, "39": [13, 14, 15, 16, 18, 19, 20], "39075171": 14, "3j": 16, "4": [0, 2, 8, 9, 13, 14, 15, 16, 18, 19, 20, 21, 23], "416e": 18, "418e": 15, "427e": 18, "429e": 18, "4390672": 14, "439e": 15, "455e": 18, "4561973913865": 20, "46": 18, "464957764796": 23, "46x46": 18, "47": 20, "478": 15, "48": [13, 20], "488e": 18, "49094286j": 14, "4j": 16, "5": [0, 3, 9, 13, 14, 15, 16, 18, 19, 20, 23], "5094": 5, "51253171j": 14, "518e": 18, "529": 18, "547e": 18, "55717072551569": 9, "557e": 18, "56": [13, 19, 20], "561e": 18, "5626": 18, "57": 20, "58888": 22, "5j": [0, 16], "6": [0, 9, 13, 14, 15, 16, 18, 19, 20, 21, 23], "603e": 15, "6083": 0, "6332495815006": 15, "64": 14, "65": 20, "66": 20, "67794403659722": 15, "6787887956297": 15, "6787887956314": 15, "68381556798737": 15, "684e": 18, "6g": [0, 15, 18, 23], "6j": 16, "7": [0, 9, 13, 14, 15, 16, 18, 19, 23], "70": 20, "72": 18, "7288249991515": 15, "72x72": 18, "73105542j": 14, "747e": 15, "749e": 15, "75": [15, 20], "77": 18, "770421184784103e": 18, "8": [0, 13, 15, 16, 18, 19, 20, 23], "816e": 18, "826121241130568": 18, "8266321248744": 18, "835236570775": 20, "87160024816282": 18, "87363196954891": 18, "87363426554221": 18, "8736342801622": 18, "87363428118711": 18, "87387392946924": 18, "87421536374029": 18, "8742165643863": 18, "876e": 18, "9": [13, 14, 16, 19, 23], "91431234347536e": 18, "9289": 18, "940243511515908": 23, "949": 18, "958": 15, "9630419334856": 20, "99": 9, "990e": 18, "9924": 20, "9985212854201858": 23, "9985212854202294": 23, "9990810043136625": 18, "9991": 20, "9996731164188969": 23, "9998395119356727": 18, "A": [0, 1, 2, 3, 4, 5, 6, 8, 12, 13, 14, 16, 22, 23], "AND": 15, "As": [11, 13, 14, 18, 19, 23], "By": 21, "For": [0, 3, 4, 5, 8, 9, 11, 14, 15, 16, 22, 23], "If": [0, 1, 2, 3, 4, 5, 6, 13, 16], "In": [0, 8, 9, 11, 13, 14, 15, 16, 18, 19, 20, 23], "It": [0, 2, 3, 4, 13, 14, 16, 18, 20, 22], "Its": [3, 4], "NO": [15, 18], "No": 2, "Of": 11, "On": [14, 22], "One": [0, 23], "Such": 16, "That": [0, 3, 12, 16], "The": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "Their": 19, "Then": [0, 13], "There": 13, "These": [0, 5, 11, 16, 19], "To": [0, 8, 9, 11, 14, 18, 23], "With": [11, 14, 23], "_": [0, 1, 2, 4, 8, 11, 12, 15, 23], "_1": 12, "_2": 12, "__init__": 4, "_factr": 18, "_i": [0, 4], "_k": [0, 8, 11], "_nestedsequ": 4, "_supportsarrai": 4, "a_": [0, 4, 8, 9, 12, 16], "a_j": 1, "a_p": 0, "a_q": 0, "ab": [0, 23], "abil": 8, "abl": 22, "about": 21, "abov": [13, 16], "absenc": [0, 1, 4], "absolut": [0, 2, 4, 6], "acceler": 22, "accept": [12, 18], "access": [0, 9, 22], "accommod": 4, "accomod": 8, "accur": 8, "achiev": [2, 23], "across": 22, "act": [0, 2, 4, 9, 13, 15, 16], "action": [0, 1, 12, 16, 22, 23], "activ": [0, 15, 18, 20, 23], "active_spac": [0, 15, 18, 20, 21, 23], "actual": [6, 11], "ad": [0, 13, 18], "add": [13, 18], "addit": [0, 8, 16, 23], "addition": 2, "address": [0, 13], "addresses_to_str": [0, 7, 14], "adjac": 13, "advantag": 18, "after": [3, 18], "al": 2, "algebra": [2, 9, 16], "algorithm": [0, 2, 3, 18, 21], "alia": [0, 2], "align": [0, 11, 12], "all": [0, 1, 2, 3, 4, 6, 11, 13, 16, 20, 22], "alloc": 0, "allow": [0, 2, 5, 11, 13, 18, 22, 23], "along": 0, "alpha": [0, 1, 2, 4, 5, 6, 9, 11, 13, 14, 15, 16, 19, 20], "alpha_and_beta": 0, "alpha_i": 0, "alpha_j": 0, "alreadi": [0, 4, 12], "also": [0, 2, 3, 5, 9, 12, 14, 16, 18, 23], "altern": [0, 8], "alwai": [0, 2, 5, 12, 14, 23], "amen": 13, "amplitud": [0, 2, 5, 18, 20], "an": [0, 1, 2, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 23], "angl": 0, "ani": [0, 3, 4, 5, 11, 12, 19, 20], "annihil": [0, 16], "anoth": [2, 6], "ansatz": [0, 3, 4, 5, 10, 13, 17, 19, 20, 21], "ansatz_oper": 0, "ansatz_st": 18, "anti": [2, 5], "anticommut": 12, "ao": 0, "ap": 2, "api": [14, 21], "appear": [0, 2, 13, 16, 20], "append": [0, 6, 13, 18, 19, 20], "appli": [0, 1, 2, 3, 4, 9, 11, 12, 13, 14, 18, 19, 20, 21, 23], "applic": 12, "apply_": 14, "apply_diag_coulomb_evolut": [0, 7, 8, 23], "apply_fsim_g": [0, 7], "apply_fswap_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, 12, 23], "apply_on_site_interact": [0, 7, 14], "apply_orbital_rot": [0, 7, 12, 14, 21], "apply_quad_ham_evolut": 12, "apply_tunneling_interact": [0, 7, 14], "apply_unitari": [0, 7, 18], "appropri": [0, 11], "approx": 8, "approx_eq": [0, 7], "approxim": [0, 2, 3, 8, 18, 23], "apt": 22, "ar": [0, 1, 2, 4, 5, 6, 8, 9, 11, 12, 13, 14, 16, 19, 20, 22], "arbitrari": [4, 20], "arch": 22, "arg": [0, 4], "argument": [0, 2, 3, 8, 9, 12, 14, 23], "aris": 8, "arithmet": 16, "around": 23, "arrai": [0, 1, 2, 4, 6, 9, 11, 14, 16], "arxiv": [0, 2, 4, 5], "ascend": 20, "assembl": 2, "assert": 14, "assert_allclose_up_to_global_phas": [6, 7], "assertionerror": 6, "associ": [0, 3, 14, 16, 18], "assum": [0, 4, 14], "asterisk": 0, "asymmetr": 8, "atol": [0, 2, 4, 6], "atom": [0, 15, 18, 20, 21, 23], "attempt": 2, "attribut": [0, 3, 9, 15, 18, 20], "author": 21, "auto": 0, "avail": [9, 19, 22], "avoid": [0, 9, 16], "awar": 16, "ax": [0, 2], "axi": [0, 2], "b": [0, 2, 3, 6, 12, 15, 18], "back": 4, "backend": [13, 19], "backflow": 3, "background": 23, "balanc": [0, 4, 5, 18, 20], "barrier": 20, "base": [0, 2, 4], "basepass": 4, "basesamplerv2": 4, "basi": [0, 2, 4, 12, 15, 18, 20, 21, 23], "basic": [9, 13], "basis_g": [13, 19], "bear": 23, "becaus": [0, 2, 8, 9, 13, 15, 16, 18], "been": [0, 8], "befor": [0, 13, 16, 22, 23], "begin": [0, 2, 11, 12, 14, 20, 23], "behavior": [2, 4, 5, 19], "being": [2, 16, 18], "below": [0, 18, 23], "benchmark": 0, "beta": [0, 1, 2, 4, 5, 6, 9, 11, 13, 14, 15, 16, 19, 20], "beta_i": 0, "beta_j": 0, "better": 8, "between": [0, 2, 3, 11, 13], "bfg": [0, 2, 3, 15, 18], "bibtex": 21, "bit": [0, 13, 14], "bit_arrai": 0, "bitstr": [0, 14, 20], "bitstring_typ": [0, 14], "bitstringtyp": [0, 7, 14], "bla": 22, "bloc": 20, "block": 2, "block_diag": [0, 2], "bmod": 0, "bodi": [0, 1, 2, 5, 8, 9, 18, 23], "bond": 15, "bond_angle_deg": 15, "bond_dist": 18, "bool": [0, 1, 2, 3, 4, 5, 6], "both": [0, 1, 2, 4, 11, 15], "bound": [0, 2], "boundari": 0, "box": 13, "bq": 2, "bracket": 0, "braket": 0, "branch": 21, "brickwork": 15, "browser": 22, "buffer": 4, "build": [13, 17, 18, 20, 21, 22], "built": [19, 20, 23], "byte": [0, 4], "bz2": 0, "c": [2, 18], "c2v": 15, "cach": 0, "calcul": [0, 14, 18], "call": [0, 3, 8, 9, 12, 14, 16, 18, 20, 23], "callabl": [3, 18], "callback": [0, 2, 3, 18], "can": [0, 1, 2, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23], "cannot": 20, "canon": 0, "casci": [15, 18], "case": [0, 6, 13, 15], "categori": 21, "caus": 0, "cc": [18, 20], "ccsd": [0, 18, 20], "ccsd_energi": 0, "ccsd_t1": 0, "ccsd_t2": 0, "cd": 22, "cdot": 2, "cell": [9, 13, 14, 18, 19, 20, 23], "certain": [2, 13], "challeng": 11, "character": 0, "check": [2, 4, 6], "chemcor": 23, "chemic": 0, "chemical_potenti": 0, "chemistri": 21, "choic": [0, 6, 13, 14], "choleski": [0, 2], "choos": [2, 14], "chosen": 0, "ci": [15, 18], "circuit": [0, 4, 8, 13, 14, 17, 21], "circul": 0, "cisd": 0, "cisd_energi": 0, "cisd_vec": 0, "class": [0, 2, 4, 5, 9, 11, 15, 17, 18, 20, 21, 23], "clement": 2, "clone": 22, "close": [11, 18], "cluster": [0, 4, 5, 10, 17, 21], "co": [0, 15], "code": [4, 9, 13, 14, 16, 18, 19, 20, 23], "coeff": [0, 1, 4, 13, 19], "coeffici": [0, 1, 2, 4, 12, 16], "collect": [0, 2, 4, 18], "column": [0, 2, 12, 14], "com": [21, 22], "comb": 4, "combin": [0, 1, 4, 12, 13, 16], "command": 22, "commonli": [8, 20], "commun": [21, 22], "commut": 8, "compact": [8, 23], "compar": [0, 6, 23], "compil": 22, "complet": 0, "complex": [0, 1, 2, 4, 5, 9], "compon": [0, 16, 21], "compos": [4, 22], "compress": [0, 2], "compris": [0, 16], "comput": [0, 2, 4, 9, 12, 18, 21, 23], "concaten": [0, 14], "concret": 9, "condit": 0, "configur": [0, 4, 13, 14, 22], "conflict": 6, "conj": [2, 12, 20], "conjug": 2, "connect": [0, 11, 13], "consecut": [4, 20], "conserv": [0, 5, 16, 21], "conserves_particle_numb": [0, 16], "conserves_spin_z": [0, 16], "consid": [11, 12, 13], "consist": [0, 9, 13], "constant": [0, 5, 8, 9, 11, 13, 19], "constrain": 2, "constraint": [11, 18], "construct": [0, 1, 3, 4, 13, 14, 15, 16, 18, 19, 20, 23], "contain": [0, 2, 3, 5, 13, 16, 20, 21, 22], "contract": [2, 7, 21], "contract_diag_coulomb": [1, 7], "contract_num_op_sum": [1, 7], "contract_one_bodi": [1, 7], "contrast": 14, "control": [3, 13], "conveni": 14, "convent": 0, "converg": [3, 15, 18, 20, 23], "convers": [11, 18], "convert": [0, 1, 4, 14, 16, 18, 20, 21, 23], "coordin": 0, "coov": 20, "copi": [0, 16], "core": 0, "core_energi": 0, "correl": 3, "correspond": [0, 2, 3, 4, 8, 12, 13, 14, 18], "cost": 0, "coulomb": [0, 1, 2, 4, 5, 8, 11, 23], "count": [0, 13, 20], "count_op": [13, 19], "coupl": 0, "cours": 11, "cp": [13, 19], "cphaseg": 13, "cre": [0, 7], "cre_a": [0, 7, 16], "cre_b": [0, 7, 16], "creat": [0, 4, 13, 14, 16, 19, 20, 21, 23], "creation": [0, 4, 12, 16], "criteria": 16, "current": [0, 2, 18], "d": [2, 22], "d2h": 18, "dag": 4, "dagcircuit": 4, "dagger": [0, 1, 2, 8, 11, 12, 16], "dagger_": [0, 4, 8, 9, 12], "dagger_i": 1, "dagger_p": 0, "dagger_q": 0, "data": [0, 5, 13, 15, 16, 18, 20, 21, 23], "daunt": 8, "de": [0, 7], "decompos": [2, 4, 8, 13, 19], "decomposit": [0, 2, 4, 8, 10, 19, 21, 23], "decreas": [0, 18], "def": [2, 12, 15, 18, 23], "default": [0, 2, 3, 4, 5, 8, 9, 23], "default_rng": [0, 4, 5, 6, 9, 13, 15, 19, 20], "default_shot": [4, 20], "defaultdict": 18, "defin": [0, 2, 13, 15, 18, 20, 23], "definit": [0, 2, 3, 5, 14], "demonstr": [14, 18, 20], "denot": [0, 1, 2, 4, 12], "dens": 15, "densiti": [0, 5], "depend": [0, 2, 3, 22, 23], "depolar": 4, "depth": 11, "deriv": 8, "des_a": [0, 7, 16], "des_b": [0, 7, 16], "descend": [0, 16], "describ": [0, 1, 2, 8, 11, 12, 13, 16, 23], "descript": [0, 4], "design": [0, 2, 12], "desir": [0, 2, 5, 6], "destroi": [0, 16], "detail": [13, 19], "determin": [0, 2, 4, 14], "determinant": 0, "dev": 22, "devel": 22, "develop": [4, 21], "devic": [13, 19], "df_hamiltonian": [13, 19, 23], "df_hamiltonian_alt": 23, "diag": [0, 7], "diag_coulomb_indic": [0, 2], "diag_coulomb_jw": 13, "diag_coulomb_linop": [1, 7], "diag_coulomb_mat": [0, 2, 13, 19, 20, 23], "diagcoulombevolutionjw": [4, 7, 13, 19, 20], "diagcoulombevolutionspinlessjw": [4, 7], "diagon": [0, 1, 2, 4, 5, 8, 11, 23], "diagonal_coulomb_mat": 2, "diagonalcoulombhamiltonian": [0, 4, 5, 7], "dict": [0, 2, 3, 15, 18], "dictionari": [0, 16], "did": 0, "differ": [0, 2, 3, 9, 11, 13, 18, 22, 23], "dim": [0, 5, 7, 14, 16], "dim_a": [0, 14], "dim_b": [0, 14], "dimens": [0, 2, 5, 14], "dimension": [0, 2, 4, 14], "dipol": 0, "dipole_integr": 0, "direct": [0, 23], "directli": [13, 18, 22, 23], "directori": 22, "discuss": [8, 12, 13], "disjoint": 2, "disk": 0, "displai": [13, 16, 20], "distinguish": 14, "distribut": [4, 5], "divid": 8, "divis": [0, 16], "dnf": 22, "do": [8, 13, 16], "doc": [15, 18, 21], "docker": 21, "dockerfil": 22, "document": [0, 2], "doe": [0, 4, 16, 18, 20], "don": 11, "dooh": [20, 21, 23], "dot": 0, "doubl": [0, 2, 4, 5, 10, 21, 24], "double_factor": [0, 2, 7], "double_factorized_t2": [2, 7], "double_factorized_t2_alpha_beta": [2, 7], "doublefactorizedhamiltonian": [0, 4, 5, 7, 23], "down": 14, "draw": [13, 19], "drop": [4, 15, 18], "dropneglig": [4, 7], "dtype": [2, 4, 5, 9, 15, 18], "due": 20, "dump": [15, 18], "duplic": 0, "dure": 4, "e": [0, 2, 4, 8, 9, 11, 15, 16, 18, 20], "e_corr": [18, 20], "each": [0, 2, 3, 4, 5, 8, 11, 14, 16, 18, 22, 23], "edg": 0, "effect": [0, 4, 13], "effici": [8, 13, 16], "eig": [9, 16], "eigendecomposit": 12, "eigenvalu": [0, 2, 3, 9], "eigenvector": [0, 2], "eigh": [12, 23], "eigsh": 9, "einsum": 23, "either": [0, 1, 2, 4, 5, 6, 11], "electon": 4, "electron": [0, 1, 4, 5, 9, 13, 14, 15, 19, 20, 23], "element": [0, 1, 2, 4, 20, 23], "ell": 2, "els": [0, 5, 14], "elsewher": 0, "enabl": 2, "encount": 20, "end": [0, 2, 11, 12, 20, 23], "energi": [0, 3, 9, 12, 18, 20, 21, 23], "energy_nuc": [15, 18], "enough": 4, "ensur": 9, "entangl": [0, 17, 21], "entir": [2, 8], "entri": [0, 2, 4, 5, 11, 14, 23], "enum": 0, "enumer": [0, 18], "environ": 22, "epsilon": 3, "epsmch": 18, "equal": [0, 2, 5, 6, 13], "equal_nan": 6, "equilibrium": 15, "equival": [0, 4], "err_msg": 6, "error": [0, 2, 4, 6, 23], "especi": 16, "estim": 9, "et": 2, "etc": 0, "ethen": 18, "evalu": [3, 15], "even": 13, "everi": 12, "everywher": 14, "evolut": [0, 4, 9, 23], "evolv": [0, 23], "evolved_vec": 9, "evolved_vec_2": 9, "exact": [2, 8, 9, 23], "exact_st": 23, "exampl": [0, 4, 9, 11, 13, 14, 15, 16, 18, 19, 22], "exce": [2, 15, 23], "except": [2, 3], "excit": 13, "exist": [2, 4], "exp": [0, 2, 4, 6], "expand": 0, "expanded_diag_coulomb_mat": 2, "expanded_orbital_rot": 2, "expans": [2, 3], "expect": [0, 3], "expectation_one_body_pow": [0, 7], "expectation_one_body_product": [0, 7], "expectation_product_st": 0, "expens": [0, 2], "explain": [9, 11, 13, 14, 18, 23], "explan": [0, 19, 21], "explicit": 0, "explicitli": 0, "exploit": 21, "expm": 2, "expm_multipli": [9, 23], "expm_multiply_taylor": [2, 7], "exponenti": [8, 9, 23], "expos": [4, 13], "express": [11, 14, 23], "extra": 8, "extract": 20, "f": [3, 14, 15, 18, 20, 23], "facilit": 11, "fact": 15, "factor": [0, 2, 4, 5, 10, 21, 24], "failur": 6, "fake_provid": [13, 19], "fals": [0, 1, 2, 4, 5, 15, 16, 18], "far": 16, "fast": 0, "faster": [18, 21], "fault": 11, "fci": [0, 14, 15, 18], "fci_energi": 0, "fci_vec": 0, "fcidump": 0, "fcivec": 0, "fedora": 22, "feenberg": 3, "fermi": 0, "fermi_hubbard_1d": [0, 7], "fermi_hubbard_2d": [0, 7], "fermion": [0, 4, 5, 6, 8, 10, 11, 12, 16, 19, 20, 21], "fermion_oper": [0, 7], "fermionact": [0, 7], "fermionoper": [0, 4, 5, 7, 17, 21], "few": [14, 22], "fewer": [13, 19, 23], "ffsim": [7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23], "ffsim_vec_to_qiskit_vec": [4, 7], "ffsimsampl": [4, 7], "fidel": 23, "field": [0, 2], "fifth": 13, "file": [0, 22], "filter": 0, "final": [0, 3, 4, 5, 13, 19, 23], "final_givens_ansatz_op": 0, "final_orbital_rot": 0, "final_st": [18, 23], "final_state_vector": [4, 7], "finish": 23, "finit": 3, "first": [0, 2, 4, 8, 13, 14, 18, 20, 23], "fix": 14, "flag": 0, "float": [0, 2, 3, 4, 5, 6, 9, 12, 23], "float64": [9, 15, 18], "fock": [0, 4, 11, 14, 18, 21, 23], "focu": 9, "follow": [0, 2, 3, 4, 9, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 23], "foot": 0, "forg": [0, 17, 21], "form": [0, 1, 2, 4, 5, 8, 9, 11, 12, 16, 20, 23], "format": [0, 4], "formula": [0, 23], "fourth": [8, 13], "frac": [0, 2], "frac12": [0, 8, 9, 11], "frac18": 0, "framework": 22, "from": [0, 2, 4, 5, 6, 8, 11, 12, 13, 14, 15, 16, 18, 19, 21, 23], "from_diag_coulomb_mat": 0, "from_fcidump": 0, "from_fermion_oper": 0, "from_json": 0, "from_molecular_hamiltonian": [0, 23], "from_orbital_rot": 0, "from_paramet": [0, 13, 18], "from_scf": [0, 15, 18, 20, 21, 23], "from_t_amplitud": [0, 18, 20], "from_ucj_op": 0, "frozen": [18, 20], "fsim": 0, "fswap": 0, "ftol": [3, 18], "full": [0, 2, 13, 14, 15], "fulli": 9, "fun": [3, 15, 18], "function": [0, 1, 2, 3, 8, 9, 12, 14, 15, 16, 18, 19, 23], "fundament": 12, "further": [13, 14], "furthermor": [0, 2], "g": [0, 4, 15], "g_": 2, "g_1": 2, "g_i": 3, "g_k": 2, "g_l": 2, "gate": [0, 4, 10, 11, 15, 20, 21], "gener": [0, 3, 4, 5, 6, 8, 13, 14, 15, 19, 20, 21], "generate_norb_nelec": [6, 7], "generate_norb_nelec_spin": [6, 7], "generate_norb_nocc": [6, 7], "generate_norb_spin": [6, 7], "generate_preset_pass_manag": [13, 19], "genericbackendv2": [13, 19], "get": [0, 14, 15, 18, 20, 21, 23], "get_count": 20, "get_hcor": [15, 18], "get_ovlp": [15, 18], "git": 22, "github": [21, 22], "give": [0, 2, 8, 14, 19], "given": [0, 2, 4, 6, 8, 12], "givens_ansatz_op": [0, 4], "givens_decomposit": [2, 7], "givens_interaction_pair": 0, "givensansatzop": [0, 4, 7], "givensansatzopjw": [4, 7], "givensansatzopspinlessjw": [4, 7], "givensrot": [2, 7], "global": [4, 6], "global_depolar": 4, "go": [0, 13, 16], "good": 16, "gradient": [2, 3, 18], "greater": 3, "ground": [9, 18], "gt": [15, 18, 19, 20], "gto": [15, 18, 20, 21, 23], "gtol": 3, "guarante": [4, 19], "guess": [3, 18], "guid": [11, 15, 18, 19, 20, 21], "gzip": 0, "h": [0, 8, 9, 15, 18, 20, 23], "h1_x": 15, "h2_x": 15, "h2_y": 15, "h_": [0, 2, 8, 9], "h_0": [8, 23], "h_k": [8, 23], "ha": [0, 1, 2, 4, 5, 8, 11, 12, 13, 14, 18], "haar": 5, "ham": 14, "hamiltonian": [0, 3, 4, 5, 10, 15, 18, 20, 21, 24], "hand": 14, "handl": [20, 23], "happen": 13, "hardwar": 13, "hartre": [0, 4, 11, 14, 18, 21, 23], "hartree_fock": 0, "hartree_fock_jw": 13, "hartree_fock_st": [0, 7, 9, 14, 18, 21, 23], "hasattr": 18, "hash": 16, "have": [0, 2, 8, 9, 11, 12, 13, 14, 16, 18, 20, 22], "height": 5, "helper": 16, "here": [0, 2, 8, 12, 13, 15, 23], "hermitian": [0, 2, 5, 12], "hess_inv": [15, 18], "hf": [15, 18], "hf_energi": 0, "hf_mo_coeff": 0, "hf_mo_occ": 0, "high": 13, "higher": [0, 8, 23], "hilbert": 5, "ho": 20, "hold": [0, 3], "home": [15, 18, 22], "hop": [0, 15], "hopgateansatzoper": [0, 7, 15], "hot": 2, "how": [0, 8, 9, 11, 12, 13, 14, 21, 23], "howev": [8, 13, 21], "http": [0, 21, 22], "hubbard": 0, "hydroxyl": 20, "hyperparamet": [3, 18], "i": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "idea": 11, "ident": 0, "ignor": [0, 2, 8], "ij": [0, 1, 2, 4, 8, 11, 12], "ijab": 2, "ik": 12, "imag": 22, "implement": [0, 1, 3, 4, 8, 9, 11, 12, 13, 15, 18, 20, 21, 22, 24], "import": [0, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23], "impos": [11, 18], "improv": [3, 23], "includ": [0, 2, 4, 5, 8, 9, 12, 13, 14, 15, 18, 19, 21, 22], "incorpor": 0, "increas": [0, 14, 23], "increment": 3, "incur": 3, "independ": [0, 1, 4, 15], "index": [0, 2, 11, 14, 16], "indic": [0, 1, 2, 4, 5, 11, 14, 16], "individu": [8, 14, 16], "info": 18, "inform": [0, 9, 16, 18, 21, 23], "init_cach": [0, 7], "initi": [0, 3, 4, 5, 6, 9, 11, 13, 18, 19, 20, 23], "initial_st": 23, "initiali": 15, "input": [0, 1, 3, 4, 5, 6, 18, 20], "insert": 13, "instanc": [5, 9, 23], "instead": [0, 2, 4, 18, 23], "instruct": [21, 22], "instructionset": 19, "int": [0, 1, 2, 3, 4, 5, 6, 12, 15, 23], "integ": [0, 2, 4, 5, 6, 14], "integr": [0, 4], "interact": [0, 1, 2, 4, 5, 11, 13, 18, 20], "interaction_pair": [0, 5, 13, 15, 18, 20], "interfac": [18, 22], "interferomet": 2, "intermedi": 18, "intermediate_result": [3, 18], "intern": 16, "interpret": [0, 5, 11], "intor_symmetr": [15, 18], "introduc": [11, 12, 23], "invers": 4, "involv": [12, 13], "ip": 2, "ipykernel_4129": 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, 13], "item": 20, "iter": [0, 3, 4, 6, 18], "itertool": 2, "its": [0, 2, 4, 9, 13, 14, 15, 16, 23], "itself": [0, 14, 16], "j": [0, 1, 2, 4, 5, 8, 11, 12, 14, 15, 16], "jac": [3, 15, 18], "jastrow": [0, 3, 4, 5, 10, 17, 21], "ji": [0, 4, 11, 12], "jk": 12, "job": [4, 20], "jordan": [0, 4], "jordan_wign": [4, 7], "jq": 2, "json": [0, 15, 18], "jupyt": 22, "just": [0, 14, 18, 22, 23], "jwt": 4, "k": [0, 2, 3, 8, 9, 11, 16, 20, 23], "kappa": 0, "kappa_": 0, "keep": [0, 2], "kei": 20, "kij": 23, "know": 15, "known": [0, 8], "kpi": 23, "kqi": 23, "krj": 23, "kron": 0, "ksj": 23, "kwarg": [0, 4], "l": [0, 2, 3, 8, 11, 15, 18, 23], "label": [4, 14], "ladder": [8, 11], "lambda": [0, 4, 20], "lambda_i": [0, 1, 4, 12], "lambda_k": 12, "langl": 0, "larger": [0, 2, 3, 16], "last": [0, 2, 3, 4], "later": [19, 23], "lattic": [0, 11, 13, 18, 20], "layer": [0, 2, 13, 20], "lbfgsinvhessproduct": [15, 18], "ldot": [0, 2, 8, 11, 23], "lead": 0, "least": [2, 5], "left": [0, 4, 12, 14, 16], "len": [15, 18, 23], "length": [0, 4, 5, 14, 15], "leq": [0, 2, 5], "less": [2, 11], "let": [0, 13, 14, 16, 18, 19, 20, 23], "level": 23, "lexicograph": [0, 16], "lib": [15, 18], "libopenbla": 22, "librari": [0, 21], "like": [4, 11, 18, 22], "limit": [0, 2, 11, 13, 15, 18], "linalg": [0, 7, 9, 12, 16, 18, 21, 23], "lindep": 3, "line": [0, 11, 13, 18], "linear": [0, 1, 2, 3, 4, 9, 12, 13, 16], "linear_oper": [0, 7, 9, 16, 18, 21, 23], "linearli": 8, "linearoper": [0, 1, 3, 16, 18, 21, 23], "linop": [9, 16, 21, 23], "linux": 22, "list": [0, 2, 4, 5, 6, 11, 14, 15, 18, 20, 23], "ll": [9, 12, 13, 15, 18, 20, 23], "lm": 16, "load": 0, "local": [10, 17, 21], "localhost": 22, "log": [0, 4], "logarithm": 11, "logic": [12, 15], "longer": 11, "longest": 0, "lookup": 0, "losslessli": 0, "low": [0, 8, 23], "lower": [0, 2], "lowest": [0, 13, 14], "lt": [15, 18, 19, 20], "lu": 2, "lucj": [10, 13, 17, 21], "lup": [2, 7], "lvert": [0, 4, 11, 14], "lzma": 0, "m": [0, 1, 2, 12], "m_": [0, 1, 2], "maco": 22, "made": 23, "magnitud": 0, "mai": [0, 2, 3, 4, 11, 22, 23], "main": [18, 22], "maintain": 8, "make": [11, 13], "manag": [4, 13, 19, 22], "mani": [0, 9, 12, 14, 21], "manual": 23, "many_body_ord": 0, "map": [0, 4, 12, 13, 16], "mapsto": [0, 4, 12], "mat": [0, 1, 2, 4, 12, 14], "mat_aa": 2, "mat_ab": 2, "mat_bb": 2, "match": [0, 2], "match_global_phas": [2, 7], "math": [5, 15], "mathbf": [0, 8, 11, 12], "mathcal": [0, 1, 4, 8, 11, 12], "matric": [0, 1, 2, 4, 11, 12, 23], "matrix": [0, 1, 2, 3, 4, 5, 8, 9, 11, 12, 14, 16], "max": [3, 23], "max_error": 23, "max_term_length": 5, "max_vec": [0, 2, 23], "maxfun": 15, "maximum": [0, 2, 3, 5, 23], "maxit": [3, 18], "mcscf": [15, 18], "mea": 20, "meant": [4, 19], "measur": [5, 8, 20], "measure_al": 20, "mention": 8, "merg": [4, 19], "mergeorbitalrot": [4, 7, 13], "messag": [6, 15, 18], "method": [0, 2, 3, 11, 15, 16, 20, 21], "mid": 20, "might": 2, "mind": 23, "minim": [0, 2, 3, 13, 15, 18], "minimize_linear_method": [3, 7, 18], "minimizz": 15, "minimum": 4, "mk": 2, "mkap": 2, "mkbq": 2, "mkip": 2, "mkjq": 2, "mkpq": 2, "mo_coeff": 0, "mo_occ": 0, "mode": 12, "model": 0, "modifi": [0, 2], "modified_choleski": [2, 7], "modul": [0, 14, 15, 19, 20], "mol": [15, 18, 20, 21, 23], "mol_data": [15, 18, 20, 21, 23], "mol_hamiltonian": [9, 15, 18, 20, 23], "mole": [0, 15, 18, 20, 21, 23], "molecul": [0, 18, 21, 23], "molecular": [0, 5, 9, 10, 14, 15, 18, 20, 21, 23], "moleculardata": [0, 7, 15, 18, 20, 21, 23], "molecularhamiltonian": [0, 5, 7, 9, 23], "more": [0, 2, 3, 4, 8, 9, 11, 13, 14, 19, 23], "most": [0, 2, 16, 20], "motiv": 13, "mp2": 0, "mp2_energi": 0, "mp2_t2": 0, "mpl": [13, 19], "msg": [15, 18], "mu": 0, "much": [0, 2, 8, 13, 21], "multipl": [0, 9, 16, 23], "multipli": [0, 16], "multiport": 2, "multirefer": 0, "multireference_st": [0, 7], "multireference_state_prod": [0, 7, 15], "must": [0, 2, 3, 4, 5, 16, 20], "n": [0, 2, 3, 8, 9, 11, 12, 14, 20, 21, 23], "n2": [20, 21, 23], "n_": [0, 1, 4, 8, 11, 12, 14], "n_alpha": [4, 6, 20], "n_beta": [4, 6, 20], "n_frozen": [20, 23], "n_i": 4, "n_j": 4, "n_layer": 15, "n_p": 0, "n_param": [0, 13], "n_qubit": 4, "n_rep": [0, 5, 13, 18, 19, 20], "n_sampl": 0, "n_step": [0, 4, 13, 19, 23], "n_term": 5, "n_vec": 2, "n_x": 0, "n_y": 0, "name": [0, 9, 13, 14, 19, 22], "namedtupl": [0, 2], "nan": 6, "nao_nr": [15, 18, 20, 21, 23], "nativ": 21, "navig": 22, "ndarrai": [0, 1, 2, 3, 4, 5, 6, 12, 18, 23], "nearest": 0, "nearest_neighbor_interact": 0, "need": [0, 4, 9, 11, 13, 20, 22, 23], "neg": [0, 4], "neglig": 4, "neighbor": [0, 13], "nelec": [0, 1, 4, 6, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23], "nelectron": 18, "neq": 0, "nest": 2, "network": 11, "new": [0, 4, 12, 16], "newli": 0, "next": [13, 15, 23], "nfev": [3, 15, 18], "nit": [15, 18], "nitrogen": [20, 23], "njev": [15, 18], "nlinop": [3, 18], "nn": 0, "nocc": [0, 5, 6], "nocc_a": 2, "nocc_b": 2, "noisi": [4, 11], "non": [4, 11], "none": [0, 1, 2, 3, 4, 5, 6], "nonzero": [0, 2, 5, 11], "norb": [0, 1, 2, 4, 5, 6, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23], "norb_i": 0, "norb_rang": 6, "norb_x": 0, "norm": [0, 18], "normal": [0, 15, 16], "normal_ord": [0, 16], "note": [0, 2, 3, 13, 14, 16, 19, 21], "notebook": 22, "notic": 18, "notimplementederror": 4, "now": [9, 13, 15, 18, 20, 23], "np": [0, 2, 4, 5, 6, 9, 12, 13, 15, 18, 19, 20, 21, 23], "num_num_ansatz_op": [0, 4], "num_num_interaction_pair": 0, "num_op_sum_linop": [1, 7], "number": [0, 1, 2, 3, 4, 5, 6, 8, 9, 12, 14, 15, 16, 18, 21, 23], "number_oper": [0, 7], "numer": [0, 2, 4, 16], "numnumansatzopspinbalanc": [0, 4, 7], "numnumansatzopspinbalancedjw": [4, 7], "numopsumevolutionjw": [4, 7, 13, 19], "numopsumevolutionspinlessjw": [4, 7], "numpi": [0, 1, 2, 4, 6, 9, 11, 12, 13, 14, 15, 18, 19, 20, 21, 23], "o": [0, 15, 20], "o_1": 0, "o_2": 0, "o_k": 0, "obj": 0, "object": [0, 2, 3, 4, 5, 9, 16, 18, 20], "obtain": [0, 8, 9, 12, 13, 18, 23], "occ_a": 6, "occ_b": 6, "occup": [0, 6, 8, 12, 14], "occupi": [0, 4, 5, 6, 13, 14], "occupied_orbit": [0, 4, 13, 19, 20], "often": [8, 11, 18], "onc": [12, 13, 22], "one": [0, 1, 2, 4, 5, 8, 9, 13, 14, 18, 20, 22, 23], "one_body_basis_chang": 23, "one_body_energi": 23, "one_body_integr": 0, "one_body_linop": [1, 7], "one_body_squar": 0, "one_body_tensor": [0, 9, 23], "one_hot": [2, 7], "one_rdm": 0, "ones": 9, "onli": [0, 2, 4, 8, 11, 12, 13, 20, 22], "onsit": 0, "onto": [13, 16], "op": [0, 4, 16], "op1": [0, 16], "op2": [0, 16], "op3": 16, "op4": 16, "opaqu": 13, "open": [0, 11], "openbla": 22, "oper": [0, 1, 2, 3, 4, 5, 8, 11, 12, 16, 18, 22, 23], "oppos": 13, "opposit": [18, 20], "optim": [0, 2, 4, 7, 11, 13, 19, 21], "optimization_level": [13, 19], "optimize_kwarg": 3, "optimize_regular": 3, "optimize_vari": 3, "optimizeresult": [3, 18], "option": [0, 1, 2, 3, 4, 5, 9, 15, 18, 22], "orb": [0, 16], "orbit": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 18, 20, 21, 23], "orbital_rot": [0, 1, 2, 4, 12, 13, 14, 19, 20, 21, 23], "orbital_rotation_a": 2, "orbital_rotation_b": 2, "orbital_symmetri": 0, "orbitalrotationjw": [4, 7, 13, 19, 20], "orbitalrotationspinlessjw": [4, 7], "order": [0, 1, 2, 4, 5, 8, 9, 13, 14, 16, 19, 20, 23], "ordereddict": [13, 19], "org": 0, "origin": [0, 2, 11, 13, 23], "orthogon": [2, 5], "other": [0, 4, 11, 14, 18, 19, 20], "otherwis": 0, "our": [15, 18, 20, 23], "out": [2, 23], "output": [0, 3, 4, 13, 18, 20], "over": 0, "overrid": [0, 2], "overwritten": [0, 15, 18], "own": 4, "p": [0, 2, 8, 9, 11, 13, 18, 19, 20], "packag": [15, 18, 22], "pacman": 22, "pad": 0, "page": [8, 9, 11, 12, 13, 14], "pair": [0, 1, 2, 4, 5, 6, 11, 13, 14], "pairs_aa": [13, 18, 20], "pairs_ab": [13, 18, 20], "pairs_bb": 20, "paper": 11, "parallel": [2, 11, 13], "param": 0, "paramet": [0, 1, 2, 3, 4, 5, 6, 11, 15, 18], "parameter": 0, "parameter_valu": 4, "params_to_vec": [3, 18], "pars": [15, 18], "part": [0, 5, 8, 12, 14, 15], "particl": [0, 5, 6, 12, 16, 21], "pass": [0, 1, 2, 4, 9, 12, 13, 14, 15, 16, 18, 19], "pass_manag": [13, 19], "passmanag": [4, 13], "path": 0, "pathlik": 0, "pattern": [13, 15], "pauli": 0, "per": 23, "perform": [0, 2, 3, 8, 9, 12, 13, 20, 23], "period": 0, "periodic_i": 0, "periodic_x": 0, "permut": 2, "persist": 22, "ph": 5, "phase": [0, 2, 4, 6, 13], "phase_angl": 0, "phaseg": 13, "phi": [0, 2, 6], "phi_0": 11, "pi": [0, 15], "piec": [9, 16], "pip": 21, "pipelin": 13, "pivot": 2, "pk": 2, "place": [0, 2, 11, 13, 16, 22], "plain": 14, "pmatrix": [0, 2], "point": 0, "polar": 0, "posit": [2, 3, 5, 14], "possibl": [0, 2, 6, 20, 21], "possibli": [0, 18], "potenti": 0, "power": 0, "pq": [0, 2, 8, 9], "pqr": [0, 2, 8, 9, 23], "practic": 8, "pre": [11, 19], "pre_init": [4, 7, 13, 19], "pre_init_pass": [4, 7, 19], "precis": 6, "prepar": [0, 4, 20], "preparehartreefockjw": [4, 7, 13, 19, 20], "preparehartreefockspinlessjw": [4, 7, 20], "prepareslaterdeterminantjw": [4, 7, 13, 19, 20], "prepareslaterdeterminantspinlessjw": [4, 7, 20], "present": 3, "preserv": [16, 20], "preset_passmanag": [13, 19], "previou": [18, 20], "previous": [8, 13, 14, 18], "primit": [4, 17, 21], "primitivejob": 4, "primitiveresult": 4, "print": [0, 6, 13, 14, 15, 16, 18, 20, 21, 23], "probabl": [0, 4], "problem": 3, "process": 0, "processor": 11, "prod": 15, "prod_": [0, 4, 11], "prod_k": 8, "prod_state_sum": 0, "produc": [0, 13], "product": [0, 2, 8, 14, 15, 16], "productstatesum": [0, 7], "programmat": 16, "properti": [0, 2, 12], "proport": [0, 8], "protocol": 0, "provid": [9, 13, 19, 22], "pseudorandom": [0, 4, 5, 6], "psi": [0, 11], "pub": [4, 20], "pub_result": 20, "put": 15, "py": [9, 15, 18], "pypi": 22, "pyscf": [0, 4, 14, 15, 18, 20, 21, 23], "python3": [15, 18], "q": [0, 8, 9, 13, 19], "qdrift": 0, "qi": 0, "qiskit": [7, 13, 17, 21, 22], "qiskit_vec_to_ffsim_vec": [4, 7], "qk": 2, "quadrat": [8, 10, 21, 23], "qualnam": 0, "quantifi": 2, "quantiti": 0, "quantum": [0, 4, 8, 11, 13, 14, 17, 20, 21], "quantumcircuit": [4, 13, 19, 20], "quantumregist": [13, 19, 20], "qubit": [0, 4, 10, 11, 15, 19, 20, 21], "r": [0, 2, 8, 9], "radic": 20, "radius_1": 15, "radius_2": 15, "rais": [0, 2, 4, 5, 6], "random": [0, 4, 6, 7, 9, 13, 14, 15, 16, 19, 20, 21], "random_antihermitian": [5, 7], "random_density_matrix": [5, 7], "random_diagonal_coulomb_hamiltonian": [5, 7], "random_double_factorized_hamiltonian": [5, 7, 13, 19], "random_fermion_hamiltonian": [5, 7], "random_fermion_oper": [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, 13, 19, 20], "random_special_orthogon": [5, 7], "random_state_vector": [5, 7, 16], "random_t2_amplitud": [5, 7], "random_two_body_tensor": [5, 7, 9], "random_uccsd_restrict": [5, 7], "random_ucj_op_spin_balanc": [5, 7, 13, 19], "random_ucj_op_spin_unbalanc": [5, 7, 19], "random_ucj_op_spinless": [5, 7], "random_unitari": [5, 7, 13, 14, 19, 20, 21], "rang": [0, 2, 6, 13, 14, 15, 18, 20, 21, 23], "rangl": [0, 4, 11, 14], "rank": [0, 2, 5, 8, 13], "rather": [0, 5, 12, 14], "rccsd": 20, "rdm": [0, 7], "rdm1": 0, "rdm2": 0, "rdm3": 0, "rdm4": 0, "reach": 18, "read": 0, "real": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 18, 21], "reason": [4, 12], "recal": 13, "recommend": [4, 13, 16, 19, 21], "reconstruct": [0, 2, 23], "reconstruct_t2_alpha_beta": 2, "recover": 0, "reduc": [0, 2, 13], "reduced_matrix": [2, 7], "reduced_matrix_product_st": 0, "reduct": 18, "redund": 11, "refer": [0, 2, 3, 4, 5, 6, 11, 12, 14, 18, 21], "reference_occup": [0, 15], "reference_occupations_spati": 15, "reference_st": 18, "regress": 0, "regular": [3, 18], "rel": [0, 2, 4, 6, 18], "rel_reduction_of_f_": 18, "relat": 12, "releas": 21, "reorder": [0, 8], "rep": 13, "repeat": 15, "repeatedli": 12, "repetit": [0, 5, 11, 13, 18], "repositori": 22, "repr": 16, "repres": [0, 2, 3, 4, 5, 6, 9, 11, 14, 16, 18, 19], "represent": [0, 1, 2, 4, 5, 10, 14, 16, 21, 23], "reproduc": 23, "request": 0, "requir": [0, 9, 11, 13, 14, 22], "reshap": 14, "respect": [0, 2, 3, 23], "rest": [0, 13], "restrict": [0, 5, 13, 18], "result": [0, 1, 2, 3, 4, 5, 8, 9, 11, 13, 15, 18, 19, 20, 23], "retain": [0, 13], "retriev": 20, "return": [0, 1, 2, 3, 4, 5, 6, 12, 15, 16, 18, 23], "revers": 20, "rewrit": 0, "rewritten": 12, "rhf": [15, 18, 20, 21, 23], "right": [0, 4, 12, 14, 16], "ring": 0, "rise": [2, 8], "rng": [9, 13, 15, 19, 20], "rohf": 20, "root": 0, "rotat": [0, 1, 2, 4, 5, 8, 10, 11, 14, 21, 23], "rotated_vec": 14, "routin": [2, 9, 16], "row": [0, 2, 14], "rtol": [0, 2, 4, 6], "rtype": [2, 4], "run": [0, 4, 13, 15, 18, 19, 20, 21, 22, 23], "run_ccsd": 0, "run_cisd": 0, "run_fci": [0, 15, 18], "run_mp2": 0, "run_sci": 0, "rung": 11, "runner": [15, 18], "rust": 22, "rvert": 0, "s_": [0, 14], "s_a": 0, "s_b": 0, "sa": 9, "same": [0, 9, 11, 12, 13, 14, 15, 18, 20], "sampl": [0, 4, 5, 6, 9], "sample_slater_determin": [0, 7], "sample_state_vector": [0, 7], "sampler": [0, 4, 17, 21], "samplerpubresult": 4, "sandwich": 13, "satisfi": [0, 12, 16, 20, 22], "save": [0, 18, 22], "scalar": [0, 16], "scale": [8, 13, 15, 19], "scf": [0, 15, 18, 20, 21, 23], "scheme": 8, "schmidt": 5, "sci": 0, "sci_energi": 0, "sci_vec": 0, "scipi": [0, 2, 3, 15, 16, 18, 21, 23], "search": 14, "second": [0, 2, 4, 8], "section": [8, 19], "sector": [0, 1, 2, 4, 15], "see": [0, 2, 4, 11, 13, 14, 19, 22, 23], "seed": [0, 4, 5, 6, 9, 13, 14, 19, 20, 21], "seen": 20, "select": 3, "semi": 5, "sens": [13, 23], "separ": [11, 14], "sequenc": [0, 2, 4, 13], "seri": 2, "serial": 0, "serializ": [15, 18], "set": [0, 1, 2, 4, 5, 8, 11, 12, 13, 19, 23], "setup": 11, "sever": [9, 13], "shape": [0, 2, 5, 11, 23], "share": 11, "shell": [11, 18], "shot": [0, 4, 20], "should": [0, 1, 2, 4, 5, 6, 9, 12, 22], "show": [13, 15, 16, 18, 19, 20], "shown": 16, "side": 0, "sigma": [0, 1, 4, 8, 9, 11, 12], "sign": 0, "signatur": 3, "signific": 23, "significantli": 13, "similar": 18, "simpl": [20, 22], "simpler": 0, "simpli": [4, 13, 14], "simplist": 23, "simul": [0, 4, 8, 11, 12, 14, 17, 21, 24], "simulate_qdrift_double_factor": [0, 7], "simulate_trotter_diag_coulomb_split_op": [0, 7], "simulate_trotter_double_factor": [0, 7, 8, 23], "simulate_trotter_step_double_factor": 23, "simulatetrotterdiagcoulombsplitopjw": [4, 7], "simulatetrotterdoublefactorizedjw": [4, 7, 13, 19], "sin": [0, 15], "sinc": [0, 2, 11, 12, 15, 18], "singl": [0, 1, 4, 6, 8, 13, 23], "singlefactorizedhamiltonian": [0, 7], "singular": [0, 2], "site": [0, 15, 18], "size": [0, 3, 15], "slater": [0, 4], "slater_determin": [0, 7], "slater_determinant_amplitud": [0, 7], "slater_determinant_rdm": [0, 7], "slice": 2, "small": 2, "smaller": [0, 2, 8, 16, 23], "so": [0, 2, 6, 8, 11, 12, 13, 15, 16, 22, 23], "softwar": [0, 21], "solv": 3, "some": [0, 2, 6, 9, 13, 14, 16, 18, 20], "sometim": [0, 14], "sort": 20, "sourc": [0, 1, 2, 3, 4, 5, 6, 21], "space": [0, 9, 14, 15, 18, 20, 23], "span": [0, 2], "spars": [9, 16, 23], "sparsepauliop": 4, "sparsiti": 11, "spatial": [0, 1, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 23], "speci": [4, 6], "special": [2, 5, 11, 13, 21], "specif": 14, "specifi": [0, 1, 2, 3, 4, 5, 6, 9, 11, 13, 15, 23], "spectral": 0, "spin": [0, 1, 2, 4, 5, 6, 7, 12, 13, 14, 15, 16, 18, 20, 21], "spin_squar": [0, 7], "spin_sum": 0, "spinless": [0, 4, 5, 6], "split": [0, 4, 23], "squar": [0, 2, 11, 13, 18, 20], "stack": 0, "stage": [4, 13, 19], "standard": 18, "standard_norm": [9, 13, 19], "star": 2, "start": 0, "state": [0, 1, 3, 4, 5, 9, 10, 11, 12, 13, 18, 20, 21, 23], "statevector": [0, 4, 7], "static": 0, "statist": 20, "statu": [15, 18], "step": [0, 4, 8, 12, 15, 19, 23], "step_tim": 23, "still": [0, 8], "sto": [0, 15, 18, 23], "stop": [3, 15, 18], "store": [0, 2, 4, 6, 9, 11, 13, 18, 19, 23], "store_cisd_vec": 0, "store_fci_vec": 0, "store_sci_vec": 0, "store_t1": 0, "store_t2": 0, "str": [0, 2, 4, 6], "straightforward": 2, "strategi": 0, "strength": 0, "strictli": 3, "string": [0, 14, 16], "strings_a": 0, "strings_b": 0, "strings_to_address": [0, 7], "structur": [0, 8], "sub": 0, "subdirectori": 22, "submit": 20, "subroutin": 12, "subspac": [0, 2, 16], "substitut": [0, 5], "subsystem": [14, 22], "subtract": [0, 16], "success": [15, 18], "sudo": 22, "suffix": 15, "suggest": 19, "sum": [0, 4, 8, 23], "sum_": [0, 1, 2, 4, 8, 9, 11, 12, 23], "sum_j": 12, "sum_k": [8, 12], "sum_p": 0, "sum_t": 0, "summat": 0, "support": [0, 2, 9, 14, 16, 20, 22], "supportsapplyunitari": [0, 7], "supportsapproximateequ": [0, 7], "supportsdiagon": [0, 7], "supportsfermionoper": [0, 7], "supportslinearoper": [0, 7], "supportstrac": [0, 7], "suzuki": [0, 23], "swap": [0, 11, 13], "symmetr": [0, 2, 4, 5, 8, 11], "symmetri": [0, 12, 15, 18, 20, 21, 23], "system": [0, 4, 6, 12, 14, 22], "t": [0, 2, 4, 8, 11, 12, 20, 21], "t1": 0, "t1a": 0, "t1b": 0, "t2": [0, 2, 5, 18, 20], "t2_amplitud": 2, "t2aa": 0, "t2ab": 0, "t2bb": 0, "t_": 2, "tabl": [0, 16], "take": [0, 3, 18, 19], "taken": 11, "target": [2, 13], "target_orb": 0, "tau": [0, 1, 4, 8, 9, 11], "taylor": 2, "tensor": [0, 1, 2, 5, 8, 9, 18, 23], "term": [0, 2, 5, 8, 11, 16, 23], "test": [7, 21, 23], "text": [0, 8, 9], "th": [2, 12], "than": [0, 4, 5, 12, 13, 14, 18, 21], "thei": [0, 9, 11, 12, 16], "them": [11, 13, 14], "therefor": [0, 2, 11], "theta": [0, 15], "thi": [0, 2, 4, 8, 9, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23], "think": 2, "third": [0, 2], "those": [3, 18], "though": 13, "three": [0, 1, 4, 9, 16], "threshold": [0, 2, 3], "thu": 8, "time": [0, 2, 3, 4, 9, 13, 14, 19, 20, 23], "titl": 21, "tmp": [9, 15, 18], "tmpm19br8hy": 15, "tmpqg7_8pjf": 18, "to_diag_coulomb_mat": 0, "to_fcidump": 0, "to_json": 0, "to_molecular_hamiltonian": 0, "to_number_represent": 0, "to_orbital_rot": 0, "to_paramet": [0, 18], "to_z_represent": 0, "tol": [0, 2, 23], "toler": [0, 2, 4, 6, 11, 23], "too": 2, "top": 20, "topologi": [11, 13, 18], "toru": 0, "total": [4, 8, 15, 18, 23], "tox": [15, 18], "trace": [0, 5, 7, 9, 23], "tracea": [9, 23], "trajectori": 0, "transform": [0, 1, 4], "transformationpass": 4, "transpil": [4, 13, 17, 21], "transpiled_opt": 13, "treat": 0, "triangl": 11, "trianglular": [0, 2], "triangular": [0, 2, 4, 5], "triplet": 6, "trotter": [0, 4, 21, 24], "true": [0, 2, 3, 4, 6, 16, 18, 20], "truncat": 8, "try": 23, "tunnel": 0, "tupl": [0, 1, 2, 4, 5, 6, 12, 15, 16, 23], "tutori": [21, 23], "twice": [0, 15, 19], "two": [0, 2, 5, 8, 9, 11, 13, 14, 15, 18, 22, 23], "two_body_integr": 0, "two_body_tensor": [0, 2, 9, 23], "type": [0, 1, 2, 3, 4, 5, 6, 20, 22], "typeerror": 0, "typic": 0, "u": [0, 1, 2, 4, 8, 11, 12], "u_": 4, "u_k": 0, "ubuntu": 22, "uccsd": [0, 5, 20], "uccsdoprestrictedr": [0, 5, 7], "ucj": [0, 4, 5], "ucj_balanced_jw": 13, "ucj_op": [0, 4, 13, 19, 20], "ucjanglesopspinbalanc": [0, 7], "ucjoperatorjw": 4, "ucjopspinbalanc": [0, 4, 5, 7, 11, 13, 18, 20], "ucjopspinbalancedjw": [4, 7, 13, 19, 20], "ucjopspinless": [0, 4, 5, 7], "ucjopspinlessjw": [4, 7], "ucjopspinunbalanc": [0, 4, 5, 7, 11, 20], "ucjopspinunbalancedjw": [4, 7, 13, 19, 20], "uhf": 20, "unbalanc": [0, 4, 5, 20], "uncorrel": 0, "under": [0, 4], "underli": 4, "unifi": 20, "uniform": [0, 4, 5], "unimpl": 4, "union": [2, 4], "unit": 2, "unitari": [0, 1, 2, 4, 5, 8, 10, 12, 14, 17, 21], "univers": 2, "unlik": 0, "unord": 0, "untouch": 0, "up": [0, 2, 6, 8, 14, 22], "updat": [0, 8], "upon": 16, "upper": [0, 2, 4, 5, 11], "url": 21, "us": [0, 1, 2, 3, 4, 5, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 21, 23], "usag": [0, 2, 16, 19], "user": 22, "userwarn": [9, 15, 18], "usual": 0, "util": [2, 5, 6, 8], "v": [0, 20], "v_": 0, "v_i": 2, "v_j": 2, "vacuum": 4, "valid": [0, 4, 5, 6], "valu": [0, 1, 2, 3, 4, 5, 6, 9, 11, 18, 19, 23], "valueerror": [0, 2, 4, 5], "vari": [0, 4], "variabl": [14, 23], "variant": [11, 13, 18], "variat": [0, 3, 11, 18], "variation": 18, "varphi": 0, "vdot": [18, 21, 23], "ve": 23, "vec": [0, 1, 2, 4, 9, 12, 14, 16, 21, 23], "vec_a": 0, "vec_b": 0, "vector": [0, 1, 2, 3, 4, 5, 9, 10, 11, 12, 15, 16, 18, 21], "verbos": 6, "verifi": 2, "version": 4, "vertic": 0, "via": [0, 23], "view": [0, 16], "volum": 22, "w": 0, "wa": [0, 3, 4, 11], "wai": 11, "want": 13, "warn": [9, 15, 18, 20], "water": 15, "wavefunct": [3, 18], "we": [0, 2, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "web": 22, "weight": 14, "well": [3, 14, 21, 22, 23], "when": [0, 3, 4, 9, 11, 13, 14, 16, 19, 21], "whenev": 0, "where": [0, 1, 2, 3, 4, 5, 8, 11, 12, 14, 22, 23], "whether": [0, 1, 2, 3, 4, 5, 16], "which": [0, 2, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16, 22, 23], "while": [8, 11], "whose": [0, 2, 14], "width": 5, "wigner": [0, 4], "william": 2, "window": [21, 22], "wise": 2, "with_final_givens_ansatz_op": 0, "with_final_orbital_rot": [0, 5], "with_phase_angl": 0, "with_phi": 0, "within": [0, 2, 13, 16, 18, 21], "without": [11, 13, 18], "won": 21, "word": [0, 11, 20], "work": [9, 13, 15, 18, 19, 21, 22], "workflow": 20, "would": [13, 14], "wrapper": 23, "write": 23, "written": 8, "wrote": 23, "wsl": 22, "x": [0, 3, 4, 13, 15, 18, 19, 20], "x0": [3, 15, 18], "xx_plus_yi": [13, 19], "xxplusyyg": [13, 19], "y": 0, "yaml": 22, "yet": [9, 18], "yield": [0, 2, 4, 8, 11, 15, 23], "you": [0, 1, 2, 4, 9, 14, 18, 21, 22, 23], "your": [19, 22], "z": [0, 1, 2, 4, 5, 12, 16, 21], "z_represent": [0, 1, 4, 5], "zero": [0, 2, 4, 9, 19], "zip": [0, 15, 18, 23], "\u03c8": 18}, "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", "The local unitary cluster Jastrow (LUCJ) ansatz", "Orbital rotations and quadratic Hamiltonians", "Qubit gate decompositions of fermionic gates", "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", "How to build and transpile Qiskit quantum circuits", "How to use ffsim\u2019s Qiskit Sampler primitive", "ffsim", "Installation", "Implementing Trotter simulation of the double-factorized Hamiltonian", "Tutorials"], "titleterms": {"": 20, "The": 11, "action": 9, "an": 20, "ansatz": [11, 15, 18], "api": 7, "applic": 8, "background": 8, "balanc": [11, 19], "brief": 8, "build": [15, 19, 23], "can": 20, "choos": 15, "circuit": [19, 20], "cite": 21, "class": 16, "close": 20, "cluster": [11, 13, 18, 19], "code": 21, "comput": 15, "content": 21, "contract": 1, "coulomb": [13, 19], "criteria": 20, "data": 9, "decomposit": 13, "determin": [13, 19], "diagon": [13, 19], "docker": 22, "doubl": [8, 13, 19, 23], "energi": 15, "entangl": 15, "evolut": [8, 12, 13, 19], "exampl": [20, 21], "explan": 10, "factor": [8, 13, 19, 23], "fermion": [13, 14], "fermionoper": 16, "ffsim": [0, 1, 2, 3, 4, 5, 6, 20, 21], "ffsimsampl": 20, "fock": [13, 19], "forg": 15, "formula": 8, "from": [20, 22], "gate": [13, 14, 19], "gener": [11, 18], "guid": 17, "hamiltonian": [8, 9, 12, 13, 19, 23], "hartre": [13, 19], "how": [15, 16, 17, 18, 19, 20], "implement": 23, "initi": 15, "instal": [21, 22], "jastrow": [11, 13, 18, 19], "linalg": 2, "linear": 18, "linearoper": 9, "local": [11, 13, 18], "lucj": [11, 18, 20], "merg": 13, "method": 18, "molecul": [15, 20], "molecular": 8, "more": 20, "number": [13, 19], "occup": 15, "open": 20, "oper": [9, 13, 15, 19], "optim": [3, 15, 18], "orbit": [12, 13, 19], "overview": 19, "pip": 22, "prepar": [13, 19], "primit": 20, "qiskit": [4, 19, 20], "quadrat": 12, "quantum": 19, "qubit": 13, "random": 5, "refer": [7, 15], "represent": [8, 9], "rotat": [12, 13, 19], "sampl": 20, "sampler": 20, "scipi": 9, "shell": 20, "simul": [13, 15, 18, 19, 23], "slater": [13, 19], "sourc": 22, "spin": [11, 19], "spinless": 14, "state": [14, 19], "sum": [13, 19], "suzuki": 8, "test": 6, "time": [8, 12], "transform": 19, "transpil": 19, "treat": 14, "trotter": [8, 13, 19, 23], "tutori": 24, "ucj": [11, 13, 18, 19], "unbalanc": [11, 19], "unitari": [11, 13, 18, 19], "us": [16, 20, 22], "vector": 14, "via": [8, 9], "within": 22}}) \ No newline at end of file +Search.setIndex({"alltitles": {"API reference": [[7, null]], "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": [[15, "Build-a-molecule"]], "Build the Hamiltonian": [[23, "Build-the-Hamiltonian"]], "Choose reference occupations": [[15, "Choose-reference-occupations"]], "Circuit transpilation": [[19, "Circuit-transpilation"]], "Citing ffsim": [[21, "citing-ffsim"]], "Code example": [[21, "code-example"]], "Compute energy": [[15, "Compute-energy"]], "Contents": [[21, "contents"]], "Criteria for circuits that FfsimSampler can sample": [[20, "Criteria-for-circuits-that-FfsimSampler-can-sample"]], "Data representation": [[9, "Data-representation"]], "Diagonal Coulomb evolution": [[13, "Diagonal-Coulomb-evolution"], [19, "Diagonal-Coulomb-evolution"]], "Double-factorized representation": [[8, "Double-factorized-representation"]], "Double-factorized representation of the molecular Hamiltonian": [[8, null]], "Example of using FfsimSampler": [[20, "Example-of-using-FfsimSampler"]], "Explanations": [[10, null]], "Gates": [[14, "Gates"]], "General UCJ ansatz": [[18, "General-UCJ-ansatz"]], "Hamiltonians": [[9, null]], "Hartree-Fock and Slater determinant preparation": [[13, "Hartree-Fock-and-Slater-determinant-preparation"]], "How to build and transpile Qiskit quantum circuits": [[19, null]], "How to simulate entanglement forging": [[15, null]], "How to simulate the local unitary cluster Jastrow (LUCJ) ansatz": [[18, null]], "How to use ffsim\u2019s Qiskit Sampler primitive": [[20, null]], "How to use the FermionOperator class": [[16, null]], "How-to guides": [[17, null]], "Implement Trotter simulation": [[23, "Implement-Trotter-simulation"]], "Implementing Trotter simulation of the double-factorized Hamiltonian": [[23, null]], "Initialize ansatz operator": [[15, "Initialize-ansatz-operator"]], "Install from source": [[22, "install-from-source"]], "Installation": [[21, "installation"], [22, null]], "LUCJ ansatz": [[18, "LUCJ-ansatz"]], "Locality in the UCJ operator": [[13, "Locality-in-the-UCJ-operator"]], "Merging orbital rotations": [[13, "Merging-orbital-rotations"]], "More examples": [[20, "More-examples"]], "Number operator sum evolution": [[13, "Number-operator-sum-evolution"], [19, "Number-operator-sum-evolution"]], "Operator action via SciPy LinearOperators": [[9, "Operator-action-via-SciPy-LinearOperators"]], "Optimize energy": [[15, "Optimize-energy"]], "Optimize with the linear method": [[18, "Optimize-with-the-linear-method"]], "Orbital rotation": [[13, "Orbital-rotation"], [19, "Orbital-rotation"]], "Orbital rotations": [[12, "Orbital-rotations"]], "Orbital rotations and quadratic Hamiltonians": [[12, null]], "Overview of gates": [[19, "Overview-of-gates"]], "Pip install": [[22, "pip-install"]], "Prepare Hartree-Fock state": [[19, "Prepare-Hartree-Fock-state"]], "Prepare Slater determinant": [[19, "Prepare-Slater-determinant"]], "Qubit gate decompositions of fermionic gates": [[13, null]], "Sampling from an LUCJ circuit for a closed-shell molecule": [[20, "Sampling-from-an-LUCJ-circuit-for-a-closed-shell-molecule"]], "Sampling from an LUCJ circuit for an open-shell molecule": [[20, "Sampling-from-an-LUCJ-circuit-for-an-open-shell-molecule"]], "Spin-balanced and spin-unbalanced ansatzes": [[11, "Spin-balanced-and-spin-unbalanced-ansatzes"]], "Spin-balanced unitary cluster Jastrow (UCJ) operator": [[19, "Spin-balanced-unitary-cluster-Jastrow-(UCJ)-operator"]], "Spin-unbalanced unitary cluster Jastrow (UCJ) operator": [[19, "Spin-unbalanced-unitary-cluster-Jastrow-(UCJ)-operator"]], "State preparation gates": [[19, "State-preparation-gates"]], "State vectors": [[14, "State-vectors"]], "State vectors and gates": [[14, null]], "The general unitary cluster Jastrow (UCJ) ansatz": [[11, "The-general-unitary-cluster-Jastrow-(UCJ)-ansatz"]], "The local UCJ (LUCJ) ansatz": [[11, "The-local-UCJ-(LUCJ)-ansatz"]], "The local unitary cluster Jastrow (LUCJ) ansatz": [[11, null]], "Time evolution by a quadratic Hamiltonian": [[12, "Time-evolution-by-a-quadratic-Hamiltonian"]], "Treating spinless fermions": [[14, "Treating-spinless-fermions"]], "Trotter simulation of double-factorized Hamiltonian": [[13, "Trotter-simulation-of-double-factorized-Hamiltonian"], [19, "Trotter-simulation-of-double-factorized-Hamiltonian"]], "Tutorials": [[24, null]], "Unitary cluster Jastrow (UCJ) operator": [[13, "Unitary-cluster-Jastrow-(UCJ)-operator"]], "Unitary transformation gates": [[19, "Unitary-transformation-gates"]], "Use within Docker": [[22, "use-within-docker"]], "ffsim": [[0, null], [21, null]], "ffsim.contract": [[1, null]], "ffsim.linalg": [[2, null]], "ffsim.optimize": [[3, null]], "ffsim.qiskit": [[4, null]], "ffsim.random": [[5, null]], "ffsim.testing": [[6, null]]}, "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/lucj", "explanations/orbital-rotation", "explanations/qiskit-gate-decompositions", "explanations/state-vectors-and-gates", "how-to-guides/entanglement-forging", "how-to-guides/fermion-operator", "how-to-guides/index", "how-to-guides/lucj", "how-to-guides/qiskit-circuits", "how-to-guides/qiskit-sampler", "index", "install", "tutorials/double-factorized-trotter", "tutorials/index"], "envversion": {"nbsphinx": 4, "sphinx": 64, "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/lucj.ipynb", "explanations/orbital-rotation.ipynb", "explanations/qiskit-gate-decompositions.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", "how-to-guides/qiskit-circuits.ipynb", "how-to-guides/qiskit-sampler.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.diagcoulombevolutionspinlessjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.dropnegligible method)": [[4, "ffsim.qiskit.DropNegligible.__init__", false]], "__init__() (ffsim.qiskit.ffsimsampler method)": [[4, "ffsim.qiskit.FfsimSampler.__init__", false]], "__init__() (ffsim.qiskit.givensansatzopjw method)": [[4, "ffsim.qiskit.GivensAnsatzOpJW.__init__", false]], "__init__() (ffsim.qiskit.givensansatzopspinlessjw method)": [[4, "ffsim.qiskit.GivensAnsatzOpSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.numnumansatzopspinbalancedjw method)": [[4, "ffsim.qiskit.NumNumAnsatzOpSpinBalancedJW.__init__", false]], "__init__() (ffsim.qiskit.numopsumevolutionjw method)": [[4, "ffsim.qiskit.NumOpSumEvolutionJW.__init__", false]], "__init__() (ffsim.qiskit.numopsumevolutionspinlessjw method)": [[4, "ffsim.qiskit.NumOpSumEvolutionSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.__init__", false]], "__init__() (ffsim.qiskit.orbitalrotationspinlessjw method)": [[4, "ffsim.qiskit.OrbitalRotationSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.preparehartreefockjw method)": [[4, "ffsim.qiskit.PrepareHartreeFockJW.__init__", false]], "__init__() (ffsim.qiskit.preparehartreefockspinlessjw method)": [[4, "ffsim.qiskit.PrepareHartreeFockSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.prepareslaterdeterminantjw method)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantJW.__init__", false]], "__init__() (ffsim.qiskit.prepareslaterdeterminantspinlessjw method)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.simulatetrotterdiagcoulombsplitopjw method)": [[4, "ffsim.qiskit.SimulateTrotterDiagCoulombSplitOpJW.__init__", false]], "__init__() (ffsim.qiskit.simulatetrotterdoublefactorizedjw method)": [[4, "ffsim.qiskit.SimulateTrotterDoubleFactorizedJW.__init__", false]], "__init__() (ffsim.qiskit.ucjopspinbalancedjw method)": [[4, "ffsim.qiskit.UCJOpSpinBalancedJW.__init__", false]], "__init__() (ffsim.qiskit.ucjopspinlessjw method)": [[4, "ffsim.qiskit.UCJOpSpinlessJW.__init__", false]], "__init__() (ffsim.qiskit.ucjopspinunbalancedjw method)": [[4, "ffsim.qiskit.UCJOpSpinUnbalancedJW.__init__", false]], "action (ffsim.fermionaction attribute)": [[0, "ffsim.FermionAction.action", false]], "active_space (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.active_space", false]], "addresses_to_strings() (in module ffsim)": [[0, "ffsim.addresses_to_strings", 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_fswap_gate() (in module ffsim)": [[0, "ffsim.apply_fswap_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_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]], "bit_array (ffsim.bitstringtype attribute)": [[0, "ffsim.BitstringType.BIT_ARRAY", false]], "bitstringtype (class in ffsim)": [[0, "ffsim.BitstringType", 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]], "cisd_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.cisd_energy", false]], "cisd_vec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.cisd_vec", 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.diagonalcoulombhamiltonian attribute)": [[0, "ffsim.DiagonalCoulombHamiltonian.constant", 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() (in module ffsim)": [[0, "ffsim.diag", false]], "diag_coulomb_linop() (in module ffsim.contract)": [[1, "ffsim.contract.diag_coulomb_linop", false]], "diag_coulomb_mats (ffsim.diagonalcoulombhamiltonian attribute)": [[0, "ffsim.DiagonalCoulombHamiltonian.diag_coulomb_mats", false]], "diag_coulomb_mats (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.diag_coulomb_mats", false]], "diag_coulomb_mats (ffsim.ucjopspinbalanced attribute)": [[0, "ffsim.UCJOpSpinBalanced.diag_coulomb_mats", false]], "diag_coulomb_mats (ffsim.ucjopspinless attribute)": [[0, "ffsim.UCJOpSpinless.diag_coulomb_mats", false]], "diag_coulomb_mats (ffsim.ucjopspinunbalanced attribute)": [[0, "ffsim.UCJOpSpinUnbalanced.diag_coulomb_mats", false]], "diagcoulombevolutionjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW", false]], "diagcoulombevolutionspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.DiagCoulombEvolutionSpinlessJW", false]], "diagonalcoulombhamiltonian (class in ffsim)": [[0, "ffsim.DiagonalCoulombHamiltonian", 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]], "double_factorized_t2_alpha_beta() (in module ffsim.linalg)": [[2, "ffsim.linalg.double_factorized_t2_alpha_beta", 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]], "fermi_hubbard_2d() (in module ffsim)": [[0, "ffsim.fermi_hubbard_2d", 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]], "ffsimsampler (class in ffsim.qiskit)": [[4, "ffsim.qiskit.FfsimSampler", false]], "final_orbital_rotation (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.ucjopspinbalanced attribute)": [[0, "ffsim.UCJOpSpinBalanced.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.ucjopspinless attribute)": [[0, "ffsim.UCJOpSpinless.final_orbital_rotation", false]], "final_orbital_rotation (ffsim.ucjopspinunbalanced attribute)": [[0, "ffsim.UCJOpSpinUnbalanced.final_orbital_rotation", false]], "final_state_vector() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.final_state_vector", false]], "from_diag_coulomb_mats() (ffsim.numnumansatzopspinbalanced static method)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.from_diag_coulomb_mats", false]], "from_fcidump() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_fcidump", false]], "from_fermion_operator() (ffsim.diagonalcoulombhamiltonian static method)": [[0, "ffsim.DiagonalCoulombHamiltonian.from_fermion_operator", false]], "from_json() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_json", 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_orbital_rotation() (ffsim.givensansatzop static method)": [[0, "ffsim.GivensAnsatzOp.from_orbital_rotation", false]], "from_parameters() (ffsim.givensansatzop static method)": [[0, "ffsim.GivensAnsatzOp.from_parameters", false]], "from_parameters() (ffsim.hopgateansatzoperator static method)": [[0, "ffsim.HopGateAnsatzOperator.from_parameters", false]], "from_parameters() (ffsim.numnumansatzopspinbalanced static method)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.from_parameters", false]], "from_parameters() (ffsim.uccsdoprestrictedreal static method)": [[0, "ffsim.UCCSDOpRestrictedReal.from_parameters", false]], "from_parameters() (ffsim.ucjanglesopspinbalanced static method)": [[0, "ffsim.UCJAnglesOpSpinBalanced.from_parameters", false]], "from_parameters() (ffsim.ucjopspinbalanced static method)": [[0, "ffsim.UCJOpSpinBalanced.from_parameters", false]], "from_parameters() (ffsim.ucjopspinless static method)": [[0, "ffsim.UCJOpSpinless.from_parameters", false]], "from_parameters() (ffsim.ucjopspinunbalanced static method)": [[0, "ffsim.UCJOpSpinUnbalanced.from_parameters", false]], "from_scf() (ffsim.moleculardata static method)": [[0, "ffsim.MolecularData.from_scf", false]], "from_t_amplitudes() (ffsim.ucjanglesopspinbalanced static method)": [[0, "ffsim.UCJAnglesOpSpinBalanced.from_t_amplitudes", false]], "from_t_amplitudes() (ffsim.ucjopspinbalanced static method)": [[0, "ffsim.UCJOpSpinBalanced.from_t_amplitudes", false]], "from_t_amplitudes() (ffsim.ucjopspinless static method)": [[0, "ffsim.UCJOpSpinless.from_t_amplitudes", false]], "from_t_amplitudes() (ffsim.ucjopspinunbalanced static method)": [[0, "ffsim.UCJOpSpinUnbalanced.from_t_amplitudes", false]], "from_ucj_op() (ffsim.ucjanglesopspinbalanced static method)": [[0, "ffsim.UCJAnglesOpSpinBalanced.from_ucj_op", 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_nocc() (in module ffsim.testing)": [[6, "ffsim.testing.generate_norb_nocc", 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]], "givensansatzop (class in ffsim)": [[0, "ffsim.GivensAnsatzOp", false]], "givensansatzopjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.GivensAnsatzOpJW", false]], "givensansatzopspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.GivensAnsatzOpSpinlessJW", 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]], "hf_mo_coeff (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.hf_mo_coeff", false]], "hf_mo_occ (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.hf_mo_occ", false]], "hopgateansatzoperator (class in ffsim)": [[0, "ffsim.HopGateAnsatzOperator", false]], "i (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.i", false]], "init_cache() (in module ffsim)": [[0, "ffsim.init_cache", false]], "int (ffsim.bitstringtype attribute)": [[0, "ffsim.BitstringType.INT", false]], "interaction_pairs (ffsim.givensansatzop attribute)": [[0, "ffsim.GivensAnsatzOp.interaction_pairs", false]], "interaction_pairs (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.interaction_pairs", false]], "interaction_pairs (ffsim.numnumansatzopspinbalanced attribute)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.interaction_pairs", false]], "inverse() (ffsim.qiskit.diagcoulombevolutionjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionJW.inverse", false]], "inverse() (ffsim.qiskit.diagcoulombevolutionspinlessjw method)": [[4, "ffsim.qiskit.DiagCoulombEvolutionSpinlessJW.inverse", false]], "inverse() (ffsim.qiskit.numopsumevolutionjw method)": [[4, "ffsim.qiskit.NumOpSumEvolutionJW.inverse", false]], "inverse() (ffsim.qiskit.numopsumevolutionspinlessjw method)": [[4, "ffsim.qiskit.NumOpSumEvolutionSpinlessJW.inverse", false]], "inverse() (ffsim.qiskit.orbitalrotationjw method)": [[4, "ffsim.qiskit.OrbitalRotationJW.inverse", false]], "inverse() (ffsim.qiskit.orbitalrotationspinlessjw method)": [[4, "ffsim.qiskit.OrbitalRotationSpinlessJW.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]], "jordan_wigner() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.jordan_wigner", 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.givensansatzop static method)": [[0, "ffsim.GivensAnsatzOp.n_params", false]], "n_params() (ffsim.numnumansatzopspinbalanced static method)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.n_params", false]], "n_params() (ffsim.uccsdoprestrictedreal static method)": [[0, "ffsim.UCCSDOpRestrictedReal.n_params", false]], "n_params() (ffsim.ucjanglesopspinbalanced static method)": [[0, "ffsim.UCJAnglesOpSpinBalanced.n_params", false]], "n_params() (ffsim.ucjopspinbalanced static method)": [[0, "ffsim.UCJOpSpinBalanced.n_params", false]], "n_params() (ffsim.ucjopspinless static method)": [[0, "ffsim.UCJOpSpinless.n_params", false]], "n_params() (ffsim.ucjopspinunbalanced static method)": [[0, "ffsim.UCJOpSpinUnbalanced.n_params", false]], "n_reps (ffsim.ucjanglesopspinbalanced property)": [[0, "ffsim.UCJAnglesOpSpinBalanced.n_reps", false]], "n_reps (ffsim.ucjopspinbalanced property)": [[0, "ffsim.UCJOpSpinBalanced.n_reps", false]], "n_reps (ffsim.ucjopspinless property)": [[0, "ffsim.UCJOpSpinless.n_reps", false]], "n_reps (ffsim.ucjopspinunbalanced property)": [[0, "ffsim.UCJOpSpinUnbalanced.n_reps", false]], "nelec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.nelec", false]], "nelec (ffsim.statevector attribute)": [[0, "ffsim.StateVector.nelec", false]], "norb (ffsim.diagonalcoulombhamiltonian property)": [[0, "ffsim.DiagonalCoulombHamiltonian.norb", false]], "norb (ffsim.doublefactorizedhamiltonian property)": [[0, "ffsim.DoubleFactorizedHamiltonian.norb", false]], "norb (ffsim.givensansatzop attribute)": [[0, "ffsim.GivensAnsatzOp.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.numnumansatzopspinbalanced attribute)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.norb", false]], "norb (ffsim.singlefactorizedhamiltonian property)": [[0, "ffsim.SingleFactorizedHamiltonian.norb", false]], "norb (ffsim.statevector attribute)": [[0, "ffsim.StateVector.norb", false]], "norb (ffsim.uccsdoprestrictedreal property)": [[0, "ffsim.UCCSDOpRestrictedReal.norb", false]], "norb (ffsim.ucjopspinbalanced property)": [[0, "ffsim.UCJOpSpinBalanced.norb", false]], "norb (ffsim.ucjopspinless property)": [[0, "ffsim.UCJOpSpinless.norb", false]], "norb (ffsim.ucjopspinunbalanced property)": [[0, "ffsim.UCJOpSpinUnbalanced.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]], "numnumansatzopspinbalanced (class in ffsim)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced", false]], "numnumansatzopspinbalancedjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.NumNumAnsatzOpSpinBalancedJW", false]], "numopsumevolutionjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.NumOpSumEvolutionJW", false]], "numopsumevolutionspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.NumOpSumEvolutionSpinlessJW", false]], "one_body_integrals (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.one_body_integrals", 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.diagonalcoulombhamiltonian attribute)": [[0, "ffsim.DiagonalCoulombHamiltonian.one_body_tensor", false]], "one_body_tensor (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.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.linalg)": [[2, "ffsim.linalg.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.ucjopspinbalanced attribute)": [[0, "ffsim.UCJOpSpinBalanced.orbital_rotations", false]], "orbital_rotations (ffsim.ucjopspinless attribute)": [[0, "ffsim.UCJOpSpinless.orbital_rotations", false]], "orbital_rotations (ffsim.ucjopspinunbalanced attribute)": [[0, "ffsim.UCJOpSpinUnbalanced.orbital_rotations", false]], "orbital_symmetries (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.orbital_symmetries", false]], "orbitalrotationjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.OrbitalRotationJW", false]], "orbitalrotationspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.OrbitalRotationSpinlessJW", false]], "phase_angles (ffsim.givensansatzop attribute)": [[0, "ffsim.GivensAnsatzOp.phase_angles", false]], "phis (ffsim.givensansatzop attribute)": [[0, "ffsim.GivensAnsatzOp.phis", false]], "pre_init (in module ffsim.qiskit)": [[4, "ffsim.qiskit.PRE_INIT", false]], "pre_init_passes() (in module ffsim.qiskit)": [[4, "ffsim.qiskit.pre_init_passes", false]], "preparehartreefockjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareHartreeFockJW", false]], "preparehartreefockspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareHartreeFockSpinlessJW", false]], "prepareslaterdeterminantjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantJW", false]], "prepareslaterdeterminantspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.PrepareSlaterDeterminantSpinlessJW", 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_density_matrix() (in module ffsim.random)": [[5, "ffsim.random.random_density_matrix", false]], "random_diagonal_coulomb_hamiltonian() (in module ffsim.random)": [[5, "ffsim.random.random_diagonal_coulomb_hamiltonian", false]], "random_double_factorized_hamiltonian() (in module ffsim.random)": [[5, "ffsim.random.random_double_factorized_hamiltonian", false]], "random_fermion_hamiltonian() (in module ffsim.random)": [[5, "ffsim.random.random_fermion_hamiltonian", false]], "random_fermion_operator() (in module ffsim.random)": [[5, "ffsim.random.random_fermion_operator", 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_state_vector() (in module ffsim.random)": [[5, "ffsim.random.random_state_vector", 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_uccsd_restricted() (in module ffsim.random)": [[5, "ffsim.random.random_uccsd_restricted", false]], "random_ucj_op_spin_balanced() (in module ffsim.random)": [[5, "ffsim.random.random_ucj_op_spin_balanced", false]], "random_ucj_op_spin_unbalanced() (in module ffsim.random)": [[5, "ffsim.random.random_ucj_op_spin_unbalanced", false]], "random_ucj_op_spinless() (in module ffsim.random)": [[5, "ffsim.random.random_ucj_op_spinless", false]], "random_unitary() (in module ffsim.random)": [[5, "ffsim.random.random_unitary", false]], "rdms() (in module ffsim)": [[0, "ffsim.rdms", 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.ffsimsampler method)": [[4, "ffsim.qiskit.FfsimSampler.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_cisd() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_cisd", false]], "run_fci() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_fci", false]], "run_mp2() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_mp2", false]], "run_sci() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.run_sci", false]], "s (ffsim.linalg.givensrotation attribute)": [[2, "ffsim.linalg.GivensRotation.s", false]], "sample_slater_determinant() (in module ffsim)": [[0, "ffsim.sample_slater_determinant", false]], "sample_state_vector() (in module ffsim)": [[0, "ffsim.sample_state_vector", false]], "scf (ffsim.moleculardata property)": [[0, "ffsim.MolecularData.scf", false]], "sci_energy (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.sci_energy", false]], "sci_vec (ffsim.moleculardata attribute)": [[0, "ffsim.MolecularData.sci_vec", false]], "simulate_qdrift_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_qdrift_double_factorized", false]], "simulate_trotter_diag_coulomb_split_op() (in module ffsim)": [[0, "ffsim.simulate_trotter_diag_coulomb_split_op", false]], "simulate_trotter_double_factorized() (in module ffsim)": [[0, "ffsim.simulate_trotter_double_factorized", false]], "simulatetrotterdiagcoulombsplitopjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.SimulateTrotterDiagCoulombSplitOpJW", false]], "simulatetrotterdoublefactorizedjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.SimulateTrotterDoubleFactorizedJW", false]], "singlefactorizedhamiltonian (class in ffsim)": [[0, "ffsim.SingleFactorizedHamiltonian", false]], "slater_determinant() (in module ffsim)": [[0, "ffsim.slater_determinant", false]], "slater_determinant_amplitudes() (in module ffsim)": [[0, "ffsim.slater_determinant_amplitudes", false]], "slater_determinant_rdms() (in module ffsim)": [[0, "ffsim.slater_determinant_rdms", 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]], "statevector (class in ffsim)": [[0, "ffsim.StateVector", false]], "string (ffsim.bitstringtype attribute)": [[0, "ffsim.BitstringType.STRING", false]], "strings_to_addresses() (in module ffsim)": [[0, "ffsim.strings_to_addresses", false]], "supportsapplyunitary (class in ffsim)": [[0, "ffsim.SupportsApplyUnitary", false]], "supportsapproximateequality (class in ffsim)": [[0, "ffsim.SupportsApproximateEquality", false]], "supportsdiagonal (class in ffsim)": [[0, "ffsim.SupportsDiagonal", 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.givensansatzop attribute)": [[0, "ffsim.GivensAnsatzOp.thetas", false]], "thetas (ffsim.hopgateansatzoperator attribute)": [[0, "ffsim.HopGateAnsatzOperator.thetas", false]], "thetas (ffsim.numnumansatzopspinbalanced attribute)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.thetas", false]], "to_diag_coulomb_mats() (ffsim.numnumansatzopspinbalanced method)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.to_diag_coulomb_mats", false]], "to_fcidump() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.to_fcidump", false]], "to_json() (ffsim.moleculardata method)": [[0, "ffsim.MolecularData.to_json", false]], "to_molecular_hamiltonian() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_molecular_hamiltonian", false]], "to_number_representation() (ffsim.doublefactorizedhamiltonian method)": [[0, "ffsim.DoubleFactorizedHamiltonian.to_number_representation", false]], "to_orbital_rotation() (ffsim.givensansatzop method)": [[0, "ffsim.GivensAnsatzOp.to_orbital_rotation", false]], "to_parameters() (ffsim.givensansatzop method)": [[0, "ffsim.GivensAnsatzOp.to_parameters", false]], "to_parameters() (ffsim.hopgateansatzoperator method)": [[0, "ffsim.HopGateAnsatzOperator.to_parameters", false]], "to_parameters() (ffsim.numnumansatzopspinbalanced method)": [[0, "ffsim.NumNumAnsatzOpSpinBalanced.to_parameters", false]], "to_parameters() (ffsim.uccsdoprestrictedreal method)": [[0, "ffsim.UCCSDOpRestrictedReal.to_parameters", false]], "to_parameters() (ffsim.ucjanglesopspinbalanced method)": [[0, "ffsim.UCJAnglesOpSpinBalanced.to_parameters", false]], "to_parameters() (ffsim.ucjopspinbalanced method)": [[0, "ffsim.UCJOpSpinBalanced.to_parameters", false]], "to_parameters() (ffsim.ucjopspinless method)": [[0, "ffsim.UCJOpSpinless.to_parameters", false]], "to_parameters() (ffsim.ucjopspinunbalanced method)": [[0, "ffsim.UCJOpSpinUnbalanced.to_parameters", 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]], "uccsdoprestrictedreal (class in ffsim)": [[0, "ffsim.UCCSDOpRestrictedReal", false]], "ucjanglesopspinbalanced (class in ffsim)": [[0, "ffsim.UCJAnglesOpSpinBalanced", false]], "ucjopspinbalanced (class in ffsim)": [[0, "ffsim.UCJOpSpinBalanced", false]], "ucjopspinbalancedjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOpSpinBalancedJW", false]], "ucjopspinless (class in ffsim)": [[0, "ffsim.UCJOpSpinless", false]], "ucjopspinlessjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOpSpinlessJW", false]], "ucjopspinunbalanced (class in ffsim)": [[0, "ffsim.UCJOpSpinUnbalanced", false]], "ucjopspinunbalancedjw (class in ffsim.qiskit)": [[4, "ffsim.qiskit.UCJOpSpinUnbalancedJW", false]], "vec (ffsim.statevector attribute)": [[0, "ffsim.StateVector.vec", false]], "z_representation (ffsim.doublefactorizedhamiltonian attribute)": [[0, "ffsim.DoubleFactorizedHamiltonian.z_representation", false]]}, "objects": {"": [[0, 0, 0, "-", "ffsim"]], "ffsim": [[0, 1, 1, "", "BitstringType"], [0, 1, 1, "", "DiagonalCoulombHamiltonian"], [0, 1, 1, "", "DoubleFactorizedHamiltonian"], [0, 1, 1, "", "FermionAction"], [0, 1, 1, "", "FermionOperator"], [0, 1, 1, "", "GivensAnsatzOp"], [0, 1, 1, "", "HopGateAnsatzOperator"], [0, 1, 1, "", "MolecularData"], [0, 1, 1, "", "MolecularHamiltonian"], [0, 1, 1, "", "NumNumAnsatzOpSpinBalanced"], [0, 1, 1, "", "ProductStateSum"], [0, 1, 1, "", "SingleFactorizedHamiltonian"], [0, 1, 1, "", "Spin"], [0, 1, 1, "", "StateVector"], [0, 1, 1, "", "SupportsApplyUnitary"], [0, 1, 1, "", "SupportsApproximateEquality"], [0, 1, 1, "", "SupportsDiagonal"], [0, 1, 1, "", "SupportsFermionOperator"], [0, 1, 1, "", "SupportsLinearOperator"], [0, 1, 1, "", "SupportsTrace"], [0, 1, 1, "", "UCCSDOpRestrictedReal"], [0, 1, 1, "", "UCJAnglesOpSpinBalanced"], [0, 1, 1, "", "UCJOpSpinBalanced"], [0, 1, 1, "", "UCJOpSpinUnbalanced"], [0, 1, 1, "", "UCJOpSpinless"], [0, 5, 1, "", "addresses_to_strings"], [0, 5, 1, "", "apply_diag_coulomb_evolution"], [0, 5, 1, "", "apply_fsim_gate"], [0, 5, 1, "", "apply_fswap_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_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, "", "diag"], [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, "", "fermi_hubbard_2d"], [0, 5, 1, "", "fermion_operator"], [0, 5, 1, "", "hartree_fock_state"], [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"], [3, 0, 0, "-", "optimize"], [4, 0, 0, "-", "qiskit"], [5, 0, 0, "-", "random"], [0, 5, 1, "", "rdms"], [0, 5, 1, "", "sample_slater_determinant"], [0, 5, 1, "", "sample_state_vector"], [0, 5, 1, "", "simulate_qdrift_double_factorized"], [0, 5, 1, "", "simulate_trotter_diag_coulomb_split_op"], [0, 5, 1, "", "simulate_trotter_double_factorized"], [0, 5, 1, "", "slater_determinant"], [0, 5, 1, "", "slater_determinant_amplitudes"], [0, 5, 1, "", "slater_determinant_rdms"], [0, 5, 1, "", "spin_square"], [0, 5, 1, "", "strings_to_addresses"], [6, 0, 0, "-", "testing"], [0, 5, 1, "", "trace"]], "ffsim.BitstringType": [[0, 2, 1, "", "BIT_ARRAY"], [0, 2, 1, "", "INT"], [0, 2, 1, "", "STRING"]], "ffsim.DiagonalCoulombHamiltonian": [[0, 2, 1, "", "constant"], [0, 2, 1, "", "diag_coulomb_mats"], [0, 3, 1, "", "from_fermion_operator"], [0, 4, 1, "", "norb"], [0, 2, 1, "", "one_body_tensor"]], "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_molecular_hamiltonian"], [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.GivensAnsatzOp": [[0, 3, 1, "", "from_orbital_rotation"], [0, 3, 1, "", "from_parameters"], [0, 2, 1, "", "interaction_pairs"], [0, 3, 1, "", "n_params"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "phase_angles"], [0, 2, 1, "", "phis"], [0, 2, 1, "", "thetas"], [0, 3, 1, "", "to_orbital_rotation"], [0, 3, 1, "", "to_parameters"]], "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, "", "cisd_energy"], [0, 2, 1, "", "cisd_vec"], [0, 2, 1, "", "core_energy"], [0, 2, 1, "", "dipole_integrals"], [0, 2, 1, "", "fci_energy"], [0, 2, 1, "", "fci_vec"], [0, 3, 1, "", "from_fcidump"], [0, 3, 1, "", "from_json"], [0, 3, 1, "", "from_scf"], [0, 4, 1, "", "hamiltonian"], [0, 2, 1, "", "hf_energy"], [0, 2, 1, "", "hf_mo_coeff"], [0, 2, 1, "", "hf_mo_occ"], [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_integrals"], [0, 2, 1, "", "orbital_symmetries"], [0, 3, 1, "", "run_ccsd"], [0, 3, 1, "", "run_cisd"], [0, 3, 1, "", "run_fci"], [0, 3, 1, "", "run_mp2"], [0, 3, 1, "", "run_sci"], [0, 4, 1, "", "scf"], [0, 2, 1, "", "sci_energy"], [0, 2, 1, "", "sci_vec"], [0, 2, 1, "", "spin"], [0, 2, 1, "", "symmetry"], [0, 3, 1, "", "to_fcidump"], [0, 3, 1, "", "to_json"], [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.NumNumAnsatzOpSpinBalanced": [[0, 3, 1, "", "from_diag_coulomb_mats"], [0, 3, 1, "", "from_parameters"], [0, 2, 1, "", "interaction_pairs"], [0, 3, 1, "", "n_params"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "thetas"], [0, 3, 1, "", "to_diag_coulomb_mats"], [0, 3, 1, "", "to_parameters"]], "ffsim.ProductStateSum": [[0, 2, 1, "", "coeffs"], [0, 2, 1, "", "states"]], "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.StateVector": [[0, 2, 1, "", "nelec"], [0, 2, 1, "", "norb"], [0, 2, 1, "", "vec"]], "ffsim.UCCSDOpRestrictedReal": [[0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "norb"], [0, 3, 1, "", "to_parameters"]], "ffsim.UCJAnglesOpSpinBalanced": [[0, 3, 1, "", "from_parameters"], [0, 3, 1, "", "from_t_amplitudes"], [0, 3, 1, "", "from_ucj_op"], [0, 3, 1, "", "n_params"], [0, 4, 1, "", "n_reps"], [0, 3, 1, "", "to_parameters"]], "ffsim.UCJOpSpinBalanced": [[0, 2, 1, "", "diag_coulomb_mats"], [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"]], "ffsim.UCJOpSpinUnbalanced": [[0, 2, 1, "", "diag_coulomb_mats"], [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"]], "ffsim.UCJOpSpinless": [[0, 2, 1, "", "diag_coulomb_mats"], [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"]], "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, "", "double_factorized_t2_alpha_beta"], [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, "", "one_hot"], [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, "", "DiagCoulombEvolutionSpinlessJW"], [4, 1, 1, "", "DropNegligible"], [4, 1, 1, "", "FfsimSampler"], [4, 1, 1, "", "GivensAnsatzOpJW"], [4, 1, 1, "", "GivensAnsatzOpSpinlessJW"], [4, 1, 1, "", "MergeOrbitalRotations"], [4, 1, 1, "", "NumNumAnsatzOpSpinBalancedJW"], [4, 1, 1, "", "NumOpSumEvolutionJW"], [4, 1, 1, "", "NumOpSumEvolutionSpinlessJW"], [4, 1, 1, "", "OrbitalRotationJW"], [4, 1, 1, "", "OrbitalRotationSpinlessJW"], [4, 6, 1, "", "PRE_INIT"], [4, 1, 1, "", "PrepareHartreeFockJW"], [4, 1, 1, "", "PrepareHartreeFockSpinlessJW"], [4, 1, 1, "", "PrepareSlaterDeterminantJW"], [4, 1, 1, "", "PrepareSlaterDeterminantSpinlessJW"], [4, 1, 1, "", "SimulateTrotterDiagCoulombSplitOpJW"], [4, 1, 1, "", "SimulateTrotterDoubleFactorizedJW"], [4, 1, 1, "", "UCJOpSpinBalancedJW"], [4, 1, 1, "", "UCJOpSpinUnbalancedJW"], [4, 1, 1, "", "UCJOpSpinlessJW"], [4, 5, 1, "", "ffsim_vec_to_qiskit_vec"], [4, 5, 1, "", "final_state_vector"], [4, 5, 1, "", "jordan_wigner"], [4, 5, 1, "", "pre_init_passes"], [4, 5, 1, "", "qiskit_vec_to_ffsim_vec"]], "ffsim.qiskit.DiagCoulombEvolutionJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.DiagCoulombEvolutionSpinlessJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.DropNegligible": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "run"]], "ffsim.qiskit.FfsimSampler": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "run"]], "ffsim.qiskit.GivensAnsatzOpJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.GivensAnsatzOpSpinlessJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.MergeOrbitalRotations": [[4, 3, 1, "", "run"]], "ffsim.qiskit.NumNumAnsatzOpSpinBalancedJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.NumOpSumEvolutionJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.NumOpSumEvolutionSpinlessJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.OrbitalRotationJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.OrbitalRotationSpinlessJW": [[4, 3, 1, "", "__init__"], [4, 3, 1, "", "inverse"]], "ffsim.qiskit.PrepareHartreeFockJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.PrepareHartreeFockSpinlessJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.PrepareSlaterDeterminantJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.PrepareSlaterDeterminantSpinlessJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.SimulateTrotterDiagCoulombSplitOpJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.SimulateTrotterDoubleFactorizedJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.UCJOpSpinBalancedJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.UCJOpSpinUnbalancedJW": [[4, 3, 1, "", "__init__"]], "ffsim.qiskit.UCJOpSpinlessJW": [[4, 3, 1, "", "__init__"]], "ffsim.random": [[5, 5, 1, "", "random_antihermitian"], [5, 5, 1, "", "random_density_matrix"], [5, 5, 1, "", "random_diagonal_coulomb_hamiltonian"], [5, 5, 1, "", "random_double_factorized_hamiltonian"], [5, 5, 1, "", "random_fermion_hamiltonian"], [5, 5, 1, "", "random_fermion_operator"], [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_state_vector"], [5, 5, 1, "", "random_t2_amplitudes"], [5, 5, 1, "", "random_two_body_tensor"], [5, 5, 1, "", "random_uccsd_restricted"], [5, 5, 1, "", "random_ucj_op_spin_balanced"], [5, 5, 1, "", "random_ucj_op_spin_unbalanced"], [5, 5, 1, "", "random_ucj_op_spinless"], [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_nocc"], [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"], "6": ["py", "data", "Python data"]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:property", "5": "py:function", "6": "py:data"}, "terms": {"": [0, 2, 4, 8, 9, 13, 14, 15, 16, 17, 18, 19, 21, 22, 23], "0": [0, 2, 3, 4, 6, 8, 9, 11, 13, 14, 15, 16, 18, 19, 20, 21, 23], "00": 18, "000": 20, "0000000": [15, 18], "0000000000011100000000000111": 20, "0000000000011100000000011100": 20, "0000000000011100100000001100": 20, "0000000000110100000000001101": 20, "0000000001011000000000010110": 20, "0000000001011000100000000110": 20, "0000000001110000000000000111": 20, "0000000111100000011111": 20, "0000000111100110000111": 20, "0000010101100001011011": 20, "0000010110100001011011": 20, "0000100101100000111011": 20, "0000100110100000111011": 20, "0000111100001111": 20, "0000111100011011": 20, "0000111100011101": 20, "0000111100101011": 20, "0001": 3, "0001000001010000000000000111": 20, "0001110100001111": 20, "00013693848943698868": 18, "00023737584156002583": 18, "00025281008523048225": 18, "00030252117985897243": 18, "0006038689751939719": 18, "0006311432653366777": 18, "0008331180627833742": 18, "000e": 18, "0010000000011000000000010110": 20, "0010011100101101": 20, "0010101100001111": 20, "0010101100101101": 20, "001011": [0, 14], "0010110100100111": 20, "0010110100101011": 20, "001101": [0, 14], "001110": 14, "001147509641622838": 18, "0016125257073217676": 18, "001855901915920389": 18, "0018668421854928312": 18, "0029155790648158287": 18, "0032559906379786073": 18, "0036903600525447777": 18, "005990163908565813": 18, "005e": 15, "01": [15, 18], "0100000001001000000000000111": 20, "0100000110100100001111": 20, "010011": [0, 14], "0101": 0, "0101000001100000011111": 20, "010101": [0, 14], "010110": [0, 14], "0110": 0, "017917228638547493": 18, "02": [15, 18], "02122442107773": 18, "02242": 2, "02459434j": 14, "02625": 2, "028498765850173": 18, "02998708j": 14, "03": [15, 18], "03101213j": 14, "03525116j": 14, "036685417309835655": 23, "04": [15, 18], "046e": 18, "04758323886584979": 18, "05": [0, 2, 3, 4, 18], "052e": 15, "05395": 4, "06": 18, "0609050": 5, "0625": [0, 16], "06273307": 14, "06551571": 14, "06677383j": 14, "06844774j": 14, "07": 6, "08": [0, 2, 3, 4], "08957": 2, "0909": 5, "09723851": 14, "097e": 18, "0b001011": 0, "0b010101": 0, "0b010110": 0, "0b100101": 0, "0b100110": 0, "0j": 16, "0x7f031521a590": 19, "0x7f031521a5c0": 19, "0x7f031521ac80": 19, "0x7f031521b010": 19, "0x7f031521b910": 19, "0x7f031592f400": 19, "0x7f0315bf0070": 19, "0x7f0315bf39d0": 19, "1": [0, 2, 3, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23], "10": [13, 18, 19, 20, 23], "100": 15, "1000": 3, "1000000101100000111011": 20, "100011": [0, 14], "100101": [0, 14], "100110": [0, 14], "101": 20, "1024": 4, "104": [15, 21], "105e": 18, "1077416845398132": 20, "108": [20, 23], "10_000": 20, "11": [0, 13, 19, 20, 23], "1102529j": 14, "11157654": 14, "112": 15, "11570449": 16, "12": [2, 13, 15, 16, 18, 23], "1207": 0, "12204343": 14, "1234": [9, 13, 14, 15, 19, 21], "12345": 20, "125": [0, 16], "1267": 18, "1278053627110061": 20, "1294": [15, 18], "12j": 16, "13": [0, 13, 18, 23], "13113848": 14, "132e": 15, "133": 20, "13327423j": 14, "13957088j": 14, "139e": 18, "14": [13, 20], "15": [13, 15], "1561685j": 14, "15624569": 14, "15828306": 14, "15x15": 15, "16": [13, 20], "17": 13, "1711": [2, 4], "17181289596": 21, "17276745j": 14, "174e": 18, "17558331": 14, "18": 13, "180": 15, "18007105": 14, "1808": 2, "18j": 16, "19": 0, "1e": [0, 2, 3, 4, 6, 15, 23], "1j": [0, 9, 16, 23], "2": [0, 1, 2, 4, 5, 8, 9, 11, 13, 14, 15, 16, 18, 19, 20, 23], "20835741": 14, "20881506": 14, "21": 0, "210": 20, "2104": 2, "2190712273": 9, "21928194": 14, "21984743e": 16, "22392824": 14, "23": 15, "23550198": 14, "23611476": 14, "24": [13, 19], "25": [0, 16], "25j": [0, 16], "26": 23, "26121865": 14, "276e": 18, "279e": 18, "287e": 18, "29821173j": 14, "2d": 0, "2j": [0, 2, 16], "2n": 14, "3": [0, 2, 5, 9, 11, 13, 14, 15, 16, 18, 19, 20, 23], "30035899j": 16, "30052742j": 14, "31980058j": 14, "31g": [20, 21], "32": [13, 19], "329": 18, "331e": 18, "33731417j": 14, "339": 18, "3484557067739": 20, "35": [0, 23], "358e": 18, "36730125j": 14, "3714141": 14, "38435478j": 14, "39": [13, 14, 15, 16, 18, 19, 20], "39075171": 14, "3j": 16, "4": [0, 2, 8, 9, 13, 14, 15, 16, 18, 19, 20, 21, 23], "408e": 15, "417e": 15, "4390672": 14, "45619739131376": 20, "46": 18, "464957764796": 23, "46x46": 18, "47": 20, "478": 15, "48": [13, 20], "49094286j": 14, "4j": 16, "5": [0, 3, 9, 13, 14, 15, 16, 18, 19, 20, 23], "5094": 5, "51253171j": 14, "521e": 18, "527e": 18, "528e": 18, "547e": 18, "55717072551553": 9, "56": [13, 19, 20], "560e": 18, "5626": 18, "563e": 18, "57": 20, "575e": 18, "58888": 22, "5j": [0, 16], "6": [0, 9, 13, 14, 15, 16, 18, 19, 20, 21, 23], "603e": 15, "6083": 0, "6332495815006": 15, "64": 14, "65": 20, "66": 20, "67794403659728": 15, "6787887956297": 15, "6787887956314": 15, "6838155921487": 15, "6g": [0, 15, 18, 23], "6j": 16, "7": [0, 9, 13, 14, 15, 16, 18, 19, 23], "70": 20, "72": 18, "7288249991515": 15, "72x72": 18, "73105542j": 14, "748e": 15, "75": [15, 20], "755e": 15, "77": 18, "8": [0, 13, 15, 16, 18, 19, 20, 23], "807": 18, "8266321248744": 18, "8266321248745": 18, "835236570775": 20, "842e": 18, "847e": 18, "87160024816271": 18, "87362685711526": 18, "87363310271725": 18, "87363426561933": 18, "87363465185152": 18, "87367036227928": 18, "87367575401149": 18, "87368004450491": 18, "87387393478726": 18, "8739817406614": 18, "87414523157764": 18, "8741576272094": 18, "87415887962864": 18, "87421536374035": 18, "8742165643862": 18, "8996245760543174": 18, "8998205846301155": 18, "9": [13, 14, 16, 18, 19, 23], "9027648650557756": 18, "908e": 18, "9289": 18, "935e": 18, "9402384003985698": 23, "949": 18, "958": 15, "9630419334856": 20, "9796823873521728": 18, "9796914690528229": 18, "9797942563603614": 18, "9822442645562184": 18, "9822715295787552": 18, "99": 9, "9924": 20, "9985210983500586": 23, "9985210983501976": 23, "9991": 20, "9996731173183583": 23, "A": [0, 1, 2, 3, 4, 5, 6, 8, 12, 13, 14, 16, 22, 23], "AND": 15, "As": [11, 13, 14, 18, 19, 23], "By": 21, "For": [0, 3, 4, 5, 8, 9, 11, 14, 15, 16, 22, 23], "If": [0, 1, 2, 3, 4, 5, 6, 13, 16], "In": [0, 8, 9, 11, 13, 14, 15, 16, 18, 19, 20, 23], "It": [0, 2, 3, 4, 13, 14, 16, 18, 20, 22], "Its": [3, 4], "NO": [15, 18], "No": 2, "Of": 11, "On": [14, 22], "One": [0, 23], "Such": 16, "That": [0, 3, 12, 16], "The": [0, 1, 2, 3, 4, 5, 6, 8, 9, 10, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "Their": 19, "Then": [0, 13], "There": 13, "These": [0, 5, 11, 16, 19], "To": [0, 8, 9, 11, 14, 18, 23], "With": [11, 14, 23], "_": [0, 1, 2, 4, 8, 11, 12, 15, 23], "_1": 12, "_2": 12, "__init__": 4, "_factr": 18, "_i": [0, 4], "_k": [0, 8, 11], "_nestedsequ": 4, "_supportsarrai": 4, "a_": [0, 4, 8, 9, 12, 16], "a_j": 1, "a_p": 0, "a_q": 0, "ab": [0, 23], "abil": 8, "abl": 22, "about": 21, "abov": [13, 16], "absenc": [0, 1, 4], "absolut": [0, 2, 4, 6], "acceler": 22, "accept": [12, 18], "access": [0, 9, 22], "accommod": 4, "accomod": 8, "accur": 8, "achiev": [2, 23], "across": 22, "act": [0, 2, 4, 9, 13, 15, 16], "action": [0, 1, 12, 16, 22, 23], "activ": [0, 15, 18, 20, 23], "active_spac": [0, 15, 18, 20, 21, 23], "actual": [6, 11], "ad": [0, 13, 18], "add": [13, 18], "addit": [0, 8, 16, 23], "addition": 2, "address": [0, 13], "addresses_to_str": [0, 7, 14], "adjac": 13, "advantag": 18, "after": [3, 18], "al": 2, "algebra": [2, 9, 16], "algorithm": [0, 2, 3, 18, 21], "alia": [0, 2], "align": [0, 11, 12], "all": [0, 1, 2, 3, 4, 6, 11, 13, 16, 20, 22], "alloc": 0, "allow": [0, 2, 5, 11, 13, 18, 22, 23], "along": 0, "alpha": [0, 1, 2, 4, 5, 6, 9, 11, 13, 14, 15, 16, 19, 20], "alpha_and_beta": 0, "alpha_i": 0, "alpha_j": 0, "alreadi": [0, 4, 12], "also": [0, 2, 3, 5, 9, 12, 14, 16, 18, 23], "altern": [0, 8], "alwai": [0, 2, 5, 12, 14, 23], "amen": 13, "amplitud": [0, 2, 5, 18, 20], "an": [0, 1, 2, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 23], "angl": 0, "ani": [0, 3, 4, 5, 11, 12, 19, 20], "annihil": [0, 16], "anoth": [2, 6], "ansatz": [0, 3, 4, 5, 10, 13, 17, 19, 20, 21], "ansatz_oper": 0, "ansatz_st": 18, "anti": [2, 5], "anticommut": 12, "ao": 0, "ap": 2, "api": [14, 21], "appear": [0, 2, 13, 16, 20], "append": [0, 6, 13, 18, 19, 20], "appli": [0, 1, 2, 3, 4, 9, 11, 12, 13, 14, 18, 19, 20, 21, 23], "applic": 12, "apply_": 14, "apply_diag_coulomb_evolut": [0, 7, 8, 23], "apply_fsim_g": [0, 7], "apply_fswap_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, 12, 23], "apply_on_site_interact": [0, 7, 14], "apply_orbital_rot": [0, 7, 12, 14, 21], "apply_quad_ham_evolut": 12, "apply_tunneling_interact": [0, 7, 14], "apply_unitari": [0, 7, 18], "appropri": [0, 11], "approx": 8, "approx_eq": [0, 7], "approxim": [0, 2, 3, 8, 18, 23], "apt": 22, "ar": [0, 1, 2, 4, 5, 6, 8, 9, 11, 12, 13, 14, 16, 19, 20, 22], "arbitrari": [4, 20], "arch": 22, "arg": [0, 4], "argument": [0, 2, 3, 8, 9, 12, 14, 23], "aris": 8, "arithmet": 16, "around": 23, "arrai": [0, 1, 2, 4, 6, 9, 11, 14, 16], "arxiv": [0, 2, 4, 5], "ascend": 20, "assembl": 2, "assert": 14, "assert_allclose_up_to_global_phas": [6, 7], "assertionerror": 6, "associ": [0, 3, 14, 16, 18], "assum": [0, 4, 14], "asterisk": 0, "asymmetr": 8, "atol": [0, 2, 4, 6], "atom": [0, 15, 18, 20, 21, 23], "attempt": 2, "attribut": [0, 3, 9, 15, 18, 20], "author": 21, "auto": 0, "avail": [9, 19, 22], "avoid": [0, 9, 16], "awar": 16, "ax": [0, 2], "axi": [0, 2], "b": [0, 2, 3, 6, 12, 15, 18], "back": 4, "backend": [13, 19], "backflow": 3, "background": 23, "balanc": [0, 4, 5, 18, 20], "barrier": 20, "base": [0, 2, 4], "basepass": 4, "basesamplerv2": 4, "basi": [0, 2, 4, 12, 15, 18, 20, 21, 23], "basic": [9, 13], "basis_g": [13, 19], "bear": 23, "becaus": [0, 2, 8, 9, 13, 15, 16, 18], "been": [0, 8], "befor": [0, 13, 16, 22, 23], "begin": [0, 2, 11, 12, 14, 20, 23], "behavior": [2, 4, 5, 19], "being": [2, 16, 18], "below": [0, 18, 23], "benchmark": 0, "beta": [0, 1, 2, 4, 5, 6, 9, 11, 13, 14, 15, 16, 19, 20], "beta_i": 0, "beta_j": 0, "better": 8, "between": [0, 2, 3, 11, 13], "bfg": [0, 2, 3, 15, 18], "bibtex": 21, "bit": [0, 13, 14], "bit_arrai": 0, "bitstr": [0, 14, 20], "bitstring_typ": [0, 14], "bitstringtyp": [0, 7, 14], "bla": 22, "bloc": 20, "block": 2, "block_diag": [0, 2], "bmod": 0, "bodi": [0, 1, 2, 5, 8, 9, 18, 23], "bond": 15, "bond_angle_deg": 15, "bond_dist": 18, "bool": [0, 1, 2, 3, 4, 5, 6], "both": [0, 1, 2, 4, 11, 15], "bound": [0, 2], "boundari": 0, "box": 13, "bq": 2, "bracket": 0, "braket": 0, "branch": 21, "brickwork": 15, "browser": 22, "buffer": 4, "build": [13, 17, 18, 20, 21, 22], "built": [19, 20, 23], "byte": [0, 4], "bz2": 0, "c": [2, 18], "c2v": 15, "cach": 0, "calcul": [0, 14, 18], "call": [0, 3, 8, 9, 12, 14, 16, 18, 20, 23], "callabl": [3, 18], "callback": [0, 2, 3, 18], "can": [0, 1, 2, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 21, 22, 23], "cannot": 20, "canon": 0, "casci": [15, 18], "case": [0, 6, 13, 15], "categori": 21, "caus": 0, "cc": [18, 20], "ccsd": [0, 18, 20], "ccsd_energi": 0, "ccsd_t1": 0, "ccsd_t2": 0, "cd": 22, "cdot": 2, "cell": [9, 13, 14, 18, 19, 20, 23], "certain": [2, 13], "challeng": 11, "character": 0, "check": [2, 4, 6], "chemcor": 23, "chemic": 0, "chemical_potenti": 0, "chemistri": 21, "choic": [0, 6, 13, 14], "choleski": [0, 2], "choos": [2, 14], "chosen": 0, "ci": [15, 18], "circuit": [0, 4, 8, 13, 14, 17, 21], "circul": 0, "cisd": 0, "cisd_energi": 0, "cisd_vec": 0, "class": [0, 2, 4, 5, 9, 11, 15, 17, 18, 20, 21, 23], "clement": 2, "clone": 22, "close": [11, 18], "cluster": [0, 4, 5, 10, 17, 21], "co": [0, 15], "code": [4, 9, 13, 14, 16, 18, 19, 20, 23], "coeff": [0, 1, 4, 13, 19], "coeffici": [0, 1, 2, 4, 12, 16], "collect": [0, 2, 4, 18], "column": [0, 2, 12, 14], "com": [21, 22], "comb": 4, "combin": [0, 1, 4, 12, 13, 16], "command": 22, "commonli": [8, 20], "commun": [21, 22], "commut": 8, "compact": [8, 23], "compar": [0, 6, 23], "compil": 22, "complet": 0, "complex": [0, 1, 2, 4, 5, 9], "compon": [0, 16, 21], "compos": [4, 22], "compress": [0, 2], "compris": [0, 16], "comput": [0, 2, 4, 9, 12, 18, 21, 23], "concaten": [0, 14], "concret": 9, "condit": 0, "configur": [0, 4, 13, 14, 22], "conflict": 6, "conj": [2, 12, 20], "conjug": 2, "connect": [0, 11, 13], "consecut": [4, 20], "conserv": [0, 5, 16, 21], "conserves_particle_numb": [0, 16], "conserves_spin_z": [0, 16], "consid": [11, 12, 13], "consist": [0, 9, 13], "constant": [0, 5, 8, 9, 11, 13, 19], "constrain": 2, "constraint": [11, 18], "construct": [0, 1, 3, 4, 13, 14, 15, 16, 18, 19, 20, 23], "contain": [0, 2, 3, 5, 13, 16, 20, 21, 22], "contract": [2, 7, 21], "contract_diag_coulomb": [1, 7], "contract_num_op_sum": [1, 7], "contract_one_bodi": [1, 7], "contrast": 14, "control": [3, 13], "conveni": 14, "convent": 0, "converg": [3, 15, 18, 20, 23], "convers": [11, 18], "convert": [0, 1, 4, 14, 16, 18, 20, 21, 23], "coordin": 0, "coov": 20, "copi": [0, 16], "core": 0, "core_energi": 0, "correl": 3, "correspond": [0, 2, 3, 4, 8, 12, 13, 14, 18], "cost": 0, "coulomb": [0, 1, 2, 4, 5, 8, 11, 23], "count": [0, 13, 20], "count_op": [13, 19], "coupl": 0, "cours": 11, "cp": [13, 19], "cphaseg": 13, "cre": [0, 7], "cre_a": [0, 7, 16], "cre_b": [0, 7, 16], "creat": [0, 4, 13, 14, 16, 19, 20, 21, 23], "creation": [0, 4, 12, 16], "criteria": 16, "current": [0, 2, 18], "d": [2, 22], "d2h": 18, "dag": 4, "dagcircuit": 4, "dagger": [0, 1, 2, 8, 11, 12, 16], "dagger_": [0, 4, 8, 9, 12], "dagger_i": 1, "dagger_p": 0, "dagger_q": 0, "data": [0, 5, 13, 15, 16, 18, 20, 21, 23], "daunt": 8, "de": [0, 7], "decompos": [2, 4, 8, 13, 19], "decomposit": [0, 2, 4, 8, 10, 19, 21, 23], "decreas": [0, 18], "def": [2, 12, 15, 18, 23], "default": [0, 2, 3, 4, 5, 8, 9, 23], "default_rng": [0, 4, 5, 6, 9, 13, 15, 19, 20], "default_shot": [4, 20], "defaultdict": 18, "defin": [0, 2, 13, 15, 18, 20, 23], "definit": [0, 2, 3, 5, 14], "demonstr": [14, 18, 20], "denot": [0, 1, 2, 4, 12], "dens": 15, "densiti": [0, 5], "depend": [0, 2, 3, 22, 23], "depolar": 4, "depth": 11, "deriv": 8, "des_a": [0, 7, 16], "des_b": [0, 7, 16], "descend": [0, 16], "describ": [0, 1, 2, 8, 11, 12, 13, 16, 23], "descript": [0, 4], "design": [0, 2, 12], "desir": [0, 2, 5, 6], "destroi": [0, 16], "detail": [13, 19], "determin": [0, 2, 4, 14], "determinant": 0, "dev": 22, "devel": 22, "develop": [4, 21], "devic": [13, 19], "df_hamiltonian": [13, 19, 23], "df_hamiltonian_alt": 23, "diag": [0, 7], "diag_coulomb_indic": [0, 2], "diag_coulomb_jw": 13, "diag_coulomb_linop": [1, 7], "diag_coulomb_mat": [0, 2, 13, 19, 20, 23], "diagcoulombevolutionjw": [4, 7, 13, 19, 20], "diagcoulombevolutionspinlessjw": [4, 7], "diagon": [0, 1, 2, 4, 5, 8, 11, 23], "diagonal_coulomb_mat": 2, "diagonalcoulombhamiltonian": [0, 4, 5, 7], "dict": [0, 2, 3, 15, 18], "dictionari": [0, 16], "did": 0, "differ": [0, 2, 3, 9, 11, 13, 18, 22, 23], "dim": [0, 5, 7, 14, 16], "dim_a": [0, 14], "dim_b": [0, 14], "dimens": [0, 2, 5, 14], "dimension": [0, 2, 4, 14], "dipol": 0, "dipole_integr": 0, "direct": [0, 23], "directli": [13, 18, 22, 23], "directori": 22, "discuss": [8, 12, 13], "disjoint": 2, "disk": 0, "displai": [13, 16, 20], "distinguish": 14, "distribut": [4, 5], "divid": 8, "divis": [0, 16], "dnf": 22, "do": [8, 13, 16], "doc": [15, 18, 21], "docker": 21, "dockerfil": 22, "document": [0, 2], "doe": [0, 4, 16, 18, 20], "don": 11, "dooh": [20, 21, 23], "dot": 0, "doubl": [0, 2, 4, 5, 10, 21, 24], "double_factor": [0, 2, 7], "double_factorized_t2": [2, 7], "double_factorized_t2_alpha_beta": [2, 7], "doublefactorizedhamiltonian": [0, 4, 5, 7, 23], "down": 14, "draw": [13, 19], "drop": [4, 15, 18], "dropneglig": [4, 7], "dtype": [2, 4, 5, 9, 15, 18], "due": 20, "dump": [15, 18], "duplic": 0, "dure": 4, "e": [0, 2, 4, 8, 9, 11, 15, 16, 18, 20], "e_corr": [18, 20], "each": [0, 2, 3, 4, 5, 8, 11, 14, 16, 18, 22, 23], "edg": 0, "effect": [0, 4, 13], "effici": [8, 13, 16], "eig": [9, 16], "eigendecomposit": 12, "eigenvalu": [0, 2, 3, 9], "eigenvector": [0, 2], "eigh": [12, 23], "eigsh": 9, "einsum": 23, "either": [0, 1, 2, 4, 5, 6, 11], "electon": 4, "electron": [0, 1, 4, 5, 9, 13, 14, 15, 19, 20, 23], "element": [0, 1, 2, 4, 20, 23], "ell": 2, "els": [0, 5, 14], "elsewher": 0, "enabl": 2, "encount": 20, "end": [0, 2, 11, 12, 20, 23], "energi": [0, 3, 9, 12, 18, 20, 21, 23], "energy_nuc": [15, 18], "enough": 4, "ensur": 9, "entangl": [0, 17, 21], "entir": [2, 8], "entri": [0, 2, 4, 5, 11, 14, 23], "enum": 0, "enumer": [0, 18], "environ": 22, "epsilon": 3, "epsmch": 18, "equal": [0, 2, 5, 6, 13], "equal_nan": 6, "equilibrium": 15, "equival": [0, 4], "err_msg": 6, "error": [0, 2, 4, 6, 23], "especi": 16, "estim": 9, "et": 2, "etc": 0, "ethen": 18, "evalu": [3, 15], "even": 13, "everi": 12, "everywher": 14, "evolut": [0, 4, 9, 23], "evolv": [0, 23], "evolved_vec": 9, "evolved_vec_2": 9, "exact": [2, 8, 9, 23], "exact_st": 23, "exampl": [0, 4, 9, 11, 13, 14, 15, 16, 18, 19, 22], "exce": [2, 15, 23], "except": [2, 3], "excit": 13, "exist": [2, 4], "exp": [0, 2, 4, 6], "expand": 0, "expanded_diag_coulomb_mat": 2, "expanded_orbital_rot": 2, "expans": [2, 3], "expect": [0, 3], "expectation_one_body_pow": [0, 7], "expectation_one_body_product": [0, 7], "expectation_product_st": 0, "expens": [0, 2], "explain": [9, 11, 13, 14, 18, 23], "explan": [0, 19, 21], "explicit": 0, "explicitli": 0, "exploit": 21, "expm": 2, "expm_multipli": [9, 23], "expm_multiply_taylor": [2, 7], "exponenti": [8, 9, 23], "expos": [4, 13], "express": [11, 14, 23], "extra": 8, "extract": 20, "f": [3, 14, 15, 18, 20, 23], "facilit": 11, "fact": 15, "factor": [0, 2, 4, 5, 10, 21, 24], "failur": 6, "fake_provid": [13, 19], "fals": [0, 1, 2, 4, 5, 15, 16, 18], "far": 16, "fast": 0, "faster": [18, 21], "fault": 11, "fci": [0, 14, 15, 18], "fci_energi": 0, "fci_vec": 0, "fcidump": 0, "fcivec": 0, "fedora": 22, "feenberg": 3, "fermi": 0, "fermi_hubbard_1d": [0, 7], "fermi_hubbard_2d": [0, 7], "fermion": [0, 4, 5, 6, 8, 10, 11, 12, 16, 19, 20, 21], "fermion_oper": [0, 7], "fermionact": [0, 7], "fermionoper": [0, 4, 5, 7, 17, 21], "few": [14, 22], "fewer": [13, 19, 23], "ffsim": [7, 8, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 22, 23], "ffsim_vec_to_qiskit_vec": [4, 7], "ffsimsampl": [4, 7], "fidel": 23, "field": [0, 2], "fifth": 13, "file": [0, 22], "filter": 0, "final": [0, 3, 4, 5, 13, 19, 23], "final_givens_ansatz_op": 0, "final_orbital_rot": 0, "final_st": [18, 23], "final_state_vector": [4, 7], "finish": 23, "finit": 3, "first": [0, 2, 4, 8, 13, 14, 18, 20, 23], "fix": 14, "flag": 0, "float": [0, 2, 3, 4, 5, 6, 9, 12, 23], "float64": [9, 15, 18], "fock": [0, 4, 11, 14, 18, 21, 23], "focu": 9, "follow": [0, 2, 3, 4, 9, 11, 12, 13, 14, 16, 18, 19, 20, 21, 22, 23], "foot": 0, "forg": [0, 17, 21], "form": [0, 1, 2, 4, 5, 8, 9, 11, 12, 16, 20, 23], "format": [0, 4], "formula": [0, 23], "fourth": [8, 13], "frac": [0, 2], "frac12": [0, 8, 9, 11], "frac18": 0, "framework": 22, "from": [0, 2, 4, 5, 6, 8, 11, 12, 13, 14, 15, 16, 18, 19, 21, 23], "from_diag_coulomb_mat": 0, "from_fcidump": 0, "from_fermion_oper": 0, "from_json": 0, "from_molecular_hamiltonian": [0, 23], "from_orbital_rot": 0, "from_paramet": [0, 13, 18], "from_scf": [0, 15, 18, 20, 21, 23], "from_t_amplitud": [0, 18, 20], "from_ucj_op": 0, "frozen": [18, 20], "fsim": 0, "fswap": 0, "ftol": 3, "full": [0, 2, 13, 14, 15], "fulli": 9, "fun": [3, 15, 18], "function": [0, 1, 2, 3, 8, 9, 12, 14, 15, 16, 18, 19, 23], "fundament": 12, "further": [13, 14], "furthermor": [0, 2], "g": [0, 4, 15], "g_": 2, "g_1": 2, "g_i": 3, "g_k": 2, "g_l": 2, "gate": [0, 4, 10, 11, 15, 20, 21], "gener": [0, 3, 4, 5, 6, 8, 13, 14, 15, 19, 20, 21], "generate_norb_nelec": [6, 7], "generate_norb_nelec_spin": [6, 7], "generate_norb_nocc": [6, 7], "generate_norb_spin": [6, 7], "generate_preset_pass_manag": [13, 19], "genericbackendv2": [13, 19], "get": [0, 14, 15, 18, 20, 21, 23], "get_count": 20, "get_hcor": [15, 18], "get_ovlp": [15, 18], "git": 22, "github": [21, 22], "give": [0, 2, 8, 14, 19], "given": [0, 2, 4, 6, 8, 12], "givens_ansatz_op": [0, 4], "givens_decomposit": [2, 7], "givens_interaction_pair": 0, "givensansatzop": [0, 4, 7], "givensansatzopjw": [4, 7], "givensansatzopspinlessjw": [4, 7], "givensrot": [2, 7], "global": [4, 6], "global_depolar": 4, "go": [0, 13, 16], "good": 16, "gradient": [2, 3, 18], "greater": 3, "ground": [9, 18], "gt": [15, 18, 19, 20], "gto": [15, 18, 20, 21, 23], "gtol": 3, "guarante": [4, 19], "guess": [3, 18], "guid": [11, 15, 18, 19, 20, 21], "gzip": 0, "h": [0, 8, 9, 15, 18, 20, 23], "h1_x": 15, "h2_x": 15, "h2_y": 15, "h_": [0, 2, 8, 9], "h_0": [8, 23], "h_k": [8, 23], "ha": [0, 1, 2, 4, 5, 8, 11, 12, 13, 14, 18], "haar": 5, "ham": 14, "hamiltonian": [0, 3, 4, 5, 10, 15, 18, 20, 21, 24], "hand": 14, "handl": [20, 23], "happen": 13, "hardwar": 13, "hartre": [0, 4, 11, 14, 18, 21, 23], "hartree_fock": 0, "hartree_fock_jw": 13, "hartree_fock_st": [0, 7, 9, 14, 18, 21, 23], "hasattr": 18, "hash": 16, "have": [0, 2, 8, 9, 11, 12, 13, 14, 16, 18, 20, 22], "height": 5, "helper": 16, "here": [0, 2, 8, 12, 13, 15, 23], "hermitian": [0, 2, 5, 12], "hess_inv": [15, 18], "hf": [15, 18], "hf_energi": 0, "hf_mo_coeff": 0, "hf_mo_occ": 0, "high": 13, "higher": [0, 8, 23], "hilbert": 5, "ho": 20, "hold": [0, 3], "home": [15, 18, 22], "hop": [0, 15], "hopgateansatzoper": [0, 7, 15], "hot": 2, "how": [0, 8, 9, 11, 12, 13, 14, 21, 23], "howev": [8, 13, 21], "http": [0, 21, 22], "hubbard": 0, "hydroxyl": 20, "hyperparamet": [3, 18], "i": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "idea": 11, "ident": 0, "ignor": [0, 2, 8], "ij": [0, 1, 2, 4, 8, 11, 12], "ijab": 2, "ik": 12, "imag": 22, "implement": [0, 1, 3, 4, 8, 9, 11, 12, 13, 15, 18, 20, 21, 22, 24], "import": [0, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23], "impos": [11, 18], "improv": [3, 23], "includ": [0, 2, 4, 5, 8, 9, 12, 13, 14, 15, 18, 19, 21, 22], "incorpor": 0, "increas": [0, 14, 23], "increment": 3, "incur": 3, "independ": [0, 1, 4, 15], "index": [0, 2, 11, 14, 16], "indic": [0, 1, 2, 4, 5, 11, 14, 16], "individu": [8, 14, 16], "info": 18, "inform": [0, 9, 16, 18, 21, 23], "init_cach": [0, 7], "initi": [0, 3, 4, 5, 6, 9, 11, 13, 18, 19, 20, 23], "initial_st": 23, "initiali": 15, "input": [0, 1, 3, 4, 5, 6, 18, 20], "insert": 13, "instanc": [5, 9, 23], "instead": [0, 2, 4, 18, 23], "instruct": [21, 22], "instructionset": 19, "int": [0, 1, 2, 3, 4, 5, 6, 12, 15, 23], "integ": [0, 2, 4, 5, 6, 14], "integr": [0, 4], "interact": [0, 1, 2, 4, 5, 11, 13, 18, 20], "interaction_pair": [0, 5, 13, 15, 18, 20], "interfac": [18, 22], "interferomet": 2, "intermedi": 18, "intermediate_result": [3, 18], "intern": 16, "interpret": [0, 5, 11], "intor_symmetr": [15, 18], "introduc": [11, 12, 23], "invers": 4, "involv": [12, 13], "ip": 2, "ipykernel_4154": 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, 13], "item": 20, "iter": [0, 3, 4, 6, 18], "itertool": 2, "its": [0, 2, 4, 9, 13, 14, 15, 16, 23], "itself": [0, 14, 16], "j": [0, 1, 2, 4, 5, 8, 11, 12, 14, 15, 16], "jac": [3, 15, 18], "jastrow": [0, 3, 4, 5, 10, 17, 21], "ji": [0, 4, 11, 12], "jk": 12, "job": [4, 20], "jordan": [0, 4], "jordan_wign": [4, 7], "jq": 2, "json": [0, 15, 18], "jupyt": 22, "just": [0, 14, 18, 22, 23], "jwt": 4, "k": [0, 2, 3, 8, 9, 11, 16, 20, 23], "kappa": 0, "kappa_": 0, "keep": [0, 2], "kei": 20, "kij": 23, "know": 15, "known": [0, 8], "kpi": 23, "kqi": 23, "krj": 23, "kron": 0, "ksj": 23, "kwarg": [0, 4], "l": [0, 2, 3, 8, 11, 15, 18, 23], "label": [4, 14], "ladder": [8, 11], "lambda": [0, 4, 20], "lambda_i": [0, 1, 4, 12], "lambda_k": 12, "langl": 0, "larger": [0, 2, 3, 16], "last": [0, 2, 3, 4], "later": [19, 23], "lattic": [0, 11, 13, 18, 20], "layer": [0, 2, 13, 20], "lbfgsinvhessproduct": [15, 18], "ldot": [0, 2, 8, 11, 23], "lead": 0, "least": [2, 5], "left": [0, 4, 12, 14, 16], "len": [15, 18, 23], "length": [0, 4, 5, 14, 15], "leq": [0, 2, 5], "less": [2, 11], "let": [0, 13, 14, 16, 18, 19, 20, 23], "level": 23, "lexicograph": [0, 16], "lib": [15, 18], "libopenbla": 22, "librari": [0, 21], "like": [4, 11, 18, 22], "limit": [0, 2, 11, 13, 15, 18], "linalg": [0, 7, 9, 12, 16, 18, 21, 23], "lindep": 3, "line": [0, 11, 13, 18], "linear": [0, 1, 2, 3, 4, 9, 12, 13, 16], "linear_oper": [0, 7, 9, 16, 18, 21, 23], "linearli": 8, "linearoper": [0, 1, 3, 16, 18, 21, 23], "linop": [9, 16, 21, 23], "linux": 22, "list": [0, 2, 4, 5, 6, 11, 14, 15, 18, 20, 23], "ll": [9, 12, 13, 15, 18, 20, 23], "lm": 16, "load": 0, "local": [10, 17, 21], "localhost": 22, "log": [0, 4], "logarithm": 11, "logic": [12, 15], "longer": 11, "longest": 0, "lookup": 0, "losslessli": 0, "low": [0, 8, 23], "lower": [0, 2], "lowest": [0, 13, 14], "lt": [15, 18, 19, 20], "lu": 2, "lucj": [10, 13, 17, 21], "lup": [2, 7], "lvert": [0, 4, 11, 14], "lzma": 0, "m": [0, 1, 2, 12], "m_": [0, 1, 2], "maco": 22, "made": 23, "magnitud": 0, "mai": [0, 2, 3, 4, 11, 22, 23], "main": [18, 22], "maintain": 8, "make": [11, 13], "manag": [4, 13, 19, 22], "mani": [0, 9, 12, 14, 21], "manual": 23, "many_body_ord": 0, "map": [0, 4, 12, 13, 16], "mapsto": [0, 4, 12], "mat": [0, 1, 2, 4, 12, 14], "mat_aa": 2, "mat_ab": 2, "mat_bb": 2, "match": [0, 2], "match_global_phas": [2, 7], "math": [5, 15], "mathbf": [0, 8, 11, 12], "mathcal": [0, 1, 4, 8, 11, 12], "matric": [0, 1, 2, 4, 11, 12, 23], "matrix": [0, 1, 2, 3, 4, 5, 8, 9, 11, 12, 14, 16], "max": [3, 23], "max_error": 23, "max_term_length": 5, "max_vec": [0, 2, 23], "maxfun": 15, "maximum": [0, 2, 3, 5, 23], "maxit": [3, 18], "mcscf": [15, 18], "mea": 20, "meant": [4, 19], "measur": [5, 8, 20], "measure_al": 20, "mention": 8, "merg": [4, 19], "mergeorbitalrot": [4, 7, 13], "messag": [6, 15, 18], "method": [0, 2, 3, 11, 15, 16, 20, 21], "mid": 20, "might": 2, "mind": 23, "minim": [0, 2, 3, 13, 15, 18], "minimize_linear_method": [3, 7, 18], "minimizz": 15, "minimum": 4, "mk": 2, "mkap": 2, "mkbq": 2, "mkip": 2, "mkjq": 2, "mkpq": 2, "mo_coeff": 0, "mo_occ": 0, "mode": 12, "model": 0, "modifi": [0, 2], "modified_choleski": [2, 7], "modul": [0, 14, 15, 19, 20], "mol": [15, 18, 20, 21, 23], "mol_data": [15, 18, 20, 21, 23], "mol_hamiltonian": [9, 15, 18, 20, 23], "mole": [0, 15, 18, 20, 21, 23], "molecul": [0, 18, 21, 23], "molecular": [0, 5, 9, 10, 14, 15, 18, 20, 21, 23], "moleculardata": [0, 7, 15, 18, 20, 21, 23], "molecularhamiltonian": [0, 5, 7, 9, 23], "more": [0, 2, 3, 4, 8, 9, 11, 13, 14, 19, 23], "most": [0, 2, 16, 20], "motiv": 13, "mp2": 0, "mp2_energi": 0, "mp2_t2": 0, "mpl": [13, 19], "msg": [15, 18], "mu": 0, "much": [0, 2, 8, 13, 21], "multipl": [0, 9, 16, 23], "multipli": [0, 16], "multiport": 2, "multirefer": 0, "multireference_st": [0, 7], "multireference_state_prod": [0, 7, 15], "must": [0, 2, 3, 4, 5, 16, 20], "n": [0, 2, 3, 8, 9, 11, 12, 14, 20, 21, 23], "n2": [20, 21, 23], "n_": [0, 1, 4, 8, 11, 12, 14], "n_alpha": [4, 6, 20], "n_beta": [4, 6, 20], "n_frozen": [20, 23], "n_i": 4, "n_j": 4, "n_layer": 15, "n_p": 0, "n_param": [0, 13], "n_qubit": 4, "n_rep": [0, 5, 13, 18, 19, 20], "n_sampl": 0, "n_step": [0, 4, 13, 19, 23], "n_term": 5, "n_vec": 2, "n_x": 0, "n_y": 0, "name": [0, 9, 13, 14, 19, 22], "namedtupl": [0, 2], "nan": 6, "nao_nr": [15, 18, 20, 21, 23], "nativ": 21, "navig": 22, "ndarrai": [0, 1, 2, 3, 4, 5, 6, 12, 18, 23], "nearest": 0, "nearest_neighbor_interact": 0, "need": [0, 4, 9, 11, 13, 20, 22, 23], "neg": [0, 4], "neglig": 4, "neighbor": [0, 13], "nelec": [0, 1, 4, 6, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23], "nelectron": 18, "neq": 0, "nest": 2, "network": 11, "new": [0, 4, 12, 16], "newli": 0, "next": [13, 15, 23], "nfev": [3, 15, 18], "nit": [15, 18], "nitrogen": [20, 23], "njev": [15, 18], "nlinop": [3, 18], "nn": 0, "nocc": [0, 5, 6], "nocc_a": 2, "nocc_b": 2, "noisi": [4, 11], "non": [4, 11], "none": [0, 1, 2, 3, 4, 5, 6], "nonzero": [0, 2, 5, 11], "norb": [0, 1, 2, 4, 5, 6, 9, 12, 13, 14, 15, 16, 18, 19, 20, 21, 23], "norb_i": 0, "norb_rang": 6, "norb_x": 0, "norm": [0, 18], "normal": [0, 15, 16], "normal_ord": [0, 16], "note": [0, 2, 3, 13, 14, 16, 19, 21], "notebook": 22, "notic": 18, "notimplementederror": 4, "now": [9, 13, 15, 18, 20, 23], "np": [0, 2, 4, 5, 6, 9, 12, 13, 15, 18, 19, 20, 21, 23], "num_num_ansatz_op": [0, 4], "num_num_interaction_pair": 0, "num_op_sum_linop": [1, 7], "number": [0, 1, 2, 3, 4, 5, 6, 8, 9, 12, 14, 15, 16, 18, 21, 23], "number_oper": [0, 7], "numer": [0, 2, 4, 16], "numnumansatzopspinbalanc": [0, 4, 7], "numnumansatzopspinbalancedjw": [4, 7], "numopsumevolutionjw": [4, 7, 13, 19], "numopsumevolutionspinlessjw": [4, 7], "numpi": [0, 1, 2, 4, 6, 9, 11, 12, 13, 14, 15, 18, 19, 20, 21, 23], "o": [0, 15, 20], "o_1": 0, "o_2": 0, "o_k": 0, "obj": 0, "object": [0, 2, 3, 4, 5, 9, 16, 18, 20], "obtain": [0, 8, 9, 12, 13, 18, 23], "occ_a": 6, "occ_b": 6, "occup": [0, 6, 8, 12, 14], "occupi": [0, 4, 5, 6, 13, 14], "occupied_orbit": [0, 4, 13, 19, 20], "often": [8, 11, 18], "onc": [12, 13, 22], "one": [0, 1, 2, 4, 5, 8, 9, 13, 14, 18, 20, 22, 23], "one_body_basis_chang": 23, "one_body_energi": 23, "one_body_integr": 0, "one_body_linop": [1, 7], "one_body_squar": 0, "one_body_tensor": [0, 9, 23], "one_hot": [2, 7], "one_rdm": 0, "ones": 9, "onli": [0, 2, 4, 8, 11, 12, 13, 20, 22], "onsit": 0, "onto": [13, 16], "op": [0, 4, 16], "op1": [0, 16], "op2": [0, 16], "op3": 16, "op4": 16, "opaqu": 13, "open": [0, 11], "openbla": 22, "oper": [0, 1, 2, 3, 4, 5, 8, 11, 12, 16, 18, 22, 23], "oppos": 13, "opposit": [18, 20], "optim": [0, 2, 4, 7, 11, 13, 19, 21], "optimization_level": [13, 19], "optimize_kwarg": 3, "optimize_regular": 3, "optimize_vari": 3, "optimizeresult": [3, 18], "option": [0, 1, 2, 3, 4, 5, 9, 15, 18, 22], "orb": [0, 16], "orbit": [0, 1, 2, 4, 5, 6, 8, 9, 10, 11, 14, 15, 16, 18, 20, 21, 23], "orbital_rot": [0, 1, 2, 4, 12, 13, 14, 19, 20, 21, 23], "orbital_rotation_a": 2, "orbital_rotation_b": 2, "orbital_symmetri": 0, "orbitalrotationjw": [4, 7, 13, 19, 20], "orbitalrotationspinlessjw": [4, 7], "order": [0, 1, 2, 4, 5, 8, 9, 13, 14, 16, 19, 20, 23], "ordereddict": [13, 19], "org": 0, "origin": [0, 2, 11, 13, 23], "orthogon": [2, 5], "other": [0, 4, 11, 14, 18, 19, 20], "otherwis": 0, "our": [15, 18, 20, 23], "out": [2, 23], "output": [0, 3, 4, 13, 18, 20], "over": 0, "overrid": [0, 2], "overwritten": [0, 15, 18], "own": 4, "p": [0, 2, 8, 9, 11, 13, 18, 19, 20], "packag": [15, 18, 22], "pacman": 22, "pad": 0, "page": [8, 9, 11, 12, 13, 14], "pair": [0, 1, 2, 4, 5, 6, 11, 13, 14], "pairs_aa": [13, 18, 20], "pairs_ab": [13, 18, 20], "pairs_bb": 20, "paper": 11, "parallel": [2, 11, 13], "param": 0, "paramet": [0, 1, 2, 3, 4, 5, 6, 11, 15, 18], "parameter": 0, "parameter_valu": 4, "params_to_vec": [3, 18], "pars": [15, 18], "part": [0, 5, 8, 12, 14, 15], "particl": [0, 5, 6, 12, 16, 21], "pass": [0, 1, 2, 4, 9, 12, 13, 14, 15, 16, 18, 19], "pass_manag": [13, 19], "passmanag": [4, 13], "path": 0, "pathlik": 0, "pattern": [13, 15], "pauli": 0, "per": 23, "perform": [0, 2, 3, 8, 9, 12, 13, 20, 23], "period": 0, "periodic_i": 0, "periodic_x": 0, "permut": 2, "persist": 22, "ph": 5, "phase": [0, 2, 4, 6, 13], "phase_angl": 0, "phaseg": 13, "phi": [0, 2, 6], "phi_0": 11, "pi": [0, 15], "piec": [9, 16], "pip": 21, "pipelin": 13, "pivot": 2, "pk": 2, "place": [0, 2, 11, 13, 16, 22], "plain": 14, "pmatrix": [0, 2], "point": 0, "polar": 0, "posit": [2, 3, 5, 14], "possibl": [0, 2, 6, 20, 21], "possibli": [0, 18], "potenti": 0, "power": 0, "pq": [0, 2, 8, 9], "pqr": [0, 2, 8, 9, 23], "practic": 8, "pre": [11, 19], "pre_init": [4, 7, 13, 19], "pre_init_pass": [4, 7, 19], "precis": 6, "prepar": [0, 4, 20], "preparehartreefockjw": [4, 7, 13, 19, 20], "preparehartreefockspinlessjw": [4, 7, 20], "prepareslaterdeterminantjw": [4, 7, 13, 19, 20], "prepareslaterdeterminantspinlessjw": [4, 7, 20], "present": 3, "preserv": [16, 20], "preset_passmanag": [13, 19], "previou": [18, 20], "previous": [8, 13, 14, 18], "primit": [4, 17, 21], "primitivejob": 4, "primitiveresult": 4, "print": [0, 6, 13, 14, 15, 16, 18, 20, 21, 23], "probabl": [0, 4], "problem": 3, "process": 0, "processor": 11, "prod": 15, "prod_": [0, 4, 11], "prod_k": 8, "prod_state_sum": 0, "produc": [0, 13], "product": [0, 2, 8, 14, 15, 16], "productstatesum": [0, 7], "programmat": 16, "properti": [0, 2, 12], "proport": [0, 8], "protocol": 0, "provid": [9, 13, 19, 22], "pseudorandom": [0, 4, 5, 6], "psi": [0, 11], "pub": [4, 20], "pub_result": 20, "put": 15, "py": [9, 15, 18], "pypi": 22, "pyscf": [0, 4, 14, 15, 18, 20, 21, 23], "python3": [15, 18], "q": [0, 8, 9, 13, 19], "qdrift": 0, "qi": 0, "qiskit": [7, 13, 17, 21, 22], "qiskit_vec_to_ffsim_vec": [4, 7], "qk": 2, "quadrat": [8, 10, 21, 23], "qualnam": 0, "quantifi": 2, "quantiti": 0, "quantum": [0, 4, 8, 11, 13, 14, 17, 20, 21], "quantumcircuit": [4, 13, 19, 20], "quantumregist": [13, 19, 20], "qubit": [0, 4, 10, 11, 15, 19, 20, 21], "r": [0, 2, 8, 9], "radic": 20, "radius_1": 15, "radius_2": 15, "rais": [0, 2, 4, 5, 6], "random": [0, 4, 6, 7, 9, 13, 14, 15, 16, 19, 20, 21], "random_antihermitian": [5, 7], "random_density_matrix": [5, 7], "random_diagonal_coulomb_hamiltonian": [5, 7], "random_double_factorized_hamiltonian": [5, 7, 13, 19], "random_fermion_hamiltonian": [5, 7], "random_fermion_oper": [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, 13, 19, 20], "random_special_orthogon": [5, 7], "random_state_vector": [5, 7, 16], "random_t2_amplitud": [5, 7], "random_two_body_tensor": [5, 7, 9], "random_uccsd_restrict": [5, 7], "random_ucj_op_spin_balanc": [5, 7, 13, 19], "random_ucj_op_spin_unbalanc": [5, 7, 19], "random_ucj_op_spinless": [5, 7], "random_unitari": [5, 7, 13, 14, 19, 20, 21], "rang": [0, 2, 6, 13, 14, 15, 18, 20, 21, 23], "rangl": [0, 4, 11, 14], "rank": [0, 2, 5, 8, 13], "rather": [0, 5, 12, 14], "rccsd": 20, "rdm": [0, 7], "rdm1": 0, "rdm2": 0, "rdm3": 0, "rdm4": 0, "reach": 18, "read": 0, "real": [0, 1, 2, 3, 4, 5, 6, 8, 9, 11, 12, 18, 21], "reason": [4, 12], "recal": 13, "recommend": [4, 13, 16, 19, 21], "reconstruct": [0, 2, 23], "reconstruct_t2_alpha_beta": 2, "recover": 0, "reduc": [0, 2, 13], "reduced_matrix": [2, 7], "reduced_matrix_product_st": 0, "redund": 11, "refer": [0, 2, 3, 4, 5, 6, 11, 12, 14, 18, 21], "reference_occup": [0, 15], "reference_occupations_spati": 15, "reference_st": 18, "regress": 0, "regular": [3, 18], "rel": [0, 2, 4, 6], "rel_reduction_of_f_": 18, "relat": 12, "releas": 21, "reorder": [0, 8], "rep": 13, "repeat": 15, "repeatedli": 12, "repetit": [0, 5, 11, 13, 18], "repositori": 22, "repr": 16, "repres": [0, 2, 3, 4, 5, 6, 9, 11, 14, 16, 18, 19], "represent": [0, 1, 2, 4, 5, 10, 14, 16, 21, 23], "reproduc": 23, "request": 0, "requir": [0, 9, 11, 13, 14, 22], "reshap": 14, "respect": [0, 2, 3, 23], "rest": [0, 13], "restrict": [0, 5, 13, 18], "result": [0, 1, 2, 3, 4, 5, 8, 9, 11, 13, 15, 18, 19, 20, 23], "retain": [0, 13], "retriev": 20, "return": [0, 1, 2, 3, 4, 5, 6, 12, 15, 16, 18, 23], "revers": 20, "rewrit": 0, "rewritten": 12, "rhf": [15, 18, 20, 21, 23], "right": [0, 4, 12, 14, 16], "ring": 0, "rise": [2, 8], "rng": [9, 13, 15, 19, 20], "rohf": 20, "root": 0, "rotat": [0, 1, 2, 4, 5, 8, 10, 11, 14, 21, 23], "rotated_vec": 14, "routin": [2, 9, 16], "row": [0, 2, 14], "rtol": [0, 2, 4, 6], "rtype": [2, 4], "run": [0, 4, 13, 15, 18, 19, 20, 21, 22, 23], "run_ccsd": 0, "run_cisd": 0, "run_fci": [0, 15, 18], "run_mp2": 0, "run_sci": 0, "rung": 11, "runner": [15, 18], "rust": 22, "rvert": 0, "s_": [0, 14], "s_a": 0, "s_b": 0, "sa": 9, "same": [0, 9, 11, 12, 13, 14, 15, 18, 20], "sampl": [0, 4, 5, 6, 9], "sample_slater_determin": [0, 7], "sample_state_vector": [0, 7], "sampler": [0, 4, 17, 21], "samplerpubresult": 4, "sandwich": 13, "satisfi": [0, 12, 16, 20, 22], "save": [0, 18, 22], "scalar": [0, 16], "scale": [8, 13, 15, 19], "scf": [0, 15, 18, 20, 21, 23], "scheme": 8, "schmidt": 5, "sci": 0, "sci_energi": 0, "sci_vec": 0, "scipi": [0, 2, 3, 15, 16, 18, 21, 23], "search": 14, "second": [0, 2, 4, 8], "section": [8, 19], "sector": [0, 1, 2, 4, 15], "see": [0, 2, 4, 11, 13, 14, 19, 22, 23], "seed": [0, 4, 5, 6, 9, 13, 14, 19, 20, 21], "seen": 20, "select": 3, "semi": 5, "sens": [13, 23], "separ": [11, 14], "sequenc": [0, 2, 4, 13], "seri": 2, "serial": 0, "serializ": [15, 18], "set": [0, 1, 2, 4, 5, 8, 11, 12, 13, 19, 23], "setup": 11, "sever": [9, 13], "shape": [0, 2, 5, 11, 23], "share": 11, "shell": [11, 18], "shot": [0, 4, 20], "should": [0, 1, 2, 4, 5, 6, 9, 12, 22], "show": [13, 15, 16, 18, 19, 20], "shown": 16, "side": 0, "sigma": [0, 1, 4, 8, 9, 11, 12], "sign": 0, "signatur": 3, "signific": 23, "significantli": 13, "similar": 18, "simpl": [20, 22], "simpler": 0, "simpli": [4, 13, 14], "simplist": 23, "simul": [0, 4, 8, 11, 12, 14, 17, 21, 24], "simulate_qdrift_double_factor": [0, 7], "simulate_trotter_diag_coulomb_split_op": [0, 7], "simulate_trotter_double_factor": [0, 7, 8, 23], "simulate_trotter_step_double_factor": 23, "simulatetrotterdiagcoulombsplitopjw": [4, 7], "simulatetrotterdoublefactorizedjw": [4, 7, 13, 19], "sin": [0, 15], "sinc": [0, 2, 11, 12, 15, 18], "singl": [0, 1, 4, 6, 8, 13, 23], "singlefactorizedhamiltonian": [0, 7], "singular": [0, 2], "site": [0, 15, 18], "size": [0, 3, 15], "slater": [0, 4], "slater_determin": [0, 7], "slater_determinant_amplitud": [0, 7], "slater_determinant_rdm": [0, 7], "slice": 2, "small": 2, "smaller": [0, 2, 8, 16, 23], "so": [0, 2, 6, 8, 11, 12, 13, 15, 16, 22, 23], "softwar": [0, 21], "solv": 3, "some": [0, 2, 6, 9, 13, 14, 16, 18, 20], "sometim": [0, 14], "sort": 20, "sourc": [0, 1, 2, 3, 4, 5, 6, 21], "space": [0, 9, 14, 15, 18, 20, 23], "span": [0, 2], "spars": [9, 16, 23], "sparsepauliop": 4, "sparsiti": 11, "spatial": [0, 1, 4, 5, 6, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 23], "speci": [4, 6], "special": [2, 5, 11, 13, 21], "specif": 14, "specifi": [0, 1, 2, 3, 4, 5, 6, 9, 11, 13, 15, 23], "spectral": 0, "spin": [0, 1, 2, 4, 5, 6, 7, 12, 13, 14, 15, 16, 18, 20, 21], "spin_squar": [0, 7], "spin_sum": 0, "spinless": [0, 4, 5, 6], "split": [0, 4, 23], "squar": [0, 2, 11, 13, 18, 20], "stack": 0, "stage": [4, 13, 19], "standard": 18, "standard_norm": [9, 13, 19], "star": 2, "start": 0, "state": [0, 1, 3, 4, 5, 9, 10, 11, 12, 13, 18, 20, 21, 23], "statevector": [0, 4, 7], "static": 0, "statist": 20, "statu": [15, 18], "step": [0, 4, 8, 12, 15, 19, 23], "step_tim": 23, "still": [0, 8], "sto": [0, 15, 18, 23], "stop": [3, 15, 18], "store": [0, 2, 4, 6, 9, 11, 13, 18, 19, 23], "store_cisd_vec": 0, "store_fci_vec": 0, "store_sci_vec": 0, "store_t1": 0, "store_t2": 0, "str": [0, 2, 4, 6], "straightforward": 2, "strategi": 0, "strength": 0, "strictli": 3, "string": [0, 14, 16], "strings_a": 0, "strings_b": 0, "strings_to_address": [0, 7], "structur": [0, 8], "sub": 0, "subdirectori": 22, "submit": 20, "subroutin": 12, "subspac": [0, 2, 16], "substitut": [0, 5], "subsystem": [14, 22], "subtract": [0, 16], "success": [15, 18], "sudo": 22, "suffix": 15, "suggest": 19, "sum": [0, 4, 8, 23], "sum_": [0, 1, 2, 4, 8, 9, 11, 12, 23], "sum_j": 12, "sum_k": [8, 12], "sum_p": 0, "sum_t": 0, "summat": 0, "support": [0, 2, 9, 14, 16, 20, 22], "supportsapplyunitari": [0, 7], "supportsapproximateequ": [0, 7], "supportsdiagon": [0, 7], "supportsfermionoper": [0, 7], "supportslinearoper": [0, 7], "supportstrac": [0, 7], "suzuki": [0, 23], "swap": [0, 11, 13], "symmetr": [0, 2, 4, 5, 8, 11], "symmetri": [0, 12, 15, 18, 20, 21, 23], "system": [0, 4, 6, 12, 14, 22], "t": [0, 2, 4, 8, 11, 12, 20, 21], "t1": 0, "t1a": 0, "t1b": 0, "t2": [0, 2, 5, 18, 20], "t2_amplitud": 2, "t2aa": 0, "t2ab": 0, "t2bb": 0, "t_": 2, "tabl": [0, 16], "take": [0, 3, 18, 19], "taken": 11, "target": [2, 13], "target_orb": 0, "tau": [0, 1, 4, 8, 9, 11], "taylor": 2, "tensor": [0, 1, 2, 5, 8, 9, 18, 23], "term": [0, 2, 5, 8, 11, 16, 23], "test": [7, 21, 23], "text": [0, 8, 9], "th": [2, 12], "than": [0, 4, 5, 12, 13, 14, 18, 21], "thei": [0, 9, 11, 12, 16], "them": [11, 13, 14], "therefor": [0, 2, 11], "theta": [0, 15], "thi": [0, 2, 4, 8, 9, 11, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23], "think": 2, "third": [0, 2], "those": [3, 18], "though": 13, "three": [0, 1, 4, 9, 16], "threshold": [0, 2, 3], "thu": 8, "time": [0, 2, 3, 4, 9, 13, 14, 19, 20, 23], "titl": 21, "tmp": [9, 15, 18], "tmphpc8qqlh": 15, "tmpiqx5sdlb": 18, "to_diag_coulomb_mat": 0, "to_fcidump": 0, "to_json": 0, "to_molecular_hamiltonian": 0, "to_number_represent": 0, "to_orbital_rot": 0, "to_paramet": [0, 18], "to_z_represent": 0, "tol": [0, 2, 23], "toler": [0, 2, 4, 6, 11, 23], "too": 2, "top": 20, "topologi": [11, 13, 18], "toru": 0, "total": [4, 8, 15, 18, 23], "tox": [15, 18], "trace": [0, 5, 7, 9, 23], "tracea": [9, 23], "trajectori": 0, "transform": [0, 1, 4], "transformationpass": 4, "transpil": [4, 13, 17, 21], "transpiled_opt": 13, "treat": 0, "triangl": 11, "trianglular": [0, 2], "triangular": [0, 2, 4, 5], "triplet": 6, "trotter": [0, 4, 21, 24], "true": [0, 2, 3, 4, 6, 16, 18, 20], "truncat": 8, "try": 23, "tunnel": 0, "tupl": [0, 1, 2, 4, 5, 6, 12, 15, 16, 23], "tutori": [21, 23], "twice": [0, 15, 19], "two": [0, 2, 5, 8, 9, 11, 13, 14, 15, 18, 22, 23], "two_body_integr": 0, "two_body_tensor": [0, 2, 9, 23], "type": [0, 1, 2, 3, 4, 5, 6, 20, 22], "typeerror": 0, "typic": 0, "u": [0, 1, 2, 4, 8, 11, 12], "u_": 4, "u_k": 0, "ubuntu": 22, "uccsd": [0, 5, 20], "uccsdoprestrictedr": [0, 5, 7], "ucj": [0, 4, 5], "ucj_balanced_jw": 13, "ucj_op": [0, 4, 13, 19, 20], "ucjanglesopspinbalanc": [0, 7], "ucjoperatorjw": 4, "ucjopspinbalanc": [0, 4, 5, 7, 11, 13, 18, 20], "ucjopspinbalancedjw": [4, 7, 13, 19, 20], "ucjopspinless": [0, 4, 5, 7], "ucjopspinlessjw": [4, 7], "ucjopspinunbalanc": [0, 4, 5, 7, 11, 20], "ucjopspinunbalancedjw": [4, 7, 13, 19, 20], "uhf": 20, "unbalanc": [0, 4, 5, 20], "uncorrel": 0, "under": [0, 4], "underli": 4, "unifi": 20, "uniform": [0, 4, 5], "unimpl": 4, "union": [2, 4], "unit": 2, "unitari": [0, 1, 2, 4, 5, 8, 10, 12, 14, 17, 21], "univers": 2, "unlik": 0, "unord": 0, "untouch": 0, "up": [0, 2, 6, 8, 14, 22], "updat": [0, 8], "upon": 16, "upper": [0, 2, 4, 5, 11], "url": 21, "us": [0, 1, 2, 3, 4, 5, 8, 9, 11, 12, 13, 14, 15, 17, 18, 19, 21, 23], "usag": [0, 2, 16, 19], "user": 22, "userwarn": [9, 15, 18], "usual": 0, "util": [2, 5, 6, 8], "v": [0, 20], "v_": 0, "v_i": 2, "v_j": 2, "vacuum": 4, "valid": [0, 4, 5, 6], "valu": [0, 1, 2, 3, 4, 5, 6, 9, 11, 18, 19, 23], "valueerror": [0, 2, 4, 5], "vari": [0, 4], "variabl": [14, 23], "variant": [11, 13, 18], "variat": [0, 3, 11, 18], "variation": 18, "varphi": 0, "vdot": [18, 21, 23], "ve": 23, "vec": [0, 1, 2, 4, 9, 12, 14, 16, 21, 23], "vec_a": 0, "vec_b": 0, "vector": [0, 1, 2, 3, 4, 5, 9, 10, 11, 12, 15, 16, 18, 21], "verbos": 6, "verifi": 2, "version": 4, "vertic": 0, "via": [0, 23], "view": [0, 16], "volum": 22, "w": 0, "wa": [0, 3, 4, 11], "wai": 11, "want": 13, "warn": [9, 15, 18, 20], "water": 15, "wavefunct": [3, 18], "we": [0, 2, 8, 9, 11, 12, 13, 14, 15, 16, 18, 19, 20, 21, 22, 23], "web": 22, "weight": 14, "well": [3, 14, 21, 22, 23], "when": [0, 3, 4, 9, 11, 13, 14, 16, 19, 21], "whenev": 0, "where": [0, 1, 2, 3, 4, 5, 8, 11, 12, 14, 22, 23], "whether": [0, 1, 2, 3, 4, 5, 16], "which": [0, 2, 4, 5, 8, 9, 11, 12, 13, 14, 15, 16, 22, 23], "while": [8, 11], "whose": [0, 2, 14], "width": 5, "wigner": [0, 4], "william": 2, "window": [21, 22], "wise": 2, "with_final_givens_ansatz_op": 0, "with_final_orbital_rot": [0, 5], "with_phase_angl": 0, "with_phi": 0, "within": [0, 2, 13, 16, 18, 21], "without": [11, 13, 18], "won": 21, "word": [0, 11, 20], "work": [9, 13, 15, 18, 19, 21, 22], "workflow": 20, "would": [13, 14], "wrapper": 23, "write": 23, "written": 8, "wrote": 23, "wsl": 22, "x": [0, 3, 4, 13, 15, 18, 19, 20], "x0": [3, 15, 18], "xx_plus_yi": [13, 19], "xxplusyyg": [13, 19], "y": 0, "yaml": 22, "yet": [9, 18], "yield": [0, 2, 4, 8, 11, 15, 23], "you": [0, 1, 2, 4, 9, 14, 18, 21, 22, 23], "your": [19, 22], "z": [0, 1, 2, 4, 5, 12, 16, 21], "z_represent": [0, 1, 4, 5], "zero": [0, 2, 4, 9, 19], "zip": [0, 15, 18, 23], "\u03c8": 18}, "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", "The local unitary cluster Jastrow (LUCJ) ansatz", "Orbital rotations and quadratic Hamiltonians", "Qubit gate decompositions of fermionic gates", "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", "How to build and transpile Qiskit quantum circuits", "How to use ffsim\u2019s Qiskit Sampler primitive", "ffsim", "Installation", "Implementing Trotter simulation of the double-factorized Hamiltonian", "Tutorials"], "titleterms": {"": 20, "The": 11, "action": 9, "an": 20, "ansatz": [11, 15, 18], "api": 7, "applic": 8, "background": 8, "balanc": [11, 19], "brief": 8, "build": [15, 19, 23], "can": 20, "choos": 15, "circuit": [19, 20], "cite": 21, "class": 16, "close": 20, "cluster": [11, 13, 18, 19], "code": 21, "comput": 15, "content": 21, "contract": 1, "coulomb": [13, 19], "criteria": 20, "data": 9, "decomposit": 13, "determin": [13, 19], "diagon": [13, 19], "docker": 22, "doubl": [8, 13, 19, 23], "energi": 15, "entangl": 15, "evolut": [8, 12, 13, 19], "exampl": [20, 21], "explan": 10, "factor": [8, 13, 19, 23], "fermion": [13, 14], "fermionoper": 16, "ffsim": [0, 1, 2, 3, 4, 5, 6, 20, 21], "ffsimsampl": 20, "fock": [13, 19], "forg": 15, "formula": 8, "from": [20, 22], "gate": [13, 14, 19], "gener": [11, 18], "guid": 17, "hamiltonian": [8, 9, 12, 13, 19, 23], "hartre": [13, 19], "how": [15, 16, 17, 18, 19, 20], "implement": 23, "initi": 15, "instal": [21, 22], "jastrow": [11, 13, 18, 19], "linalg": 2, "linear": 18, "linearoper": 9, "local": [11, 13, 18], "lucj": [11, 18, 20], "merg": 13, "method": 18, "molecul": [15, 20], "molecular": 8, "more": 20, "number": [13, 19], "occup": 15, "open": 20, "oper": [9, 13, 15, 19], "optim": [3, 15, 18], "orbit": [12, 13, 19], "overview": 19, "pip": 22, "prepar": [13, 19], "primit": 20, "qiskit": [4, 19, 20], "quadrat": 12, "quantum": 19, "qubit": 13, "random": 5, "refer": [7, 15], "represent": [8, 9], "rotat": [12, 13, 19], "sampl": 20, "sampler": 20, "scipi": 9, "shell": 20, "simul": [13, 15, 18, 19, 23], "slater": [13, 19], "sourc": 22, "spin": [11, 19], "spinless": 14, "state": [14, 19], "sum": [13, 19], "suzuki": 8, "test": 6, "time": [8, 12], "transform": 19, "transpil": 19, "treat": 14, "trotter": [8, 13, 19, 23], "tutori": 24, "ucj": [11, 13, 18, 19], "unbalanc": [11, 19], "unitari": [11, 13, 18, 19], "us": [16, 20, 22], "vector": 14, "via": [8, 9], "within": 22}}) \ No newline at end of file diff --git a/dev/tutorials/double-factorized-trotter.html b/dev/tutorials/double-factorized-trotter.html index 0c1fd8e46..5d877c3c0 100644 --- a/dev/tutorials/double-factorized-trotter.html +++ b/dev/tutorials/double-factorized-trotter.html @@ -455,7 +455,7 @@

Build the Hamiltonian
-Maximum error in a tensor entry: 0.03668541730983477
+Maximum error in a tensor entry: 0.036685417309835655
 

@@ -596,7 +596,7 @@

Implement Trotter simulation
-Fidelity of Trotter-evolved state with exact state: 0.940243511515908
+Fidelity of Trotter-evolved state with exact state: 0.9402384003985698
 

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

@@ -623,7 +623,7 @@

Implement Trotter simulation
-Fidelity of Trotter-evolved state with exact state: 0.9985212854201858
+Fidelity of Trotter-evolved state with exact state: 0.9985210983501976
 

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

@@ -651,7 +651,7 @@

Implement Trotter simulation
-Fidelity of Trotter-evolved state with exact state: 0.9985212854202294
+Fidelity of Trotter-evolved state with exact state: 0.9985210983500586
 

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

@@ -679,7 +679,7 @@

Implement Trotter simulation
-Fidelity of Trotter-evolved state with exact state: 0.9996731164188969
+Fidelity of Trotter-evolved state with exact state: 0.9996731173183583
 

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

diff --git a/dev/tutorials/double-factorized-trotter.ipynb b/dev/tutorials/double-factorized-trotter.ipynb index ff0fcf662..8ee8fffb2 100644 --- a/dev/tutorials/double-factorized-trotter.ipynb +++ b/dev/tutorials/double-factorized-trotter.ipynb @@ -18,10 +18,10 @@ "execution_count": 1, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:45.923610Z", - "iopub.status.busy": "2024-12-05T03:24:45.923421Z", - "iopub.status.idle": "2024-12-05T03:24:46.676204Z", - "shell.execute_reply": "2024-12-05T03:24:46.675632Z" + "iopub.execute_input": "2024-12-05T04:50:45.060715Z", + "iopub.status.busy": "2024-12-05T04:50:45.060524Z", + "iopub.status.idle": "2024-12-05T04:50:45.838950Z", + "shell.execute_reply": "2024-12-05T04:50:45.838311Z" } }, "outputs": [ @@ -80,10 +80,10 @@ "execution_count": 2, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.679398Z", - "iopub.status.busy": "2024-12-05T03:24:46.678465Z", - "iopub.status.idle": "2024-12-05T03:24:46.683627Z", - "shell.execute_reply": "2024-12-05T03:24:46.683009Z" + "iopub.execute_input": "2024-12-05T04:50:45.842464Z", + "iopub.status.busy": "2024-12-05T04:50:45.841892Z", + "iopub.status.idle": "2024-12-05T04:50:45.846401Z", + "shell.execute_reply": "2024-12-05T04:50:45.845830Z" } }, "outputs": [], @@ -106,10 +106,10 @@ "execution_count": 3, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.685803Z", - "iopub.status.busy": "2024-12-05T03:24:46.685344Z", - "iopub.status.idle": "2024-12-05T03:24:46.689861Z", - "shell.execute_reply": "2024-12-05T03:24:46.689405Z" + "iopub.execute_input": "2024-12-05T04:50:45.848668Z", + "iopub.status.busy": "2024-12-05T04:50:45.848340Z", + "iopub.status.idle": "2024-12-05T04:50:45.852870Z", + "shell.execute_reply": "2024-12-05T04:50:45.852337Z" } }, "outputs": [ @@ -172,10 +172,10 @@ "execution_count": 4, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.691839Z", - "iopub.status.busy": "2024-12-05T03:24:46.691484Z", - "iopub.status.idle": "2024-12-05T03:24:46.695294Z", - "shell.execute_reply": "2024-12-05T03:24:46.694799Z" + "iopub.execute_input": "2024-12-05T04:50:45.855132Z", + "iopub.status.busy": "2024-12-05T04:50:45.854603Z", + "iopub.status.idle": "2024-12-05T04:50:45.859029Z", + "shell.execute_reply": "2024-12-05T04:50:45.858493Z" } }, "outputs": [ @@ -208,10 +208,10 @@ "execution_count": 5, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.697235Z", - "iopub.status.busy": "2024-12-05T03:24:46.696822Z", - "iopub.status.idle": "2024-12-05T03:24:46.700442Z", - "shell.execute_reply": "2024-12-05T03:24:46.699970Z" + "iopub.execute_input": "2024-12-05T04:50:45.860796Z", + "iopub.status.busy": "2024-12-05T04:50:45.860615Z", + "iopub.status.idle": "2024-12-05T04:50:45.864240Z", + "shell.execute_reply": "2024-12-05T04:50:45.863712Z" } }, "outputs": [ @@ -242,10 +242,10 @@ "execution_count": 6, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.702448Z", - "iopub.status.busy": "2024-12-05T03:24:46.702098Z", - "iopub.status.idle": "2024-12-05T03:24:46.720392Z", - "shell.execute_reply": "2024-12-05T03:24:46.719899Z" + "iopub.execute_input": "2024-12-05T04:50:45.866157Z", + "iopub.status.busy": "2024-12-05T04:50:45.865817Z", + "iopub.status.idle": "2024-12-05T04:50:45.887001Z", + "shell.execute_reply": "2024-12-05T04:50:45.886493Z" } }, "outputs": [ @@ -253,7 +253,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Maximum error in a tensor entry: 0.03668541730983477\n" + "Maximum error in a tensor entry: 0.036685417309835655\n" ] } ], @@ -302,10 +302,10 @@ "execution_count": 7, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.722271Z", - "iopub.status.busy": "2024-12-05T03:24:46.721943Z", - "iopub.status.idle": "2024-12-05T03:24:46.726146Z", - "shell.execute_reply": "2024-12-05T03:24:46.725562Z" + "iopub.execute_input": "2024-12-05T04:50:45.889065Z", + "iopub.status.busy": "2024-12-05T04:50:45.888815Z", + "iopub.status.idle": "2024-12-05T04:50:45.892958Z", + "shell.execute_reply": "2024-12-05T04:50:45.892470Z" } }, "outputs": [], @@ -360,10 +360,10 @@ "execution_count": 8, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.728062Z", - "iopub.status.busy": "2024-12-05T03:24:46.727724Z", - "iopub.status.idle": "2024-12-05T03:24:46.731309Z", - "shell.execute_reply": "2024-12-05T03:24:46.730691Z" + "iopub.execute_input": "2024-12-05T04:50:45.895111Z", + "iopub.status.busy": "2024-12-05T04:50:45.894751Z", + "iopub.status.idle": "2024-12-05T04:50:45.898688Z", + "shell.execute_reply": "2024-12-05T04:50:45.898088Z" } }, "outputs": [], @@ -400,10 +400,10 @@ "execution_count": 9, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.733244Z", - "iopub.status.busy": "2024-12-05T03:24:46.732809Z", - "iopub.status.idle": "2024-12-05T03:24:46.833048Z", - "shell.execute_reply": "2024-12-05T03:24:46.832493Z" + "iopub.execute_input": "2024-12-05T04:50:45.900714Z", + "iopub.status.busy": "2024-12-05T04:50:45.900352Z", + "iopub.status.idle": "2024-12-05T04:50:45.998404Z", + "shell.execute_reply": "2024-12-05T04:50:45.997725Z" } }, "outputs": [], @@ -439,10 +439,10 @@ "execution_count": 10, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.836109Z", - "iopub.status.busy": "2024-12-05T03:24:46.835316Z", - "iopub.status.idle": "2024-12-05T03:24:46.884721Z", - "shell.execute_reply": "2024-12-05T03:24:46.884124Z" + "iopub.execute_input": "2024-12-05T04:50:46.001119Z", + "iopub.status.busy": "2024-12-05T04:50:46.000556Z", + "iopub.status.idle": "2024-12-05T04:50:46.049519Z", + "shell.execute_reply": "2024-12-05T04:50:46.048970Z" } }, "outputs": [ @@ -450,7 +450,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.940243511515908\n" + "Fidelity of Trotter-evolved state with exact state: 0.9402384003985698\n" ] } ], @@ -480,10 +480,10 @@ "execution_count": 11, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:46.886638Z", - "iopub.status.busy": "2024-12-05T03:24:46.886293Z", - "iopub.status.idle": "2024-12-05T03:24:47.094658Z", - "shell.execute_reply": "2024-12-05T03:24:47.094144Z" + "iopub.execute_input": "2024-12-05T04:50:46.051515Z", + "iopub.status.busy": "2024-12-05T04:50:46.051316Z", + "iopub.status.idle": "2024-12-05T04:50:46.261990Z", + "shell.execute_reply": "2024-12-05T04:50:46.261346Z" } }, "outputs": [ @@ -491,7 +491,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9985212854201858\n" + "Fidelity of Trotter-evolved state with exact state: 0.9985210983501976\n" ] } ], @@ -521,10 +521,10 @@ "execution_count": 12, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:47.096768Z", - "iopub.status.busy": "2024-12-05T03:24:47.096400Z", - "iopub.status.idle": "2024-12-05T03:24:47.227776Z", - "shell.execute_reply": "2024-12-05T03:24:47.227137Z" + "iopub.execute_input": "2024-12-05T04:50:46.264192Z", + "iopub.status.busy": "2024-12-05T04:50:46.263853Z", + "iopub.status.idle": "2024-12-05T04:50:46.389718Z", + "shell.execute_reply": "2024-12-05T04:50:46.389062Z" } }, "outputs": [ @@ -532,7 +532,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9985212854202294\n" + "Fidelity of Trotter-evolved state with exact state: 0.9985210983500586\n" ] } ], @@ -563,10 +563,10 @@ "execution_count": 13, "metadata": { "execution": { - "iopub.execute_input": "2024-12-05T03:24:47.230002Z", - "iopub.status.busy": "2024-12-05T03:24:47.229543Z", - "iopub.status.idle": "2024-12-05T03:24:47.329290Z", - "shell.execute_reply": "2024-12-05T03:24:47.328789Z" + "iopub.execute_input": "2024-12-05T04:50:46.392016Z", + "iopub.status.busy": "2024-12-05T04:50:46.391656Z", + "iopub.status.idle": "2024-12-05T04:50:46.493627Z", + "shell.execute_reply": "2024-12-05T04:50:46.493019Z" } }, "outputs": [ @@ -574,7 +574,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Fidelity of Trotter-evolved state with exact state: 0.9996731164188969\n" + "Fidelity of Trotter-evolved state with exact state: 0.9996731173183583\n" ] } ],