{ "cells": [ { "cell_type": "markdown", "id": "ab5cfba7", "metadata": {}, "source": [ "# Numerically minimising Pauli-weight\n", "\n", "One frequently cited goal when designing an encoding $\\mathcal{E}$ is to minimise the average number of Pauli-operators in the terms of the qubit Hamiltonian. This measure is known as the _Pauli-weight_ of the Hamiltonian. \n", "\n", "This might make you think that we should try to find an encoding which minimises the Pauli-weight of indiviaul fermionic operators, for ternary tree encodings, we can show the JKMN encoding gives the minimal average Pauli-weight for fermionic operators. However, often we want to represent terms of a specific Hamiltonian, which contain more than on operator. The product of two operators with high Pauli-weight might have a low Pauli-weight!\n" ] }, { "cell_type": "markdown", "id": "4ac07305", "metadata": {}, "source": [ "## Defining Pauli-weight\n", "\n", "Consider the set of majorana operators $\\set{\\gamma}$. With $P(x)$ being the Pauli-weight of $x$,\n", "\n", "$$P_{E}(\\mathcal{E}) = \\frac{\\sum_{\\{\\gamma\\}}{P(\\gamma_i)}}{|\\set{\\gamma}|}$$\n", "\n", "If we have a specific Hamiltonian in mind, say the electronic structure hamiltonian, \n", "\n", "$$H_f = \\sum_{i,j} \\alpha_{i,j} a_i^{\\dagger}a_j + \\sum_{i,j,k,l} \\alpha_{i,j,k,l} a_i^{\\dagger}a_j^{\\dagger}a_k a_l$$\n", "\n", "we can define the Pauli weight the set of Hamiltonian terms $\\{h\\}$ which result from encoding terms of the fermionic Hamiltonian ($a_i^{\\dagger}a_j$ and $a_i^{\\dagger}a_j^{\\dagger}a_k a_l$). Note that we don't need to consider the Hamiltonian coefficents $\\{\\alpha_{i,j}, \\alpha_{i,j,k,l}\\}$ associated to each of those operators, so this Pauli-weight is _system independent_.\n", "\n", "$$P_{H}(\\mathcal{E}, H_f) = \\frac{\\sum_{\\set{h}}P(h)}{|\\set{h}|}$$\n", "\n", "When considering a real system (such as a water molecule), many of the terms of the fermionic Hamiltonian will represent transitions which are not allowed. As a result, some terms of the general qubit Hamiltonian will not be needed. \n", "\n", "This isn't the end of the story however, because the specific set of qubit operator terms which have non-zero coefficients depends on which operators in the encoding represent which fermionic operators (an _enumeration_scheme_). Accounting for this, we have the _system dependent_ Pauli-weight:\n", "\n", "$$P_{S}(\\mathcal{E}_{f}, H_Q) = \\frac{\\sum_{h\\in H_Q}P(h)}{|H_Q|}$$\n" ] }, { "cell_type": "markdown", "id": "4968dd2c", "metadata": {}, "source": [ "First we'll import data we need specific to the water molecule." ] }, { "cell_type": "code", "execution_count": 12, "id": "144eb169", "metadata": {}, "outputs": [], "source": [ "import json\n", "import numpy as np\n", "import ferrmion as fr\n", "import matplotlib.pyplot as plt\n", "\n", "from pathlib import Path\n", "\n", "def integrals():\n", " folder = Path.cwd().joinpath(Path(\"../../../python/tests/\"))\n", " with open(folder.joinpath(\"./data/h2o_6-31g.json\"), \"rb\") as file:\n", " data = json.load(file)\n", " return np.array(data[\"ones\"]), np.array(data[\"twos\"])\n", "ones, twos = integrals()\n", "n_modes = ones.shape[0]\n", "tree = fr.TernaryTree(n_modes)\n", "\n", "encodings: dict[str, fr.FermionQubitEncoding] = {\n", " \"jw\":fr.JordanWigner(n_modes), \n", " \"pe\":fr.ParityEncoding(n_modes), \n", " \"bk\":fr.BravyiKitaev(n_modes), \n", " \"jkmn\":fr.JKMN(n_modes), \n", " \"MaxNTO\":fr.MaxNTO(n_modes)\n", " } \n", "\n", "def plot_ps(distributions, *, naive=None, annealed_weight=None, topphatt_weight=None):\n", " fig, axs = plt.subplots()\n", " pos = {name: pos for pos,name in enumerate(encodings.keys())}\n", "\n", " for name, dist in distributions.items():\n", " axs.violinplot(dist, [pos[name]])\n", " axs.set_xticks([*range(len(encodings))], labels=[*encodings.keys()])\n", "\n", " for name in encodings:\n", " if naive:\n", " axs.hlines(naive[name], pos[name] - 0.25, pos[name] + 0.25, linestyles=\":\", color=\"black\")\n", " if annealed_weight:\n", " axs.hlines(\n", " annealed_weight[name][0],\n", " pos[name] - 0.25,\n", " pos[name] + 0.25,\n", " linestyles=\"-.\",\n", " color=\"black\",\n", " )\n", " if name == \"MaxNTO\":\n", " continue\n", " if topphatt_weight:\n", " axs.hlines(\n", " topphatt_weight[name][0],\n", " pos[name] - 0.25,\n", " pos[name] + 0.25,\n", " linestyles=\"--\",\n", " color=\"black\",\n", " )\n", "\n", " handles = []\n", " if naive:\n", " naive_line = mlines.Line2D(\n", " [], [], color=\"black\", linestyle=\":\", label=\"Naive Enumeration\"\n", " )\n", " handles.append(naive_line)\n", " if annealed_weight:\n", " anneal_line = mlines.Line2D(\n", " [], [], color=\"black\", linestyle=\"-.\", label=\"Simulated Annealing\"\n", " )\n", " handles.append(anneal_line)\n", " if topphatt_weight:\n", " topphatt_line = mlines.Line2D([], [], color=\"black\", linestyle=\"--\", label=\"TOPP-HATT\")\n", " handles.append(topphatt_line)\n", " \n", " axs.legend(handles=handles)\n", "\n", " plt.title(\"$P_S$ Weight of $H_2O$ (STO-3G)\")\n", " plt.show()" ] }, { "cell_type": "markdown", "id": "0663e9b6", "metadata": {}, "source": [ "## $P_{E}$" ] }, { "cell_type": "code", "execution_count": 2, "id": "36c46f25", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "def encoding_weight(encoding: fr.FermionQubitEncoding):\n", " _, symplectics = encoding._build_symplectic_matrix()\n", " x_block, z_block = np.hsplit(symplectics, 2)\n", " operator_weights = np.sum(np.bitwise_or(x_block, z_block), axis=1)\n", " return operator_weights" ] }, { "cell_type": "code", "execution_count": 3, "id": "8302e4d6", "metadata": {}, "outputs": [], "source": [ "ham_indep = {name: encoding_weight(encoding) for name, encoding in encodings.items()}" ] }, { "cell_type": "code", "execution_count": 4, "id": "ed4e5afa", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGzCAYAAACPa3XZAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQDxJREFUeJzt3Qd4W+XZ//Hblmx5JHYWWU2AJMyQwQ6bMN6E0UBYLaNt0sFeIVAgf0pbVgO0BUqbhraMwMveqzQtoyRQ1ssIJIUCSQMkQEjIcmLHsi3pf90PSMi2nEi2dHSe53w/16XElmTrHB1Zz0/3M05JIpFICAAAgEdKvXogAAAAwgcAAPAclQ8AAOApwgcAAPAU4QMAAHiK8AEAADxF+AAAAJ4ifAAAAE8RPgAAgKcIH8BGTJ48WbbccstO/2y3bt2K+vx+8cUXcuyxx0rv3r2lpKREbrjhBnGN7tcvf/nL1PezZs0y13300Ufimq68HgE/IXzAOvfff79pXB555JF2t40ePdrc9s9//rPdbZtvvrnstdde4jcNDQ2m8Xz++efz/rvPO+88+fvf/y7Tpk2T//3f/5VDDjmkw/vq89bR5bTTTsv7trnqxRdflEMPPVS+9a1vSUVFhXndTZgwQe6++25Pjjlgg3CxNwDI1T777JN6kz/qqKNS19fV1cmCBQskHA7Lv/71LznggANSty1ZssRcjj/++Jwe6y9/+YvE4/GCHiRtiC677DLz9dixY/P6u5977jk58sgj5YILLsjq/v/zP/8jP/jBD9pdv80224gtvv/975vjHIlEPH/sBx54QL773e/KjjvuKOeee6707NlTFi9eLHPnzjWvpRNPPLFLx9yL1yPgBcIHrDNw4EAZMmSICR/pXn75ZdHzJB533HHtbkt+nwwu2SorKxObLV++XHr06JH1/TVkfO973xObhUIhcykGrWYMHz5cXnnlFSkvL293LDqrvr5eqqurrX89Akl0u8BKGiLeeust2bBhQ+o6rXbssMMOpuStb/7pnxD1Nu0+2HvvvVPX3XnnnbLLLrtIZWWl9OrVy3xa1urIpvrYV65caT5d19TUmIZ90qRJ8vbbb5vfr+MN2vr0009l4sSJZvzHZpttZqoQsVjM3KbjEvQ6pZ+Ek90c6WMYMvnvf/9rQpZud1VVleyxxx7y17/+td24Bw1jM2bMSP3efNBP6iNGjJB3333XVJf08bWL4dprr21338bGRrMvGmq0C2LAgAFy9NFHy6JFi1o1rOeff74MHjzYVCu23XZb+c1vfmO2PV00GjXdSPp8de/eXY444ghZunRpu8fMNOZDj+G3v/1tE0J33313sy1Dhw6VO+64o93Pv/POO7L//vub18WgQYPkyiuvlNtuuy2rcSS6X7vttlu74KH69u2b1TFPjhXS33XYYYeZfT3ppJMyvh71d+nP6vP15z//WYYNG2aeQ92G//u//8tYmdFwpPuvx1C7LjO9xu+9917zt6GPra/zkSNHyu9+97uN7juQCyofsDZ86BiGV199NVW21oChYzr0snbtWtMFM2rUqNRt2223nRl4qa666iq59NJL5Tvf+Y785Cc/kRUrVsjvf/972W+//Uyo6ahaoIFG++9fe+01Of30083vfOyxx0wAyURDxvjx42XMmDGmgXjmmWfkt7/9rWkk9Oe1EZo5c6b5WruQtGFWye3uaBCp7qOW7s855xyzT7fffrtpjB988EHze3Q/9PnRkNRRV0omGha+/PLLdtdrA5TeoK5evdqMH9Ht1edQH/eiiy4yjZSGv+S+a4P/7LPPmmCn3RDr1q2Tp59+2hwbfQ40YOh26xidH//4x6a7Qseo/PSnPzWh7frrr089ph4nDYzadaH7r11Khx9+uGRr4cKFZvCtPo4er1tvvdU0vNrIamhV+pgaqLRB13EyWm24+eabs+7C2WKLLcz+aijS4JJJNse8paXFvG70da6vGw14G6PjSfS5PfXUU822axDU36shNVkt0XCqXUJ6jKZPn26OoT4XGhzT6fE54YQT5KCDDpJrrrnGXPfee++ZvyE9hkBeJAAL/fvf/9aPxYkrrrjCfN/c3Jyorq5O3H777eb7fv36JWbMmGG+rqurS4RCocTJJ59svv/oo4/M91dddVWr3zl//vxEOBxudf2kSZMSW2yxRer7hx56yDzuDTfckLouFoslDjzwQHP9bbfd1upn9brLL7+81ePstNNOiV122SX1/YoVK8z9fvGLX2S171OmTDH3f+GFF1LXrVu3LjFkyJDElltuabYnSe935plnZvV79b4dXe65557U/fbff39z3R133JG6LhqNJvr375845phjUtfdeuut5n7XXXddu8eKx+Pm/0cffdTc58orr2x1+7HHHpsoKSlJLFy40Hw/b948c78zzjij1f1OPPHEds+dHgO9bvHixanr9BjqdXPnzk1dt3z58kQkEkmcf/75qevOPvts87hvvfVW6rqVK1cmevXq1e53ZnLLLbeY+5WXlycOOOCAxKWXXmqOU/ox2dQxT75uLr744oy3pb8edXv0vr17906sWrUqdf1jjz1mrn/iiSdS140cOTIxaNAg81pJev7558390n/nueeem6ipqUm0tLRsdF+BrqDbBVbafvvtzSf+5FgO7fbQ8n1yNov+r5/UkmNB9FN4crzHww8/bCoY+oldP+UnL/3795ett94640yZpNmzZ5tPkieffHLqutLSUjnzzDM7/Jm2M0X23Xdf84m0s5566inTdZA+fkXL9Keccoopw2t3SGfp4FT95Nv2kj54N/l46WNDtCqi25S+Xw899JD06dNHzj777HaPk+wC0n3R8RlawUmn3TCah/72t7+l7qfa3m/KlClZ75t2N+hzn16B0C6e9G3W47vnnnuaCkySdm0luz025Uc/+pH5HVqN09fmFVdcYR5TX1cvvfSS5EIrI9nSioYObk1K7mdy3z777DOZP3++qYClT//W7iWthKTTqp/+LelxBwqFbhdYSRsvDRg6i0CDhAYN7VPfaqutzO162x/+8AfzdTKEJBvrDz/80DRs2iBksrFBfR9//LEZt9C2DJ583La0bz3Zv5+kjYSWvDtLt0G7cTIFsuTt2p/fGdpVcPDBB2d1v7ZjSHS/dLxEko5Z0MZdZx91RLdVBxDr2IKO9iX5v4Y87apJp78/Wzrlta22x0IfR8NHWx0d30y0u0Qv2i32xhtvyH333Sc33XST6YL6z3/+kxr7sTH6nHXUbZPNviWDSHLfks9jpv3Q6958883U92eccYaZzp6cLjxu3DgT1Dc2TRvIFeED1tIw8cQTT5hPdMnxHkn6dXLcgH4C1QZOBxgqDSvacOqn6kyzIvK5MFixZl0UWkf71XaQaJC3WQOqViD0ohUgHVyqr7mOxgel0zEmGraKsW8ajubNm2fG3uj26kUH3GrVRMcWAflA+IAT631o+EgvwesgQn0D10WcdFCqzhpISg501Om6ua5foQMKtVtGP9WmVz90MGNn5ToLRbfh/fffb3e9fqpO3u4H+jzrc9/c3NxhNUm3VQfh6mDJ9OpH233R/zU0JqspSZmeh67Qx8l0LLtyfNWuu+5q/v/888/N//maeZSt5POY7b5pN5oOrNaLPu9aDfnTn/5kBmnnUgUCOsKYD1hL39C1W+Ouu+4yFY70yocGj5133tlMM9X+6/TxEToLQD8p6ifRtp8M9XudStsRLadrY6qLPSXpm7M+TmclQ8yaNWuyur8GKZ1to2NZknQfdaqlTpnUsQ1+cMwxx5ixNMnur3TJ5133RcfjtL2PznLRBjo5cyb5/4033tjqfvleLl6Prz6v+sk/adWqVeY1lg2d6ZJJcsxKMjjlesy7Sit/2hWnU4vXr1+fun7OnDmmcpiu7etfKzDJmTg63RnIByofsJZ+OtP1DF544QUTNrTakU7DiE5rVenhQz+R69oNOpVSB2jqGhz6qVtXotR1D3TgZkcrgup9dWClDojUT4w61fbxxx83DVRnP9HqehIaGHRsgFZidICjNhQdjdu4+OKL5Z577jENsg7A1PtrOVy3Xwd55lKub+uDDz4w01nb6tevn5mymwst02tjN3XqVBOWtPtBQ5JWOvSTtA5u1U/WOpj1kksuMcdCl8f/xz/+YaYvayUrOcZDB4Dq9M8//vGPZhq1Hltt6LtakWjrwgsvNPuv+6oDZZNTbXVMhR7jTR1f3SetqOl+6bYn91e7B/W1qtd35pjnw69+9SuzfbrWzQ9/+EMzHkRDnz5meiDRKc26rwceeKAZd6LjRXQauh6D5FgcoMu6NFcGKLJp06aZqYJ77bVXu9sefvhhc1v37t0zThvUabP77LOPmaKrl+22285MS33//fc7nNqYnCapUzz199bW1iYmT56c+Ne//mUe69577231s/p729LplW3/9F566SUz/VanaGYz7XbRokVmOmqPHj0SFRUVid133z3x5JNPtrtfvqba6vTaJP16hx12aPfzmZ6rhoaGxCWXXGKmAZeVlZnpuLrduv1JOvXzvPPOSwwcONDcZ+utt078+te/Tk3HTdqwYUPinHPOMdNK9XmdMGFCYsmSJVlPtT388MPbbbPuS/q+KZ1mu++++5ppuDo1dfr06Ykbb7zR/M5ly5Zt9DnUKcnHH398YtiwYYnKykpzbIYPH26eA53ync0x7+h1s7Gptvp8tZXpdaSvT32d676NGDEi8fjjj5vp0Xpd0oMPPpgYN25com/fvmbbNt9888Spp56a+Pzzzze670AuSvSfrkcYINgeffRR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jy6YPHlyagl5AN8YO3asTJkypcOnZMsttzQrHyP/70Wbeu4BPyB8dMHvfvc7mTVrVv6OBgB0Au9FhQ93erqP0047rd1tZ555prlN75MvY8eONb/z3nvvbXW9BnYN7un36eiitye99NJLcthhh0nPnj2loqJCRo4cKdddd53EYjEpFsJHF5eR7dGjR/6OBgB0Au9FhafnW9EwsGHDhtR1jY2Ncvfdd8vmm2+e98erqKiQn/3sZ9Lc3Jzx9ocfflg+//xzc3nttdfMdc8880zqOr1dPfLII7L//vub05b885//lP/85z9y7rnnypVXXinHH398VmegLQTCRx5KnU8++aQJIckUOW/ePJM8L7744tR9f/KTn8j3vve9rh8xZKQpP7mkv74R9+nTRy699NLUH1Y0GpULLrhAvvWtb0l1dbWMGTNGnn/+eZ7NAmppaenweLR18803m78hPfs18tsF/Ne//tUcg7vuuqvVfX/1q1+Z823p83755Zeb4/XTn/5UevXqZRqq2267LfU7PvroI/Oepg3aAQccIFVVVTJ69Gh5+eWXA3O4dt55ZxNAko260q81eOy0006p6/Q8Zvvss495Xnv37i3f/va3ZdGiRanb77jjDunWrZt8+OGHqevOOOMM2W677aShoSF13QknnCBr1qyRv/zlLxm3R49T//79zWWzzTYz1+njJa/T2/WErieffLIcccQR8uc//9mcZ00rJ9oe3X777fLggw/K/fffL8VA+MiDfffd15zJ76233jLfz5kzx7zZpjduel16GQz5p39M4XDYfArQMrSWFbVRU9oI6hulfnJ555135LjjjpNDDjmk1RsAvDse6a699loT1P/xj3/IQQcdxGHII/1Uro2YBo+TTjopdf1zzz0nn332mcydO9ccF11RUxtJLcu/+uqrpnvh1FNPlaVLl7b6fZdccokJ8foBa5tttjG/W0NLUPzoRz9qFcpuvfXWdmdr1wZfz+z++uuvmzCtJ0s96qijJB6Pm9t/8IMfmC4QPR763Gk41L8LPUYa6pL0pHL6fGsw1N/ZGfo3tXLlSnPM2powYYI5hvfcc48Uha5wis6ZNGlS4sgjjzRf77zzzolf//rX5uuJEycmrrrqqkR5eXli3bp1iaVLl+rHvcQHH3zAU10g+++/f2L77bdPxOPx1HUXXXSRue7jjz9OhEKhxKefftrqZw466KDEtGnTOCYeHw+1xRZbJK6//vrEhRdemBgwYEBiwYIFHIc8vRfpc3/uuecm/vCHPyRqa2sTzz//fLv76vMfi8VS12277baJfffdN/V9S0tLorq6OnHPPfeY7xcvXmzew26++ebUff7973+b6957773APL/Lly9PRCKRxEcffWQuFRUViRUrVpjb9D6Z6O36PM2fPz913apVqxKDBg1KnH766Yl+/fqZ9iJd8hg2NjaaY3X55Zeb6/VvRr9vK3l83nrrrVbXX3311eb61atXZ9y2I444IvU36TUqH3mifWpa6dCy8gsvvCBHH320bL/99vLiiy+aqsfAgQNl6623ztfDIYM99tjDlIaT9txzT1PZmD9/vukS05Sv5c7kRY9LejkU3hyPZPfkb3/7W1NS1r+RHXbYgac/j7Scft5558nTTz9t3pva0udbP5EnafeLDkJMCoVCpoS/fPnyVj83atSo1NcDBgww/7e9j8u0e+Pwww83Ew20AqJfa5U7nb7GtSI0dOhQU71IDhD95JNPUvfp2bOn3HLLLTJz5kwZNmxYqy76dHp+F618/OY3v5Evv/yy09vtx7OoED7yRLtU9E307bfflrKyMtN/p9dpINFGLtMbALyxfv1682b6xhtvmHJx8vLee++Z7gAUr7tSg0ix+pxdpmMQtKHUboFMDY++R6XTkJjpumRXQaafSwbLtvcJQteLhg/tVtSvM3VnrFq1ygRr7cLSi2pqamp1v7lz55r3JR0curFuFR0ruMUWW5gBornSD1xK3+sy0euT9/Ea4SPP4z6uv/76VNBIhg+9MN6j8JJ/5EmvvPKKqTbpG7E2cvoJbauttmp10YFZ8PZ46Buu2n333eVvf/ubGfion+yQP/ppWmc2PPbYY3L22Wfz1OaRjhXTIKGzUMaPH9/qNh1f8f7775tZKjp+Savfq1evbvc7XnrpJbnmmmvkiSeeMFVYHZPWEa1QTZ8+3VRJdOBvLsaNG2cGnmqVsa3HH388VaUpBsJHnmgZTUuSOmgoGTT2228/efPNN+WDDz6g8uEBLWvqQC/949dBVL///e/NlDJN9jq4Swd66ej0xYsXm0GQ+getg73g7fFIt9dee8lTTz0ll112GYuO5Zm+7jWAPPTQQyw6lkcanrVi8O6776aCdHo7oN1VOrNk4cKFZmCv/g2k0w+p3//+9+Wcc86RQw891LQZ9913n+kq64h27+gMvT/96U85bavO7NOf0RB6yimnmMH2GmC0y0dnPR177LHyne98R4ohXJRHdZRWPLScnwwfmjiHDx8uX3zxhWy77bbF3jznabjQOfj6iVrfFLSh0z84pf2zWrY8//zz5dNPPzX9tDomQUf4w/vjkU6nJWoI1BkAej8+qeePvu9oA6jvSfrcZvoEjNzpWI6OqhQ6o06DxYgRI8zzf+ONN7aqfOvfQXV1tan4KR1ro1/r7CIdF6XLAWSilRIN67nSgKEh9KqrrjIVel2bRCuQOpNGV8JNH5flpRIddVqUR3aAlqv0D/rOO+8s9qYEnv5x6xx2luxGEPFeBNvQ7dIJOjdbS266bgSj9AEUC+9FsBXhoxMWLFggu+66qwkemdb6BwAv8F4EW9HtAgAAPEXlAwAAeIrwAQAAPEX4AAAAniJ8AAAATxE+AACApwgfAADAU4QPAADgKcIHAAAQL/1/F7Q/Zj+8DxAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.lines as mlines\n", "fig, axs = plt.subplots()\n", "pos = 0\n", "for dist in ham_indep.values():\n", " axs.violinplot(dist, [pos], showmeans=True)\n", " pos += 1\n", "\n", "axs.set_xticks([*range(len(ham_indep))], labels=ham_indep.keys())\n", "plt.title(\"Weight of Encoding Strings\")\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "32328db0", "metadata": {}, "source": [ "So it seems there is a clear benefit to the multi-branch Bravyi-kitaev and JKMN (minimum height) trees!\n", "\n", "Let's move on to see how these encodings behave when applied to the electronic structure Hamiltonian." ] }, { "cell_type": "markdown", "id": "16ff18bd", "metadata": {}, "source": [ "## $P_{H}$\n", "\n", "We can find the hamiltonian weight by setting every term of the hamiltonian to 1, so that all the terms are included, and able to cancel eachother out." ] }, { "cell_type": "code", "execution_count": 5, "id": "212b8d7c", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from ferrmion.optimize import pauli_weight\n", "\n", "def hamiltonian_term_weights(encoding: fr.FermionQubitEncoding, hamiltonian: fr.FermionHamiltonian):\n", " weights = []\n", " for i in range(hamiltonian.n_modes):\n", " for j in range(i, hamiltonian.n_modes):\n", " # Process each term in the Hamiltonian\n", " pterm = encoding._encode_fermion_product(\"+-\", [i,j],1)\n", " weights.append(pauli_weight(pterm)[0])\n", " for k in range(j, hamiltonian.n_modes):\n", " for l in range(k, hamiltonian.n_modes):\n", " pterm = encoding._encode_fermion_product(\"++--\", [i,j,k,l],1)\n", " weights.append(pauli_weight(pterm)[0])\n", " return np.array(weights)\n", "\n", "\n", "ones, twos = np.ones((n_modes, n_modes)), np.ones((n_modes, n_modes, n_modes, n_modes))\n", "fham = fr.molecular_hamiltonian(ones, twos, physicist_notation=True)\n", "\n", "ham_dep = {\n", " name: hamiltonian_term_weights(encoding, fham) \n", " for name, encoding in encodings.items()\n", " }" ] }, { "cell_type": "code", "execution_count": 6, "id": "5ecca086", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGzCAYAAAAFROyYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAa/FJREFUeJzt3QecE2X6B/BnN317gW2wIE16UVDkREXkQFROFD3bKXoeNvQErJyKigVPPfX0sJ0F/J+IZ0EOTrGggp5gQZEmCEiHZWF7S8//87w4IdlNdpPsTDIz+X0/n2F3J5NkMhMyT573ed83xefz+QgAAABARVITvQMAAAAAzSFAAQAAANVBgAIAAACqgwAFAAAAVAcBCgAAAKgOAhQAAABQHQQoAAAAoDoIUAAAAEB1EKAAAACA6iBAAWinK6+8ko455piY75uRkZHQc3Dw4EG64IILKD8/n1JSUuipp54iveHXdd999/n/njdvnli3c+dO0pv2vB8B1AQBCujSv//9b3EBWrRoUYvbBg8eLG777LPPWtzWpUsX+s1vfkNq09jYKC6wn3/+ueyPPX36dPrwww9p5syZ9H//93905plnht2Wj1u45brrrpN93/Tqyy+/pPHjx1OnTp3IarWK992ECRNowYIFcTnnAFpgTPQOAChh5MiR/gvBeeed519fW1tLGzZsIKPRSP/73//o9NNP99+2Z88esVx88cVRPdc///lP8nq9pCS+WN1///3i91GjRsn62J9++imde+65dOutt0a0/W9/+1u64oorWqw/9thjSSsuv/xycZ4tFkvcn/utt96iiy66iIYMGUI333wz5ebm0o4dO2jlypXivXTppZe265zH4/0IEA8IUECXSkpKqFu3biJACbRq1Sri+TEvvPDCFrdJf0vBTaRMJhNpWXl5OeXk5ES8PQcif/jDH0jLDAaDWBKBsyL9+vWj1atXk9lsbnEuYtXQ0EDp6emafz8CSNDEA7rFgcYPP/xATU1N/nWcNenfv79Ir/MFIvCbJt/GTRUnn3yyf92//vUvGjp0KNlsNsrLyxPfujnL0labf0VFhfiWnpWVJS7+kydPph9//FE8Ptc/NLdv3z6aOHGiqEfp2LGjyGZ4PB5xG9dJ8DrG36ilJpXAmopQfvnlFxGI8X6npaXRSSedRP/9739b1GFwwDZ37lz/48qBv/EP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fvlFBGK833xROemkk+i///1viyYZDtjmzp3rf1w5rVu3Thyf7t27iwCiqKiI/vjHP4rjE0iqF/n555/pD3/4g5jNlF/zPffcI/aPjzlnefh48mP87W9/a7MGpTm+nWdEnz9/vv+18r5J+L3C7wt+Dj4PZ5xxhniPBJKOGb9XeMZ13sf09HSRpePJTVurQXE6nWLyU34/8evj+51yyiktmhql1/L444/Tiy++SD169BBDlp9wwgn07bffkhwieV/zvg8YMIDWrFlDp556qngP/eUvfwnaP37f8Lnl28aOHSseg8/XAw88IGaU58fn81ZZWRn02NwMOG7cOJHV4W34ywS/LwCigQwKaDpA4ZqKr7/+2n+h4AsLp7d5qampEc09gwYN8t/Wp08fUSzKHnroIXGB/P3vf09/+tOfxAXomWeeER/WfDELl3XgoGfChAn0zTff0PXXXy8ec/HixSJICYUDEf6wHj58uPjQ/+STT8QFmC9MfH++CD733HPid74Qnn/++eJ+0n6HK3zl18jfeP/85z+L18QX5t/97nf09ttvi8fh18HHhwOp3/72t3TFFVdEdFztdjsdPny4xfrApgXJxx9/LAKlq666SgQWGzduFBdd/skX/+YBEc9i3rdvX3rkkUdEMPXggw+KC+gLL7xAo0ePpr/+9a/0+uuviwCOL9j8GiLFr5XP44knnkjXXHONWMfHmPH+cLDAwcntt98usmL8nPy+WbFihTg3gW666SbKzc0V853wBZubVrg258033wz7/Ny8+NJLL9Ell1xCU6ZMobq6Onr55ZfFuef3Cs/YHmjBggVim2uvvVYcp0cffVScez6e7cnaRfO+5kCSgzYOYDhwDJxNns8DB118LDgA4f3jx+TzxLVSd9xxB23btk08Np+vV155xZ+x42CG39d33nmneD4+hu+++27MrwmSFM/FA6BFGzdu5HmkfA888ID42+Vy+dLT033z588XfxcWFvrmzp0rfq+trfUZDAbflClTxN87d+4Ufz/00ENBj7l+/Xqf0WgMWj958mRf165d/X+/88474nmfeuop/zqPx+MbPXq0WP/qq68G3ZfXzZ49O+h5jjvuON/QoUP9fx86dEhsd++990b02qdNmya2/+KLL/zr6urqfN26dfMdc8wxYn8kvN3UqVMjelzetq3l22+/9W/f2NjY4jHeeOMN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aDj6wT19+nRasmQJvfXWW2L7/fv30/nnn++/3ePxiODE6XTSV199RfPnz6d58+bRrFmzSOu4SYabZuTSKFNzUVJz1sv4WAhQlLClcgs1usMHIB6fhzZWbBSBDECyMluNVNgtK6hOv6BrllivV1G9smXLlgX9zYEFZ0DWrFlDp556KtXU1NDLL79MCxYsoNGjR4ttXn31Verbt68Iak466ST66KOPaNOmTfTJJ59QYWEhDRkyhB544AG644476L777iOzWbuFPXIHFHLVsyR1F2OehViNwQ4IO2p20KGmQ20ejQZXA22u3Ez98/ujcBySltlmpOwO1qC/9axdNSgckLC8vDzxkwMVzqqMGTPGv02fPn2oS5cutGrVKvE3/xw4cKAITiTjxo2j2tpa2rhxY8jncTgc4vbARY0anfJ+w0MGRWUBBfcI8iJolEtZQxntqt0V8faHmw7Ttuptsj0/gBZl5CbPJG0xByher5emTZtGJ598Mg0YcGSio7KyMpEBycnJCdqWgxG+TdomMDiRbpduC1f7kp2d7V9KS0tJjeQOKOQOeJKOEk0yaOaRRUVThWjaida++n20p3aPPDsBoEFGc/L07Iw5QOFalA0bNtDChQtJaTNnzhTZGmnZs2dPUgQobo88Ew8mLSWaZBCgtFuts1bUlHA34lhsr9kusi8AoG8xBSg33ngjLV26lD777DPq3Lmzf31RUZEofq2urg7annvx8G3SNs179Uh/S9s0Z7FYKCsrK2hRIyUyHsiitHPcErkhQGkX7o2z/tD6sD12IsXZl0p7Zft2BgD0E6BwN1oOThYtWkSffvopdevWLej2oUOHkslkouXLl/vXcTdk7lY8YsQI8Tf/XL9+PZWXl/u34R5BHHT069ePtEruLsYSdDVWWQYFY6HEzOlx0rrD68jlbX/hMmdfNhzeQHXOI6PNAoD+GKNt1uEeOosXLxZjoUg1I1wXYrPZxM+rr76aZsyYIQpnOei46aabRFDCPXgYd0vmQOTyyy+nRx99VDzG3XffLR6bMyVaJXcXYwl68sSI581RYgZi2YbOTy7cRXjdoXVkl/GccBaGszHHFR5HNiOmIABI6gzKc889J2pARo0aRcXFxf7lzTff9G/z5JNP0jnnnCMGaOOux9xs8+677/pvNxgMonmIf3Lg8oc//IGuuOIKmj17NmmZUqO+IoMS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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "fig, axs = plt.subplots(2, 1, sharex=True, sharey=False)\n", "pos = 0\n", "for k in ham_dep.keys():\n", " axs[0].violinplot(ham_indep[k], [pos], showmeans=True)\n", " axs[1].violinplot(ham_dep[k], [pos], showmeans=True)\n", " pos += 1\n", "axs[0].title.set_text(\"Weight of Encoding Strings\")\n", "axs[1].title.set_text(\"Weight of Hamiltonian Terms\")\n", "axs[1].set_xticks([*range(len(ham_dep))], labels=ham_dep.keys())\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "7dbc7d7c", "metadata": {}, "source": [ "How interesting! The Bravyi-Kitaev and JKMN encodings have lost a lot of their advantage now that we're considering the application of encodings to Hamiltonian terms.\n", "\n", "Conversely, the k-NTO encoding now performs much more similarly to the ternary trees. " ] }, { "cell_type": "markdown", "id": "452ecc2f", "metadata": {}, "source": [ "For a specific fermionic system, say a water molecule, some of the hamiltonian coefficients will be zero, and others might cancel eachother out after they have been encoded as Pauli operators.\n", "\n", "Since we can give any labels we want to fermionic modes (molecular orbitals of water), it might be possible to assign these so that out hamiltonian terms have the lowest possible Pauli-weight." ] }, { "cell_type": "markdown", "id": "a7e33c15", "metadata": {}, "source": [ "## $P_{S}$" ] }, { "cell_type": "markdown", "id": "bf96fdbc", "metadata": {}, "source": [ "Let's start by finding $P_{S}$ for a set of random permutations of the fermionic mode labels.\n", "\n", "We'll run each encoding with 250 different enumerations of the fermionic modes. There's a function `._batch_pauli_weights` to do this for an encoding, which returns both the Pauli-weight and coefficient Pauli-weight together." ] }, { "cell_type": "code", "execution_count": null, "id": "56e8926d", "metadata": {}, "outputs": [ { "data": { "image/png": "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XmuTm85d9Nprr5mRY7axY8ea4fY6/5CGqT59+pih9e4dqLUmSkeTadOc1ljp8//4xz/68nYBAHCUyJgwCQsPrnDfspjE8CpvlurPznseoUDGPEIAAKf57tBpOX44z2MeoVadEiQmwX/60NbLPEIAACDwRJW7I7wOl9e7xQcqghAAAHDR0ON+l6yI6IadJbquBe47AwAAPgsODvIYPaYzRQcyghAAAPAQ7dYfKDqBIAQAABwkyq1GqDHdKb4uUCMEAAA8hIQ6Jx44550CAACUQxACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACORRACAACO5VMQmjt3rvTq1Uvi4+PNMnjwYHnvvffMtuPHj8uDDz4onTt3lqioKElNTZWf//znkpub67GPAwcOyMiRIyU6OlqaN28u06ZNk5KSEo8ya9eulX79+klERIR06tRJ5s+fX+FY5syZI+3bt5fIyEgZNGiQbNq0yWN7QUGBpKenS5MmTSQ2NlZuvPFGOXLkiC9vFwAABDifglCbNm3kySeflC1btsjmzZvl6quvllGjRsnu3bvl0KFDZnnmmWdk165dJrwsX75c7rnnHtfzS0tLTQgqKiqS9evXy4IFC0y5mTNnusrs37/flBk6dKhs375dJk2aJOPGjZMVK1a4yixatEimTJkis2bNkq1bt0rv3r0lLS1NsrOzXWUmT54sS5YskczMTFm3bp05tjFjxpz/GQMAAIHDOk9JSUnWa6+95nXbW2+9ZYWHh1vFxcXm8bJly6zg4GArKyvLVWbu3LlWfHy8VVhYaB5Pnz7d6t69u8d+xo4da6WlpbkeDxw40EpPT3c9Li0ttVq1amVlZGSYxzk5OVZYWJiVmZnpKrN3715L3+6GDRuq/d5yc3PNc/QrAABOUVRQYr103yqz6Pf+xpfrd437CGntzsKFC+XMmTOmicwbbRbTJrTQ0FDzeMOGDdKzZ09JSUlxldGanJMnT5paJbvMsGHDPPajZXS90tokrZFyLxMcHGwe22V0e3FxsUeZLl26mOY6u4w3hYWF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7xzhzT/+8Q85fPiwWezbY/3rX/9yrdPtSm+/pZMu603Z16xZY26A/tBDD8lvfvMbufnmm6t1p/i6QBAKsOropUuXmkBkp2ud9VsT+SOPPOIqO27cOPnpT3/agEcb2PSvnwceeMAselFo2rSp/PKXv3T9Jy8sLJRf/OIX0rp1a4mJiZFBgwbJ2rVrG/qwA1pJSUmln0d5r732mvk/VP4WPjj/Znqd+V8/g7/+9a8eZX/3u99JSkqKOe9PPPGE+bz0DgV69wG9aM6bN8+1j6+++sr8TtOL69ChQyU6Olp69+4tGzZscMxH1K9fPxOG7ICh9HsNQX379nWtW758uVx22WXmvOrNw3/4wx/KF1984dqud32IjY2Vzz77zLXu/vvvly5dukheXp5r3S233GLuD/qnP/3J6/Ho56T38NSlWbNmZp2+nr1Ot+tdHe6991750Y9+JK+++qr06dPH1Cjp9WjBggXyt7/9zdwdoiEQhALM5Zdfbu64u23bNvNYb3Giv/jdL7S6zr2qErVP/2OHhoaav460qUCrfvUCq/SCrL+09S+6HTt2yE9+8hO59tprPX4Zof4+D3d6Sx/9o+H999+Xa665ho+hFmlthV5QNQTddtttrvV6e6RDhw7JBx98YD6XWbNmmQu2Np189NFHpgnovvvuk2+++cZjf48++qj5g0L/2LvooovMvjVAOYXeWso9IP75z3+ucPsoDR96q6nNmzebYK/3Ab3hhhtc9/684447TDOVfh567jSo6v8L/Yw0YNr0Vlh6vjWk6j5rQv9Pfffdd+YzK+/66683n+Gbb74pDaKhp7ZG7dBbnIwaNcp8369fP+vpp582348ePdr67W9/a24xcurUKeubb74xt0T59NNPOfV15Morr7S6du3qcVuZhx9+2Kz7+uuvrZCQEOvbb7/1eM4111xjzZgxg8+knj8P1a5dO2v27NnW9OnTrZYtW1q7du3ic6il30V67h966CHrpZdeshISEqy1a9dWKKvnv7S01LVOb8t0+eWXux6XlJRYMTEx1ptvvmke79+/3/wOe+2111xldu/ebdbt3bvXMec3OzvbioiIMLej0kVvaXX06FGzzb7lVXm6Xc/Tzp07XeuOHz9utWnTxpo4caKVkpJirhfu7M9Qb7Ohn9UTTzxh1uv/GX1cnv35bNu2zWP9k08+adafOHHC67H96Ec/cv2frG/UCAUgbYPVGiCt+v/3v/8tY8aMka5du8qHH35oaoNatWolF154YUMfZkDTGwhr9b1NbyqsNT47d+40zZb6149WSduLfi7uVdaon8/DbkJ+9tlnTbW//h/p3r07p78WaZPH5MmTZeXKleZ3U3l6vrWmwqZNZNqB1hYSEmKaWbKzsz2e16tXL9f3LVu2NF/Llwlk2gQ1cuRIM0hGa4b0e639d6c/41pT1rFjR1OrY3duPnDggKtMUlKS/O///q/MnTtXLrjgAo9uFO70hudaI/TMM8/IsWPHanzcjfGuXgShAKTNXvoL/b///a+EhYWZ9l5dp+FIL7jefhmhfpw+fdr8Yt+yZYup0reXvXv3miYbNFyTsoaihuqjEMi0z4petLXpxttFUH9HudPA6m2d3Zzj7Xl2yC1fxgnNYxqEtOlXv/fW5HT8+HET8rWZURdVVFTkUe6DDz4wv5e0Y3NVTV/at7Rdu3amc7Ov9I8/pb/rvNH1dpn6RhAK4H5Cs2fPdoUeOwjpQv+gumf/wrFt3LjR1MLpRUEvuPqXa6dOnTwW7VSI+v089Je/GjhwoLz33num067+xYvao7UMOkLon//8pzz44IOc2lqkfQs11OhorrS0NI9t2h9n3759ZrSX9nfTVoETJ05U2Mf69evl97//vSxZssTUTmsfxspozV1GRoapPdJO674YPny46TStta/lvfPOO67aq4ZAEApAWtWp1cba4c0OPVdccYVs3bpVPv30U2qE6oFWPWsnRf1FpB0AX3zxRTNMVP/i0Y6J2klRR3ns37/fdODVXy7aURH1+3m4GzJkiCxbtkx+9atfMcFiLdOfew1Df//735lgsRZpkNealD179rhCvft1QJsUdYTW559/bjql6/8Bd/oH8+233y4///nPZcSIEeaasWjRItOcWRltgtORrq+88opPx6ojZPU5GojHjx9vBopomNJmOR09+OMf/1huuukmaQihDfKqqHNaE6RNLnYQ0iTerVs3OXLkiHTu3JlPoI5p0NE5PrSmQX9B6UVX//Mrbc/XquWpU6fKt99+a9r1tQ+LjpRB/X8e7nSosQZSHUmj5ajBqD36e0cvxvo7Sc+tt5oB+E77/lRWe6MjUzXk9OjRw5z/F154waNFQP8fxMTEmJpQpX2z9Hsdpaf96HSKD2+0Bkn/cPCVhh0NxL/97W9Ny4XOfaQ1szoiTWcgd+/HV5+CtMd0g7wyapVWKeovl9dff50z28D0F43OkcFtG+BE/C6Cv6FpzM/p3A9aLarz0jDaBQC/iwDfEIT83K5du2TAgAEmBHm79wwA8LsIqBxNYwAAwLGoEQIAAI5FEAIAAI5FEAIAAI5FEAIAAI5FEAIAAI5FEAIAAI5FEAIAAI5FEAIAAOJU/w+LL5mAA7hviwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ones, twos = integrals()\n", "fham = fr.molecular_hamiltonian(ones, twos, physicist_notation=True)\n", "\n", "distributions = {\n", " name: encoding._batch_pauli_weights(fham, 250)[0]\n", " for name, encoding in encodings.items()\n", "}\n", "\n", "plot_ps(distributions)" ] }, { "cell_type": "markdown", "id": "a2aea4ed", "metadata": {}, "source": [ "It looks like $P_S$ varies quite a lot depending on the enumeration scheme we use. " ] }, { "cell_type": "markdown", "id": "43eb4d6e", "metadata": {}, "source": [ "## Optimising $P_S$\n", "\n", "Since we've seen that the enumeration scheme can have an effect on the Pauli-weight, we coudl try to optimise this to get a lower Pauli-weight. This should make our quantum circuits smaller and therefore more accurate!\n", "\n", "First, let's find the weight of the _naive_ enumerations, the standard form of the encodings as they were first developed." ] }, { "cell_type": "code", "execution_count": null, "id": "0d1f8694", "metadata": {}, "outputs": [ { "data": { "image/png": "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2BeQ35bJC/HvmoisgoEQERERWRYDISIiIrIsBkJ0Ua699lqZNGkSX8U6dM8998iIESP4mhMR1QAGQhY9kWKE2/PPP++0/qOPPnJ75NuHH34ozzzzjNTF8ZZerr/+evFmR44c0c9z165dTutfeeUVWbhwYb0dFxF5poK8olpfPBFHjVkURgL95S9/kQceeECioqKqvZ/o6GipCwh6FixY4LQuICBAPBFGYl3M/DwRERE1ejxEZA1vPrKh1h8j8fXrxNMwI1QLsrKy9II5WRxPfliXl5fnsi2G4hsKCgr0utzc3Cq1rY7BgwdL06ZNJSkpqdw2v/zyi9x2223SokULPUVA165d5f333y+3NPbHP/5R+vXrV2Y/3bt3l6efftq8/dZbb0nHjh11MNahQwf529/+VunxIujB8ToujgEcMifY78iRI/WxYv6bTz75xNyODEpkZGSFGbCnnnpKevToIW+//bbEx8dLaGioPPjgg3rW8BdeeEE/ZpMmTeTZZ5912k96erqMHTtWYmJiJDw8XK677jr55ptvyuwXx9emTRtzOPrKlSvlyiuv1MfVqFEj+c1vfiOHDx8274e20LNnT32ceK1dlcbwN/Xwww/rY8O+sc+vv/7a3L5+/Xp9/zVr1kifPn306zNgwAA5ePBgpa87EXm24qJiyc0qkHNnnM8nteVsapacP5sn+bmFooovnAMbMmaEagFOoJCWlqZPjjB79mx54okn9Anz73//u9kWJy/MTI3J61q3bq3XzZs3TyZPniy33367vPvuu2ZbbD99+rTs3btXOnfubJ7g77//frePERNBPvfcc/oxcBJt2bJlmTYIxHr37i2PPvqoPsF/+umncuedd8oll1wiffv2LdP+jjvu0IEVTuZoA/v27ZPdu3fLv//9b30bz2fmzJny2muv6RP8zp079fGHhITI3XffLRfjT3/6kw5Y8FrPnTtXHw/mwnEna4Vj/+yzz3SQgt9/+9vfyg8//CCXXnqpbNiwQTZu3Cj33XefDiSNoO93v/udnnsH90O25o033pBBgwbJd999Zz72999/r18DlBLx2gOC2ilTpki3bt3k/Pnz+nVBIIdSGIavb926Vb/O//nPf/T7XV4Wafr06XrfixYtklatWunXICEhQT+m43N//PHH5aWXXtJ/k+PHj9fP47///e9FveZE1HAUFRRLXk6h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v3XCA+s8UyIiIqJSGAgRERGRZTEQIiIiIstiIERERESWxUCIiIiILIuBEBEREVkWAyEiIiKyLAZCREREZFkMhIiIiMiyGAgRERGRZTEQIiIiIstiIERERESWxUCIiIiILIuBEBEREVkWAyEiIiKyLAZCREREZFkMhIiIiMiyGAgRERGRZTEQIiIiIstiIERERESWxUCIiIiILIuBEBEREVkWAyEiIiKyLAZCREREZFkMhIiIiMiyGAgRERGRZbkVCM2fP1+6desm4eHheunfv7989tlnetuZM2fkoYcekvbt20tQUJDEx8fLww8/LBkZGU77OHr0qAwbNkyCg4OlSZMmMm3aNCksLHRqs379eunVq5cEBARIu3btZOHChWWOZd68edK6dWsJDAyUfv36ydatW5225+bmSmJiojRq1EhCQ0Pl5ptvlpMnT7rzdImIiMjLuRUItWzZUp5//nnZvn27bNu2Ta677joZPny47Nu3T44fP66XF198Ufbu3auDl5UrV8qYMWPM+xcVFekgKD8/XzZu3CiLFi3S7WbOnGm2SUlJ0W0GDhwou3btkkmTJsnYsWNl1apVZpslS5bIlClTZNasWbJjxw7p3r27JCQkSFpamtlm8uTJsmzZMklOTpYNGzboYxs1atTFv2JERETkPdRFioqKUm+99ZbLbR988IGy2+2qoKBA316xYoXy9fVVqampZpv58+er8PBwlZeXp29Pnz5dde7c2Wk/o0ePVgkJCebtvn37qsTERPN2UVGRat68uUpKStK309PTlc1mU8nJyWabAwcOKDzdTZs2Vfm5ZWRk6PvgJxERkVXk5xaq1x5Yoxf87mncOX9Xu48QsjuLFy+WrKwsXSJzBWUxlND8/f317U2bNknXrl0lNjbWbINMTmZmps4qGW0GDx7stB+0wXpANgkZKcc2vr6++rbRBtsLCgqc2nTo0EGX64w2ruTl5eljcVyIiIjIe7kdCO3Zs0f3uUH/nfHjx8vSpUulU6dOZdqdPn1annnmGRk3bpy5LjU11SkIAuM2tlXUBkFJTk6O3i+CMFdtHPdht9slMjKy3DauJCUlSUREhLnExcW58coQERGR1wdC6AyNvjtbtmyRCRMmyN133y379+93aoOgBf18ECA99dRT4ilmzJihs1jGcuzYsfo+JCIiIqpFJTUrNyDTgpFc0Lt3b/n666/llVdekTfeeEOvO3funFx//fUSFhams0U2m828b9OmTcuM7jJGcmGb8bP06C7cRokNo9H8/Pz04qqN4z5QQktPT3fKCjm2cQVZLixERERkDRc9j1BxcbHuW2NkgoYMGaKDpU8++UQPbXeEvkQorTmO7lq9erUOcozyGtqsWbPG6X5oY/RDwr4RgDm2wTHgttEG2xGAObY5ePCgHrpfXn8mIiIish5/d0tHQ4cO1Z2Okfl577339Jw/GNpuBEHZ2dnyzjvvOHU2jomJ0VkcbEfAc+edd8oLL7yg++s88cQTer4fIxODfkevvfaaTJ8+Xe677z5Zu3atfPDBB/Lpp5+ax4Gh8yjJ9enTR/r27Ssvv/yy7rR977336u3o34Nh+2gXHR2tAy3McYQg6PLLL6/ZV5CIiMgDFOQVVattgRv3swX4iVcHQsjk3HXXXXLixAkdbGByRQRBv/71r3VAhH5DYJTOHOcGwuSHCIaWL1+u+xYhKAkJCdEBzdNPP222bdOmjQ56MA8QSm6Yu+itt97SI8cMo0ePllOnTun5hxBM9ejRQ89Z5NiBes6cOXo0GSZSRMYK9//b3/52Ma8VERGRx3rzkQ3Vut+C6V9VuW3i69eJp/HBGPr6PoiGChktBHzGNABERESeat74tbX+GIkNJBBy5/ztdmdpIiIi8jzjXrmmvg+hQWIgREREZAGe2H+nLvDq80RERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCzLrUBo/vz50q1bNwkPD9dL//795bPPPjO35+bmSmJiojRq1EhCQ0Pl5ptvlpMnTzrt4+jRozJs2DAJDg6WJk2ayLRp06SwsNCpzfr166VXr14SEBAg7dq1k4ULF5Y5lnnz5knr1q0lMDBQ+vXrJ1u3bnXaXpVjISIiImtzKxBq2bKlPP/887J9+3bZtm2bXHfddTJ8+HDZt2+f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iSfKvc/+/fv1fb7++mtz3WeffaZ8fHzUzz//rG//7W9/U1FRUSovL89s8+ijj6r27dubt2+55RY1bNgwp33jsR944AH9e3FxsWratKmaPXu2uT09PV0FBASo999/v0rPLyMjQx8rfhIREZFncOf8fVF9hDIySqb+j46O1j/T0tJ05gVlswEDBkhsbKxcc8018tVXXzlljFAO69Onj7kOJStkjHBfow3KaXb7hYtTIpODMtzZs2fNNrifI7TBekhJSZHU1FSnNhEREdKvXz+zTWl5eXk6G+W4EBERkfeqdiBUXFwskyZNkiuuuEK6dOmi1/3www/6J8pY999/v6xcuVJ69eolgwYNMvvmIDhBoOTI399fB1PYZrRBEOXIuF1ZG8ftjvdz1cZVHygES8aCvklERETkvaodCKGvEPrjLF682Ck4ggceeEDuvfde6dmzp8yZM0fat28vb7/9tjR0M2bM0FkuYzl27Fh9HxIRERE1tHmE0PnZ6OTcsmVLcz1GZ0GnTp2c2nfs2FGOHj2qf2/atKkuoTkqLCzUI8mwzWhz8uRJpzbG7craOG431hnHZdzu0aOHy+cVEBCgFyIiIrIGtzJCGI6OIGjp0qWydu1aadOmjdP21q1bS/PmzcsMqf/uu+/0CDDo37+/pKen69FgBuwL2ST03zHaIMjCqDQDRpghsxQVFWW2WbNmjdPjoA3WA44NwZBjG/T5QT8kow0RERFZnDu9sCdMmKAiIiLU+vXr1YkTJ8wlOzvbbDNnzhwVHh6ukpOT1aFDh/QIssDAQPX999+bba6//nrVs2dPtWXLFvXVV1+pX/3qV+q2225zGt0VGxur7rzzTrV37161ePFiFRwcrN544w2zzX//+1/l7++vXnzxRXXgwAE1a9YsZbPZ1J49e8w2zz//vIqMjFQff/yx2r17txo+fLhq06aNysnJqdLz5agxIiIiz+PO+dutQAg7dbUsWLDAqV1SUpJq2bKlDl769++vvvzyS6ftv/zyiw58QkNDddB07733qnPnzjm1+eabb9SVV16ph7u3aNFCBzWlffDBB+rSSy9Vdrtdde7cWX366adO2zGE/sknn9RBFfYzaNAgdfDgwSo/XwZCREREnsed87cP/qnvrFRDhVIaRo+h4zRmwSYiIiLvOn/zWmNERERkWQyEiIiIyLIYCBEREZFlMRAiIiIiy2IgRERERJbFQIiIiIgsi4EQERERWRYDISIiIrIsBkJERERkWQyEiIiIyLIYCBEREZFlMRAiIiIiy2IgRERERJbFQIiIiIgsi4EQERERWRYDISIiIrIsBkJERERkWQyEiIiIyLIYCBEREZFlMRAiIiIiy2IgRERERJbFQIiIiIgsi4EQERERWRYDISIiIrIsBkJERERkWQyEiIiIyLIYCBEREZFlMRAiIiIiy2IgRERERJbFQIiIiIgsi4EQERERWRYDISIiIrIstwKhpKQkueyyyyQsLEyaNGkiI0aMkIMHD7psq5SSoUOHio+Pj3z00UdO244ePSrDhg2T4OBgvZ9p06ZJYWGhU5v169dLr169JCAgQNq1aycLFy4s8xjz5s2T1q1bS2BgoPTr10+2bt3qtD03N1cSExOlUaNGEhoaKjfffLOcPHnSnadMREREXsytQGjDhg06sNi8ebOsXr1aCgoKZMiQIZKVlVWm7csvv6yDoNKKiop0EJSfny8bN26URYsW6SBn5syZZpuUlBTdZuDAgbJr1y6ZNGmSjB07VlatWmW2WbJkiUyZMkVmzZolO3bskO7du0tCQoKkpaWZbSZPnizLli2T5ORkfezHjx+XUaNGufOUiYiIyJupi5CWlqawiw0bNjit37lzp2rRooU6ceKE3r506VJz24oVK5Svr69KTU01182fP1+Fh4ervLw8fXv69Omqc+fOTvscPXq0SkhIMG/37dtXJSYmmreLiopU8+bNVVJSkr6dnp6ubDabSk5ONtscOHBAH8+mTZuq9PwyMjJ0e/wkIiIiz+DO+fui+ghlZGTon9HR0ea67Oxsuf3223XZqmnTpmXus2nTJunatavExsaa65DJyczMlH379pltBg8e7HQ/tMF6QDZp+/btTm18fX31baMNtiNj5dimQ4cOEh8fb7YpLS8vTx+H40JERETeq9qBUHFxsS5ZXXHFFdKlSxenctSAAQNk+PDhLu+XmprqFASBcRvbKmqDwCQnJ0dOnz6tS2yu2jjuw263S2RkZLltXPWBioiIMJe4uDg3XhEiIiLyNP7VvSP6Cu3du1e++uorc90nn3wia9eulZ07d4onmjFjhu53ZEDgxWCIiIjIe1UrIzRx4kRZvny5rFu3Tlq2bGmuRxB0+PBhnYXx9/fXC2C01rXXXqt/R7ms9Mgt47ZRSiuvTXh4uAQFBUnjxo3Fz8/PZRvHfaCElp6eXm6b0jBCDY/huBAREZH3cisQwpB4BEFLly7VQU+bNm2ctj/22GOye/duPdLLWGDOnDmyYMEC/Xv//v1lz549TqO7MAINQUenTp3MNmvWrHHaN9pgPaDk1bt3b6c2KNXhttEG2202m1MbDPXH0H2jDREREVmcO72wJ0yYoCIiItT69ev1iDBjyc7OLvc+pUeNFRYWqi5duqghQ4aoXbt2qZUrV6qYmBg1Y8YMs80PP/yggoOD1bRp0/RIr3nz5ik/Pz/d1rB48WIVEBCgFi5cqPbv36/GjRunIiMjnUajjR8/XsXHx6u1a9eqbdu2qf79++ulqjhqjIiIyPO4c/52KxDCTl0tCxYsqHIgBEeOHFFDhw5VQUFBqnHjxmrq1KmqoKDAqc26detUjx49lN1uV23btnX5GHPnztWBDtpgOP3mzZudtufk5KgHH3xQRUVF6cBq5MiROnCrKgZCREREnsed87cP/qnvrFRDhc7SGD2GaQLYX4iIiMj7zt+81hgRERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCzLrUAoKSlJLrvsMgkLC5MmTZrIiBEj5ODBg+b2M2fOyEMPPSTt27eXoKAgiY+Pl4cfflgyMjKc9nP06FEZNmyYBAcH6/1MmzZNCgsLndqsX79eevXqJQEBAdKuXTtZuHBhmeOZN2+etG7dWgIDA6Vfv36ydetWp+25ubmSmJgojRo1ktDQULn55pvl5MmT7jxlIiIi8mJuBUIbNmzQgcXmzZtl9erVUlBQIEOGDJGsrCy9/fjx43p58cUXZe/evTp4WblypYwZM8bcR1FRkQ6C8vPzZePGjbJo0SLdbubMmWablJQU3WbgwIGya9cumTRpkowdO1ZWrVpltlmyZIlMmTJFZs2aJTt27JDu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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "naive = {}\n", "for name, encoding in encodings.items():\n", " naive[name] = pauli_weight(encoding.encode(fham))\n", "\n", "plot_ps(distributions, naive=naive)" ] }, { "cell_type": "markdown", "id": "107fa55d", "metadata": {}, "source": [ "For the Ternary Tree encodings (Jordan-Wigner, Parity, Bravyi-Kitaev andJKMN), the naive enumeration seems to generally be one of the worst options. Interestingly, the naive enumeration is by far the best ofr MaxNTO. \n", "\n", "Let's try a numerical approach to optimise these, and see if we can get better values for the ternary trees." ] }, { "cell_type": "markdown", "id": "bb485222", "metadata": {}, "source": [ "### Simulated Annealing\n", "\n", "First, let's try optimising all of these with simualted annealing. \n", "\n", "Note we're annealing to minimise the Pauli-weight. If you're ineterested, try adding the `coefficient_weighted=True` flag below to see what happens when we minimise the coefficient scaled Pauli-weight." ] }, { "cell_type": "code", "execution_count": 9, "id": "6fdc59f9", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Annealing JW\n", "Annealing PE\n", "Annealing BK\n", "Annealing JKMN\n", "Annealing MAXNTO\n" ] }, { "data": { "text/plain": [ "{'jw': [np.int64(277288)],\n", " 'pe': [np.int64(269529)],\n", " 'bk': [np.int64(200208)],\n", " 'jkmn': [np.int64(189748)],\n", " 'MaxNTO': [np.int64(250470)]}" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "annealed_weight = {}\n", "for name, encoding in encodings.items():\n", " print(f\"Annealing {name.upper()}\")\n", " annealed_weight[name] = pauli_weight(encoding.encode_annealed(fham))\n", "annealed_weight" ] }, { "cell_type": "code", "execution_count": 13, "id": "7edac205", "metadata": {}, "outputs": [ { "data": { "image/png": "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IrIsBkJERERkWQyEqEyuuOIKGTVqFM/ieXTPPffI9ddfz3NORFQOGAhZ9EaKHm6vvPKK0/ovv/zS455vX3zxhbzwwgtyPo7XdbnqqqvElx04cEC/z+3btzutf+edd2TWrFmVdlxE5J3sWbkVvngj9hqzKPTuefXVV+XBBx+U2NjYUu+nWrVqcj4g6Jk5c6bTuuDgYPFG6F1VljF3oqOjy/V4iMgaZjy6usJfI+G9K8XbsEaoAqSlpekF46yYb35Yl5WV5bYsuuIb7Ha7XpeZmVmisqXRp08fqV27tkyaNKnQMn/99ZfceuutUq9ePT1EQJs2beSzzz4rtGns//7v/6Rbt24F9tOuXTt5/vnnHY8//PBDadGihQ7GmjdvLv/85z+LPV4EPThe82IO4FBzgv0OGjRIHyvGtPn6668d21GDEhMTU2QN2LPPPivt27eXjz76SOLj4yUiIkIeeughPWr4a6+9pl+zVq1a8tJLLzntJzk5WYYOHSo1a9aUqKgoufLKK+Wnn34qsF8cX+PGjR1dzJcsWSKXXnqpPq7q1avLNddcI7/99pvjeSgLHTp00MeJc+2uaQx/U4888og+Nuwb+9y0aZNj+6pVq/Tzly9fLp07d9bnp0ePHrJ3795izzsRebe83DzJTLPLmVPO95OKcvpYmpw9nSXZmTmi8s7dA6sy1ghVANxAISkpSd8c4fXXX5enn35a3zA/+OADR1ncvDAyNQaka9SokV43bdo0GT16tNx2223yySefOMpi+8mTJ2Xnzp3SqlUrxw3+gQce8PgYMRDkyy+/rF8DN9H69esXKINArFOnTvLEE0/oG/w333wjd955p1xwwQXStWvXAuVvv/12HVjhZo4ysGvXLvn555/l888/14/xfiZMmCBTp07VN/ht27bp4w8PD5e7775byuK5557TAQvO9ZQpU/TxYHwbT2qtcOzffvutDlLw+4033ii///67XHTRRbJ69WpZu3at3HfffTqQNIK+m266SY+ng+ehtub999+X3r17y759+xyv/euvv+pzgKZEnHtAUPvYY49J27Zt5ezZs/q8IJBDUxi6pG/cuFGf5++//15f78JqkcaNG6f3PXv2bGnYsKE+B/369dOvaX7vTz31lLz55pv6b3L48OH6ffzvf/8r0zknoqoj154nWRk5ko0lM/+nPfvcF+e+D7Qu8b5y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yZMn5YUXXpBhw4Y51h07dswpCALjMbYVVQZBSUZGht4vgjB3Zcz7sNlsEhMTU2gZdyZNmiTR0dGOpUGDBh6cGSIiIvL5QAjJ0Mjd2bBhg4wYMULuvvtu2b17t1MZBC3I80GA9Oyzz4q3GD9+vK7FMpZDhw5V9iERERFRBcpvs/IAalrQkws6deokmzZtknfeeUfef/99ve7MmTNy1VVXSWRkpK4tCgoKcjy3du3aBXp3GT25sM346dq7C4/RxIbeaAEBAXpxV8a8DzShJScnO9UKmcu4g1ouLERERGQNZR5HKC8vT+fWGDVBffv21cHS119/rbu2myGXCE1r5t5dy5Yt00GO0byGMsuXL3d6HsoYeUjYNwIwcxkcAx4bZbAdAZi5zN69e3XX/cLymYiIiMh6Aj1tOurfv79OOkbNz6effqrH/EHXdiMISk9Pl48//tgp2bhmzZq6FgfbEfDceeed8tprr+l8naefflqP92PUxCDvaOrUqTJu3Di57777ZMWKFTJv3jz55ptvHMeBrvNokuvcubN07dpV3n77bZ20fe+99+rtyO9Bt32Uq1atmg60MMYRgqCLL764fM8gERGRF7Bn5ZaqrN2D5wUFB4hPB0Koybnrrrvk6NGjOtjA4IoIgv7xj3/ogAh5Q2A0nZnHBsLghwiGFi1apHOLEJSEh4frgOb55593lG3cuLEOejAOEJrcMHbRhx9+qHuOGYYMGSInTpzQ4w8hmGrfvr0es8icQD158mTdmwwDKaLGCs//5z//WZZzRURE5LVmPLq6VM+bOe7HEpdNeO9K8TZ+6ENf2QdRVaFGCwGfMQwAERGRt5o2fEWFv0ZCFQmEPLl/e5wsTURERN5n2Ds9K/sQqiQGQkRERBbgjfk75wNnnyciIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZHgVC06dPl7Zt20pUVJRe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RGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWV5FAhNmjRJunTpIpGRkVKrVi25/vrrZe/evW7LKqWkf//+4ufnJ19++aXTtoMHD8qAAQMkLCxM72fs2LGSk5PjVGbVqlXSsWNHCQ4OlqZNm8qsWbMKvMa0adOkUaNGEhISIt26dZONGzc6bc/MzJSEhASpXr26REREyA033CDHjx/35C0TERGRD/MoEFq9erUOLNavXy/Lli0Tu90uffv2lbS0tAJl3377bR0EucrNzdVBUHZ2tqxdu1Zmz56tg5wJEyY4yiQmJuoyvXr1ku3bt8uoUaNk6NChsnTpUkeZuXPnymOPPSYTJ06UrVu3Srt27aRfv36SlJTkKDN69GhZuHChzJ8/Xx/7kSNHZPDgwZ68ZSIiIvJlqgySkpIUdrF69Wqn9du2bVP16tVTR48e1dsXLFjg2LZ48WLl7++vjh075lg3ffp0FRUVpbKysvTjcePGqVatWjntc8iQIapfv36Ox127dlUJCQmOx7m5uapu3bpq0qRJ+nFycrIKCgpS8+fPd5TZs2ePPp5169aV6P2lpKTo8vhJRERE3sGT+3eZcoRSUlL0z2rVqjnWpaeny2233aabrWrXrl3gOevWrZM2bdpIXFycYx1qclJTU2XXrl2OMn369HF6HspgPaA2acuWLU5l/P399WOjDLajxspcpnnz5hIfH+8o4yorK0sfh3khIiIi31XqQCgvL083WV1yySXSunVrp+aoHj16yMCBA90+79ixY05BEBiPsa2oMghMMjIy5OTJk7qJzV0Z8z5sNpvExMQUWsZdDlR0dLRjadCggQdnhIiIiLxNYGmfiFyhnTt3yo8//uhY9/XXX8uKFStk27Zt4o3Gjx+v844MCLwYDBEREfmuUtUIjRw5UhYtWiQrV66U+vXrO9YjCPrtt990LUxgYKBeAL21rrjiCv07mstce24Zj42mtMLKREVFSWhoqNSoUUMCAgLcljHvA01oycnJhZZxhR5qeA3zQkRERL7Lo0AIXeIRBC1YsEAHPY0bN3ba/uSTT8rPP/+se3oZC0yePFlmzpypf+/evbvs2LHDqXcXeqAh6GjZsqWjzPLly532jTJYD2jy6tSpk1MZNNXhsVEG24OCgpzKoKs/uu4bZYiIiMjiPMnCHjFihIqOjlarVq3SPcKMJT09vdDnuPYay8nJUa1bt1Z9+/ZV27dvV0uWLFE1a9ZU48ePd5T5/fffVVhYmBo7dqzu6TVt2jQVEBCgyxrmzJmjgoOD1axZs9Tu3bvVsGHDVExMjFNvtOHDh6v4+Hi1YsUKtXnzZtW9e3e9lBR7jREREXkfT+7fHgVC2Km7ZebMmSUOhODAgQOqf//+KjQ0VNWoUUONGTNG2e12pzIrV65U7du3VzabTTVp0sTta0yZMkUHOiiD7vTr16932p6RkaEeeughFRsbqwOrQYMG6cCtpBgIEREReR9P7t9++Keya6WqKiRLo/cYhglgvhAREZHv3b851xgRERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCyLgRARERFZFgMhIiIisiwGQkRERGRZDISIiIjIshgIERERkWUxECIiIiLLYiBERERElsVAiIiIiCzLo0Bo0qRJ0qVLF4mMjJRatWrJ9ddfL3v37nVsP3XqlDz88MPSrFkzCQ0Nlfj4eHnkkUckJSXFaT8HDx6UAQMGSFhYmN7P2LFjJScnx6nMqlWrpGPHjhIcHCxNmzaVWbNmFTieadOmSaNGjSQkJES6desmGzdudNqemZkpCQkJUr16dYmIiJAbbrhBjh8/7slbJiIiIh/mUSC0evVqHVisX79eli1bJna7Xfr27StpaWl6+5EjR/TyxhtvyM6dO3XwsmTJErn//vsd+8jNzdVBUHZ2tqxdu1Zmz56ty02YMMFRJjExUZfp1auXbN++XUaNGiVDhw6VpUuXOsrMnTtXHnvsMZk4caJs3bpV2rVrJ/369ZOkpCRHmdGjR8vChQtl/vz5+thxbIMHDy7rOSMiIiJfocogKSlJYRerV68utMy8efOUzWZTdrtdP168eLHy9/dXx44dc5SZPn26ioqKUllZWfrxuHHjVKtWrZz2M2TIENWvXz/H465du6qEhATH49zc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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_ps(distributions, naive=naive, annealed_weight=annealed_weight)" ] }, { "cell_type": "markdown", "id": "2ad743b4", "metadata": {}, "source": [ "### TOPP-HATT\n", "\n", "For ternary-trees, we can apply the Topology-Preserving Hamiltonian-Adaptive Ternary Tree (TOPP-HATT) method to reduce the Pauli-weight.\n", "\n", "Note this doesn't work for the MaxNTO encoding, which is not based on a ternary tree data structure." ] }, { "cell_type": "code", "execution_count": 14, "id": "cf4d43e6", "metadata": {}, "outputs": [], "source": [ "from ferrmion.core import topphatt\n", "\n", "temp = n_modes\n", "topphatt_weight = {}\n", "for name, encoding in encodings.items():\n", " if isinstance(encoding, fr.TernaryTree):\n", " topphatt_weight[name] = pauli_weight(encoding.encode_topphatt(fham))\n", " else:\n", " topphatt_weight[name] = None" ] }, { "cell_type": "code", "execution_count": 15, "id": "9803a4b6", "metadata": {}, "outputs": [ { "data": { "image/png": "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knPNmjWN7eidBY0aNbIpf+2118qRI0fU71WrVlVNaGZWq1X1JMM+vcypU6dsyujrRZUx79e36eelr7do0cLh6woMDFQLEREReQeXaoTQHR1B0Lx582T58uVSt25dm/116tSR6tWr5+tSf+DAAdUDDNq3by/JycmqN5gOx0JtEvJ39DIIstArTYceZqhZio6ONsosW7bM5nlQBtsB54ZgyFwGOT/IQ9LLEBERkZdzJQv78ccf1yIjI7WVK1dqJ06cMJa0tDSjzMSJE7WIiAht7ty52m+//aZ6kAUFBWm///67UaZbt27addddp23cuFFbu3atdvXVV2v9+/e36d0VFxenPfjgg9ru3bu1WbNmaSEhIdpHH31klPnf//6n+fv7a2+//ba2b98+bdy4cVpAQIC2a9cuo8wbb7yhRUVFad9//722c+dOrVevXlrdunW19PR0p14ve40RERG5H1fu3y4FQjioo2XatGk25RITE7WaNWuq4KV9+/bamjVrbPafPXtWBT5hYWEqaBo4cKB28eJFmzK//PKLdtNNN6nu7jVq1FBBjb05c+Zo11xzjWaxWLTGjRtrP/zwg81+dKF/6aWXVFCF43Tq1Enbv3+/06+XgRAREZH7ceX+7YN/yrtWqqJCUxp6jyFxGqNgExERkWfdvznXGBEREXktBkJERETktRgIERERkddiIERERERei4EQEREReS0GQkREROS1GAgRERGR12IgRERERF6LgRARERF5LQZCRERE5LUYCBEREZHX8i/vEyAiIiLXpaamuvyYwMBA8ffPu/VbrVbJzMwUX19fCQ4OLtFxLRaLBAQEqN9zcnIkIyNDfHx8JCQkxCiTlpaGid7zPTY0NFTKE2uEiIiI3FBYWJjLy7x584zH4/ewsDDp3r27zXHr1Knj8nGnTp1qPH7NmjVqW5s2bWyOi3VHjy1vDISIiIjIa/lojuqpSLlw4YJERkZKSkqKRERE8KoQEVGFwaax0rl/M0eIiIjIDZU0twa5Qv5/5wuV5nH9/PwcHsOcL1SRsGmMiIiIvBYDISIiIvJaDISIiIjIazEQIiIiIq/FQIiIiIi8FgMhIiIi8loMhIiIiMhrMRAiIiIir8VAiIiIiLwWAyEiIiLyWgyEiIiIyGsxECIiIiKvxUCIiIiIvBYDISIiIvJaDISIiIjIa7kUCCUmJkqbNm0kPDxcYmNjpXfv3rJ//36HZTVNk+7du4uPj4989913NvuOHDkiPXv2lJCQEHWcUaNGidVqtSmzcuVKadmypQQGBkr9+vVl+vTp+Z5j8uTJUqdOHQkKCpJ27drJpk2bbPZnZGRIQkKCxMTESFhYmNx1111y6tQpV14yEREReTCXAqFVq1apwGLDhg2ydOlSyc7Oli5dukhqamq+su+++64Kguzl5OSoICgrK0vWrVsnM2bMUEHO2LFjjTIHDx5UZTp27Cg7duyQ4cOHy6BBg2TJkiVGmdmzZ8uIESNk3Lhxsm3bNmnevLl07dpVkpKSjDLPPPOMLFiwQObOnavO/fjx49K3b19XXjIRERF5Mq0EkpKSNBxi1apVNtu3b9+u1ahRQztx4oTaP2/ePGPfokWLNF9fX+3kyZPGtilTpmgRERFaZmamWh89erTWuHFjm2P269dP69q1q7Hetm1bLSEhwVjPycnRqlevriUmJqr15ORkLSAgQJs7d65RZt++fep81q9f79TrS0lJUeXxk4iIiNyDK/fvEuUIpaSkqJ+VKlUytqWlpcl9992nmq2qVq2a7zHr16+Xpk2bSlxcnLENNTkXLlyQPXv2GGU6d+5s8ziUwXZAbdLWrVttyvj6+qp1vQz2o8bKXKZhw4YSHx9vlLGXmZmpzsO8EBERkecqdiCUm5urmqxuvPFGadKkiU1z1A033CC9evVy+LiTJ0/aBEGgr2NfYWUQmKSnp8uZM2dUE5ujMuZjWCwWiYqKKrCMoxyoyMhIY6lVq5YLV4SIiIjcjX9xH4hcod27d8vatWuNbfPnz5fly5fL9u3bxR2NGTNG5R3pEHgxGCIiIvJcxaoRGjZsmCxcuFBWrFghNWvWNLYjCPrjjz9ULYy/v79aAL21br31VvU7msvse27p63pTWkFlIiIiJDg4WCpXrix+fn4Oy5iPgSa05OTkAsvYQw81PId5ISIiIs/lUiCELvEIgubNm6eCnrp169rsf/7552Xnzp2qp5e+wMSJE2XatGnq9/bt28uuXbtsenehBxqCjkaNGhllli1bZnNslMF2QJNXq1atbMqgqQ7rehnsDwgIsCmDrv7ouq+XISIiIi/nShb2448/rkVGRmorV65UPcL0JS0trcDH2Pcas1qtWpMmTbQuXbpoO3bs0BYvXqxVqVJFGzNmjFHmzz//1EJCQrRRo0apnl6TJ0/W/Pz8VFndrFmztMDAQG369Ona3r17tcGDB2tRUVE2vdGGDh2qxcfHa8uXL9e2bNmitW/fXi3OYq8xIiIi9+PK/dulQAgHdbRMmzbN6UAIDh06pHXv3l0LDg7WKleurI0cOVLLzs62KbNixQqtRYsWmsVi0erVq+fwOSZNmqQCHZRBd/oNGzbY7E9PT9eeeOIJLTo6WgVWffr0UYGbsxgIERERuR9X7t8++Ke8a6UqKiRLo/cYhglgvhAREZHn3b851xgRERF5LQZCRERE5LUYCBEREZHXYiBEREREXouBEBEREXktBkJERETktRgIERERkddiIERERERei4EQEREReS0GQkREROS1GAgRERGR12IgRERERF6LgRARERF5LQZCRERE5LUYCBEREZHXYiBEREREXouBEBEREXktBkJERETktRgIERERkddiIERERERei4EQEREReS0GQkREROS1GAgRERGR12IgRERERF6LgRARERF5LQZCRERE5LUYCBEREZHXYiBEREREXouBEBEREXktBkJERETktRgIERERkddyKRBKTEyUNm3aSHh4uMTGxkrv3r1l//79xv5z587Jk08+KQ0aNJDg4GCJj4+Xp556SlJSUmyOc+TIEenZs6eEhISo44waNUqsVqtNmZUrV0rLli0lMDBQ6tevL9OnT893PpMnT5Y6depIUFCQtGvXTjZt2mSzPyMjQxISEiQmJkbCwsLkrrvuklOnTrnykomIiMiDuRQIrVq1SgUWGzZskKVLl0p2drZ06dJFUlNT1f7jx4+r5e2335bdu3er4GXx4sXy6KOPGsfIyclRQVBWVpasW7dOZsyYocqNHTvWKHPw4EFVpmPHjrJjxw4ZPny4DBo0SJYsWWKUmT17towYMULGjRsn27Ztk+bNm0vXrl0lKSnJKPPMM8/IggULZO7cuerccW59+/Yt6TUjIiIiT6GVQFJSkoZDrFq1qsAyc+bM0SwWi5adna3WFy1apPn6+monT540ykyZMkWLiIjQMjMz1fro0aO1xo0b2xynX79+WteuXY31tm3bagkJCcZ6Tk6OVr16dS0xMVGtJycnawEBAdrcuXONMvv27VPnu379eqdeX0pKiiqPn0REROQeXLl/lyhHSG/yqlSpUqFlIiIixN/fX62vX79emjZtKnFxcUYZ1ORcuHBB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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_ps(distributions, naive=naive, annealed_weight=annealed_weight, topphatt_weight=topphatt_weight)" ] } ], "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.1" } }, "nbformat": 4, "nbformat_minor": 5 }