{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Pricing Asian Barrier Spreads" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Introduction\n", "
\n", "An Asian barrier spread is a combination of 3 different option types, and as such, combines multiple possible features that the Qiskit Finance option pricing framework supports:\n", "\n", "- [Asian option](https://www.investopedia.com/terms/a/asianoption.asp): The payoff depends on the average price over the considered time horizon.\n", "- [Barrier Option](https://www.investopedia.com/terms/b/barrieroption.asp): The payoff is zero if a certain threshold is exceeded at any time within the considered time horizon.\n", "- [(Bull) Spread](https://www.investopedia.com/terms/b/bullspread.asp): The payoff follows a piecewise linear function (depending on the average price) starting at zero, increasing linear, staying constant.\n", "\n", "Suppose strike prices $K_1 < K_2$ and time periods $t=1,2$, with corresponding spot prices $(S_1, S_2)$ following a given multivariate distribution (e.g. generated by some stochastic process), and a barrier threshold $B>0$.\n", "The corresponding payoff function is defined as\n", "\n", "\n", "$$\n", "P(S_1, S_2) =\n", "\\begin{cases}\n", "\\min\\left\\{\\max\\left\\{\\frac{1}{2}(S_1 + S_2) - K_1, 0\\right\\}, K_2 - K_1\\right\\}, & \\text{ if } S_1, S_2 \\leq B \\\\\n", "0, & \\text{otherwise.}\n", "\\end{cases}\n", "$$\n", "\n", "\n", "In the following, a quantum algorithm based on amplitude estimation is used to estimate the expected payoff, i.e., the fair price before discounting, for the option\n", "\n", "\n", "$$\\mathbb{E}\\left[ P(S_1, S_2) \\right].$$\n", "\n", "\n", "The approximation of the objective function and a general introduction to option pricing and risk analysis on quantum computers are given in the following papers:\n", "\n", "- [Quantum Risk Analysis. Woerner, Egger. 2018.](https://arxiv.org/abs/1806.06893)\n", "- [Option Pricing using Quantum Computers. Stamatopoulos et al. 2019.](https://arxiv.org/abs/1905.02666)" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "from scipy.interpolate import griddata\n", "\n", "%matplotlib inline\n", "import numpy as np\n", "\n", "from qiskit import QuantumRegister, QuantumCircuit, AncillaRegister, transpile\n", "from qiskit.circuit.library import IntegerComparator, WeightedAdder, LinearAmplitudeFunction\n", "from qiskit_algorithms import IterativeAmplitudeEstimation, EstimationProblem\n", "from qiskit_aer.primitives import Sampler\n", "from qiskit_finance.circuit.library import LogNormalDistribution" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Uncertainty Model\n", "\n", "We construct a circuit to load a multivariate log-normal random distribution into a quantum state on $n$ qubits.\n", "For every dimension $j = 1,\\ldots,d$, the distribution is truncated to a given interval $[\\text{low}_j, \\text{high}_j]$ and discretized using $2^{n_j}$ grid points, where $n_j$ denotes the number of qubits used to represent dimension $j$, i.e., $n_1+\\ldots+n_d = n$.\n", "The unitary operator corresponding to the circuit implements the following: \n", "\n", "$$\\big|0\\rangle_{n} \\mapsto \\big|\\psi\\rangle_{n} = \\sum_{i_1,\\ldots,i_d} \\sqrt{p_{i_1\\ldots i_d}}\\big|i_1\\rangle_{n_1}\\ldots\\big|i_d\\rangle_{n_d},$$\n", "\n", "where $p_{i_1\\ldots i_d}$ denote the probabilities corresponding to the truncated and discretized distribution and where $i_j$ is mapped to the right interval using the affine map:\n", "\n", "$$ \\{0, \\ldots, 2^{n_j}-1\\} \\ni i_j \\mapsto \\frac{\\text{high}_j - \\text{low}_j}{2^{n_j} - 1} * i_j + \\text{low}_j \\in [\\text{low}_j, \\text{high}_j].$$\n", "\n", "For simplicity, we assume both stock prices are independent and identically distributed.\n", "This assumption just simplifies the parametrization below and can be easily relaxed to more complex and also correlated multivariate distributions.\n", "The only important assumption for the current implementation is that the discretization grid of the different dimensions has the same step size." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# number of qubits per dimension to represent the uncertainty\n", "num_uncertainty_qubits = 2\n", "\n", "# parameters for considered random distribution\n", "S = 2.0 # initial spot price\n", "vol = 0.4 # volatility of 40%\n", "r = 0.05 # annual interest rate of 4%\n", "T = 40 / 365 # 40 days to maturity\n", "\n", "# resulting parameters for log-normal distribution\n", "mu = (r - 0.5 * vol**2) * T + np.log(S)\n", "sigma = vol * np.sqrt(T)\n", "mean = np.exp(mu + sigma**2 / 2)\n", "variance = (np.exp(sigma**2) - 1) * np.exp(2 * mu + sigma**2)\n", "stddev = np.sqrt(variance)\n", "\n", "# lowest and highest value considered for the spot price; in between, an equidistant discretization is considered.\n", "low = np.maximum(0, mean - 3 * stddev)\n", "high = mean + 3 * stddev\n", "\n", "# map to higher dimensional distribution\n", "# for simplicity assuming dimensions are independent and identically distributed)\n", "dimension = 2\n", "num_qubits = [num_uncertainty_qubits] * dimension\n", "low = low * np.ones(dimension)\n", "high = high * np.ones(dimension)\n", "mu = mu * np.ones(dimension)\n", "cov = sigma**2 * np.eye(dimension)\n", "\n", "# construct circuit\n", "u = LogNormalDistribution(num_qubits=num_qubits, mu=mu, sigma=cov, bounds=(list(zip(low, high))))" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot PDF of uncertainty model\n", "x = [v[0] for v in u.values]\n", "y = [v[1] for v in u.values]\n", "z = u.probabilities\n", "# z = map(float, z)\n", "# z = list(map(float, z))\n", "resolution = np.array([2**n for n in num_qubits]) * 1j\n", "grid_x, grid_y = np.mgrid[min(x) : max(x) : resolution[0], min(y) : max(y) : resolution[1]]\n", "grid_z = griddata((x, y), z, (grid_x, grid_y))\n", "plt.figure(figsize=(10, 8))\n", "ax = plt.axes(projection=\"3d\")\n", "ax.plot_surface(grid_x, grid_y, grid_z, cmap=plt.cm.Spectral)\n", "ax.set_xlabel(\"Spot Price $S_1$ (\\$)\", size=15)\n", "ax.set_ylabel(\"Spot Price $S_2$ (\\$)\", size=15)\n", "ax.set_zlabel(\"Probability (\\%)\", size=15)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Payoff Function\n", "\n", "For simplicity, we consider the sum of the spot prices instead of their average.\n", "The result can be transformed to the average by just dividing it by 2.\n", "\n", "The payoff function equals zero as long as the sum of the spot prices $(S_1 + S_2)$ is less than the strike price $K_1$ and then increases linearly until the sum of the spot prices reaches $K_2$.\n", "Then payoff stays constant to $K_2 - K_1$ unless any of the two spot prices exceeds the barrier threshold $B$, then the payoff goes immediately down to zero.\n", "The implementation first uses a weighted sum operator to compute the sum of the spot prices into an ancilla register, and then uses a comparator, that flips an ancilla qubit from $\\big|0\\rangle$ to $\\big|1\\rangle$ if $(S_1 + S_2) \\geq K_1$ and another comparator/ancilla to capture the case that $(S_1 + S_2) \\geq K_2$.\n", "These ancillas are used to control the linear part of the payoff function.\n", "\n", "In addition, we add another ancilla variable for each time step and use additional comparators to check whether $S_1$, respectively $S_2$, exceed the barrier threshold $B$. The payoff function is only applied if $S_1, S_2 \\leq B$.\n", "\n", "The linear part itself is approximated as follows.\n", "We exploit the fact that $\\sin^2(y + \\pi/4) \\approx y + 1/2$ for small $|y|$.\n", "Thus, for a given approximation scaling factor $c_\\text{approx} \\in [0, 1]$ and $x \\in [0, 1]$ we consider\n", "\n", "$$ \\sin^2( \\pi/2 * c_\\text{approx} * ( x - 1/2 ) + \\pi/4) \\approx \\pi/2 * c_\\text{approx} * ( x - 1/2 ) + 1/2 $$ for small $c_\\text{approx}$.\n", "\n", "We can easily construct an operator that acts as \n", "\n", "$$\\big|x\\rangle \\big|0\\rangle \\mapsto \\big|x\\rangle \\left( \\cos(a*x+b) \\big|0\\rangle + \\sin(a*x+b) \\big|1\\rangle \\right),$$\n", "\n", "using controlled Y-rotations.\n", "\n", "Eventually, we are interested in the probability of measuring $\\big|1\\rangle$ in the last qubit, which corresponds to\n", "$\\sin^2(a*x+b)$.\n", "Together with the approximation above, this allows to approximate the values of interest.\n", "The smaller we choose $c_\\text{approx}$, the better the approximation.\n", "However, since we are then estimating a property scaled by $c_\\text{approx}$, the number of evaluation qubits $m$ needs to be adjusted accordingly.\n", "\n", "For more details on the approximation, we refer to:\n", "[Quantum Risk Analysis. Woerner, Egger. 2018.](https://arxiv.org/abs/1806.06893)\n", "\n", "Since the weighted sum operator (in its current implementation) can only sum up integers, we need to map from the original ranges to the representable range to estimate the result, and reverse this mapping before interpreting the result. The mapping essentially corresponds to the affine mapping described in the context of the uncertainty model above." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# determine number of qubits required to represent total loss\n", "weights = []\n", "for n in num_qubits:\n", " for i in range(n):\n", " weights += [2**i]\n", "\n", "# create aggregation circuit\n", "agg = WeightedAdder(sum(num_qubits), weights)\n", "n_s = agg.num_sum_qubits\n", "n_aux = agg.num_qubits - n_s - agg.num_state_qubits # number of additional qubits" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# set the strike price (should be within the low and the high value of the uncertainty)\n", "strike_price_1 = 3\n", "strike_price_2 = 4\n", "\n", "# set the barrier threshold\n", "barrier = 2.5\n", "\n", "# map strike prices and barrier threshold from [low, high] to {0, ..., 2^n-1}\n", "max_value = 2**n_s - 1\n", "low_ = low[0]\n", "high_ = high[0]\n", "\n", "mapped_strike_price_1 = (\n", " (strike_price_1 - dimension * low_) / (high_ - low_) * (2**num_uncertainty_qubits - 1)\n", ")\n", "mapped_strike_price_2 = (\n", " (strike_price_2 - dimension * low_) / (high_ - low_) * (2**num_uncertainty_qubits - 1)\n", ")\n", "mapped_barrier = (barrier - low) / (high - low) * (2**num_uncertainty_qubits - 1)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# condition and condition result\n", "conditions = []\n", "barrier_thresholds = [2] * dimension\n", "n_aux_conditions = 0\n", "for i in range(dimension):\n", " # target dimension of random distribution and corresponding condition (which is required to be True)\n", " comparator = IntegerComparator(num_qubits[i], mapped_barrier[i] + 1, geq=False)\n", " n_aux_conditions = max(n_aux_conditions, comparator.num_ancillas)\n", " conditions += [comparator]" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "# set the approximation scaling for the payoff function\n", "c_approx = 0.25\n", "\n", "# setup piecewise linear objective fcuntion\n", "breakpoints = [0, mapped_strike_price_1, mapped_strike_price_2]\n", "slopes = [0, 1, 0]\n", "offsets = [0, 0, mapped_strike_price_2 - mapped_strike_price_1]\n", "f_min = 0\n", "f_max = mapped_strike_price_2 - mapped_strike_price_1\n", "objective = LinearAmplitudeFunction(\n", " n_s,\n", " slopes,\n", " offsets,\n", " domain=(0, max_value),\n", " image=(f_min, f_max),\n", " rescaling_factor=c_approx,\n", " breakpoints=breakpoints,\n", ")" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " ┌───────┐┌──────┐ ┌───────────┐ ┌──────────────┐»\n", " state_0: ┤0 ├┤0 ├─────────────┤1 ├──────┤1 ├»\n", " │ ││ │ │ │ │ │»\n", " state_1: ┤1 ├┤1 ├─────────────┤2 ├──────┤2 ├»\n", " │ P(X) ││ │┌──────┐ │ │ │ │»\n", " state_2: ┤2 ├┤ ├┤0 ├─────┤3 ├──────┤3 ├»\n", " │ ││ ││ │ │ │ │ │»\n", " state_3: ┤3 ├┤ ├┤1 ├─────┤4 ├──────┤4 ├»\n", " └───────┘│ ││ │ │ │┌────┐│ │»\n", " obj: ─────────┤ ├┤ ├─────┤ ├┤3 ├┤ ├»\n", " │ ││ │ │ ││ ││ │»\n", "conditions_0: ─────────┤2 ├┤ ├──■──┤ ├┤ ├┤ ├»\n", " │ cmp ││ │ │ │ ││ ││ │»\n", "conditions_1: ─────────┤ ├┤2 ├──■──┤ ├┤ ├┤ ├»\n", " │ ││ cmp │┌─┴─┐│ c_adder ││ ││ c_adder_dg │»\n", "conditions_2: ─────────┤ ├┤ ├┤ X ├┤0 ├┤ ├┤0 ├»\n", " │ ││ │└───┘│ ││ ││ │»\n", " sum_0: ─────────┤ ├┤ ├─────┤5 ├┤0 ├┤5 ├»\n", " │ ││ │ │ ││ F ││ │»\n", " sum_1: ─────────┤ ├┤ ├─────┤6 ├┤1 ├┤6 ├»\n", " │ ││ │ │ ││ ││ │»\n", " sum_2: ─────────┤ ├┤ ├─────┤7 ├┤2 ├┤7 ├»\n", " │ ││ │ │ ││ ││ │»\n", " work_0: ─────────┤3 ├┤3 ├─────┤8 ├┤4 ├┤8 ├»\n", " └──────┘└──────┘ │ ││ ││ │»\n", " work_1: ──────────────────────────────┤9 ├┤5 ├┤9 ├»\n", " │ ││ ││ │»\n", " work_2: ──────────────────────────────┤10 ├┤6 ├┤10 ├»\n", " └───────────┘└────┘└──────────────┘»\n", "« ┌─────────┐\n", "« state_0: ────────────────┤0 ├\n", "« │ │\n", "« state_1: ────────────────┤1 ├\n", "« ┌─────────┐│ │\n", "« state_2: ─────┤0 ├┤ ├\n", "« │ ││ │\n", "« state_3: ─────┤1 ├┤ ├\n", "« │ ││ │\n", "« obj: ─────┤ ├┤ ├\n", "« │ ││ │\n", "«conditions_0: ──■──┤ ├┤2 ├\n", "« │ │ ││ cmp_dg │\n", "«conditions_1: ──■──┤2 ├┤ ├\n", "« ┌─┴─┐│ cmp_dg ││ │\n", "«conditions_2: ┤ X ├┤ ├┤ ├\n", "« └───┘│ ││ │\n", "« sum_0: ─────┤ ├┤ ├\n", "« │ ││ │\n", "« sum_1: ─────┤ ├┤ ├\n", "« │ ││ │\n", "« sum_2: ─────┤ ├┤ ├\n", "« │ ││ │\n", "« work_0: ─────┤3 ├┤3 ├\n", "« └─────────┘└─────────┘\n", "« work_1: ───────────────────────────\n", "« \n", "« work_2: ───────────────────────────\n", "« \n", "objective qubit index 4\n" ] } ], "source": [ "# define overall multivariate problem\n", "qr_state = QuantumRegister(u.num_qubits, \"state\") # to load the probability distribution\n", "qr_obj = QuantumRegister(1, \"obj\") # to encode the function values\n", "ar_sum = AncillaRegister(n_s, \"sum\") # number of qubits used to encode the sum\n", "ar_cond = AncillaRegister(len(conditions) + 1, \"conditions\")\n", "ar = AncillaRegister(\n", " max(n_aux, n_aux_conditions, objective.num_ancillas), \"work\"\n", ") # additional qubits\n", "\n", "objective_index = u.num_qubits\n", "\n", "# define the circuit\n", "asian_barrier_spread = QuantumCircuit(qr_state, qr_obj, ar_cond, ar_sum, ar)\n", "\n", "# load the probability distribution\n", "asian_barrier_spread.append(u, qr_state)\n", "\n", "# apply the conditions\n", "for i, cond in enumerate(conditions):\n", " state_qubits = qr_state[(num_uncertainty_qubits * i) : (num_uncertainty_qubits * (i + 1))]\n", " asian_barrier_spread.append(cond, state_qubits + [ar_cond[i]] + ar[: cond.num_ancillas])\n", "\n", "# aggregate the conditions on a single qubit\n", "asian_barrier_spread.mcx(ar_cond[:-1], ar_cond[-1])\n", "\n", "# apply the aggregation function controlled on the condition\n", "asian_barrier_spread.append(agg.control(), [ar_cond[-1]] + qr_state[:] + ar_sum[:] + ar[:n_aux])\n", "\n", "# apply the payoff function\n", "asian_barrier_spread.append(objective, ar_sum[:] + qr_obj[:] + ar[: objective.num_ancillas])\n", "\n", "# uncompute the aggregation\n", "asian_barrier_spread.append(\n", " agg.inverse().control(), [ar_cond[-1]] + qr_state[:] + ar_sum[:] + ar[:n_aux]\n", ")\n", "\n", "# uncompute the conditions\n", "asian_barrier_spread.mcx(ar_cond[:-1], ar_cond[-1])\n", "\n", "for j, cond in enumerate(reversed(conditions)):\n", " i = len(conditions) - j - 1\n", " state_qubits = qr_state[(num_uncertainty_qubits * i) : (num_uncertainty_qubits * (i + 1))]\n", " asian_barrier_spread.append(\n", " cond.inverse(), state_qubits + [ar_cond[i]] + ar[: cond.num_ancillas]\n", " )\n", "\n", "print(asian_barrier_spread.draw())\n", "print(\"objective qubit index\", objective_index)" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot exact payoff function\n", "plt.figure(figsize=(7, 5))\n", "x = np.linspace(sum(low), sum(high))\n", "y = (x <= 5) * np.minimum(np.maximum(0, x - strike_price_1), strike_price_2 - strike_price_1)\n", "plt.plot(x, y, \"r-\")\n", "plt.grid()\n", "plt.title(\"Payoff Function (for $S_1 = S_2$)\", size=15)\n", "plt.xlabel(\"Sum of Spot Prices ($S_1 + S_2)$\", size=15)\n", "plt.ylabel(\"Payoff\", size=15)\n", "plt.xticks(size=15, rotation=90)\n", "plt.yticks(size=15)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "tags": [ "nbsphinx-thumbnail" ] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbsAAAFdCAYAAACadMOBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAAsTAAALEwEAmpwYAAA7DUlEQVR4nO3deZwcVb338c83CYEAAQIxspOIIcji45LLehUQCQGRHQRRQVGu9wp64aLihghyVRR38CFXEJcHkeWiYQ8EgguiDCJLwGCABBJQBEIgEAhJfs8fp1qaTs9Md09XVy/f9+tVr56uqlN1ZpLp79Spc+ooIjAzM+tmw4qugJmZWd4cdmZm1vUcdmZm1vUcdmZm1vUcdmZm1vUcdmZm1vUcdlY4SadJirLlMUmXS9qyoPqsJeliSU9l9TkmW/8RSQ9LWi5pVj9ld6/4XkrL8lZ+D1ldtsp+tutVrD8mq9Para6TWVFGFF0Bs8xiYGr29euAM4CZkraNiOdbXJd/B94NfABYCDwoaUPgB8D3gUuBRYMc4yjgobL3RQxo3Qr4InAh8EzZ+quBnYEXWl8ls2I47KxdLI+I27Kvb5P0CPAbYF9SuLTS1sCciLi8tELSvwLDgQsi4u4ajnF3RNybVwWHIiL+Afyj6HqYtZKbMa1d3ZG9js+aFb8vaY6kF7KmxHMkrVPaWdIl1ZoWs2a8v0taLXs/VtKPsybKFyTNkjS5bP95wLHAm8uaIE8jBS/AXeVNm/XKzndZxbpS0+d22fvx2fvDJZ0nabGkBZK+JGlYRdk3SrpS0jOSlkj6o6S9JO0OXJnt9nB2vHlZmVWaMQf7uZR+NpK+IenErD6Lsube9Rr5WZi1ksPO2tX47PVvwJqkq6rPAfsAXwDewauv+M4H3i5pQmmFJAFHAz+LiJez1b8E9gZOBt5D+h24WdLrs+0HAdcAfyE19e0M/BD4WLb9qGzd1YPUf7ikEWVLI79rZwFLgEOBnwGnZl+Xvr+tgd8BGwEfzep+BbAZ8KfsewQ4OKvzQQOc65cM/HMpORzYEzgO+DSwH/DfDXxvZq0VEV68FLoApwFPkprVR5DuNd0MPAtsVGX/EcCupPtgm2frhgGPAF8q2+8d2T7bZe+nZu93K9tnLVKT3nll6y4E+irOuXv5sQb4Xkr7VS5fzrbPAi4b6NikoA/gJxX7/Rm4uOz9z4EFwKh+6rJfdpzxFeuPydavXefPZR7wIDCibN23gb8V/X/Ii5fBFt+zs3axAfBy2ftHgPdExOMAkt4PnARMJH0Ql2wFPBIRKyX9CPiApNMiIkgf6n3xyr2zHYAnIuKWUuGIeF7SVcC/Nvn7OYIUDCWPNXCMGRXv7wM2L3v/DtJV69IGjl2unp/LzRFR3rP0PmCcpNXilatns7bjsLN2sRh4J+kK42/AY1lgIekg4Cek3pCfBZ4mNd1dAaxRdowfkZo495B0O3AIrzTlkZV5osq5/w6s38xvBpgdQ++g8kzF+2W8+vvdAHh8iOeA+n4u1eokYHVe/ceKWVtx2Fm7WB4Rff1sOwz4Q0T8R2mFpN0qd4qIeZJuJF3RTSA1bf68bJfHgXFVjv9aUoC2wovAyIp1Yxo81lOkoBqqdvi5mOXKHVSsE4wCXqpYd1Q/+55PuqL7D+CXEfFM2bY/kJrc3l5aIWlN4F3Ab5tW24EtIA1tKDelwWPNBA6XtEY/25dlr/1tL2mHn4tZrhx21gluIPW0/Jykd0r6JqlHYDW/JF09vYXUrPlPEXE9cCvwC0lHS9qP1PNyFPD1vCpf4QpgoqRvZd/LmbwymL5eXwLWBX4t6T3Z8T4p6UPZ9jnZ679J2lHS9tUO0iY/F7NcOeysE5wHnA18AvhfYAvgvdV2jIiXgGuBR4Ebq+xyICk8v00auiDgHRExt9mV7qd+V5PuOx5KCr4tSN9XI8eaQ+pA8iRpeMQV2XHnZ9vnk+5ZHkwaonBl9SMBBf9czPKmrA+AWVeQNIL0YX9BRHyh6PqYWXtwBxXrCpJGAv+HdMW3Aelq0MwMKLgZU9JhkqZLWpg96ugOSUfWUG6i0lPx/y7pWUm3Smr0vod1h42BP5LC7t8iYkHB9TGzAUi6QNITkqoO0VHyXUlzJd0t6S1l21ZI+nO2TK/pfEU2Y0r6PfAwqVPBk6SH/v4X8PGI+F4/ZUYD95CeOn8G6XFKxwEHALtGxB/zr7mZmQ1F1vt3CelJQdtV2b4vcAIpF3YEvhMRO2bblkREXVNUFd2M+e6IeLLs/U2SNiY9KaNq2JEeE7VFVvYeAEk3kaZiOYT0172ZmbWxiPi1pPED7HIAKQiDNBPKepI2Kj1VqV6FNmNWBF3JnaQmqf6slr0uLjvOcuB5Ug8yMzPrfJuQelWXLMjWAawhqU/SbZIOrOVgRV/ZVbMz8MAA22eSHkj7DUn/RQq5j5KeAHFhLScYOWxUjBqxzuA7mpl1oGdffuLJiHhNM4616+5rxDNPr6y73H33vDybNOa1ZFpETGtGnYAtImKhpNeRWgTviYgHByrQVmEnaU/SeJ8P9bdPRLyQzdV1DelhwZCejn9ARNxXy3lGjViHXca9Z0h1NTNrV9ct/N78Zh3rmadXctFVr6273Ju2WPBiREwefM9+LSRNV1WyabaOiCi9PqQ0j+WbefWD11fRNoPKs7bbi4BfRcSFA+y3FmnQ6yJSm+5epIHGl0t68wDljssue/uWrRzqQ+LNzCxn00mzmEjSTsDiiHhc0hhJq0OadJjUj2PQC522uLKTtD7pqRfz6f+ZhyXHAtsAm5Y99/DGbCLLLwH7VyuUXT5PA1h35Gs9kt7MrECSfk6ay3GspAXAF8n6ZETE/yW13u0LzAVeAD6YFX0DcJ6klaQLtq/W0qpXeNhlD5y9ivQk+P0i4oVBimwNzK94wC+kji2rPAnfzMzaT0QMOKY664X5sSrrbwWqPud1IEUPKh9BapKcCEyNiGpzalWaD4yXVDktyltJHVfMzMxepegru3NJl6mfADaQtEHZtjsj4iVJMwEiovSU+4tID9K9RtJZpMvb95FmW35Xy2puZmYdo+iwK83j9Z0q2yaQrtSGl6+MiEcl7QGcSXr+4RrAX4BDI+Ka/KpqZmadqtCwi4jxNeyze5V1fwL2yaFKZmbWhdpm6IGZmVleHHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1HHZmZtb1Cg07SYdJmi5poaQlku6QdGSNZd8u6RZJz0t6Jvt687zrbGZmnafoK7uTgCXAicD+wM3ARZJOGKiQpKnAjcBdWbn3Ab8H1si1tmZm1pFGFHz+d0fEk2Xvb5K0MSkEv1etgKTVgP8Bvh4RnyvbdFV+1TQzs05W6JVdRdCV3AlsPECxvYBNgXNyqZSZmXWdopsxq9kZeGCA7TsCTwE7SfqrpOWS7pX07tZUz8zMOk1bhZ2kPYEDgbMH2G1DYC1gGvANYCpwH3CFpO3zrqOZmQ2dpKmS5kiaK+mUKtu3kDRT0t2SZknatGzb0dnFzl8lHV3L+dom7CSNBy4CfhURFw60K6kjyucj4ryIuBE4EngY+NQAxz9OUp+kvmUrlzav4mZmVhdJw0m3ovYBtgGOlLRNxW7fAH4SEW8ETge+kpVdH/giqZVvB+CLksYMds62CLus8tcC84GjBtl9UfZ6c2lFRKwAbiH90KqKiGkRMTkiJo8cNmqINTYzsyHYAZgbEQ9FxDLgYuCAin22AW7Kvr65bPvewA0R8XRELAJuILXwDajwsJO0Jqkn5Uhgv4h4YZAi95eKVh4KWNnk6pmZWfNtAjxa9n5Btq7cXcDB2dcHAaMlbVBj2VUUOvRA0gjgUmAisEtEPFFDseuB5cA7gL9kxxkO7AbMyqemZma96akVa/PTRbs0UPKSsZL6ylZMi4hpdRzgZOD7ko4Bfg0sBFY0UBGg+HF25wL7Ap8ANshSu+TOiHhJ0kyAiNgze31c0jnAVyUJmAscRxqO8JWW1t7MzPrzZERM7mfbQmCzsvebZuv+KSIeI7uyk7Q2cEhEPCNpIbB7RdlZg1Wm6LCbkr1+p8q2CcA8YHiVbZ8Engc+D6xPGpu3d0Q8mEMdzcysuW4HJkqaQAq5I4D3lu8gaSzwdESsBD4DXJBtuh7477JOKVOy7QMqNOwiYnwN++xeZd3LwOeyxczMOkhELJd0PCm4hgMXRMRsSacDfRExnXT19hVJQWrG/FhW9mlJZ5ACE+D0iHh6sHMWfWVnZmY9KCKuAa6pWHdq2deXAZf1U/YCXrnSq0nhvTHNzMzy5rAzM7Ou57AzM7Ou57AzM7Ou57AzM7Ou57AzM7Ou57AzM7Ou57AzM7Ou57AzM7Ou5yeotLml2w06c4VZVxt178LBdzIbRE+HnYPErP0t3W4TB54NWU82Y64ctZqDzqyD+PfVhqqnr+w6xaJJI4uugllhxsxZBvgKz4bGYdcEDiOz/CyaNNKBZ0PW82HXy0H13JYri66C2YBGP5jutDjwbKh6MuxWrKGOCjmHkvWq0v/90Q8Oc+DZkPRk2LWaw8psaJ7bcuU/Aw/SfbxSpxWHntXCYVenTguutScsLroKZkOy5OF1gVcCD9ysafXr+bDrhPByYFkvW3vCYgeeDVlPht2K1YsNuU4Irymbzym6CmbMeGQS4MCzoSs07CQdBrwfeCuwLjAH+EZE/LyOY1wBHAicEBHfz6OetWinAHNQWbeYsvkcB541RdFXdicBDwMnAk8C+wIXSRobEd8brLCkKcDO+VaxPYLMAWa9qvR/f8Yjk/75u7jk4XUdeFaXosPu3RHxZNn7myRtTArBAcNO0mrAd4DPAT9stAJFBlk7BNj7x9xadBXMBvTTRbsA1a/yKocmwCs9NR14Vq7QsKsIupI7gUNqKP4JYCnwI+oMu+Grr8g95IoIMgeXdaP3j7l1wMCD6s2aHppg5Yq+sqtmZ+CBgXaQtCHwBdKV4UpJLamYmZl1praa9UDSnqTOJmcPsutZwPUR8evcK9Wg0l+frVT669fMzF6tbcJO0njgIuBXEXHhAPvtDBwKfLLO4x8nqU9S3/LFLwylqjUrKvAcemZmr9YWYSdpfeBaYD5w1CC7fxs4D1gsaT1J62XrR0lat79CETEtIiZHxOQR667ZhFrXpojAA1/lmZmVKzzsJK0JXAWMBPaLiMEuuyYB/wksKlsgNW0+lVM1h2TGI5PcrGlmVqBCw07SCOBSYCIwNSKeqKHYfsAeFQvAd4E9aznvipeG/7MXVys58MzMilH0ld25pIHkZwAbSNqpbFkdQNJMSTNLBSLitxExq3zJNv01Im6p5+QOPDOzYkiaKmmOpLmSTqmy/VuS/pwtD0h6pmzbirJt02s5X9FDD6Zkr9+psm0CMA8YnmcFljy8bssHls94ZFLLx+H9dNEuHodnZm1B0nDgHGAvYAFwu6TpEXFfaZ+IOLFs/xOAN5cdYmlEvKmecxZ6ZRcR4yNC/Szzsn12j4jdBzmOhvJcTF/hmZm11A7A3Ih4KCKWARcDBwyw/5FAzc9MrqboZsy20UuB59Azs4JtAjxa9n5Btm4VkrYgtfTdVLZ6jWwo2W2SDqzlhEU3Y7aVopo0ofWPF3OzppnV4tllazT6h/lYSX1l76dFxLQGjnMEcFlErChbt0VELJT0OtIzle+JiAcHOoiv7CoUcYUHbtY0s67zZGlsc7aUB91CYLOy95tm66o5goomzIhYmL0+BMzi1ffzqnLYVbHk4XV7qlnTzKzFbgcmSpogaSQp0FbpVSlpa2AM8PuydWPKeuuPBXYF7qssW8lhNwAHnplZ80XEcuB44HrgfuCSiJgt6XRJ+5ftegRwcURE2bo3AH2S7gJuBr5a3ouzP75nNwgPTTAza76IuAa4pmLdqRXvT6tS7lZg+3rP5yu7GvgKz8yssznsatRLgefQM7Nu47CrQ1GB56s8M7OhcdjVyUMTzMw6j8OuAR6aYGbWWRx2Q+DAMzPrDEMKO0kHSfq4pEkV648fWrU6hwPPzKz9NRx2kr4KfAJ4PXCDpP8s2/yhIdaro/RS4Dn0zKwTDeXK7l3AOyPi46Tnku0v6evZNg25Zh2mVwIPfJVnZp1nKGE3LHvkCxHxFDAVGC/p/CEet2N5aIKZWXsaSig9LuktpTfZBHzvAQLYbqgV61TuqWlm1n6GEnbHAI+Vr4iIlRHxYeBtQ6lUN3DgmZm1j4bDLiIWRMTf+tnmJwrjwDMzaxeDhp2k70j6Y5X1IyS9TdJektbJp3qdz4FnZla8Wq7s9iTNGfRPktYC+kgzxF4HLJR0TLMr1y16KfAcembWjmoJu82AymbJjwNvBC4E3gtcCfxQUl336iQdJmm6pIWSlki6Q9KRg5SZJOkcSfdLekHSQ9nV53q1nnf4S/XUsjncU9PMrDi1hN1qwJKKde8FFkTEsRHxi4goBd6n6jz/SdmxTwT2J11BXiTphAHK7EWahv0HwL7Al4HDgBmSar4HOfrB1o+O8EOkzcyKUcsn/l+AHUtvJG0ObAtMr9jvZ8DOdZ7/3RHx3oi4JCJuioiTgZ+TQrA/PwfeHBHfjYhZEXEBqWfov1BnL9CiAq+XmjXNzNpBLZ/2FwAnS5oiaTXgv0hj6X5Zsd8TwNr1nDwinqyy+k5g4wHKPBURUaUMA5Xrz+gHh/XMVZ4Dz8x6VS2f8ucAM0kdUV4ETgDuydaVG08KvKHaGXiggTI0UO6fHHj5ceCZWdEG/YSP5DDSszDPAk4F9q5ydXU4cO9QKiNpT+BA4Ow6yqwJfA24JSLuGMr5HXj5ceCZWZFq/nSPiGsj4jMR8eWI+Hv5NknjgNHAJY1WRNJ44CLgVxFxYY1lBJwPjGOQmRYkHSepT1Lf8qXP97ufAy8/HppgZkVpyid7RDwREbvXGlKVJK0PXAvMB46qo+jXgIOAAyPioUHqOC0iJkfE5BGj1hrwoL0UeL7KM7NeUPjsBFkz5FXASGC/iHihxnInAicDH4iI3zS7Xr0SeOBmTTPrfoWGnaQRwKXARGBqRNTUwUXSUaT7eidFRMNNp4Px0IR8OfDMrFWKvrI7lzQw/AxgA0k7lS2rA0iaKemfPT8l7Qb8CJgB3FZRZtNmV9BDE/LlwDOzVig67KZkr98Bfl+xbJRtG54tJXuQnuqyd5UyH86rog68/DjwzCxvDX2CS9pG0vslfVbShtm610saXc9xImJ8RKifZV62z+4RsXtZmdMGKHNaI99PrRx4+XFPTTPLU12f3pLWlnQJaVD5D0nNj6Wnlvw38MXmVq/9OPDy5cAzszzU+8n9TWAX4J2kcXUq23YNMLVJ9WprvRR4btY0s25Q76f2wcCnI+JmYEXFtvnAFk2pVQdwT818OfDMupukqZLmSJor6ZR+9jlc0n2SZku6qGz90ZL+mi1H13K+ej+xRwFP9bNtNKsGYFcrIvCgd5o1HXhm3UnScNJzl/cBtgGOlLRNxT4Tgc8Au0bEtsB/ZuvXJ90y2xHYAfiipDGDnbPeT+vbgQ/0s+1QVp3ktet5aEK+HHhmXWkHYG5EPBQRy4CLgQMq9vkIcE5ELIL0pK5s/d7ADRHxdLbtBmq4hTaizgp+AbhB0o2kweAB7Js9zeRQ4O11Hq9rjH5wGM9tubKl51zy8LqsPWFxS88545FJTNl8TkvP+dNFu/D+MT33d5RZW1jx0vBG/7geK6mv7P20iJiWfb0J8GjZtgWUzZua2QpA0u9Iw89Oi4jr+im7yWCVqeuSJHss157A6sD3SR1UvgS8DnhnRNxez/G6ja/w8uOhCWYd58nS84izZdrgRV5lBOnpWrsDRwL/I2m9RitT96dzRPwuIt4GrANsCoyOiF0j4neNVqKbOPDy5cAz6woLgc3K3m+arSu3AJgeES9HxMOk+Uon1lh2FfWOs/s/kvYFiIilEfFY6cHNkvaV9MZ6jteteinwfB/PzBpwOzBR0gRJI4EjgOkV+/ySdFWHpLGkZs2HgOuBKZLGZB1TpmTrBlTvp/K3WLVdteRfsu2GhybkzYFn1rkiYjlwPCmk7gcuiYjZkk6XtH+22/XAU5LuA24GPhkRT0XE06QHmtyeLadn6wZU7yfyW4D+mit/D7y5zuN1NffUzJcDz6xzRcQ1EbFVRGwZEWdm606NiOnZ1xERJ0XENhGxfURcXFb2goh4fbb8qJbz1ftJPBzob+bTtUhz0lkFB15+HHhmVotGxtkd18+244C+fra1leEvRsvP6cDLjwPPzAZT7yfwacCekv4g6T8kHSzpY5L+QJp65wtNr2FOxsxZ1vJzOvDy46EJZjaQesfZ/ZrU82Ul8D3gMtJcdMuBvbJxeB3DgZcf99Q0s3bSyDi7WRGxM+lZmJsB62Tj7Doq6EocePly4JlZO2j4UzciXoiIhaVxdp2slwKvl5o1zcxKBv3ElfTH0tOoJd2eve93yb/K+Sgq8HrlKs+BZ2ZFquWTdjawtOzrwZaONWbOsp66yms1B56ZFWXQWQ8i4oNlXx+Ta23axJg5y1g0qbVDBj1rQn48a4KZ1XxJIWk1SbtK2jjPCrULX+Hlx0MTzKzV6vl0XQHcBGzdrJNLOkzSdEkLJS2RdIekI2sot7qksyU9Iel5SVdLGt+sepU48PLjoQlm1ko1f7JGxErgr8CGTTz/ScAS4ERgf9LDPi+SdMIg5b4LHAOcTJo0dixpUtk1mlg3oLcCr5eu8syst9T7qfo54FRJ2zfp/O+OiPdGxCURcVNEnAz8nBSCVUnaFDgWODEifhIR1wIHA1sA72tSvV6lVwIPeqtZ08x6R72fqJ8HNgD+LOmRakMR6jlYRDxZZfWdwED3Badkr/9bdpyFwG+Bfeo5fz08NCFfDjwzy1O9n6SzgauAnwAzgXtp/tCDnUkz0vZna2BBRCypWH8/TbyfWI2HJuTLgWdmeRl06EG5vIceSNoTOBD40AC7jQGeqbJ+UbYtdx6akJ+ihiYAHp5g1sVqumSQNErSIZL+S9J7Jb222RXJelNeBPwqIi7M4fjHSeqT1PfysueHfDxf4eWniCs88FWeWTer5XFhryM1T14KfB34GTBH0pQBC9ZB0vrAtcB84KhBdl8EVPsEHpNtqyoipkXE5IiYvNrI/uafrY8DLz8emmBmzVTLJ+dZpCl93gasCWxL6kRyXjMqIGlN0n3AkcB+NTxY+i/AZpIqE2vrbFtL9VLg9cpVngPPrPvU8qm5M/D5iPhdRLwYEfcD/wZsLmmjoZxc0gjSFeNEYGpEPFFDsRnZ60Flx9mYFMbXDqU+jXJPzXw58MxsqGr5tNwIeKhi3YOAGPoA83OBfYEzgA0k7VS2rA4gaaakmaUCEbEAOB/4tqT3S5pKGoYwn9TEWogiAg96q1mz1Rx4Zt2j1k/KyOn8pft+3wF+X7GUrhqHZ0u5j5OGP3wTuBx4GpgSES/mVM+aeGhCvhx4ZtaoWoceXC9peZX1MyvXR8S4Wk8eEeNr2Gf3KuteIj1lpd8nrRTJQxPy46EJZtaIWsLuS7nXogs58PJTusLzVEFmVqta5rNz2DXIgZcvz41nZrUq5mnDPaSX7uH5Pp6ZtSuHXQt4aEK+HHhmNpieDLthS19u+TndUzNfDjwzG0hPhh3AqHsXFnJeB15+HHhm1p+6PgUlnZo9raTato0kndqcarXGqHsXFhJ6Drz8FBV4Dj2z9lbvJ+AXgU372bZxtr3jOPDy44dIm1k1kqZKmiNprqRTBtjvEEkhaXL2frykpZL+nC3/t5bz1fvpJ/p/msqmDDDrQLtz4OXHPTXNrJyk4cA5wD7ANsCRkrapst9o4BPAHyo2PRgRb8qWj9Zyzlqm+Dla0k2SbiIF3Q9K78uWW0nPpbyllpO2Kwdevhx4ZpbZAZgbEQ9FxDLgYuCAKvudAXwNGPKjIGt5gsoLwFPZ1wIWk55FWW4ZacaBc4daoaKNunchS7fbpKXnLGrwOdATA9A9+NysccNfavgP5LGS+sreT4uIadnXmwCPlm1bAOxYXljSW4DNIuJqSZ+sOPYESXcCz5Jm5fnNYJWp5Qkql5Km4UHSj4AzIqJyFoSuUlTgAX7iSk4ceGYt92RETG6koKRhpAf9H1Nl8+PA5hHxlKS3Ar+UtG1EPDvQMeuK64j4YEQ8JGnj7KbhRyQd3F8PzU7mnpr56qUmTTdrmq1iIbBZ2ftNs3Ulo4HtgFmS5gE7AdMlTY6IlyLiKYCIuIM05dxWg52w3qEHwySdS5o77lLSbOWXAfMlnZOlcVdx4OWnVwIPfB/PrMLtwERJEySNBI4Appc2RsTiiBgbEeOz2XFuA/aPiD5Jr8k6uCDpdaTJvwdtbaz3E+504EPAZ4HxwKjs9bPZ+tPqPF5HcODlx0MTzHpPRCwHjgeuB+4HLomI2ZJOl7T/IMXfDtwt6c+ki62PRkRlP5JV1Pvp9gHSzcCvR8Qj2eXkIxHxdeALVG9f7QoOvPx4aIJZ74mIayJiq4jYMiLOzNadGhHTq+y7e0T0ZV9fHhHbZsMO3hIRV9Zyvno/2cYBd/ez7e5se9fqpcDrpau8VnPgmbVevZ9oD5DaVqs5Amhtd7cC9ErgQW81a7aaA8+ster9NPsycIykGyV9VNJBkv5N0o3A0dn2rldU4PVSs2arOfDMulu9Qw8uAaYCawHfAS4HvgusCUzNxuT1BA9NyFcvBZ5Dzyx/dX+KRcSMiNiZ1BNzQ2BUROwSETc0vXYdwIGXH/fUNLNmafgTLCJWRsQTETGkx29Ier2k8yTdLWmFpFk1lpssaYakp7PlRkk7Dl6y+Rx4+Ski8MDNmmbdpu5PL0kjJR0n6YeSrs5eP5INDGzEtsC+pM4tD9RYh82AG0mPO3t/towAbpC0RYP1GBIHXn48NMHMhqreJ6i8AfgraWqG7YAV2es5wNxqUzTU4MqI2CwiDgNm11jmXaTHyRwUEVdHxNXAQaR7ifs2UIem6KXA65WrPAeeWXeo9xNrGmnWgy0jYqeI2D8idgJeDzwD1DSJXrkGm0FXA5YDz5etW5KtUwPHaxr31MyXA8/MGlHvp9Vk4NSIeKR8Zfb+i8C/NKtig7icNPXQ2ZLGSRoHfIs0eWzhPUKLCDzorWbNVnPgmXW2ej+p5gFr9LNtDeCRfrY1VUQ8BuwBHAL8PVsOBvaOiH+0og6D8dCEfPVS4Dn0zIau3k+pU4AvV/Z6lLQTaUbZTzerYgORtBHpCu4O0rTu+2RfXy1p837KHCepT1LfspVLW1FNoLfu47WahyaYWa3q/YT6PLAOcKukxyXdJelx4HfZ+s9K+mNpaXZly3ySdN/u0Ii4LiKuI13lrQBOrlYgIqZFxOSImDxy2Kgcq7YqB15+3FPTzGox6EzlFe7NlqJtDcyOiJdLKyJimaTZwJbFVat/Rc1+3gszn4NnPzezgdUVdhHxwbwqUqf5wL6SRkbEMgBJq5OGQdQ03UMReinwgJaHngPPzPrTcLuTpDUlnZDNUP6FRgdzZ8c5VNKhwCbAa0rvJa2Z7TNX0vllxX4IbAxcIeldkvYDfglsRBoe0bY8NCFfbtI0s2oG/TSSdLakByrWjQb+BHwbeA9wKnCXpK0aqMM4UmeTS4GdgG3K3pfmxxsBDC8ViIg7SA+kHg38FPgJ6WHUe0XEXQ3UoaU8NCFfvRR4Dj2z2tTySbQH8LOKdScDWwEfiYixpKuseaTZyusSEfMiQv0s87J9xkfEMRXlZkbE2yNi/WzZLSJm1Xv+onhoQr56JfDAV3lmtajlU2g8qVt/uUOA+yLiAoBsbNvZwK5NrV0PcODlx0MTzKyklk+gEcCLpTeS1gfeANxUsd880pQ/VicHXn48NMHMoLawewDYvez9ftnr9RX7jQOebkKdelIvBV4vXeW1mgPPrLpaPnW+D5wi6buSPgd8HXgYmFGx3xTaYwxex+qVwIPeatZsNQee2aoG/cSJiAtJvS0PBj5DmnfuoPIB3ZJeAxwA/CqfavYOD03IlwPPrDfV9GkTEV+JiE0jYu2sB+Q9Fdv/EREbRsQP8qlmb3FPzXz1UuA59MyS1n/SWM0cePlxT02z3uKwa3MOvPwUEXjgZk2zIjjsOoADLz8emmDWGxx2HaKXAq9XrvIceGat47DrIL0SeNA7zZoOPLPWcNh1GA9NyJcDz6w1JE2VNCeb1eaUKts/KukeSX+W9FtJ25Rt+0xWbo6kvWs5n8OuA3loQr56KfAcelYEScOBc4B9SDPdHFkeZpmLImL7iHgTcBbwzazsNsARwLak2W/OzY43IIddB3Pg5cdDE8xytQMwNyIeyibgvpj0YJJ/iohny96uBUT29QHAxRHxUkQ8DMzNjjcgh12Hc+Dlxz01zXKzCfBo2fsF2bpXkfQxSQ+Sruw+Xk/ZSiMarqq1jVH3LmTpdoP+WzfVmDnLWDRpZEvPOfrBYTy35cqWnhNS6K09YXFLzznjkUlM2XxOS8/500W78P4xt7b0nNb+hr8Yjf6BO1ZSX9n7aRExrZ4DRMQ5wDmS3gt8Hji6kYqAr+y6Ri9d4fVSs2ar+QrPmujJiJhctpQH3UJgs7L3m2br+nMxcGCDZQGHXVdxT818OfDMmuZ2YKKkCZJGkjqcTC/fQdLEsrfvAv6afT0dOELS6pImABOBPw52Qoddlyki8KC37uO1mntqWreJiOXA8aR5Ue8HLomI2ZJOl7R/ttvxkmZL+jNwElkTZkTMBi4B7gOuAz4WESsGO6fDrgt5aEK+eiXwwFd5lp+IuCYitoqILSPizGzdqRExPfv6ExGxbUS8KSL2yEKuVPbMrNykiLi2lvM57LqYAy8/Hppg1lkKDztJr5d0nqS7Ja2QNKuOsgdLul3SUklPSbpO0lo5VrfjOPDy46EJZp2j8LAjjYLflzQD+gO1FpL0YeAi4FrSKPwPk25gejhFhV4KvF66yms1B551snYIuysjYrOIOAyYPejegKSxwLeAE7I23lkRcUVEnBARrR0Q1SF6JfCgt5o1W82BZ52q8LCLiEZGCR+evf64mXXpdh6akC8Hnln7KjzsGrQjqdnzWEkLJL0s6Q+S/Fs4CPfUzFcvBZ5DzzpJp4bdhsAk0uNjPg28G3geuE7Sa4usWKdw4OXHPTXN2k+nhp2AtYFjI+L/RcR1pEfJrCANVFy1gHScpD5JfctWLm1dTduYAy8/RQQeuFnTrD+dGnaLSNM9zCqtyKaDuIM0N9IqImJa6RltI4eNakklO4EDLz8emmDWPjo17O4nXd2pYr2A1j8Wv8P1UuD1ylWeA8/s1To17K7KXvcorZC0LvBW4K5CatTheiXwoHeaNR14Zq8oPOwkrSnpUEmHkibge03pvaQ1s33mSjq/VCYi+oBfAedLOlrSu0hPwn6ZNNW7NcBDE/LlwBv68cq/n6Lui1pnKjzsgHHApdmyE+meW+n9uGyfEcDwinLvA34JfBO4jBR074iIRflXuXt5aEK+einwWnmVV8S/pXWWwv+HRMS8iFA/y7xsn/ERcUxFuSUR8e8RsUFEjIqId0bEPUV8D93IgZcfD03IV1HN49beCg87a18OvPy4p6ZZaznsbEAOvHw58PJV1GTG1n4cdjaoXgq8XmrWbDVf4VmRHHZWE/fUzJcDzyxfDjurWVFNQg68/PRCT00zcNhZnTw0IV+9EnjgqzxrLYedNcSBlx8PTTBrPoedNcyBlx8PTTBrLoedDYkDL1+9HngOQmsWh50NWS8FXi81a7aag83y5LCzpvDQhHw58IrrSGPdwWFnTeOemvnqpcDzVZ41m8POms6Blx/31Ew8vY/Vy2FnuXDg5aeoD3o3I1onc9hZbhx4+emloQlmzeCws1z1UuD1ylWeA886kcPOctcrgQe906zZToHnWco7k6SpkuZImivplCrb3y7pT5KWSzq0YtsKSX/Olum1nM//S6wlPDQhX70eeNZZJA0HzgH2AbYBjpS0TcVujwDHABdVOcTSiHhTtuxfyzkddtYyHpqQLweedZAdgLkR8VBELAMuBg4o3yEi5kXE3cDKZpzQYWct58DLT7cOTXCodp1NgEfL3i/I1tVqDUl9km6TdGAtBUbUcXCzphl170KWblfP/+2hGzNnGYsmjWzpOUc/OIzntmzKH6Y1W/Lwuqw9YXFLzwkpkKZsPqfl57V8DVv6cqN/oI6V1Ff2flpETGtStbaIiIWSXgfcJOmeiHhwoAKFX9lJer2k8yTdnd10nFVn+WFZwoek/XKqpuXAV3j58dAEawNPRsTksqU86BYCm5W93zRbV5OIWJi9PgTMAt48WJnCww7YFtgXmAM80ED5D5N+UNaBeinweqlZ02wQtwMTJU2QNBI4AqipV6WkMZJWz74eC+wK3DdYuXYIuysjYrOIOAyYXU9BSWOAM4HP5VIzawn31MxXtwWeHxXW+SJiOXA8cD1wP3BJRMyWdLqk/QEk/YukBcBhwHmSSvnwBqBP0l3AzcBXI2LQsCv8nl1EDOWGxhnA74CZTaqOFaSIe3jg+3h5KuIeXlHjK61+EXENcE3FulPLvr6dKq12EXErsH2952uHK7uGSHoj8CHg5KLrYs3hoQn56rYrPLN6dGzYAd8Dvh8Rc2vZWdJxWUeWvmUrl+ZcNRsKB15+unVogtlgOjLsJB0BTAK+XGuZiJhW6hU0ctio/CpnTeHAy0+n9dR0UFozdFzYSVoN+DrwNWCYpPWAdbLNa0kaXVTdrLkcePnqpMAzG6qOCztgLdJNy28Ci7LlrmzbxcCdBdXLctBLgddLzZrN4odAW6068X/KEmCPiuXIbNtngaMKqpflxEMT8tXpgWdWi8LDTtKakg7NpnDYBHhN6b2kNbN95ko6H9L4jIiYVb4At2WHuyci/lDIN2K5ck/NfDnwrNsVHnbAOODSbNmJNN1D6f24bJ8RwPBCamdtxYGXn07oqekB5daowsMum8ZB/Szzsn3GR8QxNRzjqlbV24rjwMtPUWHiqzzLW+FhZ9YIB15+2mlogkPQmsVhZx2rlwKvV67yHG6WF4eddbReCTzonWZNB57lwWFnHc9DE/LVCR1XzAbjsLOu4KEJ+XIvSOt0DjvrKg68/DjwrJM57KzrOPDy48CzTuWws67kwMtPUUMTKs9Z+b174lYbiMPOulYvBZ6v8swG5rCzruaemvlq58Ar4t/e2pfDzrpeUR96Djyz9uGws57goQn5cuBZu3PYWU9x4OXHgWftzGFnPceBl5+iemqaDcZhZz3JgZevZgeeA9SGymFnPauXAs/NmtbrHHbW0zw0IV95BV5RV6zWufw/xnqee2rmy1d41g4cdmYZB15+HHhWNIedWRkHXn4ceFYkh51ZBQdefhoZmlDL/n4ItA3GYWdWRS8Fnq/yrAiSpkqaI2mupFOqbF9d0i+y7X+QNL5s22ey9XMk7V3L+Rx2Zv3olcADN2taa0kaDpwD7ANsAxwpaZuK3Y4FFkXE64FvAV/Lym4DHAFsC0wFzs2ONyCHndkAPDQhXw68nrUDMDciHoqIZcDFwAEV+xwA/Dj7+jJgT0nK1l8cES9FxMPA3Ox4A3LYmQ3CQxPyVW/geYxdV9gEeLTs/YJsXdV9ImI5sBjYoMayqxgxhMp2rGdffuLJ6xZ+b37R9agwFniy6Er0w3UDqD/vhl6364dUeiD+N21Mp9Rti2Yd9NmXn7j+uoXfG9tA0TUk9ZW9nxYR05pVr3r1ZNhFxGuKrkMlSX0RMbnoelTjujXGdWuM69aYvOoWEVObfUzSn46blb3flFX/nCzts0DSCGBd4Kkay67C7QFmZtZqtwMTJU2QNJLU4WR6xT7TgaOzrw8FboqIyNYfkfXWnABMBP442Al78srOzMyKExHLJR1PaqgfDlwQEbMlnQ70RcR04Hzgp5LmAk+TApFsv0uA+4DlwMciYsVg53TYtY/C2rJr4Lo1xnVrjOvWmHau2yoi4hrgmop1p5Z9/SJwWD9lzwTOrOd8SleFZmZm3cv37MzMrOs57HIm6fWSzpN0t6QVkmbVWX6YpD5JIWm/dqmbpIMl3S5pqaSnJF0naa2i6yZpsqQZkp7Olhsl7djEeh0mabqkhZKWSLpD0pE1lFtd0tmSnpD0vKSryx9/VFTdJE2SdI6k+yW9IOkhSd+RtF7RdatyjCuy34Pj26Vukt4u6Zbs3/SZ7OvNi66bpImSLpf0d0nPSrpVUh69KjuGwy5/2wL7AnOABxoo/2FS19o8NFQ3SR8GLgKuJT3u58PAX2nuPeC66yZpM+DGrB7vz5YRwA2SmjXu6CRgCXAisD9wM3CRpBMGKfdd4BjgZFLPsrFZvdZoUr0ardtewK7AD0g/7y+T7pPMkNTMz4dGf24ASJoC7NzE+gy5bll43AjclZV7H/B7oNB/U0mjgRuA1wH/Tvr/9hhwpaRBnzTStSLCS44LMKzs68uAWXWUHQP8g/SMuAD2K7pupA/p54CPtNvPDfgosAJYt+JnuAL49ybVa2yVdRcBDw9QZlNSr7EPlK3bBFgGfLiJP7NG6rYB2b37snVTsv9vuxVZt7L9VgPuL/s9OL7J/9ca+bmtRnqKx5nNrEuT6jY1+zltX7ZuBPB34Gt51redF1/Z5SwiVg6h+BnA74CZTarOqzRYt8Oz1x8PuNcQNVi31Uih8nzZuiXZOjWpXtWennEnsPEAxaZkr/9bdpyFwG9JV8ZN0UjdIuKpyD4NK8owULlW1K3MJ4ClwI+aVZ9yDdZtL9IfMefkUaeSBuu2Wva6uOw4pd+LpvwedCKHXZuS9EbgQ6Rmr3ayI6lp8VhJCyS9rDT9xi5FVwy4HHgBOFvSOEnjSE9LXwRcmuN5d2bgptatgQURsaRi/f3ZtjwNVrf+ytBAuXoNWjdJGwJfAP5ziH841muwuu1IeprHTpL+Kmm5pHslvbsN6jYTmAd8Q9JmktaX9FlgHHBh/tVrTw679vU94PsRMbfoilTYEJgEfB74NPBu0l+M10l6bZEVi4jHgD2AQ0hNNn8HDgb2joh/5HFOSXsCBwJnD7DbGOCZKusXZdtyUWPdKsusSZpK5ZaIuCOnqtVTt7OA6yPi13nVpVKNddsQWIs0tu0bpKbD+4ArJG1fZN0i4gVgd9J970dIofxp4ICIuC+vurU7DypvQ5KOIAVKK/5KrJeAtYHDIuI6AEm3AvOB40l/hRdTMWkj0hXcHaROMwAfA66WtEtEPNLk840n3T/5VURc2MxjD1UjdZMk0lMrxgHvKrpuknYmda54Q151qXLO8dT2cxOpI8qJEXFeVvZm4C/Ap0idowqpW9Yr+lLSH1MHkFo7jgIul7RHRNzZX9lu5rBrM5JWA75O+ut6WNYFfJ1s81qSRkfEc0XVj/QLFMCs0oqIeFbSHaRJGIv0SdL9ikMj4mUASTeReoqeDHy8WSeStD6pN+p80gfJQBaRHmJbaUy2ranqrFu5rwEHAXtFxEPNrlcDdfs2cB6wuGIoxChJ60bE4qqlWlO30r/bzaUVEbFC0i3Am5tZrwbqdizpd3HTiHgmW3ejpK2BL5F6dfYcN2O2n7VIN76/SfqFWkTq2gxpgsOi/yq7n/RXbeWNbgGtvKdSzdbA7FLQAUSaGHI2sGWzTpI19V0FjCT1kH1hkCJ/ATbTquMQt862NU0DdSuVO5H0B8EHIuI3zazTEOo2CfhPXvk9KAXMWaSmuSLrdn+paOWhaPLvQQN12xqYXxZ0JXfSxN+DTuOwaz9LSPedypfSINLPUt9f6nm4Knvdo7RC0rrAW3kllIsyH9hO6SnqQBrMDWxHumE/ZEpTjVxKetL61Ih4ooZiM7LXg8qOszHwNtJf603RYN2QdBTpHtBJEXFJs+rThLrtx6q/C5DGLO5ZcN2uJ/XyfUfZcYYDu9HE34MG6zYfGC+p8n7wW2nS70EncjNmzrK/yvbN3m4CrCPp0Oz9NRHxgtJTvW+JiGOzLsKzKo4xPvvynoj4Q1F1A4iIPkm/As6XdAppsshPAS/TxG7YjdQN+CHpXt0Vks4l/ZX9MWAjmveQ3HOzen0C2EDSBmXb7oyIlyTNBIiIPbPXBZLOB76d3Rf7B3Aa6UPpZ02qV0N1k7QbqUv/DOA2STuVlVkQEQuKqltE/LbyIOnHx18j4pYm1avRuj0u6Rzgq9m/6VzgOFKrzFeKrBvpvt5ngWsknUW6Z/c+YAdyvBfb9ooe6NftCzCedI+r2jI+22cecGENx2j2oPKG6kbqoPIDUlPSUtJTJLZvk7rtCfyaNCXI08AtwO5NrNe8Guo1i4pB8MDqpKbpf5B6r14DTGjyz6zuupFCt78ypxX9c6tynDwGlTf6b7oa6cn7jwMvAbfRxIH4Q6zbW0itBk8Az5LmezukmXXrtMWzHpiZWdfzPTszM+t6DjszM+t6DjszM+t6DjszM+t6DjszM+t6DjszM+t6DjszM+t6DjszM+t6DjvrKJKOkXSHpOckLZJ0p6Rv5nSuwyUdU8N+p0mKsuUxSZdLqumhu5IulNQ35ArXdq5hko7Pfm5LJT0rabak72aPvTLrSn42pnUMSZ8BziA99f4U0nxibyU99++kHE55ODCW2mZ3XkyawBPgdaR6zpS0bUQ8P0jZM4BRjVayTr8A9iI9+Pk20qPfdgH2CD9OybqYHxdmHUPSQuCXEfGxivXK44Na0mXA2IjYfZD9TiM9r3Fs2bp/BX4DHB4Rl1YpMxwYHmkKopaQtA/pmZz7RsS1Fdty+RmatQs3Y1onWQ/4W+XK8g/pUpOgpAMl/UXSi5J+K2mViWWzZsp7JL0k6VFJZ2ZTqiDpQuAQYLey5snT6qjrHdnr+Cr1mg28COxYvq2ibm+XdLOkJZIWS5ol6c1l298m6RZJL0h6StL/SBo9SJ12y15vqtzgoLNu57CzTvIn4ARJR1dMdVJpC9IMA2cA7yXNEn69pDVKO0iaQmrS+xNwAPA90uSl3892OYM0C/WdwM7Z8sM66jo+e/1bxbqzSFPA7AM8XK2gpN2BmaRpk44G3kO6Stwk274raaaJvwGHkiY43Zc0Vc9ASs2pX5e0Rc3fiVk3KHraBS9eal2ANwIPkaY3WUmagfx0YJ2yfS7Mtu9Stm4L0kSbHy1bdxtwc8XxPwWsADbN3l/GIFPOZPudRprXb0S2bEUKymeBjSrq9aYq5S8E+sre/x7oI7vNUGX/31Sp+zuy4283QD03BO7mlSli7iXNe7Z20f+2XrzkvfjKzjpGRNwNvAHYnzSppYAvAH2S1i7b9YmIuLWs3HxSs+IO8M/7ZW8hzQBd7hek1o6dG6jeBqQrsZeBOaROKu+JiMfL9lkYEX8e6CCS1iI1b/44IlZpWswmtd0ZuETSiNIC/DY791v7O3ZE/A14M7A3aT7C9Ujzsd2qV8/u/gNJCyW5adO6hsPOOkpEvBQRV0bE8RGxDWlm8onAsWW7PVGl6BOkGcsh9bBcDfh7xT6l9+s3ULXFwL8Ak0mzVY+Pik4gVc5XzRhSiD8+wPbhpLB/uWx5ifQ9bTbQwSNiRUTMiIj/ADYnNX1uz6sD/uekPwbMuoaHHlhHi4jzJZ0FbF22elyVXceRmj0hNTm+XGW/12avTzdQleURMdhYuVqulBaRmmg36mf7M9lxTiP1rKz0WA3nSJWJWClpBvBB0jCO0vpfA3jYnXUTX9lZx5C0SohJeg2pA0r5VdM4SbuU7bM56Urlj5CubkjNmodVHO5wUtD8Pnu/jLIQaIVIY/L+AHyg2iDvbPttwKSI6KuyVA07Sa+ttp7UJPxCdk6zruUrO+sk90j6FTCD1Cy5BakH5QvAj8v2exL4maTPA0uBL2X7X1i2zxdJPTR/BFxMaso7A/ifiFiQ7fMX4ABJBwILgMf6C5MmO4XU2/JaSdNIvSh3JnViuYrUkWampJWkTjTPkZok3wV8LiIeqHLMSyQ9B1wCzCNd1R5F6on6kYh4JtfvyKxgvrKzTnI6qfv+d0mBdwapaXKHiCjvxj+fFIKnkYLsOWDviHixtENEzACOIN1ju5LUff9s4Piy45ybnecC4HbguOZ/S6vKmhH3AtYEfkbqOLMbKXCJiN8CbwdeA/w0q/+ngEfp/77gj0l/3P43KUinASOBd0TE+Xl9L2btwk9Qsa6SDQbfLiImF12XTpc9VMU37qwr+MrOzF5F0g8lLci+XiCpnsH0Zm3J9+zM7FUi4sNF18Gs2dyMaWZmXc/NmGZm1vUcdmZm1vUcdmZm1vUcdmZm1vUcdmZm1vUcdmZm1vUcdmZm1vUcdmZm1vX+P5ZEj+X5Ae+wAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# plot contour of payoff function with respect to both time steps, including barrier\n", "plt.figure(figsize=(7, 5))\n", "z = np.zeros((17, 17))\n", "x = np.linspace(low[0], high[0], 17)\n", "y = np.linspace(low[1], high[1], 17)\n", "for i, x_ in enumerate(x):\n", " for j, y_ in enumerate(y):\n", " z[i, j] = np.minimum(\n", " np.maximum(0, x_ + y_ - strike_price_1), strike_price_2 - strike_price_1\n", " )\n", " if x_ > barrier or y_ > barrier:\n", " z[i, j] = 0\n", "\n", "plt.title(\"Payoff Function\", size=15)\n", "plt.contourf(x, y, z)\n", "plt.colorbar()\n", "plt.xlabel(\"Spot Price $S_1$\", size=15)\n", "plt.ylabel(\"Spot Price $S_2$\", size=15)\n", "plt.xticks(size=15)\n", "plt.yticks(size=15)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "exact expected value:\t0.8023\n" ] } ], "source": [ "# evaluate exact expected value\n", "sum_values = np.sum(u.values, axis=1)\n", "payoff = np.minimum(np.maximum(sum_values - strike_price_1, 0), strike_price_2 - strike_price_1)\n", "leq_barrier = [np.max(v) <= barrier for v in u.values]\n", "exact_value = np.dot(u.probabilities[leq_barrier], payoff[leq_barrier])\n", "print(\"exact expected value:\\t%.4f\" % exact_value)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Evaluate Expected Payoff\n", "\n", "We first verify the quantum circuit by simulating it and analyzing the resulting probability to measure the $|1\\rangle$ state in the objective qubit." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "state qubits: 5\n", "circuit width: 14\n", "circuit depth: 6373\n" ] } ], "source": [ "num_state_qubits = asian_barrier_spread.num_qubits - asian_barrier_spread.num_ancillas\n", "print(\"state qubits: \", num_state_qubits)\n", "transpiled = transpile(asian_barrier_spread, basis_gates=[\"u\", \"cx\"])\n", "print(\"circuit width:\", transpiled.width())\n", "print(\"circuit depth:\", transpiled.depth())" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "asian_barrier_spread_measure = asian_barrier_spread.measure_all(inplace=False)\n", "sampler = Sampler()\n", "job = sampler.run(asian_barrier_spread_measure)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Exact Operator Value: 0.6455\n", "Mapped Operator value: 0.8705\n", "Exact Expected Payoff: 0.8023\n" ] } ], "source": [ "# evaluate the result\n", "value = 0\n", "probabilities = job.result().quasi_dists[0].binary_probabilities()\n", "for i, prob in probabilities.items():\n", " if prob > 1e-4 and i[-num_state_qubits:][0] == \"1\":\n", " value += prob\n", "\n", "\n", "# map value to original range\n", "mapped_value = objective.post_processing(value) / (2**num_uncertainty_qubits - 1) * (high_ - low_)\n", "print(\"Exact Operator Value: %.4f\" % value)\n", "print(\"Mapped Operator value: %.4f\" % mapped_value)\n", "print(\"Exact Expected Payoff: %.4f\" % exact_value)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next we use amplitude estimation to estimate the expected payoff.\n", "Note that this can take a while since we are simulating a large number of qubits. The way we designed the operator (asian_barrier_spread) implies that the number of actual state qubits is significantly smaller, thus, helping to reduce the overall simulation time a bit." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "# set target precision and confidence level\n", "epsilon = 0.01\n", "alpha = 0.05\n", "\n", "problem = EstimationProblem(\n", " state_preparation=asian_barrier_spread,\n", " objective_qubits=[objective_index],\n", " post_processing=objective.post_processing,\n", ")\n", "# construct amplitude estimation\n", "ae = IterativeAmplitudeEstimation(\n", " epsilon, alpha=alpha, sampler=Sampler(run_options={\"shots\": 100, \"seed\": 75})\n", ")" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "result = ae.estimate(problem)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Exact value: \t0.8023\n", "Estimated value:\t0.8320\n", "Confidence interval: \t[0.8264, 0.8376]\n" ] } ], "source": [ "conf_int = (\n", " np.array(result.confidence_interval_processed)\n", " / (2**num_uncertainty_qubits - 1)\n", " * (high_ - low_)\n", ")\n", "print(\"Exact value: \\t%.4f\" % exact_value)\n", "print(\n", " \"Estimated value:\\t%.4f\"\n", " % (result.estimation_processed / (2**num_uncertainty_qubits - 1) * (high_ - low_))\n", ")\n", "print(\"Confidence interval: \\t[%.4f, %.4f]\" % tuple(conf_int))" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2019-08-22T01:55:10.230176Z", "start_time": "2019-08-22T01:55:10.222004Z" } }, "outputs": [ { "data": { "text/html": [ "

Version Information

SoftwareVersion
qiskitNone
qiskit-terra0.45.0.dev0+c626be7
qiskit_aer0.12.0
qiskit_ibm_provider0.6.1
qiskit_algorithms0.2.0
qiskit_finance0.4.0
System information
Python version3.9.7
Python compilerGCC 7.5.0
Python builddefault, Sep 16 2021 13:09:58
OSLinux
CPUs2
Memory (Gb)5.778430938720703
Fri Aug 18 16:20:04 2023 EDT
" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "

This code is a part of Qiskit

© Copyright IBM 2017, 2023.

This code is licensed under the Apache License, Version 2.0. You may
obtain a copy of this license in the LICENSE.txt file in the root directory
of this source tree or at http://www.apache.org/licenses/LICENSE-2.0.

Any modifications or derivative works of this code must retain this
copyright notice, and modified files need to carry a notice indicating
that they have been altered from the originals.

" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import tutorial_magics\n", "\n", "%qiskit_version_table\n", "%qiskit_copyright" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3", "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.9.7" }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false }, "vscode": { "interpreter": { "hash": "e3b168dd14084693aa742087410f9921d6040e41eb6bdb17b20e4003862f82dd" } } }, "nbformat": 4, "nbformat_minor": 2 }