{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Tutorial\n", "This notebook demonstrates how the interferometers module can be used for the mapping of a circuit to a universal interferometer. It allows for the introduction of fabrication errors, allowing for a better understanding of how these are likely to affect produced results." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import lightworks as lw\n", "from lightworks import emulator, qubit\n", "from lightworks.interferometers import ErrorModel, Reck, dists" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Configuration\n", "\n", "First, the test circuit is defined. In this case a hadamard and CNOT gate is used to create the $\\ket{00}$ + $\\ket{11}$ bell state from the input $\\ket{00}$." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "-\n", "0\n", "1\n", "2\n", "3\n", "-\n", "\n", "\n", "\n", "H\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "CNOT (0, 1)\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "0\n", "\n", "0\n", "\n", "0\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "bell_circuit = lw.PhotonicCircuit(4)\n", "bell_circuit.add(qubit.H())\n", "bell_circuit.add(qubit.CNOT())\n", "bell_circuit.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The components of the interferometers module are then defined. First is the ErrorModel, which is a dedicated object for the introduction of process variation within an interferometer. On initial creation this will assume an ideal system, the imperfections are then modified through attributes, as will be demonstrated later.\n", "\n", "The interferometer mapper is then defined for the conversion of a provided circuit into the interferometer. The defined ErrorModel is provided as an argument here, although if using a perfect system then this could be omitted. In this case, the universal Reck interferometer shape is chosen." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "error_model = ErrorModel()\n", "\n", "mapper = Reck(error_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Once a mapper is defined, the circuit created earlier is mapped to determine the required circuit encoding. As can be seen, the mapper is capable of preserving heralding rules from a provided circuit." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "1\n", "2\n", "3\n", "4\n", "5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = π\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = π\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = π\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = π\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = π/2\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = π/4\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.231\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = π\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = π\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.1071\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 2.3758\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 4.6036\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = π\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = π\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 4.1926\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.6697\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.533\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.0708\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 5.8588\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.0708\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0.3914\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.6697\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 4.6036\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 2.3758\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.1096\n", "\n", "\n", "\n", "PS\n", "φ = 5.0021\n", "\n", "\n", "\n", "PS\n", "φ = 1.8044\n", "\n", "\n", "\n", "PS\n", "φ = 3.4705\n", "\n", "\n", "\n", "PS\n", "φ = 0.9553\n", "\n", "\n", "\n", "PS\n", "φ = 0.9553\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "0\n", "\n", "0\n", "\n", "0\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "encoded_circuit = mapper.map(bell_circuit)\n", "\n", "encoded_circuit.display()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Simulation\n", "\n", "This circuit can then be simulated to verify correct functionality using the Sampler. The required post-selection of 1 photon across each set of dual-rail encoded modes is configured, and a total of 10000 samples are drawn from the system." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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8Hg8HquHOFWHDh305JNP6uabb1bnzp21YsUK3XzzzZKk/fv3KyYmRjk5ORo4cKDef/99jRo1SoWFhQoPD5ckLV26VDNnztT333+voKAgzZw5UxkZGdqzZ4/3b4wdO1YlJSVat27dOc3kdrtlt9tVWloqm83m/4P+/3o+mNFojw3g3w4+kWj1CI2G5xGgaTT288i5tkezeY9cVVWV3njjDZWXl8vhcCg3N1cnTpzQsGHDvHt69+6t7t27KycnR5KUk5Ojyy+/3BtxkuR0OuV2u71n9XJycnweo2ZPzWPUpqKiQm632+cGAADQ3Fgecrt371ZoaKiCg4M1adIkvf3224qNjZXL5VJQUJDCwsJ89oeHh8vlckmSXC6XT8TVrNesnWmP2+3WsWPHap1p/vz5stvt3ltUVJQ/DhUAAMCvLA+5Sy+9VHl5edq6dasmT56s5ORk7du3z9KZZs2apdLSUu/t0KFDls4DAABQm1ZWDxAUFKRevXpJkuLj47V9+3Y988wz+u///m9VVlaqpKTE56xcUVGRIiIiJEkRERHatm2bz+PVfKr11D2//qRrUVGRbDab2rRpU+tMwcHBCg4O9svxAQAANBbLz8j9WnV1tSoqKhQfH6/AwEBlZWV51w4cOKCCggI5HA5JksPh0O7du1VcXOzdk5mZKZvNptjYWO+eUx+jZk/NYwAAAJjK0jNys2bN0vXXX6/u3bvrp59+0ooVK7Rp0yatX79edrtdEyZMUGpqqjp06CCbzaapU6fK4XBo4MCBkqThw4crNjZW48aN04IFC+RyuTR79mylpKR4z6hNmjRJixcv1owZM3TnnXdq48aNevPNN5WRwSe7AACA2SwNueLiYo0fP16HDx+W3W5X3759tX79el133XWSpLS0NLVo0UJJSUmqqKiQ0+nU888/7/39li1bau3atZo8ebIcDofatm2r5ORkzZs3z7snOjpaGRkZmj59up555hlFRkbqpZdektPpbPLjBQAA8Kdmdx255ojryAG/LVxHDsD54jpyAAAAOC+EHAAAgKEaFHI7duzQ7t27vT+/8847GjNmjP7nf/5HlZWVfhsOAAAAdWtQyN1zzz368ssvJUnffvutxo4dq5CQEK1atUozZszw64AAAACoXYNC7ssvv1S/fv0kSatWrdKgQYO0YsUKpaen6x//+Ic/5wMAAEAdGhRyHo9H1dXVkqQNGzZo5MiRkqSoqCgdOXLEf9MBAACgTg0KuQEDBujxxx/Xa6+9puzsbCUm/vIR3Pz8/NO+oB4AAACNo0Ehl5aWph07dmjKlCl66KGHvN+V+ve//11XXXWVXwcEAABA7Rr0zQ5XXHGFz6dWazz55JNq1crSL4sAAAC4YDTojNxFF12kH3744bT7jx8/rksuueS8hwIAAMDZNSjkDh48qKqqqtPur6io0L/+9a/zHgoAAABnV6/XQd99913vv9evXy+73e79uaqqSllZWYqOjvbfdAAAAKhTvUJuzJgxkqSAgAAlJyf7rAUGBqpnz55auHCh34YDAABA3eoVcjXXjouOjtb27dvVqVOnRhkKAAAAZ9egj5jm5+f7ew4AAADUU4OvFZKVlaWsrCwVFxd7z9TVWLZs2XkPBgAAgDNrUMg9+uijmjdvngYMGKCuXbsqICDA33MBAADgLBoUckuXLlV6errGjRvn73kAAABwjhp0HbnKykq+igsAAMBiDQq5iRMnasWKFf6eBQAAAPXQoJdWjx8/rr/85S/asGGD+vbtq8DAQJ/1RYsW+WU4AAAA1K1BIbdr1y7169dPkrRnzx6fNT74AAAA0DQaFHIffvihv+cAAABAPTXoPXIAAACwXoPOyA0ePPiML6Fu3LixwQMBAADg3DQo5GreH1fjxIkTysvL0549e5ScnOyPuQAAAHAWDQq5tLS0Wu9/5JFHVFZWdl4DAQAA4Nz49T1yt99+O9+zCgAA0ET8GnI5OTlq3bq1Px8SAAAAdWjQS6s33XSTz88ej0eHDx/WZ599pocfftgvgwEAAODMGhRydrvd5+cWLVro0ksv1bx58zR8+HC/DAYAAIAza1DIvfLKK/6eAwAAAPXUoJCrkZubqy+++EKSdNlll6l///5+GQoAAABn16CQKy4u1tixY7Vp0yaFhYVJkkpKSjR48GC98cYb6ty5sz9nBAAAQC0a9KnVqVOn6qefftLevXt19OhRHT16VHv27JHb7da9997r7xkBAABQiwadkVu3bp02bNigmJgY732xsbFasmQJH3YAAABoIg06I1ddXa3AwMDT7g8MDFR1dfV5DwUAAICza1DIDRkyRPfdd58KCwu993333XeaPn26hg4d6rfhAAAAULcGhdzixYvldrvVs2dPXXzxxbr44osVHR0tt9ut5557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AwAAMBQhBwAAYChCDgAAwFCEHAAAgKEIOQAAAEMRcgAAAIYi5AAAAAxFyAEAABiKkAMAADAUIQcAAGAoQg4AAMBQhBwAAIChCDkAAABDEXIAAACGIuQAAAAMRcgBAAAYipADAAAwFCEHAABgKEIOAADAUIQcAACAoQg5AAAAQxFyAAAAhiLkAAAADEXIAQAAGIqQAwAAMBQhBwAAYChCDgAAwFCEHAAAgKEIOQAAAEMRcgAAAIayNOQ++ugj3XDDDerWrZsCAgK0evVqn3WPx6M5c+aoa9euatOmjYYNG6avvvrKZ8/Ro0d12223yWazKSwsTBMmTFBZWZnPnl27dunqq69W69atFRUVpQULFjT2oQEAADQ6S0OuvLxcV1xxhZYsWVLr+oIFC/Tss89q6dKl2rp1q9q2bSun06njx49799x2223au3evMjMztXbtWn300Ue6++67vetut1vDhw9Xjx49lJubqyeffFKPPPKI/vKXvzT68QEAADSmVlb+8euvv17XX399rWsej0dPP/20Zs+erdGjR0uSXn31VYWHh2v16tUaO3asvvjiC61bt07bt2/XgAEDJEnPPfecRo4cqaeeekrdunXT3/72N1VWVmrZsmUKCgrSZZddpry8PC1atMgn+AAAAEzTbN8jl5+fL5fLpWHDhnnvs9vtSkhIUE5OjiQpJydHYWFh3oiTpGHDhqlFixbaunWrd8+gQYMUFBTk3eN0OnXgwAH9+OOPtf7tiooKud1unxsAAEBz02xDzuVySZLCw8N97g8PD/euuVwudenSxWe9VatW6tChg8+e2h7j1L/xa/Pnz5fdbvfeoqKizv+AAAAA/KzZhpyVZs2apdLSUu/t0KFDVo8EAABwmmYbchEREZKkoqIin/uLioq8axERESouLvZZP3nypI4ePeqzp7bHOPVv/FpwcLBsNpvPDQAAoLlptiEXHR2tiIgIZWVlee9zu93aunWrHA6HJMnhcKikpES5ubnePRs3blR1dbUSEhK8ez766COdOHHCuyczM1OXXnqp2rdv30RHAwAA4H+WhlxZWZny8vKUl5cn6ZcPOOTl5amgoEABAQGaNm2aHn/8cb377rvavXu3xo8fr27dumnMmDGSpJiYGI0YMUJ33XWXtm3bpk8//VRTpkzR2LFj1a1bN0nSrbfeqqCgIE2YMEF79+7VypUr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e/bUP//5T+/PPXr00MGDB/XNN98oNTVVW7ZsUXl5uWJiYjR//nwNGzZMknTttdeedmHYmqfiTz75RLNmzdJnn32mTp066cYbb9T8+fPVtm3bRjxSAKbipVUAqENoaKhCQ0O1evVqVVRUnLa+fft2SdIrr7yiw4cPe38uKyvTyJEjlZWVpc8//1wjRozQDTfcoIKCAknSW2+9pcjISM2bN0+HDx/W4cOHJUnffPONRowYoaSkJO3atUsrV67UJ598oilTpjTREQMwDWfkAOAM/vGPf+iuu+7SsWPHFBcXp2uuuUZjx45V3759Jf3yHrm3335bY8aMOePj9OnTR5MmTfJGWc+ePTVt2jRNmzbNu2fixIlq2bKlXnzxRe99n3zyia655hqVl5erdevWfj8+AGbjjBwAnEFSUpIKCwv17rvvasSIEdq0aZPi4uKUnp5e5++UlZXp/vvvV0xMjMLCwhQaGqovvvjCe0auLjt37lR6err3TGBoaKicTqeqq6uVn5/v5yMD8FvAhx0A4Cxat26t6667Ttddd50efvhhTZw4UXPnztUdd9xR6/77779fmZmZeuqpp9SrVy+1adNGN998syorK8/4d8rKynTPPffo3nvvPW2te/fu/jgUAL8xhBwA1FNsbKz3kiOBgYGqqqryWf/00091xx136MYbb5T0S6AdPHjQZ09QUNBpvxcXF6d9+/apV69ejTY7gN8WXloFgDr88MMPGjJkiF5//XXt2rVL+fn5WrVqlRYsWKDRo0dL+uW9bllZWXK5XPrxxx8lSb/73e/01ltvKS8vTzt37tStt96q6upqn8fu2bOnPvroI3333Xc6cuSIJGnmzJnavHmzpkyZory8PH311Vd65513+LADgDoRcgBQh9DQUCUkJCgtLU2DBg1Snz599PDDD+uuu+7S4sWLJUkLFy5UZmamoqKi1L9/f0nSokWL1L59e1111VW64YYb5HQ6FRcX5/PY8+bN08GDB3XxxRerc+fOkqS+ffsqOztbX375pa6++mr1799fc+bMUbdu3Zr2wAEYg0+tAgAAGIozcgAAAIYi5AAAAAxFyAEAABiKkAMAADAUIQcAAGAoQg4AAMBQhBwAAIChCDkAAABDEXIAAACGIuQAAAAMRcgBAAAY6v8By378ktPN6FkAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Configure required post-selection for CNOT gate\n", "post_select = lw.PostSelection()\n", "post_select.add((0, 1), 1)\n", "post_select.add((2, 3), 1)\n", "\n", "sampler = lw.Sampler(\n", " encoded_circuit,\n", " lw.State([1, 0, 1, 0]),\n", " 10000,\n", " post_selection=post_select,\n", " random_seed=1,\n", ")\n", "\n", "backend = emulator.Backend(\"slos\")\n", "results = backend.run(sampler)\n", "\n", "results.plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As expected the $\\ket{1010}$ & $\\ket{0101}$ outputs, corresponding to $\\ket{00}$ & $\\ket{11}$ in qubit encoding, are seen in near balanced numbers. This demonstrates that the functionality of the original circuit has been preserved." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Inclusion of Errors\n", "Errors can now be included in the system to see how the result above changes.\n", "\n", "These are added through modification of the associated attribute for each kind of error. The value assigned to each attribute should be one of the included numerical distributions from the dists module which was imported earlier. This enables a range of different distributions to be modelled on the hardware, and it is also possible to assign custom distributions. For constant values there is also a dedicated object Constant.\n", "\n", "Below, the reflectivity of the beam splitters used to create the reconfigurable elements of the interferometer is assigned to be a Gaussian distribution, centered around 45% with standard deviation of 2%. A minimum and maximum value can also be set to prevent any errors arising from the setting of incorrect values. In this case it is unlikely to produce an incorrect value, but they are set anyway.\n", "\n", "The loss is then asssigned to be a constant value of 5% and phase_offset (errors in configuration of each phase element) is set to vary over a random uniform top-hat distribution between -0.1 and 0.1. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "error_model.bs_reflectivity = dists.Gaussian(\n", " 0.45, 0.02, min_value=0, max_value=1\n", ")\n", "error_model.loss = dists.Constant(0.05)\n", "error_model.phase_offset = dists.TopHat(-0.1, 0.1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A new circuit is created which includes the errors configured above." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "1\n", "2\n", "3\n", "4\n", "5\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 6.2827\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4464\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.0731\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4584\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0.0425\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4873\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.1306\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4367\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0.0755\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4365\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.0939\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4348\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.157\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4811\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.5483\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4239\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0.8511\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4111\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.3267\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4741\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0.0396\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4818\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.0452\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4749\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "PS\n", "φ = 6.2693\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4633\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.1514\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.448\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "PS\n", "φ = 1.0077\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4249\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 2.3584\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4836\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "PS\n", "φ = 4.6571\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4702\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.1408\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.464\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 6.2719\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4468\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.0738\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4352\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "PS\n", "φ = 4.2629\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4514\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.7373\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4495\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "PS\n", "φ = 3.4471\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4504\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 0.9845\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4547\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 5.8462\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4308\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.094\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4425\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "PS\n", "φ = 0.418\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4253\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 1.7679\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4476\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 4.5545\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4065\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 2.4349\n", "\n", "\n", "\n", "\n", "\n", "BS\n", "r = 0.4791\n", "\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "L\n", "loss = 0.05\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "PS\n", "φ = 3.1863\n", "\n", "\n", "\n", "PS\n", "φ = 5.0756\n", "\n", "\n", "\n", "PS\n", "φ = 1.8266\n", "\n", "\n", "\n", "PS\n", "φ = 3.4348\n", "\n", "\n", "\n", "PS\n", "φ = 0.9901\n", "\n", "\n", "\n", "PS\n", "φ = 0.9019\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "0\n", "\n", "0\n", "\n", "0\n", "\n", "0\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "encoded_circuit_errors = mapper.map(bell_circuit, seed=99)\n", "\n", "encoded_circuit_errors.display(display_loss=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The new circuit is then provided to the Sampler and a new set of samples generated." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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unTRwoULlZKSon/+85++rA8AAABlKFeQc7vdKi4uliStXr1avXv3liRFRETo+PHjvqsOAAAAZSpXkOvUqZNeeuklffjhh1q3bp3i4+MlSdnZ2QoLC/NpgQAAAChduYJccnKytm/frpEjR+q5555TixYtJEn/+Mc/dNttt/m0QAAAAJSuannedMstt3jdtVpi+vTpqlq1XJsEAADAFSrXjNwNN9ygX3/99aL1Z8+e1c0333zVRQEAAODyyhXkDh06pKKioovWFxQU6KeffrrqogAAAHB5V3QedOnSpZ4/r1q1Sna73fO6qKhI6enpioyM9F11AAAAKNMVBbl+/fpJkgICAjRo0CCvtqCgIDVv3lwzZszwWXEAAAAo2xUFuZJnx0VGRmrbtm2qX79+hRQFAACAyyvXLabZ2dm+rgMAAABXqNzPCklPT1d6erqOHTvmmakrMX/+/KsuDAAAAJdWriD3wgsvaMqUKerUqZMaNWqkgIAAX9cFAACAyyhXkJs3b55SUlL0yCOP+LoeAAAA/Enleo5cYWEhP8UFAABgsXIFuSFDhmjhwoW+rgUAAABXoFynVs+ePau3335bq1evVrt27RQUFOTVPnPmTJ8UBwAAgLKVK8jt3LlT7du3lyTt3r3bq40bHwAAAPyjXEHuq6++8nUdAAAAuELlukYOAAAA1ivXjFzXrl0veQp1zZo15S4IAAAAf065glzJ9XElzp07p6ysLO3evVuDBg3yRV0AAAC4jHIFueTk5FLXT548WadOnbqqggAAAPDn+PQauYcffpjfWQUAAPATnwa5jIwMVatWzZebBAAAQBnKdWr1/vvv93rtdrt19OhRffPNN3r++ed9UhgAAAAurVxBzm63e70ODAxUy5YtNWXKFPXs2dMnhQEAAODSyhXk3n//fV/XAQAAgCtUriBXIjMzU999950kqXXr1urQoYNPigIAAMDllSvIHTt2TP3799fatWsVGhoqScrLy1PXrl31ySefqEGDBr6sEQAAAKUo112ro0aN0m+//aY9e/boxIkTOnHihHbv3i2Xy6UnnnjC1zUCAACgFOWakVu5cqVWr16tqKgoz7ro6Gi98cYb3OwAAADgJ+WakSsuLlZQUNBF64OCglRcXHzVRQEAAODyyhXkunXrpieffFJHjhzxrPv55581ZswYde/e3WfFAQAAoGzlCnJz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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sampler.circuit = encoded_circuit_errors\n", "\n", "results = backend.run(sampler)\n", "results.plot(show=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It can be seen how the configuration above introduces some invalid states into the system, and also introduces a significant asymmetry between the two expected states from above. " ] } ], "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.11.6" } }, "nbformat": 4, "nbformat_minor": 2 }