{ "cells": [ { "cell_type": "markdown", "id": "9e40af77-7f0f-4dd6-ab0a-420cf396050e", "metadata": {}, "source": [ "# Bounding the subspace dimension\n", "\n", "In this walkthrough, we will show the effect of the subspace dimension in the [self-consistent configuration recovery technique](https://arxiv.org/abs/2405.05068).\n", "\n", "*A priori*, we do not know what is the correct subspace dimension to obtain a target level of accuracy. However, we do know that increasing the subspace dimension increases the accuracy of the method. Therefore, we can study the accuracy of the predictions as a function of the subspace dimension." ] }, { "cell_type": "markdown", "id": "a6755afb-ca1e-4473-974b-ba89acc8abce", "metadata": {}, "source": [ "Specify the molecule and its properties." ] }, { "cell_type": "code", "execution_count": 1, "id": "677f54ac-b4ed-47e3-b5ba-5366d3a520f9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "converged SCF energy = -108.835236570775\n", "CASCI E = -109.046671778080 E(CI) = -32.8155692383188 S^2 = 0.0000000\n" ] } ], "source": [ "import warnings\n", "\n", "import pyscf\n", "import pyscf.cc\n", "import pyscf.mcscf\n", "\n", "warnings.filterwarnings(\"ignore\")\n", "\n", "# Specify molecule properties\n", "open_shell = False\n", "spin_sq = 0\n", "\n", "# Build N2 molecule\n", "mol = pyscf.gto.Mole()\n", "mol.build(\n", " atom=[[\"N\", (0, 0, 0)], [\"N\", (1.0, 0, 0)]],\n", " basis=\"6-31g\",\n", " symmetry=\"Dooh\",\n", ")\n", "\n", "# Define active space\n", "n_frozen = 2\n", "active_space = range(n_frozen, mol.nao_nr())\n", "\n", "# Get molecular integrals\n", "scf = pyscf.scf.RHF(mol).run()\n", "num_orbitals = len(active_space)\n", "n_electrons = int(sum(scf.mo_occ[active_space]))\n", "num_elec_a = (n_electrons + mol.spin) // 2\n", "num_elec_b = (n_electrons - mol.spin) // 2\n", "cas = pyscf.mcscf.CASCI(scf, num_orbitals, (num_elec_a, num_elec_b))\n", "mo = cas.sort_mo(active_space, base=0)\n", "hcore, nuclear_repulsion_energy = cas.get_h1cas(mo)\n", "eri = pyscf.ao2mo.restore(1, cas.get_h2cas(mo), num_orbitals)\n", "\n", "# Compute exact energy\n", "exact_energy = cas.run().e_tot" ] }, { "cell_type": "markdown", "id": "c58e988c-a109-44cd-a975-9df43250c318", "metadata": {}, "source": [ "Generate some random bitstrings to proxy QPU samples." ] }, { "cell_type": "code", "execution_count": 2, "id": "e9506e0b-ed64-48bb-a97a-ef851b604af1", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from qiskit_addon_sqd.counts import generate_bit_array_uniform\n", "\n", "# Create a seed to control randomness throughout this workflow\n", "rng = np.random.default_rng(24)\n", "\n", "# Generate random samples\n", "bit_array = generate_bit_array_uniform(10_000, num_orbitals * 2, rand_seed=rng)" ] }, { "cell_type": "markdown", "id": "82b062a3-d4ca-41e2-9b00-4a394f83cbdd", "metadata": {}, "source": [ "Call SQD with increasing batch sizes." ] }, { "cell_type": "code", "execution_count": 3, "id": "e0847f28", "metadata": {}, "outputs": [], "source": [ "from qiskit_addon_sqd.fermion import diagonalize_fermionic_hamiltonian\n", "\n", "list_samples_per_batch = [50, 200, 400, 600]\n", "\n", "# SQD options\n", "max_iterations = 5\n", "\n", "# Eigenstate solver options\n", "num_batches = 10\n", "max_davidson_cycles = 200\n", "\n", "energies = []\n", "subspace_dimensions = []\n", "\n", "for samples_per_batch in list_samples_per_batch:\n", " result = diagonalize_fermionic_hamiltonian(\n", " hcore,\n", " eri,\n", " bit_array,\n", " samples_per_batch=samples_per_batch,\n", " norb=num_orbitals,\n", " nelec=(num_elec_a, num_elec_b),\n", " num_batches=num_batches,\n", " max_iterations=max_iterations,\n", " symmetrize_spin=True,\n", " seed=rng,\n", " )\n", " energies.append(result.energy)\n", " subspace_dimensions.append(np.prod(result.sci_state.amplitudes.shape))" ] }, { "cell_type": "markdown", "id": "9d78906b-4759-4506-9c69-85d4e67766b3", "metadata": {}, "source": [ "This plot shows that increasing the subspace dimension leads to more accurate results." ] }, { "cell_type": "code", "execution_count": 4, "id": "caffd888-e89c-4aa9-8bae-4d1bb723b35e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAsolJREFUeJzs3Xd4VHXCxfEz6YUUAinUhA4pFFEREOmEKsirIooUGyKuDRuoNAUExbIWxAJYWDvYCUXBAgiCUhJ6DS0FQhJC+sx9/2Azy5AEEgjclO/neebZnVvPnUwmzuHe37UYhmEIAAAAAAAAuIKczA4AAAAAAACAqodSCgAAAAAAAFccpRQAAAAAAACuOEopAAAAAAAAXHGUUgAAAAAAALjiKKUAAAAAAABwxVFKAQAAAAAA4IqjlAIAAAAAAMAVRykFAAAAAACAK45SCgCA/7JYLJo8ebLZMcrUggULZLFYdODAAbOjmOrAgQOyWCxasGCB2VEAuy5duigyMtLsGOXOqlWrZLFYtGrVKvu0kSNHKiwszLRMZaWoYwOAqoxSCgBQYm+//bYsFovatWtndpRKJTMzU5MnTy4XX1K2bNmiUaNGqUGDBvLw8FC1atXUunVrPfnkk9q3b5/Z8a6IAwcOaNSoUWrUqJE8PDwUEhKiG264QZMmTXJY7u23376kkuvo0aOaPHmyNm3adGmBz1FQwBX3ePHFF8t0fwAAABfLxewAAICKY+HChQoLC9P69eu1Z88eNW7c2OxIZSorK0suLlf+T2NmZqamTJki6cyZE2Z57733NGbMGNWsWVN33HGHmjdvrvz8fMXGxuqjjz7Sa6+9pqysLDk7O5uW8XLbs2ePrrnmGnl6euquu+5SWFiYjh07pr///lszZ860/5ykM6VUzZo1NXLkyIva19GjRzVlyhSFhYWpdevWZXMAZxk6dKj69u1baHqbNm3KfF/A5fbee+/JZrOZHeOS3XDDDcrKypKbm5vZUQCgXKCUAgCUyP79+7VmzRotWrRIo0eP1sKFCwudOXKl5Ofny2azlfl/1Ht4eJTp9iqSNWvWaMyYMerYsaN++OEH+fj4OMyfPXu2pk2bdsHtZGZmysvL63LFvOxeffVVZWRkaNOmTQoNDXWYl5SUZFKqi3PVVVdp2LBhZse4bL+vqFpcXV3NjlAmnJycqvTfGgA4F5fvAQBKZOHChapevbr69eunm2++WQsXLiy0TMFlQy+//LJeffVVhYaGytPTU507d1ZsbKzDsiNHjlS1atW0b98+RUdHy9vbW7Vr19bUqVNlGEaR23zttdfUqFEjubu7a9u2bZKkX375RZ06dZK3t7f8/f01cOBAbd++3b7+/PnzZbFYNG/ePIf9T58+XRaLRT/99JN92rljSk2ePFkWi0W7du3SsGHD5Ofnp8DAQD333HMyDEOHDh3SwIED5evrq5CQEM2ePdthH7m5uZo4caLatm0rPz8/eXt7q1OnTlq5cqXD8QUGBkqSpkyZYr/E6uwcO3bs0M0336yAgAB5eHjo6quv1nfffVfo9Y+Li1O3bt3k6empunXr6oUXXijxmQUF+164cGGhQko6U9g9//zzDmdJFYyHs3HjRt1www3y8vLShAkTJJ0pcO6++24FBwfLw8NDrVq10ocffuiwzeLGVilq/KeC98uRI0c0aNAgVatWTYGBgXr88cdltVod1k9NTdXIkSPl5+cnf39/jRgxQqmpqSV6Hfbu3au6desWKqQkKSgoyP7/w8LCFBcXp19//dX+Mys4yy0lJUWPP/64oqKiVK1aNfn6+qpPnz7avHmzw7Ffc801kqRRo0bZt3H2Ma9bt069e/eWn5+fvLy81LlzZ61evbpEx1FSYWFh6t+/v/744w9de+218vDwUMOGDfXRRx8VWjY1NVWPPPKI6tWrJ3d3dzVu3FgzZ850eI9d6Pd11apVuvrqq+Xh4aFGjRpp7ty59t+zAp07d1arVq2KzNusWTNFR0cXezz9+/dXw4YNi5zXvn17XX311fbny5cv1/XXXy9/f39Vq1ZNzZo1s79/z+dC6xU3jtv5xhLauHGjOnToIE9PTzVo0EDvvPNOoWXeeOMNRUREyMvLS9WrV9fVV1+t//znP/b5Ba/jjh07dOutt8rX11c1atTQww8/rOzsbIdtzZ8/X926dVNQUJDc3d0VHh6uOXPmFHm8S5YsUefOneXj4yNfX19dc801DvuVLu29evjwYQ0aNEje3t4KCgrSo48+qpycnELLnTum1NnvtbfeeksNGzaUl5eXevXqpUOHDskwDD3//POqW7euPD09NXDgQKWkpBR5fAV/Q3x8fNSvXz/FxcUV2ndJP38+++wztW3b1v56RUVF6fXXX7fPL+598OWXX6pt27by9PRUzZo1NWzYMB05cuSicwBARcGZUgCAElm4cKEGDx4sNzc3DR06VHPmzNFff/1l/2J9to8++kinTp3S2LFjlZ2drddff13dunXT1q1bFRwcbF/OarWqd+/euu666zRr1izFxMRo0qRJys/P19SpUx22OX/+fGVnZ+u+++6Tu7u7AgICtGLFCvXp00cNGzbU5MmTlZWVpTfeeEMdO3bU33//rbCwMI0aNUqLFi3SY489pp49e6pevXraunWrpkyZorvvvrvIy5vONWTIELVo0UIvvviifvzxR73wwgsKCAjQ3Llz1a1bN82cOVMLFy7U448/rmuuuUY33HCDJCk9PV3vv/++hg4dqnvvvVenTp3SBx98oOjoaK1fv16tW7dWYGCg5syZozFjxuimm27S4MGDJUktW7aUdKZo6tixo+rUqaOnn35a3t7e+uKLLzRo0CB9/fXXuummmyRJCQkJ6tq1q/Lz8+3Lvfvuu/L09Lzg8WVmZuqXX35Rly5dVLdu3Qsuf7YTJ06oT58+uu222zRs2DAFBwcrKytLXbp00Z49e/Tggw+qQYMG+vLLLzVy5Eilpqbq4YcfLtU+ClitVkVHR6tdu3Z6+eWXtWLFCs2ePVuNGjXSmDFjJEmGYWjgwIH6448/dP/996tFixZavHixRowYUaJ9hIaGasWKFfrll1/UrVu3Ypd77bXX9K9//UvVqlXTM888I0n29/a+ffv0zTff6JZbblGDBg2UmJiouXPnqnPnztq2bZtq166tFi1aaOrUqZo4caLuu+8+derUSZLUoUMHSWfK1j59+qht27aaNGmSnJyc7EXC77//rmuvvfaCx5KZmanjx48Xmu7v7+9wmeqePXt088036+6779aIESM0b948jRw5Um3btlVERIR9W507d9aRI0c0evRo1a9fX2vWrNH48eN17Ngxvfbaaw77KOr39Z9//lHv3r1Vq1YtTZkyRVarVVOnTrWXsgXuvPNO3XvvvYqNjXUYBPyvv/7Srl279OyzzxZ7zEOGDNHw4cMLfTYdPHhQf/75p1566SVJZ36v+vfvr5YtW2rq1Klyd3fXnj17LlikXOx653Py5En17dtXt956q4YOHaovvvhCY8aMkZubm+666y5JZy5de+ihh3TzzTfbS6YtW7Zo3bp1uv322x22d+uttyosLEwzZszQn3/+qX//+986efKk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X0QLFDdgb3Gv+eXi7OysqKgoRUVFqX379uratasWLlxoL2KKM336dD333HO666679PzzzysgIEBOTk565JFHSlReFCzz0ksvqXXr1kUuU9RZbRerJO9lm82mnj176sknnyxy2YISpcCl/r5GR0crODhYn3zyiW644QZ98sknCgkJueBrL0kDBgyQl5eXvvjiC3Xo0EFffPGFnJycdMsttzjk++2337Ry5Ur9+OOPiomJ0eeff65u3bpp2bJlxb4mJVmvtO/rkmjRooV27typH374QTExMfr666/19ttva+LEiZoyZcp51z03z969e9W9e3c1b95cr7zyiurVqyc3Nzf99NNPevXVV0tVsF3p92pRivtZXeh9XZD9448/VkhISKHlzv3MK8nnT1BQkDZt2qSlS5dqyZIlWrJkiebPn6/hw4cXutHDxbrSn4MAcLlRSgEAzmvhwoUKCgrSW2+9VWjeokWLtHjxYr3zzjsOX0IL/gX6bLt27XIYNFY686Vg3759Dl9od+3aJUmFlj1Xwd3Rdu7cWWjejh07VLNmTYezD8aOHatTp05pxowZGj9+vF577TU99thj593Hpfrqq6/UsGFDLVq0yOGLYcFZTgWK+xJbcBaZq6vrBb+Mh4aGFvm6F/X6nMvb21tdunTRr7/+qiNHjjhcenkxQkNDtWXLlkLF344dO+zzpTP/ui+p0J3xLvZMqoJt//zzz8rIyHD4MlyS1+F8Cu7aduzYMfu04n5uX331lbp27aoPPvjAYXpqaqrD2XXFrd+oUSNJZy5FK0kJcyU0atRIGRkZF50nKChIHh4e2rNnT6F5RU1zdnbW7bffrgULFmjmzJn65ptvdO+995boC7m3t7f69++vL7/8Uq+88oo+//xzderUyeGyQenMmZrdu3dX9+7d9corr2j69Ol65plntHLlyvMe54XWK+37+ujRozp9+rTD51VRn4Pe3t4aMmSIhgwZotzcXA0ePFjTpk3T+PHjHS772r17t8OZanv27JHNZrNv6/vvv1dOTo6+++47h7OMzr1creB9GBsbW2z5fanv1dDQUMXGxsowDIffh0v9fS2JguxBQUFl+nvm5uamAQMGaMCAAbLZbHrggQc0d+5cPffcc0W+jmf/LTv35go7d+4s8k6gAFCZcPkeAKBYWVlZWrRokfr376+bb7650OPBBx/UqVOnCo0z9M033zjcynr9+vVat25dobFjJOnNN9+0/3/DMPTmm2/K1dX1gpfX1apVS61bt9aHH37o8OUvNjZWy5Ytc7ir3ldffaXPP/9cL774op5++mnddtttevbZZ+1f/C6Xgi/QZ59xsm7dOvtlRQW8vLwkFf4SGxQUpC5dumju3LkOZUiB5ORk+//v27ev/vzzT61fv95h/sKFC0uUdeLEibJarRo2bFiRl/GdfQwX0rdvXyUkJOjzzz+3T8vPz9cbb7yhatWq2c++Cg0NlbOzc6HxiN5+++0S76uofefn5zvc3t5qteqNN94o0fq///678vLyCk0vGI/n7EtsvL29C/3MpDM/93Nfry+//LLQ7d0LSohzt9G2bVs1atRIL7/8cpE/i7N/7lfKrbfeqrVr12rp0qWF5qWmpio/P/+86zs7O6tHjx765ptvdPToUfv0PXv2aMmSJUWuc+edd+rkyZMaPXq0MjIyNGzYsBLnHTJkiI4ePar3339fmzdvdrh0TzozXtu5Cs70ycnJKXa7JVmvoOw4+31ttVr17rvvFrnN/Px8zZ071/48NzdXc+fOVWBgoNq2bSvpzJmeZ3Nzc1N4eLgMwyj0fj33HxAK3vsFn79FfS6lpaVp/vz5Duv16tVLPj4+mjFjhrKzsx3mFax7qe/Vvn376ujRo/rqq6/s0zIzM4t9rcpSdHS0fH19NX369CJ/5y/m9+zcn5OTk5P9TqrFva+uvvpqBQUF6Z133nFYZsmSJdq+fbv69etX6hwAUJFwphQAoFjfffedTp06pRtvvLHI+dddd50CAwO1cOFChy99jRs31vXXX68xY8YoJydHr732mmrUqFHo0h8PDw/FxMRoxIgRateunZYsWaIff/xREyZMKDRmRlFeeukl9enTR+3bt9fdd9+trKwsvfHGG/Lz89PkyZMlnRnLZsyYMeratat9UPU333xTK1eu1MiRI/XHH3+U+DK+0urfv78WLVqkm266Sf369dP+/fv1zjvvKDw83OELnKenp8LDw/X555+radOmCggIUGRkpCIjI/XWW2/p+uuvV1RUlO699141bNhQiYmJWrt2rQ4fPqzNmzdLkp588kl9/PHH6t27tx5++GF5e3vr3XfftZ+1dCGdOnXSm2++qX/9619q0qSJ7rjjDjVv3ly5ubnatWuXFi5cKDc3tyIvcznXfffdp7lz52rkyJHauHGjwsLC9NVXX2n16tV67bXX7GNY+fn56ZZbbtEbb7whi8WiRo0a6Ycffig0lktpDBgwQB07dtTTTz+tAwcOKDw8XIsWLSrRGEySNHPmTG3cuFGDBw+2f5n8+++/9dFHHykgIECPPPKIfdm2bdtqzpw5euGFF9S4cWMFBQWpW7du6t+/v6ZOnapRo0apQ4cO2rp1qxYuXFho/LRGjRrJ399f77zzjnx8fOTt7a127dqpQYMGev/999WnTx9FRERo1KhRqlOnjo4cOaKVK1fK19dX33///QWP5e+//9Ynn3xSaHqjRo3Uvn37Er0eBZ544gl999136t+/v0aOHKm2bdvq9OnT2rp1q7766isdOHCg0Bhr55o8ebKWLVumjh07asyYMbJarXrzzTcVGRmpTZs2FVq+TZs2ioyM1JdffqkWLVroqquuKnHevn37ysfHR48//ricnZ31f//3fw7zp06dqt9++039+vVTaGiokpKS9Pbbb6tu3bq6/vrri91uSdaLiIjQddddp/HjxyslJUUBAQH67LPPii3uateurZkzZ+rAgQNq2rSpPv/8c23atEnvvvuuXF1dJZ0piEJCQtSxY0cFBwdr+/btevPNN9WvXz/771OB/fv368Ybb1Tv3r21du1affLJJ7r99tvVqlUr+7YKzuYpKPzee+89BQUFOZTfvr6+evXVV3XPPffommuu0e23367q1atr8+bNyszM1IcffignJ6dLeq/ee++9evPNNzV8+HBt3LhRtWrV0scff2wv6i8nX19fzZkzR3feeaeuuuoq3XbbbQoMDFR8fLx+/PFHdezY0eEfTUrinnvuUUpKirp166a6devq4MGDeuONN9S6dWv7mHrncnV11cyZMzVq1Ch17txZQ4cOVWJiol5//XWFhYXp0UcfLYvDBYDyy4Q7/gEAKogBAwYYHh4exunTp4tdZuTIkYarq6tx/Phx+y26X3rpJWP27NlGvXr1DHd3d6NTp04OtyM3jDO3tvb29jb27t1r9OrVy/Dy8jKCg4ONSZMmGVar1b7c2dssyooVK4yOHTsanp6ehq+vrzFgwABj27Zt9vmDBw82fHx8jAMHDjis9+233xqSjJkzZ9qnSTImTZpkf15wi/Vzb/9ekP1cnTt3drhtu81mM6ZPn26EhoYa7u7uRps2bYwffvih0K3N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tZ9dJRU+g2ny5Mlq3bq15s2bp/r166tatWp64IEHZLVaNWvWLIWEhCgoKEjTpk1zyPTKK68oKipK3t7eqlevnh544AFlZGRIklatWqVRo0YpLS3Nvu/JkydLknJycvT444+rTp068vb2Vrt27bRq1SqHbS9YsED169eXl5eXbrrpJp04caLMX9NzcaYULsmvu5I15pONysq1FppXcJ3vy8t2as6wturcNNCEhAAAAACA8sAwDGXlFf7uePb8+Wv2X9S2563er1uvrlvs1Tqers5ldiXP119/rVdffVWfffaZIiIilJCQoM2bN0uSFi1apFatWum+++7Tvffee97t7N27V0uWLFFMTIz27t2rm2++Wfv27VPTpk3166+/as2aNbrrrrvUo0cPtWvXTpLk5OSkf//732rQoIH27dunBx54QE8++aTefvttdejQQa+99pomTpyonTt3SpKqVasmSXrwwQe1bds2ffbZZ6pdu7YWL16s3r17a+vWrWrSpInWrVunu+++WzNmzNCgQYMUExOjSZMmlcnrdT6UUrhoBdf5FnWNr86aVnCd7/xR11JMAQAAAEAVlZVnVfjEpWW+XUPSoZQsRUxaVuwy26ZGy8utdBXIDz/8YC91CkyYMEEeHh4KCQlRjx495Orqqvr16+vaa6+VJAUEBMjZ2Vk+Pj4KCQk57/ZtNpvmzZsnHx8fhYeHq2vXrtq5c6d++uknOTk5qVmzZpo5c6ZWrlxpL6UeeeQR+/phYWF64YUXdP/99+vtt9+Wm5ub/Pz8ZLFYHPYdHx+v+fPnKz4+XrVr15YkPf7444qJidH8+fM1ffp0vf766+rdu7eefPJJSVLTpk21Zs0axcTElOo1Ky1KKVyU8nSdLwAAAAAAZa1r166aM2eOw7SAgACdPn1ar732mho2bKjevXurb9++GjBggFxcSlexhIWFycfHx/48ODhYzs7OcnJycpiWlJRkf75ixQrNmDFDO3bsUHp6uvLz85Wdna3MzEx5eXkVuZ+tW7fKarWqadOmDtNzcnJUo0YNSdL27dt10003Ocxv3749pRTKJ/t1viVc/uzrfEd1bHBZswEAAAAAyh9PV2dtmxpd7PyTp3PVcebKi97+mqe7yt/Lrdh9l5a3t7caN25caHpAQIB27typFStWaPny5XrggQf00ksv6ddff5Wra8lPwjh3WYvF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vOTv71/kMvHx8erXr5+8vLwUFBSkJ554Qvn5+Q7LvPXWW2rRooU8PT3VrFkzffTRRxfcd0m2u2rVKl111VVyd3dX48aNK+31nmXBw9VZLwyKkiR9uPaANh1KNTcQAAAAAODKycgo/vH1147LJiUVv+ySJY7LHjhQ9HIXydvbW40bN3Z4nF0irVmzRpKUkpKilJQUh3UHDBiglJQUvffee1q3bp3WrVsnScrNzZUkeZ592WEVVmFKqdzcXN1yyy0aM2ZMkfOtVqv69eun3NxcrVmzRh9++KEWLFigiRMn2peZM2eOxo8fr8mTJysuLk5TpkzR2LFj9f333xe735Jsd//+/erXr5+9RX3kkUd0zz33aOnSpWX3AlQy1zepqZva1JFhSOMXbVW+1WZ2JAAAAADAleDtXfzj7PGkLrTsucVOcctdBnv37tWjjz6q9957T+3atdOIESNks535XnvixAnt3LlTzz77rLp3764WLVro5MmTDuu3bNlSmzZtKlRmFXBzc5PVar0s2cuTClNKTZkyRY8++qiioqKKnL9s2TJt27ZNn3zyiVq3bq0+ffro+eef11tvvWVvIj/++GONHj1aQ4YMUcOGDXXbbbfpvvvu08yZM4vdb0m2+84776hBgwaaPXu2WrRooQcffFA333xzodP34OjZfi3k7+Wq7cfSNW/1frPjAAAAAABgl5OTo4SEBIfH8ePHZbVaNWzYMEVHR2vUqFGaP3++tmzZotmzZ0uSqlevrho1aujdd9/Vnj179Msvv+ixxx5z2PbQoUMVEhKiQYMGafXq1dq3b5++/vprrV27VpIUFham/fv3a9OmTTp+/LhycnKu+PFfCRWmlLqQtWvXKioqyj7SvSRFR0crPT1dcXFxks68oTzOaV09PT21fv165eXlXfR2165dqx49ejisFx0dbX8zoWg1qrlrQt8WkqRXl+/WoZRiBq8DAAAAAOAKi4mJUa1atRwe119/vaZNm6aDBw9q7ty5kqRatWrp3Xff1bPPPqvNmzfLyclJn332mTZu3KjIyEg9+uijeumllxy27ebmpmXLlikoKEh9+/ZVVFSUXnzxRTk7O0s6M1B679691bVrVwUGBurTTz+94sd/JVSau+8lJCQ4FEeS7M8TEhIknSmK3n//fQ0aNEhXXXWVNm7cqPfff195eXk6fvy4atWqdVHbLW6Z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G6/7739X101Obrzu4sXVdXftarzuokXVdVNTG6/7979X183Karzun/9cXTc3t/G606ZV1y0ubrzu738v3DRWl8cI143HiOobjxGuG48RrhuPEa4bjxHVNx4jXDceI1w3HiNcNx4jqm88RrhuPEa4bq04RsgZh9UqGsPL94iIiIiIiIiIqN1JrkCMPK2wsBD+/v6wnjkDo9FYtwK71NZfl11qW16XXWpd99mltnV1eYxw3ecxouV1eYxw3ecxonV1eYxw3ecxouV1eYyofsxjRMvr8hjR8ro8Rrju8xhRnXFYrfVnHBcxlLpCWK1WBAQE4OTJk43+hxERERERERERXckKCwvRrVs3FBQUwN/fv8F6HOj8ClFUVAQA6Natm4dbQkRERERERER06YqKihoNpdhT6grhdDpx5swZ+Pn5QarqqumFqtJQ9viiqwnf90REdCl4HiEiopo6wnlBCIGioiJ06dIFCkXDw5mzp9QVQqFQIDw83NPNaDNGo9FrPzxErcX3PRERXQqeR4iIqCZvPy801kOqCmffIyIiIiIiIiKidsdQioiIiIiIiIiI2h1DKWpTWq0WixYtgrZqGkqiqwDf90REdCl4HiEiopqupvMCBzonIiIiIiIiIqJ2x55SRERERERERETU7hhKERERERERERFRu2MoRURERERERERE7Y6h1FXunXfeweDBg2E0GmE0GhETE4OffvrJrc727dtx6623wsfHB0ajEaNGjUJZWZlc/sILLyA2NhYGgwEBAQH17ic7Oxvjx4+HwWBAaGgo5syZg8rKSrc6mzZtwtChQ6HVatGnTx+sWLGirZ8uXYWaeo/fcsstkCTJ7TZr1qw621mxYgUGDx4MnU6H0NBQPPbYY/Xu7+jRo/Dz86v3s/D111+jf//+0Ol0GDRoEH788Ue38pycHEyfPh1dunSBwWBAXFwcjhw5cmkvABERtdiWLVswYcIEdOnSBZIkYdWqVW7lQgg888wz6Ny5M/R6PcaOHVvneH3nnXeie/fu0Ol06Ny5Mx544AGcOXOm3v01dO5YtmwZbrrpJgQGBiIwMBBjx47Frl273OoUFxfj8ccfR3h4OPR6PaKiovDuu++61cnMzMRdd92FkJAQGI1G3HvvvcjJyWndi0NEdBVq6rwAAOnp6bjzzjvh7+8PHx8fXH/99cjOzpbLm3MszsvLw/33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vcSoUaPctjFx4kQRHR0tUlJSxMGDB8Udd9whoqKi6sygVKW+GZRSUlKESqUSr776qkhPTxeLFi0SarVaHDx4UK7z1VdfieTkZJGZmSlWrVolIiIixOTJk9v8NSEiosYVFRXJ32cAiNdee03s27dPnDhxQgghREJCgggICBDff/+9OHDggJg4caLo2bOnKCsrE0IIsWPHDrF06VKxb98+cfz4cbFhwwYRGxsrevfuLcrLy+vdZ33njoSEBKHRaMQ333wjzp49K9+qvmMJ4ZpFNjo6WiQnJ4tjx46J5cuXC51OJ95++225zkcffSS2b98ujh49Kj799FMRFBQk/va3v7Xxq0ZE1HE1dV747rvvhFqtFu+//744cuSIWLp0qVAqlWLr1q3yNppzLI6LixPXXnut2Llzp/j5559F3759xZQpU+TygoICERYWJh544AGRmpoqvvzyS2EwGMR7770n12nO746mzmPtiaHUVe6hhx4SERERQqPRiJCQEDFmzBg5kKry0ksvifDwcGEwGERMTIzbB0sIIaZNmyYA1LklJyfLdY4fPy5uv/12odfrRXBwsHjqqaeE3W53205ycrIYMmSI0Gg0olevXmL58uWX62nTVaSx93h2drYYNWqUCAoKElqtVvTp00fMmTPHbapWIYSwWq3ioYceEgEBASIoKEjcddddIjs7u8F9NjSt91dffSX69esnNBqNiI6OFmvWrHErf/PNN0V4eLhQq9Wie/fuYsGCBW7TvRIRUftITk6u97vNtGnThBCu6bQXLlwowsLChFarFWPGjBEZGRny+gcOHBCjR4+Wzy89evQQs2bNEqdOnWpwn/WdOyIiIuptx6JFi+Q6Z8+eFdOnTxddunQROp1OREZGiiVLlgin0ynXmTt3rggLCxNqtVr07du3TjkRETWuqfOCEEJ8+OGHok+fPkKn04lrrrlGrFq1ym0bzTkWX7hwQUyZMkX4+voKo9EoZsyY4faHCCGE+PXXX8WNN94otFqt6Nq1q0hISKjT3qZ+dzR1HmtPkhAXR1skIiIiIiIiIiJqJxxTioiIiIiIiIiI2h1DKSIiIiIiIiIiancMpYiIiIiIiIiIqN0xlCIiIiIiIiIionbHUIqIiIiIiIiIiNodQykiIiIiIiIiImp3DKWIiIiIiIiIiKjdMZQiIiIiIiIiIqJ2x1CKiIiIqAGbNm2CJEkoKCjwdFMuu9rPdcWKFQgICPBom5pj+vTpmDRpkqebQURERK3AUIqIiIg6pHPnzmH27Nno3r07tFotTCYTzGYzUlJSPN00r/CHP/wBhw8f9nQzmvTmm29ixYoVnm4GERERtYLK0w0gIiIiuhzuvvtu2Gw2fPzxx+jVqxdycnKwYcMGXLhwwdNN8wp6vR56vd7TzWiSv7+/p5tARERErcSeUkRERNThFBQUYOvWrXj55ZcxevRoREREYPjw4YiPj8edd94JADh+/DgkScL+/fvd1pMkCZs2bXLbXkpKCgYPHgydTocbbrgBqampctmJEycwYcIEBAYGwsfHB9HR0fjxxx8BVF8St2bNmgbXv3DhAqZMmYKuXbvCYDBg0KBB+OKLL9z273Q6sXjxYvTp0wdarRbdu3fHCy+8IJefPHkS9957LwICAhAUFISJEyfi+PHjjb5GP/74I/r16we9Xo/Ro0fXqV/78r1nn30WQ4YMwUcffYTu3bvD19cXf/7zn+FwOLB48WKYTCaEhoa6tavqNZ05cyZCQkJgNBpx66234tdff62z3U8//RQ9evSAv78//vjHP6KoqEiu880332DQoEHQ6/Xo1KkTxo4di5KSEgB1L9+rqKjAE088gdDQUOh0Otx4443YvXu3XF71f7JhwwZcd911MBgMiI2NRUZGRqOvFxEREbU9hlJERETU4fj6+sLX1xerVq1CRUXFJW9vzpw5WLJkCXbv3o2QkBBMmDABdrsdAPDYY4+hoqICW7ZswcGDB/Hyyy/D19e32euXl5dj2LBhWLNmDVJTU/Hoo4/igQcewK5du+T14+PjkZCQgIULF+LQoUP4z3/+g7CwMACA3W6H2WyGn58ftm7dipSUFPj6+iIuLg42m63e53Py5ElMnjwZEyZMwP79+zFz5kzMmzevydchMzMTP/30ExITE/HFF1/gww8/xPjx43Hq1Cls3rwZL7/8MhYsWICdO3fK69xzzz3Izc3FTz/9hL1792Lo0KEYM2YM8vLy3La7atUqrF69GqtXr8bmzZuRkJAAADh79iymTJmChx56COnp6di0aRMmT54MIUS9bXz66afx7bff4uOPP8Yvv/yCPn36wGw2u+0PAObPn48lS5Zgz549UKlUeOihh5p8/kRERNTGBBEREVEH9M0334jAwECh0+lEbGysiI+PF7/++qtcnpWVJQCIffv2ycvy8/MFAJGcnCyEECI5OVkAEF9++aVc58KFC0Kv14v//ve/QgghBg0aJJ599tl629Cc9eszfvx48dRTTwkhhCgsLBRarVYsW7as3rqffvqpiIyMFE6nU15WUVEh9Hq9SEpKqned+Ph4ERUV5bZs7ty5AoDIz88XQgixfPly4e/vL5cvWrRIGAwGUVhYKC8zm82iR48ewuFwyMsiIyPFSy+9JIQQYuvWrcJoNIry8nK3ffXu3Vu89957DW53zpw5YsSIEUIIIfbu3SsAiOPHj9f7XKZNmyYmTpwohBCiuLhYqNVq8fnnn8vlNptNdOnSRSxevFgIUf1/sn79ernOmjVrBABRVlZW7z6IiIjo8mBPKSIiIuqQ7r77bpw5cwY//PAD4uLisGnTJgwdOrRVg2LHxMTI94OCghAZGYn09HQAwBNPPIH/9//+H0aOHIlFixbhwIEDLVrf4XDgn//8JwYNGoSgoCD4+voiKSkJ2dnZAID09HRUVFRgzJgx9bbt119/xdGjR+Hn5yf3EAsKCkJ5eTkyMzPrXSc9PR0jRoxosI0N6dGjB/z8/OTHYWFhiIqKgkKhcFuWm5srt624uBidOnWS2+br64usrCy3ttXebufOneVtXHPNNRgzZgwGDRqEe+65B8uWLUN+fn697cvMzITdbsfIkSPlZWq1GsOHD5df7yqDBw922x8AeZ9ERETUPjjQOREREXVYOp0Ot912G2677TYsXLgQM2fOxKJFizB9+nQ5SBE1LgOruqSuJWbOnAmz2Yw1a9Zg7dq1eOmll7BkyRL83//9X7PWf+WVV/Dmm2/ijTfewKBBg+Dj44Mnn3xSvvSuqcHGi4uLMWzYMHz++ed1ykJCQlr8fBqjVqvdHkuSVO8yp9Mpt61z5851xugC4DZeVWPbUCqVWLduHbZt24a1a9di6dKlmD9/Pnbu3ImePXu2yXORJAkA5H0SERFR+2BPKSIiIrpqREVFyQNkVwU2Z8+elctrDnpe044dO+T7+fn5OHz4MAYMGCAv69atG2bNmoXvvvsOTz31FJYtW9bs9VNSUjBx4kRMnToV11xzDXr16oXDhw/L9fv27Qu9Xo8NGzbU27ahQ4fiyJEjCA0NRZ8+fdxuDc1MN2DAALcxq2q3sa0MHToUFosFKpWqTtuCg4ObvR1JkjBy5Eg899xz2LdvHzQaDVauXFmnXu/evaHRaJCSkiIvs9vt2L17N6KiotrkOREREVHbYShFREREHc6FCxdw66234rPPPsOBAweQlZWFr7/+GosXL8bEiRMBuHog3XDDDUhISEB6ejo2b96MBQsW1Lu9559/Hhs2bEBqaiqmT5+O4OBgeca3J598EklJScjKysIvv/yC5ORkt8CqqfX79u0r9wRKT0/Hn/70J+Tk5Mjr6nQ6zJ07F08//TQ++eQTZGZmYseOHfjwww8BAPfffz+Cg4MxceJEbN26FVlZWdi0aROeeOIJnDp1qt7nM2vWLBw5cgRz5sxBRkYG/vOf/7TqssamjB07FjExMZg0aRLWrl2L48ePY9u2bZg/fz727NnTrG3s3LkTL774Ivbs2YPs7Gx89913OHfuXJ3XGAB8fHwwe/ZszJkzB4mJiTh06BAeeeQRlJaW4uGHH27rp0dERESXiJfvERERUYfj6+uLESNG4PXXX5fHGerWrRseeeQR/OMf/5DrffTRR3j44YcxbNgwREZGYvHixRg3blyd7SUkJOAvf/kLjhw5giFDhuB///sfNBoNANeYUI899hhOnToFo9GIuLg4vP76681ef8GCBTh27BjMZjMMBgMeffRRTJo0CVarVV5/4cKFUKlUeOaZZ3DmzBl07twZs2bNAgAYDAZs2bIFc+fOxeTJk1FUVISuXbtizJgxMBqN9b4+3bt3x7fffou//vWvWLp0KYYPH44XX3yxzWegkyQJP/74I+bPn48ZM2bg3LlzMJlMGDVqlDx7YFOMRiO2bNmCN954A4WFhYiIiMCSJUtw++2311s/ISEBTqcTDzzwAIqKinDdddchKSkJgYGBbfnUiIiIqA1IQjQwny4RERERXZJNmzZh9OjRyM/PdxtDiYiIiIh4+R4REREREREREXkAQykiIiIiIiIiImp3vHyPiIiIiIiIiIjaHXtKERERERERERFRu2MoRURERERERERE7Y6hFBERERERERERtTuGUkRERERERERE1O4YShERERERERERUbtjKEVERERERERERO2OoRQREREREREREbU7hlJERERERERERNTuGEoREREREREREVG7+/81tmL0zdt/1AAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "# Data for energies plot\n", "x1 = subspace_dimensions\n", "y1 = np.array(energies) + nuclear_repulsion_energy\n", "\n", "fig, axs = plt.subplots(1, 1, figsize=(12, 6))\n", "\n", "# Plot energies\n", "axs.plot(x1, y1, marker=\".\", markersize=20, label=\"Estimated\")\n", "axs.set_xticks(x1)\n", "axs.set_xticklabels(x1)\n", "axs.axhline(y=exact_energy, color=\"red\", linestyle=\"--\", label=\"Exact\")\n", "axs.set_title(\"Approximated Ground State Energy vs subspace dimension\")\n", "axs.set_xlabel(\"Subspace dimension\")\n", "axs.set_ylabel(\"Energy (Ha)\")\n", "axs.legend()\n", "\n", "\n", "plt.tight_layout()\n", "plt.show()" ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.3" } }, "nbformat": 4, "nbformat_minor": 5 }