{ "cells": [ { "cell_type": "markdown", "id": "6ab799ee", "metadata": {}, "source": [ "# Reduced Entanglement Ternary Tree\n", "\n", "This notebook shows how to generate a reduced-entanglement ternary tree, with a method similar to that of 10.1103/PRXQuantum.5.030333\n", "\n", "The MI matrix used later was derived by a different method than the p-GUCCSD in the original paper, namely from a tensor network." ] }, { "cell_type": "markdown", "id": "1b2d6657", "metadata": {}, "source": [ "We'll start with a full pairwise Mutual Information matrix for the 7 spatial orbitals of water in sto-3g." ] }, { "cell_type": "code", "execution_count": 1, "id": "19a8c886", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "\n", "water_mi = np.array(\n", " [\n", " [0.0, 0.11687544, 0.07579407, 0.54274231, 0.59965614, 0.13984087, 0.1208934],\n", " [0.11687544, 0.0, -0.27575379, 0.44636705, 0.49251647, 0.04925079, 0.06179358],\n", " [0.07579407, -0.27575379, 0.0, 0.39213452, 0.64683832, 0.03424038, 0.4157573],\n", " [0.54274231, 0.44636705, 0.39213452, 0.0, 0.8947678, 0.47164455, 0.44469482],\n", " [0.59965614, 0.49251647, 0.64683832, 0.8947678, 0.0, 0.49754887, 0.48494587],\n", " [0.13984087, 0.04925079, 0.03424038, 0.47164455, 0.49754887, 0.0, 0.0067195],\n", " [0.1208934, 0.06179358, 0.4157573, 0.44469482, 0.48494587, 0.0067195, 0.0],\n", " ]\n", ")" ] }, { "cell_type": "markdown", "id": "479db456", "metadata": {}, "source": [ "We can plot this to get a better understanding of what's going on." ] }, { "cell_type": "code", "execution_count": 2, "id": "320f1bf5", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAGICAYAAAAHyTQCAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAJcRJREFUeJzt3Q1wVNXZwPFnk5AElASQj/ARBESF8KlBmIhY0Qgipeq0ltogkaH0LRJFUzsaq3yIGm2VQUdKhIIw80qJOoMyVMMgClQNAqHMC4goihLREPAjCaEkYXffOccmzcINZXP3ZO+9+f86Z2QvezeHinnyPOe55/iCwWBQAABoYTEt/QUBAFAIQACAqCAAAQCiggAEAIgKAhAAICoIQACAqCAAAQCiggAEAIiKuOh8WQBoHU6dOiW1tbW2Pyc+Pl4SExPFSwhAAGAw+PS9+EIpK/fb/qyUlBQ5dOiQp4IQAQgADFGZjwo+h0oulqT2zV/xqKwKSN/0L/XnEYAAAOdNBR87AcirCEAAYJg/GBB/0N79XkQAAgDDAhLUw879XkROCACICjIgADAsoP9n734vIgABgGH+YFAPO/d7ESU4AEBUkAEBgGE0IVgjAAGAYSqA+AlAZ6EEBwCICjIgADCMEpw1AhAAGEYXnEdLcIsXL5Y+ffroDfpGjRol27dvF6fZunWrTJo0SXr06CE+n09ef/11car8/Hy56qqrpH379tK1a1e59dZb5cCBA+I0S5YskaFDh0pSUpIeGRkZ8tZbb4nTPfXUU/rvwH333SdOM2/ePD23xmPAgAHiVEeOHJEpU6bIRRddJG3btpUhQ4bIzp07oz0ttJYAVFhYKLm5uTJ37lzZtWuXDBs2TMaPHy/l5eXiJNXV1XpuKlg63ZYtW2TWrFmybds22bhxo9TV1cm4ceP0n8FJevXqpb+Zl5SU6G86119/vdxyyy2yb98+caodO3bIiy++qAOnUw0aNEi++eabhvHee++JE33//fcyevRoadOmjf7B46OPPpJnn31WOnbsKE4UiMDwIl8w6N7cTmU86qf1F154Qb8OBAKSmpoq99xzjzz00EPiROqnyrVr1+rMwg2OHTumMyEVmK699lpxsk6dOsmf//xnmT59ujjNiRMn5Morr5S//OUv8vjjj8vw4cNl0aJF4rQMSGXnu3fvFqdT/32///778o9//EOcrLKyUpKTk2Xf/q7S3sZu2FVVARk0sFwqKip0xu8Vrs2A1LkY6qffzMzMhmsxMTH6dXFxcVTn5iXqL3z9N3en8vv9smbNGp2lqVKcE6mscuLEiSF/X53o008/1aXifv36SVZWlhw+fFicaN26dTJixAi5/fbb9Q9IV1xxhSxbtkycSu2EbXd4kWsD0PHjx/U3nm7duoVcV6/LysqiNi8vURmlWqtQpY7BgweL0+zZs0cuvPBCSUhIkN/97nc6s0xLSxOnUcFRlYjV+prTKworV66UoqIivcamTt8cM2aMVFVVidN8/vnneo6XXnqpbNiwQWbOnCn33nuvrFq1KtpTQxjogsM5f2rfu3evY9cBLr/8cl0uUlnaa6+9JtnZ2bpU6KQgVFpaKrNnz9braU4/yXLChAkNv1brVCogXXzxxfLKK684rqypfjhSGdCTTz6pX6sMSP1dLSgo0H8PnMbuOk5AvMm1GVDnzp0lNjZWjh49GnJdvVZnp8OenJwcWb9+vbz77rt6wd+J4uPjpX///pKenq6zC9Xo8dxzz4mTqDKxaopR6z9xcXF6qCD5/PPP61+rLN6pOnToIJdddpkcPHhQnKZ79+5n/aAxcOBAx5YMA+ITv40REJ94kWsDkPrmo77xbNq0KeSnIvXaqesAbqB6UlTwUeWsd955R/r27Stuof7919TUiJPccMMNulSoMrX6oX5yV+sr6tfqhyinUo0Tn332mf5m7zSqLHzm4wGffPKJztjgHq4uwakWbJVuq/+gR44cqbuK1EL0tGnTxGn/ITf+KVLV1tU3H7Ww37t3b3Fa2W316tXyxhtv6GeB6tfTVCePetbCKfLy8nTJSP3/p9Yo1Jw3b96s1wOcRP1/eOb62QUXXKCfXXHautoDDzygn1dT38S//vpr/XiDCpB33HGHOM39998vV199tS7B/fKXv9TP/y1dulQPJwoEfxx27vciVwegyZMn6zbhOXPm6G+UqrVVLaCe2ZgQbeo5lbFjx4YETkUFT7Xo6yRqYVe57rrrQq6/9NJLctddd4lTqLLW1KlT9bMqKjiqNQsVfG688cZoT821vvrqKx1svv32W+nSpYtcc801+nkw9WunUY9fqCxd/SDy2GOP6Uxd/QCqMksnqi+l2bnfi1z9HBAAuOE5oA/3pciFNp4DOlEVkFGDyjz3HJCrMyAAcAMyII81IQCAWwSCPtujJfbKVGVM9XiDWu9Vu8qotbZTp06JKQQgAPCgwjD3ylSNPGqLI/X+/fv3y/Lly/VnPPzww8bmSAACAMPsPAPkb2b5buHChTJjxgzdFayemVIP6bZr105WrFhh+f4PPvhAt7f/+te/1lmT2oRYNaWYPGGAAAQAhvklxvaob2poPJp67q05e2WqtnZ1T33AUdsdvfnmm3LzzTeLKQQgAHCJ1NRU3VVXP5raX7A5e2WqzEe1tKv2e3XMxSWXXKIfxzBZgqMLDgAMC9poJKi/v35vwcZt2Goj3khRD3KrB3vVkSGqYUE9PK/2MVywYIE8+uijYoInMiCVhqqzTJy2DYtb5+mmubplnm6aq1vm6aa5RmoNKOnfJwDXj6YCUHP2ylRB5s4775Tf/OY3+nTZ2267TQcklWWpba5M8EwAmj9/vuP/Erplnm6aq1vm6aa5umWebpqrPxhje5jeK/PkyZN6naix+r0KTe1XQAkOADwo97/slam2surZs2fDOpLaB1B1zqmjLepLcCorUtdNbZpLAAIAw9RxCgEbBaeABCO+V6Y6uqJxxvPII4+Iz+fT/zxy5IjeA1AFnyeeeEJMafEApNJAtdOu2iVY/WEjQbUjNv6nU7llnm6aq1vm6aa5umWepuaqyk1qh3V1NPmZJSm3bcWTk5OjR1NNB42p86nUQ6hqeHYzUrXjrmolBAAnUx1ndg9jrN+MdN3/XSIXtG9+Gau6yi8/G/oZm5HapTIfZUTmwxIX5+wjipXq7s49MKyxuH+JayRnfSVu0LVdlbjFvkLnHEN+LjGnnb/5vr/2lHz0vwsavldF5DOb0UjQmN+jhxa0eACqL7up4BPXxvkBKDbeHQEo1rknO58l7oLIPbtgUpt2zu6saiw23vn/LSkxMe75RhqpJYL/rAE1//MC7IYNAEDk0AUHAIYFGu3n1rz7g+JFBCAAMIw1IGuU4AAAUUEGBAAtUIJr6QdR3YAABACG+YM+Pezc70WU4AAAUUEGBACGNT7VtHn3B8WLCEAAYFggGKNH8+8PRnQ+TkEAAgDDyICssQYEAIgKMiAAMCxgs5MtIN5EAAIAxz8HFCNe5M0/FQDAmwFo8eLF0qdPH0lMTNRnh2/fvj3yMwMAj+0FZ2d4Udh/qsLCQsnNzdXHtu7atUuGDRsm48ePl/LycjMzBACXqz8PyM7worAD0MKFC2XGjBkybdo0SUtLk4KCAmnXrp2sWLHCzAwBAJ4UVhNCbW2tlJSUSF5eXsO1mJgYyczMlOLiYst7ampq9Gh8RjoAtCb2j2OIES8K6091/Phx8fv90q1bt5Dr6nVZWZnlPfn5+ZKcnNwwUlNT7c0YAFz6IKqd4UXG/1QqW6qoqGgYpaWlpr8kAMBrJbjOnTtLbGysHD16NOS6ep2SkmJ5T0JCgh4A0FoFgj497NwvrT0Dio+Pl/T0dNm0aVPDtUAgoF9nZGSYmB8AuF7AZvkt4NESXNg7IagW7OzsbBkxYoSMHDlSFi1aJNXV1borDgBgYjfsGPGisAPQ5MmT5dixYzJnzhzdeDB8+HApKio6qzEBAICI7wWXk5OjBwDgv/OLTw8793sRm5ECgGGU4Kx5808FAHA8MiAAMMxvs4zmF28iAAGAYZTgrHnzTwUAcDwyIAAwjM1IrRGAAMCwoM0zfYIebcP2ZlgFADgeGRAAGEYJzhoBCAAMYzdsa94MqwAAxyMDAgDD7J5q6vdorkAAAgDDKMFZIwABgGEBm4fKBciAIqu6e6zExseK0134tTt2YUpcv13c4stJQ8QNvvtXO3GLtt8GxA3c0MzlrwtGewqtBhkQABjmD/r0sHO/FxGAAMAw1oCsuSAhBgB4ERkQABgWtHkcQ9ANi2fNQAACAMPUYXT2DqTziRd5M6wCAByPDAgADAsE7TUSBDzaGU4AAgDDOJLbmjf/VAAAxyMAAYBh6jRUu6M5Fi9eLH369JHExEQZNWqUbN9+7h1TfvjhB5k1a5Z0795dEhIS5LLLLpM333xTTKEEBwAe3AmhsLBQcnNzpaCgQAefRYsWyfjx4+XAgQPStWvXs95fW1srN954o/691157TXr27ClffvmldOjQQUwhAAGABy1cuFBmzJgh06ZN069VIPr73/8uK1askIceeuis96vr3333nXzwwQfSpk0bfU1lTyZRggOAFmpCsDPCobKZkpISyczMbLgWExOjXxcXF1ves27dOsnIyNAluG7dusngwYPlySefFL/f3IbMZEAAYJhex7HThi0/3ltZWRlyXa3TqHGm48eP68ChAklj6vXHH39s+TU+//xzeeeddyQrK0uv+xw8eFDuvvtuqaurk7lz54oJZEAAYFjQZgNC8N8BKDU1VZKTkxtGfn5+xOYYCAT0+s/SpUslPT1dJk+eLH/84x916c4UMiAAcInS0lJJSkpqeG2V/SidO3eW2NhYOXr0aMh19TolJcXyHtX5ptZ+1H31Bg4cKGVlZbqkFx8fL1HPgLZu3SqTJk2SHj16iM/nk9dffz3ikwIALx7HYGcoKvg0Hk0FIBUsVBazadOmkAxHvVbrPFZGjx6ty27qffU++eQTHZhMBJ9mBaDq6moZNmyY7i8HADivCUFRLdjLli2TVatWyf79+2XmzJn6+3d9V9zUqVMlLy9P6qnfV11ws2fP1oFHdcypJgTVlOCYEtyECRP0AAA41+TJk+XYsWMyZ84cXUYbPny4FBUVNTQmHD58WHfG1VPrSxs2bJD7779fhg4dqp8DUsHowQcfNDZH1oAAwKMnoubk5OhhZfPmzWddU+W5bdu2SUsxHoBqamr0qHdmGyEAeJ2d7XQUO/c6mfE2bNUm2LhtUKV5AAAYD0BqkauioqJhqDZCAGhNItUF5zXGS3BNPakLAK1FtNaAPBeATpw4oXvF6x06dEh2794tnTp1kt69e0d6fgAAjwo7AO3cuVPGjh0b0muuZGdny8qVKyM7OwDwADKgCAWg6667ToJBjx5QDgAGEICssRkpACAqeBAVAAwL2nyWJyjeRAACAMMowVkjAAGAYQQga6wBAQCiggwIAAwjA7JGAAIAwwhA1ijBAQCiggwIAAwLBn162LnfiwhAAGAY5wFZowQHAIgKMiAAMIwmBGsEIAAwjDUga5TgAABRQQYEAIZRgnNYAIr7l0isXxwvcf12cYNTPx0pblF70gX/4tXZV/33ilsUn3bHv/+y22rF6QIna0ReiexnUoKzRgkOABAVlOAAwDCVwdgpowU9mgERgADAMHWgXNDGqXJB8SYCEAAYpnYyUP+zc78XsQYEAIgKMiAAMIwuOGsEIAAwTDUg+HgO6CyU4AAAUUEGBACGqQ44W11wQfEkAhAAGMYakDVKcACAqCADAgDDyICsEYAAwDC64KxRggMARAUZEAAYRhecNQIQALRIALKzBiSeFFYJLj8/X6666ipp3769dO3aVW699VY5cOCAudkBADwrrAC0ZcsWmTVrlmzbtk02btwodXV1Mm7cOKmurjY3QwDwSBecnSGtvQRXVFQU8nrlypU6EyopKZFrr7020nMDAO+cB2Tzfi+ytQZUUVGh/9mpU6cm31NTU6NHvcrKSjtfEgBch+eAItyGHQgE5L777pPRo0fL4MGDz7lulJyc3DBSU1Ob+yUBAB7S7ACk1oL27t0ra9asOef78vLydKZUP0pLS5v7JQHA3TU4O8ODmlWCy8nJkfXr18vWrVulV69e53xvQkKCHgDQatltJAh6swQXVgAKBoNyzz33yNq1a2Xz5s3St29fczMDAHhaXLhlt9WrV8sbb7yhnwUqKyvT19XaTtu2bU3NEQBcjZ0QIrAGtGTJEr2Oc91110n37t0bRmFhYTgfAwCtCs8BRagEBwBAJLAXHACYpjIYmhDOQgACAMNYA7LGeUAAgKggAAGARx9EXbx4sfTp00cSExNl1KhRsn379vO6T20w4PP59IkHJhGAAMCDXXCFhYWSm5src+fOlV27dsmwYcNk/PjxUl5efs77vvjiC3nggQdkzJgxYhoBCABaQgtnPwsXLpQZM2bItGnTJC0tTQoKCqRdu3ayYsWKJu/x+/2SlZUl8+fPl379+olpBCAAcInKysqQ0fikgcZqa2v1MTmZmZkN12JiYvTr4uLiJj//scce00fsTJ8+XVoCAQgAXFKCS01NDTldQJ02YOX48eM6m+nWrVvIdfW6fgebM7333nuyfPlyWbZsmbQU2rABwCUn0pWWlkpSUlLD5Uht9FxVVSV33nmnDj6dO3eWlkIAAgCXSEpKCglATVFBJDY2Vo4ePRpyXb1OSUk56/2fffaZbj6YNGlSyJlvSlxcnBw4cEAuueQSiTRKcABgnC8C4/zFx8dLenq6bNq0KSSgqNcZGRlnvX/AgAGyZ88e2b17d8P42c9+JmPHjtW/NnWQKBkQALikBBcO1YKdnZ0tI0aMkJEjR8qiRYukurpad8UpU6dOlZ49e+p1JPWc0JknW3fo0EH/81wnXttFAAIAD5o8ebIcO3ZM5syZoxsPhg8fLkVFRQ2NCYcPH9adcdFEAAIAD2ZA9adXq2FFHSp6LitXrhTTCEAAYBq7YTsrACVnfSVxF0SmhdCkLycNETeoPekXt0h9LVbc4M/j/iluMXTKAHGDuFrn/8zrb3M62lNoNZz/twEAXI7jGKwRgADAo2tATsdzQACAqCADAgDTaEKwRAACAMN8wR+Hnfu9iAAEAKaxBmSJNSAAQFSQAQGAaawBWSIAAYBplOAsUYIDAEQFGRAAmEYGZIkABACmEYAsUYIDAEQFGRAAmEYXnCUCEAAYxk4I1ijBAQCcH4CWLFkiQ4cOlaSkJD0yMjLkrbfeMjc7APBSE4Kd0doDUK9eveSpp56SkpIS2blzp1x//fVyyy23yL59+8zNEADgSWGtAU2aNCnk9RNPPKGzom3btsmgQYMiPTcAgIc1uwnB7/fLq6++KtXV1boU15Samho96lVWVjb3SwKAK6keNltNCOJNYQegPXv26IBz6tQpufDCC2Xt2rWSlpbW5Pvz8/Nl/vz5ducJAO5FG3ZkuuAuv/xy2b17t3z44Ycyc+ZMyc7Olo8++qjJ9+fl5UlFRUXDKC0tDfdLAoC70YQQmQwoPj5e+vfvr3+dnp4uO3bskOeee05efPFFy/cnJCToAQBARB9EDQQCIWs8AIAzsBec/QCkymkTJkyQ3r17S1VVlaxevVo2b94sGzZsCOdjAKBVYSeECASg8vJymTp1qnzzzTeSnJysH0pVwefGG28M52MAAAgvAC1fvtzcTADAqyjBWWIzUgAwjQBkic1IAQBRQQYEAIbRhGCNAAQAprETgiVKcACAqCADAgDTaEKwRAACAMNYA7JGCQ4AEBVkQABgGiU4SwQgADDNZglOCEAAgGYhA7LEGhAAICrIgADANDIgSwQgADCMNmyHBaCu7aqkTTvnn6T63b/aiRtc13+vuMWfx/1T3OAnv/2tuEXizO/FDeJiAuJ0/kBdtKfQarAGBACICkpwAGAaa0CWyIAAAFFBBgQAhtGEYI0ABAAtwaNBxA5KcACAqCADAgDTaEKwRAACAMNYA7JGCQ4APGrx4sXSp08fSUxMlFGjRsn27dubfO+yZctkzJgx0rFjRz0yMzPP+f5IIAABQEuV4OyMMBUWFkpubq7MnTtXdu3aJcOGDZPx48dLeXm55fs3b94sd9xxh7z77rtSXFwsqampMm7cODly5IiYQgACgBYqwdkZ4Vq4cKHMmDFDpk2bJmlpaVJQUCDt2rWTFStWWL7/5ZdflrvvvluGDx8uAwYMkL/+9a8SCARk06ZNYgoBCAA8lgHV1tZKSUmJLqPVi4mJ0a9VdnM+Tp48KXV1ddKpUycxhSYEAHCJysrKkNcJCQl6nOn48ePi9/ulW7duIdfV648//vi8vtaDDz4oPXr0CAlikUYGBAAuyYBSU1MlOTm5YeTn5xuZ7lNPPSVr1qyRtWvX6gYGU8iAAMAlbdilpaWSlJTUcN0q+1E6d+4ssbGxcvTo0ZDr6nVKSso5v9YzzzyjA9Dbb78tQ4cOFZPIgADAJZKSkkJGUwEoPj5e0tPTQxoI6hsKMjIymvz8P/3pT7JgwQIpKiqSESNGiGm2ApCKkj6fT+67777IzQgAvCYKbdi5ubn62Z5Vq1bJ/v37ZebMmVJdXa274pSpU6dKXl5ew/uffvppefTRR3WXnHp2qKysTI8TJ06I40pwO3bskBdffNF4igYArheFrXgmT54sx44dkzlz5uhAotqrVWZT35hw+PBh3RlXb8mSJbp77he/+EXI56jniObNmyeOCUAqImZlZeno+vjjj0d+VgAA23JycvRo6sHTxr744gtpac0qwc2aNUsmTpxotD0PALwiGg+iukHYGZBqzVPbOqgS3PmoqanRo6k+dgDwPHbDtp8BqRbA2bNn6y0bzrc3XPWpN+5bV33sAACEFYDU1g5qI7srr7xS4uLi9NiyZYs8//zz+tfqydszqS6LioqKhqGCGAC0JpTgIlCCu+GGG2TPnj0h11RLn9q4Tm3boB58OlNTW0UAQKtBCc5+AGrfvr0MHjw45NoFF1wgF1100VnXAQA4F7biAQDTyIDMBKAze8kBAKF8/x527vciMiAAMI0MyBKbkQIAooIMCABcchyD1xCAAMA0SnCWKMEBAKKCDAgAWoJHsxg7CEAAYBhrQNYowQEAooIMCABMownBEgEIAAyjBGeNEhwAICrIgADANEpwlghAAGAYJThrBCAAMI0MyBJrQACA1pUB7StMk9j4RHG6tt8GxA2KT48Utxg6ZYC4QeLM78Ut2i7pKK7ggoNtTtedivyHkgFZogQHAIaxBmSNEhwAICrIgADANEpwlghAAGCYLxjUw879XkQJDgAQFWRAAGAaJThLBCAAMIwuOGuU4AAAUUEGBACmUYKzRAACAMMowVmjBAcAiAoyIAAwjRKcJQIQABhGCc4aAQgATCMDssQaEAAgKsiAAKAFeLWM1mIZ0Lx588Tn84WMAQPccbgYAESN2kzU7vCgsDOgQYMGydtvv/2fD4gjiQIAhC/s6KECTkpKSjO+FAC0TnTBRagJ4dNPP5UePXpIv379JCsrSw4fPnzO99fU1EhlZWXIAIBW2QVnZ7T2ADRq1ChZuXKlFBUVyZIlS+TQoUMyZswYqaqqavKe/Px8SU5ObhipqamRmDcAoDUFoAkTJsjtt98uQ4cOlfHjx8ubb74pP/zwg7zyyitN3pOXlycVFRUNo7S0NBLzBgDX8AXsDy+y1UHQoUMHueyyy+TgwYNNvichIUEPAGi1eBA18g+injhxQj777DPp3r27nY8BALRCYQWgBx54QLZs2SJffPGFfPDBB3LbbbdJbGys3HHHHeZmCAAe6YKzM6S1l+C++uorHWy+/fZb6dKli1xzzTWybds2/WsAQBPsPkwa9GYECisArVmzxtxMAACtCtsYAIBhPIhqjQAEAKbRBWeJ4xgAwKNNCIsXL5Y+ffpIYmKi3khg+/bt53z/q6++qjeYVu8fMmSIftbTJAIQAHhQYWGh5Obmyty5c2XXrl0ybNgwvYFAeXm55ftVZ7NqMps+fbr885//lFtvvVWPvXv3GpsjAQgAPHgcw8KFC2XGjBkybdo0SUtLk4KCAmnXrp2sWLHC8v3PPfec3HTTTfKHP/xBBg4cKAsWLJArr7xSXnjhBTGFAAQALinBVZ6xsbPa7NlKbW2tlJSUSGZmZsO1mJgY/bq4uNjyHnW98fsVlTE19f5IIAABgEukpqaGbO6sNnu2cvz4cfH7/dKtW7eQ6+p1WVmZ5T3qejjvjwS64ADAJV1wpaWlkpSU1HDZ7ftsEoAAwCXPASUlJYUEoKZ07txZb5N29OjRkOvqdVMHiqrr4bw/EijBAYDHxMfHS3p6umzatKnhWiAQ0K8zMjIs71HXG79f2bhxY5PvjwQyIAAwLRD8cdi5P0yqBTs7O1tGjBghI0eOlEWLFkl1dbXuilOmTp0qPXv2bFhHmj17tvzkJz+RZ599ViZOnKi3Xtu5c6csXbpUTCEAAYAHd0KYPHmyHDt2TObMmaMbCYYPH65Ps65vNDh8+LDujKt39dVXy+rVq+WRRx6Rhx9+WC699FJ5/fXXZfDgwWIKAQgAPConJ0cPK5s3bz7rmjrxWo2WQgACAMN8NjcU9Yk3RS0AxZwOSkyM83fYC7qkTaPstlpxi7had/zcExcTENdwy3eoYCudI+cBWXLJt1cAgNe440dRAHAxzgOyRgACANM4D8gSAQgADPMFg3rYud+LWAMCAEQFGRAAmKYaKu00VQbEkwhAAGAYJThrlOAAAFFBBgQAptEFZ4kABACmsROCJUpwAICoIAMCAMPYCcEaAQgATKMEZ4kSHAAgKsiAAMAwX+DHYed+LyIAAYBplOAiU4I7cuSITJkyRS666CJp27atDBkyRHbu3BnuxwAAWrmwMqDvv/9eRo8eLWPHjpW33npLunTpIp9++ql07NjR3AwBwO14ENV+AHr66aclNTVVXnrppYZrffv2DecjAKDVYS+4CJTg1q1bJyNGjJDbb79dunbtKldccYUsW7YsnI8AgNa7BmRntPYA9Pnnn8uSJUvk0ksvlQ0bNsjMmTPl3nvvlVWrVjV5T01NjVRWVoYMAADCKsEFAgGdAT355JP6tcqA9u7dKwUFBZKdnW15T35+vsyfPz8yswUAN1IJjJ1W6qB4UlgZUPfu3SUtLS3k2sCBA+Xw4cNN3pOXlycVFRUNo7S0tPmzBQAXrwHZGdLaMyDVAXfgwIGQa5988olcfPHFTd6TkJCgBwAAzc6A7r//ftm2bZsuwR08eFBWr14tS5culVmzZoXzMQDQCtuw7TQhiCeFFYCuuuoqWbt2rfztb3+TwYMHy4IFC2TRokWSlZVlboYA4HZ0wUVmK56f/vSnegAAYAd7wQGAaaoDzmfzfg8iAAGAYeyEYI3zgAAAUUEGBACmcRyDJQIQAJhGALJECQ4AEBVkQABgGhmQJQIQAJhGG7YlAhAAGEYbtjXWgAAAUUEGBACmsQZkiQAEAKYFgqqOZu9+D6IEBwCICjIgADCNEpwzAlDw3/9H+mtPiRv469zxLz5wskbcwt/mtLiBP1AnbnG6zh3/PbnhYLXTp0+FfK+KDLtn+gTFi1o8AFVVVel/fvS/C1r6S3vbK9GeAOAt6ntVcnJytKfhaS0egHr06CGlpaXSvn178fnsPJn1H5WVlZKamqo/NykpSZzKLfN001zdMk83zdUt8zQ1V5X5qOCjvldFDCU4ZwSgmJgY6dWrl5HPVn8Bnf4fjJvm6aa5umWebpqrW+ZpYq4Rz3x0FxtdcGeiCw4AEBV0wQGAacHAj8PO/R7kiQCUkJAgc+fO1f90MrfM001zdcs83TRXt8zTVXNlDciSLxjZXkMAQKMmCbWelNnzdxIX0/wgeTpQI28fKZCKigrXrMudD9aAAABRQQACgJYqwdkZBn333XeSlZWls6sOHTrI9OnT5cSJE+d8/z333COXX365tG3bVnr37i333nuvztDCQQACANN0F7adACRGqeCzb98+2bhxo6xfv162bt0qv/3tb5t8/9dff63HM888I3v37pWVK1dKUVGRDlzhYA0IAEyvAXX/H4mLiW/255wO1Mrb37xoZA1o//79kpaWJjt27JARI0boayqY3HzzzfLVV1+d9wO5r776qkyZMkWqq6slLu78+tvIgACgFZfgiouLddmtPvgomZmZetOADz/88Lw/pz44nm/w8UwbNgA4WkA9xxOweb/ojKox1X5utwW9rKxMunbtGnJNBZFOnTrp3zsfx48flwULFpyzbGeFDAgAXCI1NVWX9OpHfn5+k+996KGH9H6b5xoff/yx7TmpoDhx4kRdxps3b15Y95IBAYBLHkQtPWPT1XNlP7///e/lrrvuOufH9uvXT1JSUqS8vDzk+unTp3Wnm/q9c1Gbtt500016c+m1a9dKmzZtJBwEIABwSQBKCmPT1S5duujx32RkZMgPP/wgJSUlkp6erq+98847EggEZNSoUefMfMaPH6+D4Lp16yQxMVHCRQkOAFqxgQMH6ixmxowZsn37dnn//fclJydHfvWrXzV0wB05ckQGDBigf78++IwbN053vC1fvly/VutFavj9/vP+2mRAAGCaw49jePnll3XQueGGG3T3289//nN5/vnnG36/rq5ODhw4ICdPntSvd+3a1dAh179//5DPOnTokPTp0+e8vi7PAQGA4eeAbuiYbfs5oE3fr2IvOAAAIoESHACYpgpNdspoQW8WqghAAGCaDiAEoDMRgADANLWTgY8TUc/EGhAAICrIgADANEpwlghAAGBYMBCQoI0SXJASHAAAkUMGBACmUYKzRAACANPUM0A+AtCZKMEBAKKCDAgATNMZjJ3ngILiRQQgADAsGAhK0EYJLujRAEQJDgAQFWRAAGCafo6HrXjORAACAMMowVmjBAcAiAoyIAAw7HSwxlYZ7bTUiRcRgADAkPj4eElJSZH3yt60/VkpKSn687zEF/RqcREAHODUqVNSW1tr+3Pi4+MlMTFRvIQABACICpoQAABRQQACAEQFAQgAEBUEIABAVBCAAABRQQACAEQFAQgAINHw/xbhyWvzmDNRAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.pyplot as plt\n", "\n", "plt.matshow(water_mi)\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "id": "eb85a1c3", "metadata": {}, "source": [ "So it looks like spatial orbitals 3 and 4 generally have high mutual information with others. This is good (!) as these orbitals sit at the fermi-level.\n", "\n", "In particular we see that spatial orbitals 3 and 4 are highly correlated with eachother, so to produce a reduced entanglement tree, we expect that spin orbitals $3 \\to (6,7)$ and $4 \\to (8,9)$ should be put in a parity (x) branch together.\n", "\n", "Let's create a rett, allowing only 1 X-branch." ] }, { "cell_type": "code", "execution_count": 3, "id": "c84979ca", "metadata": {}, "outputs": [], "source": [ "from ferrmion.optimize.rett import reduced_entanglement_ternary_tree\n", "\n", "rett = reduced_entanglement_ternary_tree(mutual_information=water_mi, max_branches=1)" ] }, { "cell_type": "markdown", "id": "e72a5baf", "metadata": {}, "source": [ "To see what nodes exist, and what modes and qubit are mapped to them, we can check the tree's enumeration scheme." ] }, { "cell_type": "code", "execution_count": 4, "id": "49645e02", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'': (6, 6),\n", " 'x': (7, 7),\n", " 'xx': (8, 8),\n", " 'xxx': (9, 9),\n", " 'z': (0, 0),\n", " 'zz': (1, 1),\n", " 'zzz': (2, 2),\n", " 'zzzz': (3, 3),\n", " 'zzzzz': (4, 4),\n", " 'zzzzzz': (5, 5),\n", " 'zzzzzzz': (10, 10),\n", " 'zzzzzzzz': (11, 11),\n", " 'zzzzzzzzz': (12, 12),\n", " 'zzzzzzzzzz': (13, 13)}" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rett.enumeration_scheme" ] }, { "cell_type": "markdown", "id": "3dc66c11", "metadata": {}, "source": [ "This actually show's what we wanted, but it's clearer with a visualisation.\n", "\n", "First let's just see the structure of the tree..." ] }, { "cell_type": "code", "execution_count": 5, "id": "c8a786a4", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from ferrmion.visualise import draw_tt\n", "\n", "draw_tt(rett)" ] }, { "cell_type": "markdown", "id": "dd0ae9a2", "metadata": {}, "source": [ "Finally, we label the tree drawing with the tree's enumeration scheme." ] }, { "cell_type": "code", "execution_count": 6, "id": "322aae56", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "draw_tt(rett, enumeration_scheme=rett.enumeration_scheme)" ] }, { "cell_type": "markdown", "id": "a844c2ad", "metadata": {}, "source": [ "As expected, the spin-orbitals (fermionic modes) {6,7,8,9} now live on an X-branch together, with the other orbitals on a Z-branch.\n", "\n", "We can additionaly use an evolutionary algorithm to optimize the enumeration scheme.\n", "\n", "In the original paper, they minimise a cost function which weights the MI by the distance squared." ] }, { "cell_type": "code", "execution_count": 7, "id": "75153e28", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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2223yZQpU8wQ73Pnzsn06dPNiLpoRsxpBCIAcAF1hWffPnjwoIwcOTK8PXv2bPO1sLBQNm7cKI888oi510jfF6Qzn+HDh5vh2mlpaeFzNm3aZILPqFGjzGi5CRMmmHuPokUgAgAfGjFihLlf6GL0bAuPP/64KRejs6fNmzfbrguBCADcQPl3GQgCEQC4QuCfxc753sSoOQBAXJERAYAbKJrmAADxpPwbiGiaAwDElWszorNXp4nV4l/j1e1KkdhIFv9+4rCaMatvvJaajEVdvfQpLhav09i8p9I98acueNYSry8D4SauDUQA4CeKpcIBAIgPMiIAcAPl38EKBCIAcAPl3z4imuYAAHFFRgQALhBQ3xU753tVTDKiL774Qu677z7p2LGjpKenS58+fcyU4wCAS/QRKRvFoxzPiL7++msZNmyYWefizTfflB/96EdSXl4u7du3d/qpACBxKP/2ETkeiJYsWSI5OTmyYcOG8D69uh8AAFekaW7btm0ycOBAufvuu6VTp05y0003yfr16y96fENDg1kLvXEBAN9R/m2aczwQff7557J27Vqzzvlbb70lDz74oMyYMUNeeOGFJo8vKiqStm3bhovOpgDAdxSByDGWZUn//v3lySefNNmQXu98ypQpsm7duiaPnzdvnpw6dSpcKisrna4SAMBPfUSdO3eWXr16Rezr2bOn/PnPf27y+NTUVFMAwNcUMys4Ro+YO3LkSMS+zz77TK699lqnnwoAEofy76g5x5vmZs2aJXv37jVNc0ePHpXNmzfLs88+K9OmTXP6qQAACcDxQDRo0CDZsmWLvPTSS9K7d2954oknZMWKFVJQUOD0UwFAws2sELBRvComU/z89Kc/NQUAcJmUf/uImPQUABBXBCIAQFwx+zYAuEDA5gza3h0z5+JA9G3HFpKc4mT10iUWUmJwzWTxdzptNTQ4f1GlvFFPDzVTJHvk/RSL9//58+cdvZ7fuTYQAYCvKP/eR0QgAgA3UP4dNUcgAgA3UP4NRF5pjgYAJCgyIgBwgYDN2RG8PLMCGREA+HA9omAwKPPnzzcraKenp8t1111npmRTjUaY6n8vWLDArKqgj8nLy5Py8nLHv3UCEQD40JIlS8wipqtXr5bDhw+b7aVLl8qqVavCx+jtlStXmvXk9u3bJ61atZL8/Hypr693tC40zQGADwcrvP/+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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "n_mode = rett.n_modes\n", "\n", "distance_matrix = np.array(\n", " [[np.abs(i - j) ** 2 for j in range(n_mode)] for i in range(n_mode)]\n", ")\n", "\n", "plt.matshow(distance_matrix)\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "id": "0f7d211f", "metadata": {}, "source": [ "This cost function is available in `ferrmion.optimize`.\n", "\n", "We need to provide the MI matrix, and a permutation of spatial orbital indices.\n", "\n", "Note because we're using a spinless MI matrix, we only need half the number of indices." ] }, { "cell_type": "code", "execution_count": 8, "id": "3eb398ab", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[np.float64(100.38009786)]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from ferrmion.optimize import distance_squared, minimise_mi_distance\n", "\n", "naive_permutation = [i for i in range(rett.n_modes // 2)]\n", "\n", "distance_squared(water_mi, naive_permutation)" ] }, { "cell_type": "markdown", "id": "33a3434f", "metadata": {}, "source": [ "To find an approximately optimal permutation, we can use the lambda+mu evolutionary algorithm." ] }, { "cell_type": "code", "execution_count": 9, "id": "75383f71", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2 6 4 3 0 5 1]\n" ] } ], "source": [ "best_permutation = minimise_mi_distance(\n", " water_mi, pop_size=1000, ngen=50, pair_spins=False\n", ")\n", "print(best_permutation)" ] }, { "cell_type": "markdown", "id": "aa2706ea", "metadata": {}, "source": [ "Now let's compare the naive enumeration scheme to the optimized one:" ] }, { "cell_type": "code", "execution_count": 10, "id": "7e9d7516", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaAAAAGQCAYAAADoTLT0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvTLEjVAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAMsZJREFUeJzt3Ql8VNW9wPF/EkgCSIKsAQkiLiwioEEoolWURUWqVhEpFqQILSWCRlvFpyyiRlwoWilbQXytaMRXlCKGpyhSBWSTFgFBFCRA2VQSCCWBzH2f/2ln3ky4wSQzNzP35vft5zTMnTszZybx/uec8z/nxFmWZQkAAFUsvqpfEAAARQACAEQFAQgAEBUEIABAVBCAAABRQQACAEQFAQgAEBUEIABAVBCAAABRQQACAEQFAagKfPXVV/LLX/5SWrVqJcnJyZKSkiLdu3eXF154Qf71r39F/PWOHz8uEyZMkOXLl0s0TJ8+Xfr37y8tWrSQuLg4ufvuu8s898iRIzJixAhp1KiR1KlTR3r06CEbNmywPXfRokVy2WWXmc9Qn3v8+PFy6tSpH6zPvn375K677pLWrVtL3bp1pV69etKlSxd55ZVXxG4lqvfff9/Uo2HDhoFz//SnP9k+95w5c6Rt27amThdeeKH8/ve/tz1v7969cscdd5jn09//zTffLF9//fVp5x04cECGDh0qjRs3llq1apn3u2DBgtPOa9mypfls7YrWI1h+fr789re/Ncf1Oc8991wZNmyY7N6927auOTk50q1bN/P70PpeccUV8sEHH5T5+QKVVaPSj0S5vPPOO+ZinJSUJIMHD5b27dtLcXGxfPzxx/Kb3/xGNm/eLLNmzYp4AJo4caL59zXXXCNVbfLkyXL06FFz4f7nP/9Z5nk+n0/69u0rf//7381noRf8P/zhD6bO69evD7mQvvvuu3LLLbeY+/Qiv2nTJnniiSfk4MGDJuCdyeHDh2XPnj1y++23m8B18uRJee+990xg3LZtmzz11FMhQU5fRy/AGsT1gv7GG2+Y350+z/333x84d+bMmfKrX/1KbrvtNsnKypK//e1vMnr0aPP5P/TQQ4Hzjh07ZgKaBoJHHnlEatasKb/73e/k6quvlo0bN0qDBg3MeQUFBXLllVeaIDRmzBhJS0szr62B69VXX5Wf/exngeecOnWqed5g33zzjTz66KPSu3fvkM+4V69esmXLFvn1r38tF110kezYscN8zkuXLpWtW7eaoOyn7/nxxx83n5V+PvpZff755yaAAhGni5HCGV9//bV11llnWW3atLH27dt32v1ffvmlNXXq1Ii/7qFDh/RrvTV+/HgrGnbt2mX5fD7z7zp16lhDhgyxPS8nJ8fUc8GCBYFjBw8etOrVq2cNHDgw5Nx27dpZHTt2tE6ePBk49l//9V9WXFyctXXr1krV86abbjL1O3XqVOBYr169rGbNmlknTpwIHNPXPP/8860OHToEjh0/ftxq0KCB1bdv35DnHDRokHnO7777LnBs8uTJ5n2uWbMmcEzrnJCQYI0dOzZw7JlnnjHnLVu2LHCspKTEuvzyy620tDSrqKjojO9n0qRJ5vGffPJJ4Jj+W4+99NJLIefOnTvXHP/LX/4SOLZq1SrzeU6ZMuUHPjkgMghADvrVr3512gXhTPRC9/jjj1utWrWyEhMTrXPPPddcoIIvhmrt2rVW7969zQUwOTnZatmypTV06FBz386dO81rli7RCkZnCkD9+/e3mjRpYi6ywUaMGGHVrl078L43b95s3sO0adNCztu7d685rhfeysjMzDQXXA0mfl27drUuvvji087V41r83nnnHfPa+jPYypUrzfE//elPgWMaQLSUpr9DDWx+/fr1sxo1anTaec8++6x5zv/93/894/tp27atdd5554Uce/fdd08L8sHH9affgAEDrKZNm5rfh36BOHr06BlfDwgXY0AO+utf/2rGfbQPvTzuueceGTdunOn393fRZGdny5133hk4R7uctItl165d8vDDD5vuqEGDBsnq1avN/TqW4u+SuvXWW83YhZaf/vSnZb6udtNo91J5inbJRMpnn31m3mt8fOifoXbdaTfW9u3bA+epzp07h5zXrFkzad68eeD+H6Ljbfoe9LPT8Z+XX37ZdLXpuIifdvFpt+hjjz1muqp0/G7SpEmybt06M44SXHe7OmVkZJj3479fP9t//OMfp53nf5/6/NpdqYqKikLq4le7dm3zU7sly6Kvp91pwd10/vrpWI6+Hx3H0a60jz76yLyXyy+/XHr27Bk4d9myZebYiy++aP6OtGuuadOm8tJLL5Xj0wUqIewQBlv5+fnmG+bNN99crvM3btxozr/nnntCjj/44IPm+AcffGBuL1y40NzWVlCk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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.matshow(water_mi)\n", "plt.title(f\"Cost = {distance_squared(water_mi, naive_permutation)[0]}\")\n", "plt.colorbar()\n", "\n", "plt.matshow(water_mi[best_permutation][:, best_permutation])\n", "plt.title(f\"Cost = {distance_squared(water_mi, best_permutation)[0]}\")\n", "plt.colorbar()" ] }, { "cell_type": "markdown", "id": "d4a6ff99", "metadata": {}, "source": [ "Create a map from the spatial orbital permutation to spin-orbitals\n", "\n", "for each spatial orbital $\\Psi$, we need two spin orbitals $\\chi^\\alpha$ and $\\chi^\\beta$\n", "\n", "$$\\Psi_i \\to \\set{\\chi_{2i}^\\alpha, \\chi_{2i+1}^\\beta}$$" ] }, { "cell_type": "code", "execution_count": 11, "id": "6e0cafea", "metadata": {}, "outputs": [], "source": [ "# i -> (2i, 2i+1)\n", "pos_map = {int(2 * best): 2 * i for i, best in enumerate(best_permutation)}\n", "pos_map.update(\n", " {int(2 * best) + 1: 2 * i + 1 for i, best in enumerate(best_permutation)}\n", ")\n", "enumeration_scheme = {\n", " k: (v[0], pos_map[v[1]]) for k, v in rett.enumeration_scheme.items()\n", "}" ] }, { "cell_type": "markdown", "id": "51625bd6", "metadata": {}, "source": [ "We can now redraw the tree with its new enumeration scheme." ] }, { "cell_type": "code", "execution_count": 12, "id": "2c4aa593", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "rett.enumeration_scheme = enumeration_scheme\n", "draw_tt(rett, enumeration_scheme=enumeration_scheme)" ] } ], "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 }