From 1f46e5c268487c2299f190144b5625bf87d086e2 Mon Sep 17 00:00:00 2001 From: Albert Frisch Date: Wed, 10 Apr 2019 16:57:39 +0200 Subject: [PATCH 01/21] reintroduce fidelity and probability output --- .../general/linear_systems_of_equations.ipynb | 187 ++++++++++++------ 1 file changed, 127 insertions(+), 60 deletions(-) diff --git a/qiskit/aqua/general/linear_systems_of_equations.ipynb b/qiskit/aqua/general/linear_systems_of_equations.ipynb index d99261ada..58e2a5e06 100644 --- a/qiskit/aqua/general/linear_systems_of_equations.ipynb +++ b/qiskit/aqua/general/linear_systems_of_equations.ipynb @@ -38,10 +38,19 @@ "cell_type": "code", "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "qiskit.providers.ibmq.ibmqprovider\n" + ] + } + ], "source": [ "from qiskit.aqua import run_algorithm\n", "from qiskit.aqua.input import LinearSystemInput\n", + "from qiskit.quantum_info import state_fidelity\n", "from qiskit.aqua.algorithms.classical import ExactLPsolver\n", "import numpy as np" ] @@ -73,7 +82,13 @@ " 'provider': 'qiskit.BasicAer',\n", " 'name': 'statevector_simulator'\n", " }\n", - "}" + "}\n", + "\n", + "def fidelity(hhl, ref):\n", + " solution_hhl_normed = hhl / np.linalg.norm(hhl)\n", + " solution_ref_normed = ref / np.linalg.norm(ref)\n", + " fidelity = state_fidelity(solution_hhl_normed, solution_ref_normed)\n", + " print(\"fidelity %f\" % fidelity)" ] }, { @@ -94,7 +109,7 @@ "1 & 0 \\\\\n", "0 & 2\n", "\\end{bmatrix}$$ with the vector $$\\vec{b}= \\left( \\begin{array}{c}1 \\\\ 4 \\end{array} \\right)$$\n", - "The `result` dictionary contains several return values. The HHL solution for $\\vec{x}$ is accessible by the key `'solution_hhl'`. For comparison, also the classical solution of the linear system of equations is calculated using standard linear algebra functions in numpy. The fidelity between the HHL solution and the classical solution is also given in the output. Furthermore, the probability is shown with which HHL was running successfully, i.e. the HHL ancillary qubit has been measured to be $|1\\rangle$." + "The `result` dictionary contains several return values. The HHL solution for $\\vec{x}$ is accessible by the key `'solution'`. For comparison, also the classical solution of the linear system of equations is calculated using standard linear algebra functions in numpy. The fidelity between the HHL solution and the classical solution is also given in the output. Furthermore, the probability is shown with which HHL was running successfully, i.e. the HHL ancillary qubit has been measured to be $|1\\rangle$." ] }, { @@ -114,7 +129,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -122,7 +137,9 @@ "output_type": "stream", "text": [ "solution [1.05859+0.j 1.99245+0.j]\n", - "classical solution [1. 2.]\n" + "classical solution [1. 2.]\n", + "probability 0.024630\n", + "fidelity 0.999389\n" ] } ], @@ -130,8 +147,11 @@ "result = run_algorithm(params)\n", "print(\"solution \", np.round(result['solution'], 5))\n", "\n", - "classical_result = ExactLPsolver(matrix, vector).run()\n", - "print(\"classical solution \", np.round(classical_result['solution'], 5))" + "result_ref = ExactLPsolver(matrix, vector).run()\n", + "print(\"classical solution \", np.round(result_ref['solution'], 5))\n", + "\n", + "print(\"probability %f\" % result['probability_result'])\n", + "fidelity(result['solution'], result_ref['solution'])" ] }, { @@ -143,7 +163,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 5, "metadata": {}, "outputs": [ { @@ -151,7 +171,9 @@ "output_type": "stream", "text": [ "solution [0.84664+0.j 2.01762+0.j]\n", - "classical solution [1. 2.]\n" + "classical solution [1. 2.]\n", + "probability 0.361437\n", + "fidelity 0.995605\n" ] } ], @@ -164,8 +186,11 @@ "result = run_algorithm(params2)\n", "print(\"solution \", np.round(result['solution'], 5))\n", "\n", - "classical_result = ExactLPsolver(matrix, vector).run()\n", - "print(\"classical solution \", np.round(classical_result['solution'], 5))" + "result_ref = ExactLPsolver(matrix, vector).run()\n", + "print(\"classical solution \", np.round(result_ref['solution'], 5))\n", + "\n", + "print(\"probability %f\" % result['probability_result'])\n", + "fidelity(result['solution'], result_ref['solution'])" ] }, { @@ -177,21 +202,21 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "circuit_depth 12256\n", - "circuit_width 7\n" + "circuit_width 7\n", + "circuit_depth 12256\n" ] } ], "source": [ - "print(\"circuit_depth\", result['circuit_info']['depth'])\n", - "print(\"circuit_width\", result['circuit_info']['width'])" + "print(\"circuit_width\", result['circuit_info']['width'])\n", + "print(\"circuit_depth\", result['circuit_info']['depth'])" ] }, { @@ -216,13 +241,14 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "matrix = [[1, 3], [3, 2]]\n", "vector = [1, 1]\n", - "params['input'] = {\n", + "params3 = params\n", + "params3['input'] = {\n", " 'name': 'LinearSystemInput',\n", " 'matrix': matrix,\n", " 'vector': vector\n", @@ -231,7 +257,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "metadata": {}, "outputs": [ { @@ -239,16 +265,21 @@ "output_type": "stream", "text": [ "solution [0.22147+0.j 0.22034-0.j]\n", - "classical solution [0.14286 0.28571]\n" + "classical solution [0.14286 0.28571]\n", + "probability 0.424639\n", + "fidelity 0.898454\n" ] } ], "source": [ - "result = run_algorithm(params)\n", + "result = run_algorithm(params3)\n", "print(\"solution \", np.round(result['solution'], 5))\n", "\n", - "classical_result = ExactLPsolver(matrix, vector).run()\n", - "print(\"classical solution \", np.round(classical_result['solution'], 5))" + "result_ref = ExactLPsolver(matrix, vector).run()\n", + "print(\"classical solution \", np.round(result_ref['solution'], 5))\n", + "\n", + "print(\"probability %f\" % result['probability_result'])\n", + "fidelity(result['solution'], result_ref['solution'])" ] }, { @@ -260,21 +291,21 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "circuit_depth 30254\n", - "circuit_width 7\n" + "circuit_width 7\n", + "circuit_depth 30254\n" ] } ], "source": [ - "print(\"circuit_depth\", result['circuit_info']['depth'])\n", - "print(\"circuit_width\", result['circuit_info']['width'])" + "print(\"circuit_width\", result['circuit_info']['width'])\n", + "print(\"circuit_depth\", result['circuit_info']['depth'])" ] }, { @@ -305,7 +336,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -318,7 +349,8 @@ " [0, 0, 0, 0, 0, 0, 1, 0],\n", " [1, 0, 0, 0, 0, 0, 0, 5]]\n", "vector = [1, 0, 0, 0, 0, 0, 0, 1]\n", - "params['input'] = {\n", + "params4 = params\n", + "params4['input'] = {\n", " 'name': 'LinearSystemInput',\n", " 'matrix': matrix,\n", " 'vector': vector\n", @@ -327,7 +359,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -336,16 +368,21 @@ "text": [ "solution [ 0.18195-0.j 0. -0.j 0. -0.j -0. +0.j 0. +0.j\n", " -0. +0.j -0. -0.j 0.18041+0.j]\n", - "classical solution [0.21053 0. 0. 0. 0. 0. 0. 0.15789]\n" + "classical solution [0.21053 0. 0. 0. 0. 0. 0. 0.15789]\n", + "probability 0.935566\n", + "fidelity 0.981173\n" ] } ], "source": [ - "result = run_algorithm(params)\n", + "result = run_algorithm(params4)\n", "print(\"solution \", np.round(result['solution'], 5))\n", "\n", - "classical_result = ExactLPsolver(matrix, vector).run()\n", - "print(\"classical solution \", np.round(classical_result['solution'], 5))" + "result_ref = ExactLPsolver(matrix, vector).run()\n", + "print(\"classical solution \", np.round(result_ref['solution'], 5))\n", + "\n", + "print(\"probability %f\" % result['probability_result'])\n", + "fidelity(result['solution'], result_ref['solution'])" ] }, { @@ -357,21 +394,21 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "circuit_depth 315281\n", - "circuit_width 9\n" + "circuit_width 9\n", + "circuit_depth 315281\n" ] } ], "source": [ - "print(\"circuit_depth\", result['circuit_info']['depth'])\n", - "print(\"circuit_width\", result['circuit_info']['width'])" + "print(\"circuit_width\", result['circuit_info']['width'])\n", + "print(\"circuit_depth\", result['circuit_info']['depth'])" ] }, { @@ -390,7 +427,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -409,16 +446,16 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "metadata": {}, "outputs": [], "source": [ - "params3 = params\n", - "params3[\"reciprocal\"] = {\n", + "params5 = params\n", + "params5[\"reciprocal\"] = {\n", " \"name\": \"Lookup\",\n", " \"negative_evals\": True\n", "}\n", - "params3[\"eigs\"] = {\n", + "params5[\"eigs\"] = {\n", " \"expansion_mode\": \"suzuki\",\n", " \"expansion_order\": 2,\n", " \"name\": \"EigsQPE\",\n", @@ -426,13 +463,13 @@ " \"num_ancillae\": 6,\n", " \"num_time_slices\": 70\n", "}\n", - "params3[\"initial_state\"] = {\n", + "params5[\"initial_state\"] = {\n", " \"name\": \"CUSTOM\"\n", "}\n", - "params3[\"iqft\"] = {\n", + "params5[\"iqft\"] = {\n", " \"name\": \"STANDARD\"\n", "}\n", - "params3[\"qft\"] = {\n", + "params5[\"qft\"] = {\n", " \"name\": \"STANDARD\"\n", "}" ] @@ -446,9 +483,27 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "random matrix:\n", + "[[ 0.284-0.j -0.257-0.051j -0.124+0.033j 0.038+0.023j]\n", + " [-0.257+0.051j 0.404+0.j 0.067-0.079j 0.054+0.055j]\n", + " [-0.124-0.033j 0.067+0.079j 0.282-0.j 0.043+0.004j]\n", + " [ 0.038-0.023j 0.054-0.055j 0.043-0.004j 0.206-0.j ]]\n", + "solution [ 79.9768 +4.52073j 60.28272 +3.09211j 37.51853 -9.5858j\n", + " -35.02324+26.46894j]\n", + "classical solution [ 76.1399 +1.92451j 57.30622 +1.20141j 35.96381-10.07775j\n", + " -32.03837+25.90593j]\n", + "probability 0.256771\n", + "fidelity 0.999946\n" + ] + } + ], "source": [ "# set the random seed to get the same pseudo-random matrix for every run\n", "np.random.seed(1)\n", @@ -460,31 +515,43 @@ "print(np.round(m, 3))\n", "\n", "algo_input = LinearSystemInput(matrix=matrix, vector=vector)\n", - "hhl = HHL.init_params(params3, algo_input)\n", + "hhl = HHL.init_params(params5, algo_input)\n", "backend = BasicAer.get_backend('statevector_simulator')\n", "quantum_instance = QuantumInstance(backend=backend)\n", - "result_hhl = hhl.run(quantum_instance)\n", + "result = hhl.run(quantum_instance)\n", "print(\"solution \", np.round(result['solution'], 5))\n", "\n", - "classical_result = ExactLPsolver(matrix, vector).run()\n", - "print(\"classical solution \", np.round(classical_result['solution'], 5))" + "result_ref = ExactLPsolver(matrix, vector).run()\n", + "print(\"classical solution \", np.round(result_ref['solution'], 5))\n", + "\n", + "print(\"probability %f\" % result['probability_result'])\n", + "fidelity(result['solution'], result_ref['solution'])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "The circuit depth and width are" + "The circuit width and depth are" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "circuit_width 12\n", + "circuit_depth 973537\n" + ] + } + ], "source": [ - "print(\"circuit_depth\", result_hhl['circuit_info']['depth'])\n", - "print(\"circuit_width\", result_hhl['circuit_info']['width']" + "print(\"circuit_width\", result['circuit_info']['width'])\n", + "print(\"circuit_depth\", result['circuit_info']['depth'])" ] }, { @@ -511,7 +578,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.1" + "version": "3.7.1" } }, "nbformat": 4, From c39cc4833979d6d2c055ff69fac6ff10c786ff8d Mon Sep 17 00:00:00 2001 From: James Wootton Date: Thu, 11 Apr 2019 03:17:02 +0200 Subject: [PATCH 02/21] Add quantum animations (#577) * Add quantum animations * Update animations * Add outputs folder for animations, etc * Add reference to animations * Add reference to animations notebook * Update random_terrain_generation.ipynb --- community/games/README.md | 1 + .../games/game_engines/outputs/animation.png | Bin 0 -> 21272 bytes .../games/game_engines/outputs/image1.png | Bin 0 -> 907 bytes .../games/game_engines/outputs/image2.png | Bin 0 -> 921 bytes .../game_engines/outputs/new_animation.png | Bin 0 -> 21386 bytes community/games/quantum_animations.ipynb | 501 ++++++++++++++++++ .../games/random_terrain_generation.ipynb | 4 +- 7 files changed, 505 insertions(+), 1 deletion(-) create mode 100644 community/games/game_engines/outputs/animation.png create mode 100644 community/games/game_engines/outputs/image1.png create mode 100644 community/games/game_engines/outputs/image2.png create mode 100644 community/games/game_engines/outputs/new_animation.png create mode 100644 community/games/quantum_animations.ipynb diff --git a/community/games/README.md b/community/games/README.md index fa8aa2ec3..aa071422c 100644 --- a/community/games/README.md +++ b/community/games/README.md @@ -19,6 +19,7 @@ This is exactly what we'd like to replicate in this folder. Here you'll find bas * [Random Terrain Generation](random_terrain_generation.ipynb) - A simple example of using quantum computers for the kind of procedural generation often used in games. +* [Quantum Animations](quantum_animations.ipynb) - A simple example of making pixel art animations with quantum computers. ## Contributing diff --git a/community/games/game_engines/outputs/animation.png b/community/games/game_engines/outputs/animation.png new file mode 100644 index 0000000000000000000000000000000000000000..45c4bd55c9349af7f03777728f14c95e234d3e2a GIT binary patch literal 21272 zcmcJ1dt4J&-ad$3ycFZDf^vy=-KAYGctKDIM5{twtMslGF{lMpFx zl`3MiX-iv0)F{CK88lViE<#KxgaApnyfndt86YH+WHK}Fp|Aa|yFdQg4t_owJ_tFP zne#m7`+c70oHK9kj`WzdWR{DIi^q=Fx4rG+;tIZWb(t{@ytK__uLUnN4jz8@4e+`U z{B`kJH41*nWl8-1eGh#3f4?yCf4}~5xEWks4sH**=;GoQyJOpyce5`IYi=F&-Li1A z5@x>l;ooK#eSiO3H_6NT(!bZ96wdtkMBLMasyTmKDTu4pFI zz(?#L1CmE!_tJSTN2e{_Gsqd40iu{7vK$eA7V?ZQo!`xSMV) z>+|3LmjCjJT42T+9-F|MOpZ1`L~(g(%go>Rf&b;*f4vDc9y%>_??60!GeA2shOc*$ zaQPJMJ_{r7)* z@?TfDsY6Mx{N<0gZwD`UTQO8!yUey<#T?;%!@z7SvwTBpzqo_;Z583&DG*Bv<=hIB zLi%%zQUryE5hYO_zKJcRngXB_q`LTqoVxUT0Q~B; zT?EG9r5@x`H!8CP2qn%^7|6TPSP4=``wY95S5qcpn6#{QQp(vS6ycS!Xm1TnjYdXd zoQ>9}2D0QZT8wZggUKM9O*e?iQa&fJa&@U2}B9Qfm zcSJZ_xM_nFokjzJ{>%NZ^4oj8Bz%PE|A&Db@(utGe1CnY6z;hNK0>yoNJ+FO2p4N$ zu6;@_U3$-%HGVR^J2C<*Gp2ySyBwKZ>ghk4MR>Jlw9P<{M$Qo+LMVmD)xAJBbwz9W z<5!jLGW!U)c4L5My%b7o5{Phr0nsrD5*Q~3Ovb0J0g+hD?_Rk6<-X4>xHEVt zuI6NeqJTBFBxln`$S0@!C5b^M9CC`(drSqSkV3?h}YL8`e zHro3f0l7_1K%Q6JDggn7J|m#%69g2Ryg$yTsBgXOVP^4}&wIaeo%PzukKbN4*E`mg z`}+8dx88j6&epB+KXgue_qfXsyIwna{^eJ;%qV`PvFwM~^7ov7`U=ZgG=fKnaulkH zeXF94&0m#xR!=-=XrmO`B$cgSSlk&MoqLsnwE`m%2c0_Cyr z;%wv;p(G@5P9m2oRI!;F$fhY&@`7n!?~d`DA2%rN!^2P{rt(WEMkwA|+|D>3DZ-)s zaF7(T>p3Dknf7U4V!2zTbZhMpL}F39Qv^uLD!3G>4iYjousAPV3fsF(7&N9Xo072; zRtH2dY)9|1rErb~+~@K#6u=Jwlt(@E2OJNNj)CjPPzZ1>{SUk<87=Wkwc|quaz$1( zxa0M~c=1Mi?glCKi@HdJ3uWV@2J*)iwNBtoH{z2v;F*rNeZ!9t-NsHI4Ld(ITnY`e z8l1OB$IprINOt%V4Lkf2L277UUny6whPQe@+UnT)9ND}uIoUXlrD*`!xIQDBKTMF# z&hLFD$maW}$hq|TrE62;FT}qbGB3FA?fs|R(p=RAp{ak2H~jG8M_d1BxW9AxQAht@ z$hq0V1XuXjEG-$&scODy`LV@7S_A_IvQ{1x0*BoL%X>W^6dU^!^a;A~di_6{k&Z^? zPKLTe>2Asrd)5mtYfF)UYHew2wb6vbi)FD?t&kv8%_G=?2vuL0KfU;>Y7XjY)R;)3 zTxlP~1_Py(Qe$wAS%RY?G054cP!eq%Gyu`uEv9eo3gMkJmaB>3>% zTZFf{2eQH+ALwgVsfACZk1w-(J?QRbf`}Zj#@tBItNPF;R4h5-O_IdAJeK_Sr6R0I zsMONFwwU#9&cX#V;yox=JUj&Qis76ulaCPh9wT{fwD(E_LKF%Pg{gW!4OEvb!eMK- zk{BKX1v@Fnl|-|?%^;({P_vD?w0UlPk<*tSnnyM|oS;h`8BOL=-IW0OgSL1s{gWrj znO`utrXIRb0WaZiJKk*~bJ=)+7Dh$5afHBVuZ-~7ZZiTGyQ)#YBAM4pXck^3!6v5$o>N{yIYUCBPO?3~g|ma+Sy{K6-FrJ8)?!iJF)xX*NYU^Ei%RosB;@(*#FnDPhHxb-SbT1*P zTH2RdQqC_3l`xpfwROy1L`NNByA;!`B|pO4OcJ$SKX6>m2oURF2)|STT^5_M%4UPp zXf|XAyCl)P2H5xoL;ly(t*(i1X)C)_ptS2QM>M4f;nPsBabRLZTGeu}>X@2PNfPUp z8Qp{zY`_WfC=+d4u{2%*`Bsa}Q&8=@EO}=W{==nuAR7EXZFBbISoU1J`6R%y_!*X8 zoWOE-$-+G@+m+wvEG;bFod3C-UEl9w8+U77x|Ule+BpA6^-GQ4y^ophK^cm}!z>A| zx~rkudD&tOWi)0&PILHieV?9YPoRXOg?t19{yi!cqep@#>d|hZsXLQuk_^ih(B7%> z*^Q%p7B1;b$EVrTo$P-8{x)JDzpeuEg2-;TZ3?Psl3$Q>7#niPZ7aHTj5Xw$>R~-c zr|6~KFUad+AHqrUE^fBD26Wq1sCG976GWU8YPi@M>U!iq_k|`c*IVswei9t!IW|t{ zxj9lOFK4|5vXeS4HFOmB=V~SRZhAW~AnchpHhHkXJ4=S0X3H@tb;9`t!W_UCw|3jk zo+%o}=yzef;T~dRY2_$svpDoN!lAM`J{};88m;}JIQs=f!t$q zkUQGe;Q-{OXCR+50rIG````09-Ip%?p4xVQi_a%le%!0-d#xv-G47MXH+ry|Jw3>PvIu3|V>s4tlvU^ux1ZZ>dA~n%$a<-dTPM9Wp@waJ| z$KdqBDic989p&s0hx zpsJ&`1+Gy|2Imkf4<_4&O}Lur2mBV&(QF`f5V=7LvC0V^{Yr(L>Ap9y%BZvmAu5SW zX|Az>yv$&iATXh~7)VB*l_Vi7j;o{pnz5neao47ygIuUujSr!I!U&9g1IRH#Utl{h zCnj4ZZz`I1@OYEsv7&02DM^W^3U{-C%S4U+A~%qZK%6&|{%H(}`nIm<5vjj^jvW}2 zvxDdMzWG4#`|~q)m^;A^TaI1I@F^O-@Z*P{2i2Upx^(ZS-gmRz(ym^?Mpq_lq#6F% zZj39R7`|LReb=j7jxPWC!=HAr9x^`Gn>RILZ28Dz2$MBG)W)xUnjBgOg@(cxD>yx? z%f#-N9`g$u_GF3hI*p0JBJc;)@9gOR{nu->rg-npIc$=Tk|x}vLnTIoI}tzNnyy|A zM4O&+!WqC30uPh+V!5Mx(5Q4fk0o&Cj*L`EfO(>a9wRA?NQ}uQQn{3U3@FPas+)?j z&*zB+C}-vSDaEb2)ycp)!Kx#%>S`?zqc-x=xsRgNTHR(@dKgNK8F zN6xABMow}j(6SY+09b@`KuMsm9Z*@jJZ~!8gu!2qK;s2xYT_dsLT{O1XSj3vv?{zE2uE-?GJqo#}+-u zEAuAj6@1(KAPF`7&1bwae}Y%wV_#%=o$g!yO+?%4U3&xjzx-rj^sAX~tvTj7y!w?n z{ol^n?RVQ%kTf?lkKa>6?@-0zToETUmazg_52u@&gsqRD=gR9 zR^8C?vk(5%sznUsPh;SjJH}uTpa}N!({MO;K9>@n8UR!ySuH>Uroy?bPcwHIPF9>! zQ;g$&q3fj32nq~j36z}+^eD{=5x!>*3t0Jek}xSszj;n3K?&oH{bY%fSfFSCnGs9B zT}f;WmicO6RGAQg?Wu{U7^#H$ng~BYdx`z9C67_+S8G)PlfF)X2oMk#0PfD97G`KiH}Llwah80;7UW@g@M9dHtn3&D|?PBz?VAnm6bl)M1i z1%9JO2VUCXj8XqA4G`DFWuB^Q!6lS%$g|PM$hKA4SR9;-lQj zG@4ba+;Pm+58^W`sIdW+(%wDd|KGTaBAtFoy|P@T(#p5DV$kV5*-I+O!C~NBwzXmm zmG;5*9(sjYpe-0dm~i%S`5BKCXkS88fbqUUZ=ipafNwlIo4m^jH)o}CsEI8cbzgeg zHxEl)Msv2)$t#Fsl8{4`9=>Ogc2PdMlB(cG$M2~P<#|<51I|P)8RVSV#T&Rh$fey@ z?z?dIw8ACQnYzsj1GlB`eqq&y>B{-zvpzq+wCVhnFPB~Y;lV$; z{@Uz!I&j@v@2;%NeaU}@a3I@NXZ|2umEsIIA1dTrxP$!MEy5LHw+?e5g%K@9m_2x_ zf!z72T!a?|`FLrlL`xxv;3+d|TWOXzjGQpL(r|JR2B|wL?H7=M+rzo!qv5PB1vw;X zJ;+`D)DEhb=D&MJVhyyz@KatQqr|T>wNC{C2~hH44b*$TMTF~o?8mtjY8F#z-6)&~ z1P~-NVk(Bm0xmPdMjm{V5Q#DBPXGsdS6Nmu!pt>}7|0s`V30=|-XAQ5Eg*`-tf&9# z%YCV{~xYmo@1U=8bl@)YNlZV4Tk z0)!Ki1|oKn&=e4VLxG-Uno&@~t^zZH6Vt$|V@v0#HqlI)gm?1-k$Vj@ABaB#ZHXdW5Ke-}ek&17 z1}H=VVs|yy#4y#^5Iq$$pK{wRi{%bLk_iQGUb zbO%(GQ_w#97o21J0shOt?=uO^H3f@@U@f)@LwqCduSslJDx zX=rE%P3tvx5SbEQDks7lpDJ^?eEsm0L{3kTg)2nvEP@~nq_ROxsdVA%@zT9o=^80C z)~o}cV<16fZZ=503pUb>`g^SW#)ft?Skayy$)x)2YQo(gjMp-tw2Pzl5m=PsaX6EH z@AbsM#1z-nPwZ*v(5O#yco-1lkSG{Pg3P1{u)Sa(nEVn5w28FWZ#d)Oj=jr0$o>zW zqngE&Qw>hMv>Z^)Z?VfIzxFDn-V?FQ#ob-I_P*)zsxs)+D_3@W|A{#Dg^-Kf{mXcz z4_t`2W8(#qrg9~ru?I?Fm;?fy4FRLwZqYK< z5R8y~-YI|D?fqQ4hCg1=)~&`cVR&h)Ae0%8sX(S|T^`YRyUt51tSC~H)4O{nGuvuD zr*z{}76GWHEFd_IvlBQsVIpsR9rOhu=nnfrLpkIcgN%NmKlfg%UuxZBzf^5YP(4xu zSoDOS1`hRr?suE?92p!Og3@oJAUCQ(WM2y{(Qrz|D9V&+WB0)gV9y2&gE9s-({5Tv zXW?qMnl=-eEti{(LHG-o%7EC!-&BmGh*kdC)1J^AH>hHVL9E=ylmH#bh^L3*e22WS z83)b>j0Y zWhDRnrdPyUd90JmcNt#!_G%mz9qa!3!aMK2ayEAEkDb^1%RWIi&9+_IdoM?0&NVfy z8{$srg}TdNB~&m(coYW$Y3V2s!08T=QpSxXh~kEv_PRqMXJjwdayt4>OVp_UN>v}x zXOF7@Yu|VP{eg#QRhAg5V+z1OQJg5qB*vRpP@CmP%Qdtw-rcKc>~E;cc=-Y*+ky49JHcs z^i#lUMwU1#yZ$i(XQrH{+zH;GF2U;;`hj0o-sjI^pn_l)4<>`^A>SCb2Tbw8rXt*} z7ck?|O3KQ!@*PK;GB5KQ%QG^mbvTLjq5eH9QzEAzwokc?-3@)Q^!EK*&jH?da=_zP z???dPzk3FFzX`w}+}*v|YrAssf-6;LrBp`E{J+hwyJlPdBrL&I@!2_V${RIGJHBeb z4CFu>Xf2#eDmeHs*nPr@)T_)%R-6Z2&V5;FN5Fa`tG#8wr7V7$qx6=xlBka@K4*VOn4ukH8HE@psqg+Hy*W;_&`V~UlY%!Mv#rP=N3EC zf_oafO}32OOEJCHbs>CVQLrJ&iZ$r;N_%x;CPjZPDzQNr6H8sJU=KS3Lm}!y1yz%v zkBXK<$|*=l^0WO8^kXB=eX2ej7aaCbP%v{wCx~LxKUT)|K70r>5#x!qeY_VrZ?Z{d zAa0M6quxEIb-}5$GjxSuKt3{`U8GlNAsC6r5+ErEddp(s^$eJCv!3CS{#(S59`d{c zZ(p=I(4N2byXSDeY;v62+Il(w&PSi&{N)Lp-%2ij548E_hr288y!-vE=*qvw{3C9u zg$(|}>&hGNu9`j9|2wngFXW6N-sRagU-eH$vHdtMtKLx!U@wKpF{6QOCe}zPy%h9g z#xyQ5SPnMsUzcH6TP- zjU>QRAm)q?z(UY?Mu|&?vjk$i5_DrpYypBY#8fp*t;Y#Ygi7P`1I)bn6i@_9Tg@Nc#bpj-!Kgi!5;vr0B_jIf=}J2KPf||W~|F?MBSMJgo#2xXz`N?2_*K7txw@m9(F1lGG5Q zd3-tbmQbTxDK?j@sd*^}7&=9+4YTNaN)d*x)UzOnW^)1WaM*#7)eJPcVe3N!IZP@I zWIS(!6z-xzL!dj}6`UAYHWg-Sw+#Cq?s$QD4@lTHBNa+QUMUnHI${)T%|3D07X)y9 zDmWFaaPKLY*Mz&D&z`nfp3Oba6&`<@oK1%z}MO{e45e}mWxaF zY3H6@H-FfDp5f~y)0Z8Y_2sntSFWzQdG$!z@gzo9@uM0iJtTETmU*nzA=3#(ZH~}1Ro`ocZGLQ*+9q`$WzevEr zP8!f49|N#ccyhcn9IZ42oaTjB0kdxyY&j@Xus|Y|cA8tI-RI-S z>mBQtD~a{ZJ3;al2dC&j`$I#e(1}q%I^XRP`e`RmvMPYvhsRS_R?{Ab>^Iz3yC)Ba1GtB*!Fi6t#HeBfMKoR- zD3&rY>N9(RFB6@I6;Hv@Wk!X}df(uti&2BHz05vnAT@))(>%>}azFvF(`o(LvY!4>; z+5bPh_qHv=8x@92EDp06JcJoCnG}2(mT)$hFiub-ThO-meZjBae=jdPfBZjlei1VT zMqzcy+5h|of9?L>zkc)U^4f}fwvMx;DRVHUExEk=@71r(E^GfCwfMEa^}m|7|Mfq9 zeX1;}HK$G(A*{Uh@jvs2ZI}PE|M>p;_KRP6WCuIKNR+7DvivS{!M2y*fA9bQ$9C5~ z>Ic=`@3y-SO2z(@lB=Kd`Q~X}DyAf`m$vPzso7uM*8bZ|m%d{cD#Q+GTUG59U<&FJQtZSQ}lW?p}N zQ&?v6uYdY^ANRBO2{L3dDfluh;cPHroS?>ViN#?SgNHELg71#)-|*}2-^$2Rt^YawWa#H4C6w|?hu#NZrz51PTY5OXZC%Z9?OSEF zT$X8I+tqk4D-Y7eeV~`@8DB6v-!8<>i6{7vHw2RSJbMLoqk~EqNT}O-(EjF ze$!ay)2DBR-#FTB{_e4_ZgGD0z5W|36ZI_=U= BED-6cQx^gXAXM+TKCV6{n0fMO%tLnB+>c($kEzxzT#30_Rx8^o%~;F<#ei~w zhj@(eiyuOq^PY7$Fva^#hc9Plt#y2VnZr+0H+<&s>ViN0Nz*Ol>KKl9e2unXPMYD= z5C8hN{M}E~j?h-}ARKEkjCFXKWF_A1GymET{JZb|coHh-Xu9E==vd^cU-#fJw#H60 zn@d~dqY8rC<4wgJ{ddSX8|rB7erR^e>?Y2ao2OE^5RV6`4dyy@TGF{*QKT7B$VZDQ zTj$@NLDgUu(yQnC_=gbHcTjd=6fq2^@qGUD{`u|u{$WpcSq8K%$~7Lt!$%T0TVBszCVgYW62}EEU26J#hFjCZrdI;)Kif2L_3Dp5ynT7Czx>_Sg^t(ez467V zQ}Y)-f6Do1->EY{NSm>0&Ab!h`m?l??6O&Du_5uIQ6*@rj@Zra!>s_$v`}^G#$L zE|cR6E|1D_=jemjW3bAuInrT#5uj=l$!+DIvq-((v#ExE9;x}7_7&ZVN8I7|CNsx@ukL9=u zj`C2aI{pR7{_oR1bqx4RUm_RtdfM+ikmF@#XgFGh`hkV7v~=o;JI_#kJCVmz|7wq+O821$67urU1a!e^I$eEO@4 zl_e)npE|WEi0kgoZ1k=F*k|76XE$y+bLz&D4>xYy>y5RvWh{i|nFfNgbe@d$;pxf#a96cWS4SVx|Pjj}T1Q^*!gEXu4Bjtt0?t%5(#75=d5zw(cZeGj|!jxt8( zS_x8rWUYi$&{88%!FzGxsL1Fi#E_kz;_#V~J0^XDJLT0bR!aQ`W%4FH(cY^>QB7Ad zkAX&mKN4W9TTf`r{PhyDB^8umJmq^nW-QC6K#6Ju(Y90$Y2d7pz}3aLown6Si0N{e z`6ia#wu_^gLpj~Kq6ii`ANDKGH~Hxl5vbq0NWMwri-ZIrVloZJ#qVHgb;(wyg&&&Y;zW3W@PAro-ncyFLkOD1@!cHTW-bW z0cWA}6>}&!KGOGsN$+ejBz%7&;i4Q5kTDjk$p@pdaMT=Kh!fS61MJ22K}S`+7S{n- z73I^x9#I2$S?~m2 zrjNr**jbMlj~wl{C8kvi=IoiiZr*oyPU)q^v$kfqR7E$Qs(!96%lY=4rI+Wuy5t4P zmgloqF1t{%x2n|oN)NBZ$^PyBG)%?2?%Uis(jmutFW`EjS{=*bC-MCyuyw?yCyo{s z3-D3xIv;B5tE@HFlh-(UK{>12&%D!J4H08UIdH9%AlS_=2G(J=23|iKhIVs2qm%wX zJ^v(Y`mLMlk{r%<4=hxZcAMTl+;J2zw{-s?B-4JU7_cXZ2$jHTmV+D(^=(XfGc7PG zMTpT$ydqGuIYL)3qBYa%;MGB(wxvXl*IeO9q(j&5O5!hfffdFb&8!*K_w2zE@+gE6 z2{d?v_V#z4YI5wCTsdw|$dmfHz;&+b)G1V#b6M3z<*Y$ca>PST-WSlqQM!rmr6zf( zTu%($2bj**@Pj0zHHRz2BB|Y8GqWm^#l>+wiOH^Na=1%xKZ>>+^+ayz)^T!(?c!`}Y) z@~@u)5$B0P#KnGTEs!jfPe5eGIEcI%xp1>9&fo=2$_bwdF5w z+TUvR*HW*2K)YM1#V}@$J41kDrDfQF9FH5DDJd?de$(b6^d5fdS_y35Td6IKvGQ^G zXv}*8kq}eq9z^W7;Ik)Tt6D7980E!gIbJYez=!Bn$^`v>D}lL)MeJ=1O`A#7jL4}U zR((QCtBy8@qpaL=zgC6T<%LXDEDFuhXyD31{J3u{o$lihM=|=wLv}~i1tp&9k^{J7 zC+J{f3VE+It75~CQ9n)rO%8`)hPC4ERxFpTPln{Z^xtf%ofLb^upqA`|;A1yBI+XB`%&gKAkC+t;sHV(Dn$-D~u4fN^ zRrwSY%$yhs#_})h2T*YB2^2gt4h6dpZV6kMB~O1Kt~@>?>a$kPk(W2m_`022et-Kf z!EDFW8%tUJnzqX9(CA9J4ec!|hJtXq)e;g+js^w8cl(5pL*`P7ML9uqPi1?z2JvFI zh*X3211$ojjkFQeuU6&Ia}E5GViI%pM2gMA5rrEc((bk_XXI;rmSv;Va{_;o(U`cG z)oH*S6xtO*IT~l{+DsnFv)WE3Su|9;1u}&cs$|34u4M@0OZw+L--1Wuu z_T;+UJct$EA{tFfBhga1jr#Glt!9N}woj!-CbuQ13_xr5tx{rG{<>OHcf_-pdU}D) zn(=noEXp%-o<1gv>iLj`ILQ;ZEL40Y5qC+iT7sl`ecYX~>X-Zw~| zZn>UsGOOD4M9L>TGN%Jo;_~FQ`xKM%2Lq0soV}``d=nGihz;Tn9RVA58pLLDtsNVp zyy}A^T@pPQ2x-)hZ8!U}(FA%dYEDQ18X}e;#9Dxoz@)tGh_gTE8>?eA@YhMm2hA;V zyt#Q)PZUB>II5wu;g?nEDH_TTzqlQ$!%nK3=^PjWz58|69Hg;VKjxnaHS^sX_S|2I z*|?NBs*O23|~W-%rl82p}MQVct?Uk+ZZ ze_OiuDG-=5F$j!xtj2(D;P?at=KiW1?AzoTElE!B2KOl?*_sWBA#H#b_=%y$A=EHy zN)hG4v#y@)o`#O4aL6=FrYB+`p!zA!$?*e-?GkaQoouuB9)%=6_-6MZR}t ziEc`Rd1W)Z+f=+VY-w7_VfgJ4iY7GNSwx~QD4QLSy;2H!hGv#`=(Qg3PJBo5x^AfG5 z3*edi=-{|bO*n6Y(g`4fi3Y$Pzo0=tzf1YpWvzx@tRQBjf6!4Bp$KrU5@NIfbFRrO zK-K^whXB@eRShsIDIeJASDGJAySpUFS95@|I z<8)JRop^-?xrX*+l1e?{!{PyNs5gL>Z-R;86LOr+AB*RZz3pJ)TSwz3!?^KvE(OL- zr$UG&6od1DrM3fc*GX(ZG zBa;yXY*B#_Ywf$KucO?bGeS8||70!Ycx-$MQJ$R`QLv5gf~?il4Nnkd{y3tnI#itO znxjqnu;Re{b8osQzw_4S%O^Z5UcDMsQQNbuJSgyVbzpVv`m=$-l9|W1_=J6be9O7* zD?VwueNgV5`*jO*C@YbraJGgH-e`w23(j4rJ-4|fm5m1E<)HboD2)yp2m9_6c<7PA zUSB92IRtnZM6r<(cNpg;JZe0+3L}s8+3Mx^b%ehd3_EmFjwhu8(HjmL`bkgVEx@tn zQhsdvcfOk%PBWCx1%^VMy-QCBG(14K?`lC365bTY*|}$Ao(9)t6&B_AHUsrx0hs#E7%#r&9w!`?&K2aTY#CoV>`*z%Cuhz5V`-urFM`irl~U)%U$G zoX*~t(zN8&cRIa0mTx>4x%>6y^GPhN%d!UUJ(o=a>%i6 zT#k#FW{^VZ;sIHN9|ulW8nCv)6^cRCG0G`S{fLN}xG|V%&NB%ztcO7Y2DI||IVhTg zie{UsccuMn14Ma@o?pfV1BM5vrR{Jy3UxOCS2%;iE5m85aMUlayw>qF#a*6%!CYDd zJuxZpnoQinf?{=wdMzpru=7jWq@t?kNr-v0_i0Jm)yi!5LI!ztYYUFQA%O1=F+x2) zpqPg8;>TvT*fG4r%X0)3+Z4`$OQ;WUSh_xo>uLH7C-A0jfW6FwZs2ly5i`3M6S>?~ zl7`MIEsy$9`-im#6od22Mag^8NW&n}s>PvZ%!R=Np$&$_G~GLrTKvamiRkMx>{B;N zo`QkrCWZmb75xAZkGGz{z@o>k%;h`D9xX#jruyt}!mLi;eLmf}^}DZrx|r>DbY<72 zFIMa?>%8c;^U`f(!~S*K51zZoe{tIMMVmkPAn2pT*{=HwE|((r=QNEBS)HN<;t(0v z?yHzv|J^4Q1BwgaIDohSAqp1&vW<*d|1HNy`@os7K$QoGXq80^@KGORmr*PSxu^PO zhKw~rI{+lXm<|Nv?tD5+h?QOh^fzILdYuHRNeArr)XhVa5eYqNz7`QduTJS5))Nm! zSU9SncLhigazqx6lGO~1j`keGg;;=>YK_E9ISq;Pu=lhoolWVWdv7ZY2C`9bt+N?`Cfw~1c*;vNELXfSwx^~F|5Vt5h$6NVL|EjAgZ|&QiDxT`L^q9*Mc;z zN~{LSywOAsv8yIP0zWVz0P449BecY$0O;z5m4>u06Ghi=L6+M0p>wC&5HLTxb|vQ?N0W**{$ zwiefccuoKdWM^n9B`Ls(QaLULVe@>7>3?T3mi8#i83Wr}%lSl&5W6|#aEC&UW4#8< zF&0tB*y1dsPVto6mB}LyGaqGjv}iSE(mx0yP6o!uqB2yBY%aK`$8~mR0*OLA)QXpB!~K2>$*Xu`;`g4Xj!GC=iM~V;%k!&rA@Bu>z&dnBLw^ zOFS%wv#8G!6nD!SG&tHZIO`!BB2rQd)reYVN+{6cycD8&5T!oYQ;YC2LdUXdMY8c! zhEfIxlOUbwD@J|JlQ)cF7muCg3i%}541td1Kn`rKQ98ZZ7W2)9c;_7I;h3uf* zgiJxam_k~hR42y|w8U5)^E;3*62)h?bQpBhr+Lc)XkuC*(q^Lf&S4@fm>z|w%7xe= zD@Io2P0Cb4Qs5(7cozIoFY07y#_|uPz+=a=cb6u+O@ecdPh%W>xhTHo8v0c2drn;Y z*cTO5p!UCfQu|)xwZ9{NLD<4g@)uPnvrd0P28R96p+0~A^=;fTM~@wz=AT)k(Yl&& zV`wd0(`F(|idhLQ24cWqm$VZ+kspYABVJa7VkHB!t>%(r>1_>g4<4i%YyfFR$lzZ` z+IkQWN2c^{{L~Fy#$KJlxd>*X3fo-}E>S3P8D=25#3;%{G>z2n{@{{WbE?4CP-p){ z4Rr&dWEEydfy%10#c{}OtjV|tQ6HV{ZcS=4F}ZHt2xKKHw7N-vE@LYyrv)lNMx;Uo zHi;re#%~PDL38FnF!ig}&>ai)*g-(%mOCR{fexaYW(~Ow*!pQ+eB>DQM}Y{$@=X|n zi(uE?=9;(JER}qDkmo6`JneoLgt5uOOHQQ)%1z0dQkv78dP=NldAR}uj)7B zJKl25-mF>rq_AzMYg1A^vTL}y!dC~+Xs>JBT$k6o9pSo-P2Zr_g+bI9X z`w%-+N2-sh4EB^X*J2h5PCI<9JuAK$(co)?kWRx0N;w1Fp~AGw?OxpiOG+AfAPuH> z(<`&dOXYZ@sZ&{zTTv3^%^a0zv;07g970vXF@Hb!(bjQG^Uc*~4jljazBKo^J9qK% zRP*+&@vk39eRku@1?`#jXQ74Nx|%G_v16%HQ?TkzgXpzl9dbkq8)ItL1b&LJeq=a8xgKopOH+|?`$1kvvF>g_@84Crbsi=OB-kLrlXA@y8A zVv%~>&P27e9#(q;?P^J^CLpkgP4`YaQiSKHP+p{Q0~waA<^z@2MzkT|GMf>supK|Z zArH(!5>^`b&?h1878Rc=1IaHY4J4lpx?TmiIfLPtza1yE8n!)4DFAon3n?~L%aVgL zzwb5JElDXb@`;+x_u6G_rr)LWH9aW;9^6QI#4M$TNL!cDs8)boi_n1LTFnJ{x^kkV z7y(i@?T`gO*3oBxE2xJh2=|Pr^2NU|ehMc3HZe>*w}}P;!@>0lOe`ITiO~3+F|OI# zq}W@Q4UM+VOFw$y{o`xjI+-`;$I=rYUMzb)tY!W;`hPsQ8JmD8?!gV$WS|MB~# zf$fbWuSFyYM1^8gUQ5hRMi)Pj)MUYK#Trj0cnyRA0uFDl1=MUQi{Y*&Z7LuM1WZEC zs;pI^X)76Q&IcDwF(n?bRXE}^0MtRXIv9wQIXd9GmV?9z_40~(ccmn4A%;yE9RAoGBlTy(iUFP2$Acv^nWNiHbgw+AXkc84 z9Ypm+EEI$sPLPJ9YRXOH+P>Sk+^L%jA{nHN0G8c_QWm)SYPWzx7b^hq=z$AzTVHQW z{$vbJI{F=ajaHiYjo~RI0e8tJdYzUvp9fyLHP!zKk}LyAa&P>NHXyb6sZx2E^RK(R zp5GkyJ@nYh>m^94xnEB-_i7?g)B+y7z$JQ85`3u_ndiL%#rC5dQro|u11B6= zDIwb)g7}85j|rfZkp>8_F<3Vl!OejPmC}h_1#*$Kmvz80?XC%uz^EJ~R=Fy0{o}qh zUv6_}wi990XGU9Zb`PE+qk%77j5F{(qdypk2MJ; Trusted Notebook (and the image needs to be where this notebook is expecting it)\" width=\"500 px\" align=\"left\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Quantum Animations*_\n", + "\n", + "The latest version of this notebook is available on https://github.com/qiskit/qiskit-tutorial.\n", + "\n", + "***\n", + "### Contributors\n", + "James R. Wootton, IBM Research\n", + "***" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the notebook on [random terrain generation](random_terrain_generation.ipynb), we used qubits to make black and white pixel images.\n", + "\n", + "Here we will use the same principle to make colour images. For this we use the fact that each colour can be expressed using the [RGB_color_model](https://en.wikipedia.org/wiki/RGB_color_model). This uses three values to expressed a colour, which tell us how much red, green and blue must be mixed together. These values are typically in the range from 0 to 255. For example, black is (0,0,0), white is (255,255,255) and red is (255,0,0). With this in mind, we can simply have three separate monochromatic process for these three colour channels, and then combine them at the end.\n", + "\n", + "Another new aspect we'll introduce here is the ability to encode an existing image. For example, consider the 'image' below." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "plumber = {(0, 0): (255, 255, 255), (0, 1): (255, 255, 255), (0, 2): (255, 255, 255), (0, 3): (255, 0, 0), (0, 4): (255, 0, 0), (0, 5): (255, 0, 0), (0, 6): (255, 255, 255), (0, 7): (92, 64, 51), (1, 0): (255, 255, 255), (1, 1): (255, 0, 0), (1, 2): (255, 255, 255), (1, 3): (0, 0, 255), (1, 4): (0, 0, 255), (1, 5): (0, 0, 255), (1, 6): (0, 0, 255), (1, 7): (92, 64, 51), (2, 0): (255, 0, 0), (2, 1): (255, 0, 0), (2, 2): (255, 192, 203), (2, 3): (255, 0, 0), (2, 4): (0, 0, 255), (2, 5): (0, 0, 255), (2, 6): (255, 255, 255), (2, 7): (255, 255, 255), (3, 0): (255, 0, 0), (3, 1): (255, 0, 0), (3, 2): (255, 192, 203), (3, 3): (255, 0, 0), (3, 4): (0, 0, 255), (3, 5): (0, 0, 255), (3, 6): (255, 255, 255), (3, 7): (255, 255, 255), (4, 0): (255, 255, 255), (4, 1): (255, 0, 0), (4, 2): (255, 255, 255), (4, 3): (0, 0, 255), (4, 4): (0, 0, 255), (4, 5): (0, 0, 255), (4, 6): (0, 0, 255), (4, 7): (92, 64, 51), (5, 0): (255, 255, 255), (5, 1): (255, 255, 255), (5, 2): (255, 255, 255), (5, 3): (255, 0, 0), (5, 4): (255, 0, 0), (5, 5): (255, 0, 0), (5, 6): (255, 255, 255), (5, 7): (92, 64, 51), (6, 0): (255, 255, 255), (6, 1): (255, 255, 255), (6, 2): (255, 255, 255), (6, 3): (255, 255, 255), (6, 4): (255, 255, 255), (6, 5): (210, 180, 140), (6, 6): (255, 255, 255), (6, 7): (255, 255, 255), (7, 0): (255, 255, 255), (7, 1): (255, 255, 255), (7, 2): (255, 255, 255), (7, 3): (107, 92, 72), (7, 4): (210, 180, 140), (7, 5): (107, 92, 72), (7, 6): (255, 255, 255), (7, 7): (255, 255, 255)}" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This is an 8x8 pixel picture of a tanuki plumber, expressed as a Python dictionary. For each coordinate of a pixel, it gives the corresponding RGB values. This can then be turned into a proper image. In this notebook, we'll use the `PIL` package to do this." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAADUklEQVR4nO3dsY1VMRBA0We0HbE5ENID2wGtUAAxCQ2QISHyzSjo0cEmXyPLuucUYI8sXTmz133f19HW2j3BY04//8O92z0A7CQA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQ9je9w+vv906bPx/8Db3IDkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKTN/w8w/T7939fZ9ad9eN49QZobgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBtDb/ef61rdof7WqPrTzv+fIb/f/j68nl0fTcAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQNrx/wPwttP/B/j369vo+m4A0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgLSn3QNwtun3+7///D26vhuANAGQJgDSBECaAEgTAGkCIE0ApAmANAGQJgDSBECaAEgTAGkCIE0ApAmANAGQJgDSBECaAEgTAGkCIE0ApAmANAGQJgDSBECaAEgTAGkCIG3d9z27wRpd/hoef5zz2csNQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZC2vnx8v3uGh/z487p7hIe8fHrePcJDTj9/NwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRA2n8dmy0sa+CUzwAAAABJRU5ErkJggg==\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from PIL import Image\n", + "from IPython.display import display\n", + "\n", + "def save_image(image,filename='image.png',scale=None):\n", + "\n", + " img = Image.new('RGB',(8,8))\n", + "\n", + " for x in range(img.size[0]):\n", + " for y in range(img.size[1]):\n", + " img.load()[x,y] = image[x,y]\n", + "\n", + " if scale:\n", + " img = img.resize((256,256))\n", + "\n", + " img.save('game_engines/outputs/'+filename)\n", + "\n", + " \n", + "save_image(plumber,scale=[300,300],filename='image1.png')\n", + "display(Image.open('game_engines/outputs/image1.png'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We will now turn this image into a quantum state. More precisely, we'll turn him into three states, with one for each colour channel. We will assign a bit string to each coordinate in the image, and use the probabilities of those bit strings as the value for the colour channels of that coordinate.\n", + "\n", + "The above image has $8x8=2^6$ pixels, and so needs 6 qubits." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "n = 6" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "When we set the probabilities for each bit string, we need to account for the fact that we do not have the freedom to do this arbitrarily. As probabilities, they must all be in the range from 0 to 1, and they must all sum to 1. We can do this simply by renormalizing. The corresponding amplitudes of the quantum state are then the square roots of these values.\n", + "\n", + "First we must decide which bitstrings belong to which values. This can be done in exactly the same way as for the terrain generation notebook." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "\n", + "L = int(2**(n/2))\n", + "\n", + "grid = {}\n", + "for y in range(L):\n", + " for x in range(L):\n", + " grid[(x,y)] = ''\n", + "\n", + "for (x,y) in grid:\n", + " for j in range(n):\n", + " if (j%2)==0:\n", + " xx = np.floor(x/2**(j/2))\n", + " grid[(x,y)] = str( int( ( xx + np.floor(xx/2) )%2 ) ) + grid[(x,y)]\n", + " else:\n", + " yy = np.floor(y/2**((j-1)/2))\n", + " grid[(x,y)] = str( int( ( yy + np.floor(yy/2) )%2 ) ) + grid[(x,y)]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The following function then takes an image and a mapping of coordinates to bit strings and makes three quantum states, one for each colour channel. Each is expressed as a Python lists of amplitudes." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "scrolled": false + }, + "outputs": [], + "source": [ + "def image2state(image,grid):\n", + " \n", + " N = len(grid)\n", + " state = [[0]*N,[0]*N,[0]*N] # different states for R, G and B\n", + "\n", + " for pos in image:\n", + " for j in range(3):\n", + " state[j][ int(grid[pos],2) ] = np.sqrt( image[pos][j] ) # amplitude is square root of colour value\n", + "\n", + " for j in range(3): \n", + " Z = sum(np.absolute(state[j])**2)\n", + " state[j] = [amp / np.sqrt(Z) for amp in state[j]] # amplitudes are normalized\n", + " \n", + " return state\n", + "\n", + "\n", + "state = image2state(plumber,grid)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can load the states into quantum circuits using the `initialize()` function of Qiskit, which initializes a circuit with a given quantum state. We can then manipulate the image in a quantum way. Here we'll use the statevector simulator to do this, which outputs the final quantum state." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "from qiskit import *\n", + "\n", + "backend = Aer.get_backend('statevector_simulator')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The final statevector is a set of amplitudes, but our encoding of RGB was done via the probabilities. For this reason, it would be useful to have the standard counts dictionary as we get from other simulators and real quantum devices. The following function performs the conversion." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "def ket2counts (ket):\n", + " \n", + " counts = {}\n", + " N = len(ket)\n", + " n = int( np.log(N)/np.log(2) ) # figure out the qubit number that this state describes\n", + " for j in range(N):\n", + " string = bin(j)[2:]\n", + " string = '0'*(n-len(string)) + string\n", + " counts[string] = np.absolute(ket[j])**2 # square amplitudes to get probabilities\n", + " \n", + " return counts" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now let's have a simple example where we load the image in and then extract the results." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "q = QuantumRegister(n)\n", + "\n", + "counts = []\n", + "for j in range(3): # j=0 for red, j=1 for green, j=2 for blue\n", + " qc = QuantumCircuit(q)\n", + " qc.initialize( state[j], q )\n", + " job = execute(qc, backend)\n", + " counts.append( ket2counts( job.result().get_statevector() ) )" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The only remaining job is to turn the three dictionaries of counts back into an image. This is going to be a bit ambiguous, because we need to undo our earlier normalization step. To do this, we'll assume that, for every colour channel, there is at least one pixel with the value 255. This means that the maximum probaility for each colour channel will be given the value 255, and all other values are assigned proportionally. This is done by the following function." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQAAAAEACAIAAADTED8xAAADYElEQVR4nO3dsWkdQRRA0b8fVWSUC4eqwagDtyLnjpW4gZ8JhHJl6metDpQsj2W45xQw+xj2MtnMtu/7ZWnX69kTHLP6/i9u8b8HjhEAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANLuxr+w+v3906b3x/sD3/J3kiYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKTNvw8wfT/9+8fs+tMe7s+eIM0JQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZC2Dd/ef7leZr+wL97w8vsz/P7D76fH0fXX/nvgIAGQJgDSBECaAEgTAGkCIE0ApAmANAGQJgDSBECaAEgTAGkCIE0ApAmANAGQJgDSBECaAEgTAGkCIE0ApAmANAGQJgDSBECaAEgTAGkCIG359wH43urvA3ze/oyu7wQgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASLs7ewDW9nl7Hl3/77/X0fWdAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBpAiBNAKQJgDQBkCYA0gRAmgBIEwBp277vox+4Dic2PP641fdnm13+8n94fScAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQJoASBMAaQIgTQCkCYA0AZAmANIEQNr26+HH2TMc8vL2cfYIhzz9vD97hEPm93/2BQInAGkCIE0ApAmANAGQJgDSBECaAEgTAGkCIE0ApAmANAGQJgDSBECaAEgTAGkCIE0ApAmANAGQJgDSBECaAEgTAGkCIE0ApAmANAGQJgDSBEDaF+faLh/C7eNFAAAAAElFTkSuQmCC\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def counts2image(counts,grid):\n", + " \n", + " image = { pos:[0,0,0] for pos in grid}\n", + "\n", + " for j in range(3):\n", + "\n", + " rescale = 255/max(counts[j].values()) # rescale so that largest probability becomes value of 255\n", + "\n", + " for pos in image:\n", + " try:\n", + " image[pos][j] = int( rescale*counts[j][grid[pos]] )\n", + " except:\n", + " image[pos][j] = int( rescale*counts[j][grid[pos]] )\n", + "\n", + " for pos in image:\n", + " image[pos] = tuple(image[pos])\n", + "\n", + " return image\n", + "\n", + "\n", + "save_image( counts2image(counts,grid), scale=[300,300], filename='image2.png' )\n", + "display(Image.open('game_engines/outputs/image2.png'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Our brave adventurer has been inside a quantum circuit and emerged intact!\n", + "\n", + "Now let's do some simple manipulation. We'll simply apply a rotation around the y axis over the course of a number of frames." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "frame_num = 20" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "These will then be compiled into an animated PNG using the `apng` package. Note that you'll need to run this notebook yourself in order to see this." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "from apng import APNG\n", + "import os\n", + "\n", + "state = image2state(plumber,grid)\n", + "\n", + "filenames = []\n", + "for f in range(frame_num):\n", + " \n", + " circuits = []\n", + " for j in range(3):\n", + " qc = QuantumCircuit(q)\n", + " qc.initialize(state[j],q)\n", + " qc.ry(2*np.pi*f/frame_num,q)\n", + " circuits.append( qc )\n", + "\n", + " job = execute(circuits, backend)\n", + "\n", + " counts = []\n", + " for j in range(3):\n", + " counts.append( ket2counts( job.result().get_statevector(circuits[j]) ) )\n", + " \n", + " frame = counts2image(counts,grid)\n", + " \n", + " filename = 'frame_'+str(f)+'.png'\n", + " save_image( counts2image(counts,grid), scale=[300,300], filename=filename)\n", + " filenames.append( 'game_engines/outputs/' + filename )\n", + "\n", + "APNG.from_files(filenames,delay=250).save('game_engines/outputs/animation.png')\n", + "\n", + "for file in filenames:\n", + " os.remove(file)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![](game_engines/outputs/animation.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "In the above example, each qubit from each circuit is rotated in the y axis at the same rate. These rotations all cover the range from $0$ to $2\\pi$ over the course of the frames. To explore different possibilities, we could choose different fractions of $2\\pi$ to be covered over the frames. Setting this $>1$ will cause a faster rotation, and $<1$ will cause a slower one. Setting it to an integer will mean that the corresponding qubit will return to its original state by the final frame (or almost, anyway). For a non-integer, it will not.\n", + "\n", + "Below you can choose values of these fractions for each qubit for each colour channel via Jupyter widgets." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "2969de7e3f194c0c9616a4372d8aee08", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Tab(children=(VBox(children=(FloatSlider(value=1.0, description='qubit 0', max=5.0, step=0.01), FloatSlider(va…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import ipywidgets as widgets\n", + "\n", + "def make_box():\n", + " children = [widgets.FloatSlider(value=1,max=5.0,step=0.01,description='qubit '+str(qubit),show=True) for qubit in range(n)]\n", + " box = widgets.VBox(children)\n", + " return box\n", + "\n", + "tab = widgets.Tab()\n", + "tab.children = [make_box() for j in range(3)]\n", + "channels = ['Red Channel','Green Channel','Blue Channel']\n", + "for j in range(3):\n", + " tab.set_title(j, channels[j])\n", + " \n", + "tab" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Once you've chosen, run the cells below to extract the values and create the animation." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "fraction = [[],[],[]]\n", + "for j in range(3):\n", + " for qubit in range(n):\n", + " fraction[j].append( tab.children[j].children[qubit].value)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "state = image2state(plumber,grid)\n", + "\n", + "filenames = []\n", + "for f in range(frame_num):\n", + " \n", + " circuits = []\n", + " for j in range(3):\n", + " qc = QuantumCircuit(q)\n", + " qc.initialize(state[j],q)\n", + " for qubit in range(n):\n", + " qc.ry(2*np.pi*fraction[j][qubit]*f/frame_num,q[qubit])\n", + " circuits.append( qc )\n", + "\n", + " job = execute(circuits, backend)\n", + "\n", + " counts = []\n", + " for j in range(3):\n", + " counts.append( ket2counts( job.result().get_statevector(circuits[j]) ) )\n", + " \n", + " frame = counts2image(counts,grid)\n", + " \n", + " filename = 'frame_'+str(f)+'.png'\n", + " save_image( counts2image(counts,grid), scale=[300,300], filename=filename)\n", + " filenames.append( 'game_engines/outputs/' + filename )\n", + "\n", + "APNG.from_files(filenames,delay=250).save('game_engines/outputs/new_animation.png')\n", + "\n", + "for file in filenames:\n", + " os.remove(file) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "![](game_engines/outputs/new_animation.png)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "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.7.0" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/community/games/random_terrain_generation.ipynb b/community/games/random_terrain_generation.ipynb index 3bbf6b703..ae321d222 100644 --- a/community/games/random_terrain_generation.ipynb +++ b/community/games/random_terrain_generation.ipynb @@ -765,7 +765,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Clearly our Terrain maps are blockier than the example of Perlin noise shown at the top. This could be dealt with by adding more qubits, or simply by being careful in choosing how we apply the method. When generating terrain with Perlin noise, multiple layers are often used to create a good effect. Perhaps in future, some of those layers could be quantum." + "Clearly our Terrain maps are blockier than the example of Perlin noise shown at the top. This could be dealt with by adding more qubits, or simply by being careful in choosing how we apply the method. When generating terrain with Perlin noise, multiple layers are often used to create a good effect. Perhaps in future, some of those layers could be quantum.\n", + "\n", + "For another example of generation images using qubits, see the [Quantum Animations](quantum_animations.ipynb) notebook." ] } ], From fed9fa4f106e3b0168fb9be16c52a7fd5f70ffe4 Mon Sep 17 00:00:00 2001 From: Takashi Imamichi <31178928+t-imamichi@users.noreply.github.com> Date: Thu, 11 Apr 2019 10:18:47 +0900 Subject: [PATCH 03/21] Remove ipynb_checkpoints and change file mode of some ipynb files (#578) * remove ipynv_checkpoints * chmod 644 all ipynb files --- .../TeachMeQ/README.ipynb | 0 .../Week_0-Hello_Quantum_World/README.ipynb | 0 .../.ipynb_checkpoints/main-checkpoint.tex | 282 ------- .../README-checkpoint.ipynb | 56 -- .../.ipynb_checkpoints/README-checkpoint.md | 18 - .../.ipynb_checkpoints/slides-checkpoint.pdf | Bin 639257 -> 0 bytes .../Week_1-Quantum_Tools/README.ipynb | 0 .../IBMQ_setup-checkpoint.ipynb | 192 ----- .../README-checkpoint.ipynb | 49 -- .../exercises/IBMQ_setup.ipynb | 0 .../exercises/README.ipynb | 0 .../README-checkpoint.ipynb | 54 -- .../.ipynb_checkpoints/README-checkpoint.md | 16 - .../README.ipynb | 0 .../README-checkpoint.ipynb | 41 - .../.ipynb_checkpoints/w2_01-checkpoint.ipynb | 216 ----- .../exercises/README.ipynb | 0 .../exercises/w2_01.ipynb | 0 .../README-checkpoint.ipynb | 56 -- .../.ipynb_checkpoints/README-checkpoint.md | 18 - .../Week_3-Quantum_Gates/README.ipynb | 0 .../README-checkpoint.ipynb | 42 - .../exercises/README.ipynb | 0 .../exercises/w3_01.ipynb | 0 .../exercises/w3_01_s.ipynb | 0 .../README-checkpoint.ipynb | 55 -- .../.ipynb_checkpoints/README-checkpoint.md | 17 - .../Week_4-Quantum_Facts/README.ipynb | 0 .../README-checkpoint.ipynb | 42 - .../w4_01_s-checkpoint.ipynb | 789 ----------------- .../exercises/README.ipynb | 0 .../exercises/w4_01.ipynb | 0 .../exercises/w4_01_s.ipynb | 0 .../README-checkpoint.ipynb | 56 -- .../.ipynb_checkpoints/README-checkpoint.md | 18 - .../Week_5-Quantum_Algorithms/README.ipynb | 0 .../README-checkpoint.ipynb | 43 - .../exercises/README.ipynb | 0 .../exercises/w5_01.ipynb | 0 .../exercises/w5_01_s.ipynb | 0 .../README-checkpoint.ipynb | 53 -- .../.ipynb_checkpoints/README-checkpoint.md | 15 - .../Week_6-Quantum_Search/README.ipynb | 0 .../README-checkpoint.ipynb | 40 - .../exercises/README.ipynb | 0 .../exercises/w6_01.ipynb | 0 .../README-checkpoint.ipynb | 55 -- .../.ipynb_checkpoints/README-checkpoint.md | 17 - .../Week_7-Quantum_Factorization/README.ipynb | 0 .../README-checkpoint.ipynb | 41 - .../exercises/README.ipynb | 0 .../exercises/w7_01.ipynb | 0 .../exercises/w7_02.ipynb | 0 .../README-checkpoint.ipynb | 58 -- .../.ipynb_checkpoints/README-checkpoint.md | 20 - .../README.ipynb | 0 .../README-checkpoint.ipynb | 44 - .../exercises/README.ipynb | 0 .../exercises/w8_01.ipynb | 0 .../exercises/w8_02.ipynb | 0 .../exercises/w8_03.ipynb | 0 .../exercises/w8_04.ipynb | 0 .../exercises/w8_05.ipynb | 0 .../README-checkpoint.ipynb | 55 -- .../.ipynb_checkpoints/README-checkpoint.md | 17 - .../README.ipynb | 0 .../QuantumComputingIntroduction.ipynb | 0 ..._Grovers_Search_Solutions-checkpoint.ipynb | 793 ------------------ ...08_Python_Basics_Variables_Solutions.ipynb | 0 .../B10_Python_Basics_Loops_Solutions.ipynb | 0 ...Python_Basics_Conditionals_Solutions.ipynb | 0 .../B14_Python_Basics_Lists_Solutions.ipynb | 0 .../B16_Python_Lists_Vectors_Solutions.ipynb | 0 ...Python_Lists_Inner_Product_Solutions.ipynb | 0 .../B20_Python_Lists_Matrices_Solutions.ipynb | 0 ...ython_Lists_Tensor_Product_Solutions.ipynb | 0 .../B24_One_Bit_Solution.ipynb | 0 .../B26_Coin_Flip_Solutions.ipynb | 0 .../B28_Coin_Flip_Game_Solution.ipynb | 0 .../B32_Probabilistic_States_Solutions.ipynb | 0 ...36_Probabilistic_Operators_Solutions.ipynb | 0 .../B42_Hadamard_Solution.ipynb | 0 .../B46_Quantum_State_Solutions.ipynb | 0 .../B48_Superposition_Solutions.ipynb | 0 .../B56_Two_Qubits_Solutions.ipynb | 0 .../B60_Superdense_Coding_Solution.ipynb | 0 .../B64_Phase_Kickback_Solutions.ipynb | 0 .../B88_Grovers_Search_Solutions.ipynb | 0 .../B01_ Acknowledgements-checkpoint.ipynb | 63 -- .../B02_cells_in_notebook-checkpoint.ipynb | 144 ---- ..._hello_from_quantum_world-checkpoint.ipynb | 535 ------------ ...06_Python_Quick_Reference-checkpoint.ipynb | 789 ----------------- .../B24_One_Bit-checkpoint.ipynb | 539 ------------ .../B26_Coin_Flip-checkpoint.ipynb | 212 ----- .../B28_Coin_Flip_Game-checkpoint.ipynb | 221 ----- .../B32_Probabilistic_States-checkpoint.ipynb | 260 ------ .../B46_Quantum_State-checkpoint.ipynb | 212 ----- .../B48_Superposition-checkpoint.ipynb | 391 --------- .../B60_Superdense_Coding-checkpoint.ipynb | 224 ----- .../B88_Grovers_Search-checkpoint.ipynb | 548 ------------ .../bronze/bronze/B01_ Acknowledgements.ipynb | 0 .../bronze/bronze/B02_cells_in_notebook.ipynb | 0 .../bronze/B04_hello_from_quantum_world.ipynb | 0 .../bronze/B06_Python_Quick_Reference.ipynb | 0 .../bronze/B08_Python_Basics_Variables.ipynb | 0 .../bronze/B10_Python_Basics_Loops.ipynb | 0 .../B12_Python_Basics_Conditionals.ipynb | 0 .../bronze/B14_Python_Basics_Lists.ipynb | 0 .../bronze/bronze/B16_Lists_Vectors.ipynb | 0 .../bronze/B18_Lists_Inner_Product.ipynb | 0 .../bronze/bronze/B20_Lists_Matrices.ipynb | 0 .../bronze/B22_Lists_Tensor_Product.ipynb | 0 .../bronze/bronze/B24_One_Bit.ipynb | 0 .../bronze/bronze/B26_Coin_Flip.ipynb | 0 .../bronze/bronze/B28_Coin_Flip_Game.ipynb | 0 .../bronze/B32_Probabilistic_States.ipynb | 0 .../bronze/B36_Probabilistic_Operators.ipynb | 0 .../bronze/B40_Quantum_Coin_flipping.ipynb | 0 .../bronze/bronze/B42_Hadamard.ipynb | 0 .../bronze/bronze/B44_One_Qubit.ipynb | 0 .../bronze/bronze/B46_Quantum_State.ipynb | 0 .../bronze/bronze/B48_Superposition.ipynb | 0 .../bronze/bronze/B56_Two_Qubits.ipynb | 0 .../bronze/bronze/B60_Superdense_Coding.ipynb | 0 .../bronze/bronze/B64_Phase_Kickback.ipynb | 0 .../bronze/bronze/B72_Rotations.ipynb | 0 .../bronze/bronze/B80_Reflections.ipynb | 0 .../bronze/bronze/B88_Grovers_Search.ipynb | 0 .../bronze/bronze_getting_started.ipynb | 0 .../intro2qc/1.Introduction.ipynb | 0 .../10.Quantum error correction.ipynb | 0 .../intro2qc/2.Linear algebra.ipynb | 0 .../intro2qc/3.Quantum mechanics.ipynb | 0 .../intro2qc/4.Quantum computation.ipynb | 0 ...riting a quantum program with QISKit.ipynb | 0 .../intro2qc/6.First quantum algorithms.ipynb | 0 .../intro2qc/7.Quantum teleportation.ipynb | 0 .../intro2qc/8.Shor's algorithm.ipynb | 0 .../intro2qc/9.Quantum criptography.ipynb | 0 139 files changed, 7406 deletions(-) mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/README.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_0-Hello_Quantum_World/README.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_0-Hello_Quantum_World/latex/.ipynb_checkpoints/main-checkpoint.tex delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/README-checkpoint.md delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/slides-checkpoint.pdf mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/README.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/.ipynb_checkpoints/IBMQ_setup-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/.ipynb_checkpoints/README-checkpoint.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/IBMQ_setup.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/README.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/.ipynb_checkpoints/README-checkpoint.md mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/README.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/.ipynb_checkpoints/w2_01-checkpoint.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/README.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/w2_01.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/.ipynb_checkpoints/README-checkpoint.md mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/README.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/.ipynb_checkpoints/README-checkpoint.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/README.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/w3_01.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/w3_01_s.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/.ipynb_checkpoints/README-checkpoint.md mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/README.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/.ipynb_checkpoints/w4_01_s-checkpoint.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/README.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/w4_01.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/w4_01_s.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/.ipynb_checkpoints/README-checkpoint.md mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/README.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/.ipynb_checkpoints/README-checkpoint.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/README.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/w5_01.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/w5_01_s.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/.ipynb_checkpoints/README-checkpoint.md mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/README.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/exercises/.ipynb_checkpoints/README-checkpoint.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/exercises/README.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/exercises/w6_01.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/.ipynb_checkpoints/README-checkpoint.md mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/README.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/.ipynb_checkpoints/README-checkpoint.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/README.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/w7_01.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/w7_02.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/.ipynb_checkpoints/README-checkpoint.md mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/README.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/.ipynb_checkpoints/README-checkpoint.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/README.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_01.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_02.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_03.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_04.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_05.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/.ipynb_checkpoints/README-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/.ipynb_checkpoints/README-checkpoint.md mode change 100755 => 100644 community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/README.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/basic_intro2qc/QuantumComputingIntroduction.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/.ipynb_checkpoints/B88_Grovers_Search_Solutions-checkpoint.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B08_Python_Basics_Variables_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B10_Python_Basics_Loops_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B12_Python_Basics_Conditionals_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B14_Python_Basics_Lists_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B16_Python_Lists_Vectors_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B18_Python_Lists_Inner_Product_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B20_Python_Lists_Matrices_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B22_Python_Lists_Tensor_Product_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B24_One_Bit_Solution.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B26_Coin_Flip_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B28_Coin_Flip_Game_Solution.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B32_Probabilistic_States_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B36_Probabilistic_Operators_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B42_Hadamard_Solution.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B46_Quantum_State_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B48_Superposition_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B56_Two_Qubits_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B60_Superdense_Coding_Solution.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B64_Phase_Kickback_Solutions.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B88_Grovers_Search_Solutions.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B01_ Acknowledgements-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B02_cells_in_notebook-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B04_hello_from_quantum_world-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B06_Python_Quick_Reference-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B24_One_Bit-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B26_Coin_Flip-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B28_Coin_Flip_Game-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B32_Probabilistic_States-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B46_Quantum_State-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B48_Superposition-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B60_Superdense_Coding-checkpoint.ipynb delete mode 100755 community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B88_Grovers_Search-checkpoint.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B01_ Acknowledgements.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B02_cells_in_notebook.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B04_hello_from_quantum_world.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B06_Python_Quick_Reference.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B08_Python_Basics_Variables.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B10_Python_Basics_Loops.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B12_Python_Basics_Conditionals.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B14_Python_Basics_Lists.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B16_Lists_Vectors.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B18_Lists_Inner_Product.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B20_Lists_Matrices.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B22_Lists_Tensor_Product.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B24_One_Bit.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B26_Coin_Flip.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B28_Coin_Flip_Game.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B32_Probabilistic_States.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B36_Probabilistic_Operators.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B40_Quantum_Coin_flipping.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B42_Hadamard.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B44_One_Qubit.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B46_Quantum_State.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B48_Superposition.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B56_Two_Qubits.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B60_Superdense_Coding.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B64_Phase_Kickback.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B72_Rotations.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B80_Reflections.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze/B88_Grovers_Search.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/bronze/bronze_getting_started.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/intro2qc/1.Introduction.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/intro2qc/10.Quantum error correction.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/intro2qc/2.Linear algebra.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/intro2qc/3.Quantum mechanics.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/intro2qc/4.Quantum computation.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/intro2qc/5. Writing a quantum program with QISKit.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/intro2qc/6.First quantum algorithms.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/intro2qc/7.Quantum teleportation.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/intro2qc/8.Shor's algorithm.ipynb mode change 100755 => 100644 community/awards/teach_me_quantum_2018/intro2qc/9.Quantum criptography.ipynb diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_0-Hello_Quantum_World/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_0-Hello_Quantum_World/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_0-Hello_Quantum_World/latex/.ipynb_checkpoints/main-checkpoint.tex b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_0-Hello_Quantum_World/latex/.ipynb_checkpoints/main-checkpoint.tex deleted file mode 100755 index 51cf77a18..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_0-Hello_Quantum_World/latex/.ipynb_checkpoints/main-checkpoint.tex +++ /dev/null @@ -1,282 +0,0 @@ -\documentclass[aspectratio=43]{beamer} -\usepackage[utf8]{inputenc} - -%%%%%%%%%%%%%%%%%%%%%%%% THEME -\usetheme{material} -\useLightTheme -\usePrimaryTeal -\useAccentGreen - -\usepackage{macros} % must come after theme - -\title{Hello \qw} -\keywords{\qm,\qc} - -\begin{document} - -\begin{frame} - \titlepage -\end{frame} - - -\begin{frame}{Table of contents} - \begin{card} - \tableofcontents - \end{card} -\end{frame} - -\section{Motivation} -\begin{frame}{Motivation} -\begin{card}[Why] - \begin{chapquote}[2pt]{\href{https://en.wikipedia.org/wiki/Seth_Lloyd}{Seth Lloyd}} - ``Classical computation is like a solo voice - one line of pure tones succeeding each other. Quantum computation is like a symphony - many lines of tones interfering with one another.'' - \end{chapquote} -\end{card} - -\pagenumber -\end{frame} - -\begin{frame}{Motivation} -\begin{card}[How] - \qc can be seen as leveraging the phenomena that happen at the atomic and subatomic levels - in the \qw\xspace- to produce computations that, ultimately, surpass \cc. -\end{card} -\pagenumber -\end{frame} - -\begin{frame}{About this course} -\begin{card} - This course is suited for beginners in \qm and \qc. If you are already familiar with the concepts of a given week, you are encouraged to move forward in the course. - - This course brings novelty in that it focuses on \textbf{learning by doing}, and that is why you will also learn about \qk and \ibmqe. - - The author believes both that learning should be fun and that derision is a wonderful attention gripper, so humour will be used as the powerful tool that it is, wisely. -\end{card} -\pagenumber -\end{frame} - -\begin{frame}{About this course - Study plan} -\begin{card} - \begin{itemize} - \item \qm 101 - \item \qk and \ibmqe - \item \qi - \item Designing \qcts - \item \qa (Deutsch, Grover, Shor) - \item \qc applications - \item \q Computers - state of the art - \item Implications and ethical considerations throughout - \end{itemize} -\end{card} -\pagenumber -\end{frame} - -\section{Introduction} -\begin{frame}{Introduction} -\begin{card} - In this first week, we will start by defining what \qc is and how it compares to \cc. Next, a walk-through the novelty that \qm brings and how it compares to \cp. As a starting point to understanding how these quantum properties can be used to tackle problems algorithmically, we will introduce the concepts of \textbf{superposition} and \textbf{measurement}, that of \textbf{entanglement} will be introduced later, at a stage where it makes more sense and is easier to assimilate. -\end{card} -\pagenumber -\end{frame} - - -\section{\qp vs \cp} - -\begin{frame}{\cp} -\begin{card} - \cp (also \cm) describes the world \textit{as we see it}, in its macro level. Some of its properties: - \begin{description} - \item[size] objects with $size \gtrsim 1nm\ (10^{-9}m)$ - \item[speed] objects of $speed \lesssim \speedoflight$ - \end{description} -\end{card} -\pagenumber -\end{frame} - - -\begin{frame}{\qp} -\begin{card} - \qp (also \qm) describes the world \textit{as we see it}, in its macro level. Some of its properties: - \begin{description} - \item[size] objects with $size \lesssim 1nm$ - \item[speed] objects of $speed \lesssim \speedoflight$ - \end{description} -\end{card} -\pagenumber -\end{frame} - -\begin{frame}{The kingdoms of \cl and \qm} -\begin{card} - \centering\cardImg{classical_vs_quantum_dimensions.png}{\textwidth} -\end{card} -\pagenumber -\end{frame} - -\section{Principles of \qm} -\subsubsection{\qsp} -\begin{frame}{\qsp} - \begin{card} - A \q state (of a particle) can be seen as being composed by more than one different states, simultaneously. It is not in state A \textbf{or} B, it is in state A \textbf{and} state B, at the same time. This defies classical views of the world, where two things are never true at the same time and requires some mental effort!\\ - The state is, therefore, in a kind of superposition. - \end{card} -\pagenumber -\end{frame} - -\begin{frame}{\qsp - Schrödinger's cat} - \textbf{Thought experiment:} Imagine a cat locked inside a box, along with a poison releasing mechanism. The mechanism has a 50\% chance of having been activated at the time the box is about to be opened. At that moment, we cannot be sure of the cat's living state. Perhaps, we should assume the cat is both dead and alive, at the same time. With each state having the same probability. - \begin{center} - \cardImg{img/cat.png}{0.5\textwidth} - \end{center} - \begin{center} - To worlds, inside one. - \end{center} -\pagenumber -\end{frame} - - -\begin{frame}{\qsp} - \begin{cardTiny} - Formally, such states are represented using the \textbf{Ket notation} (as defined by \textit{Paul Dirac}). State 0 would be \ket{0}. - \end{cardTiny} - \begin{cardTiny} - \begin{multicols}{2} - Consider the electron of a Hydrogen atom, orbiting around the nucleus, with only two (simplification) possible energy states. As this is a \q particle, these energy states are quantized, that is, they take only discrete (quantified) values. - \begin{center} - \includegraphics[width=0.4\textwidth]{hydrogen} - \end{center} - \end{multicols} - \end{cardTiny} -\pagenumber -\end{frame} - -\begin{frame}{\qsp} - \begin{card} - When we have no evidence of the electron's state, we assume that it is in a superposition of both positions. This \qsp $\ket{\phi}$ is written as: - \begin{equation*} - \superpos - \end{equation*} - \end{card} - \begin{cardTiny} - $\alpha$ and $\beta$ represent how likely each of the two states is. These are complex numbers such that $|\alpha|^2 + |\beta|^2 = 1$. - \end{cardTiny} - \begin{cardTiny} - \small{ - So, why and how does \qsp actually work?\\ \textbf{We do not know!} (this statement pops up frequently in \q) However, some \href{https://arxiv.org/abs/1707.09483}{interesting experiments} might just be able to answer us soon enough... - } - \end{cardTiny} -\pagenumber -\end{frame} - -\begin{frame}{\qsp\space- Plane representation} - \begin{cardTiny} - \begin{multicols}{2} - Another important remark to make is that a superposition can be projected as unit vector onto a 2D plane (even though $\alpha$ and $\beta$ are complex numbers). In essence, this allows us to convert a superposition in the $\ket{0}\ket{1}$ basis, as is $\ket{\psi}$, onto other basis. Basis are orthonormal. - \begin{center} - \input{mathcha/superpos_projection.tex} - \end{center} - \end{multicols} - \end{cardTiny} -\pagenumber -\end{frame} - -\begin{frame}{\qsp\space- Vector representation} - \begin{cardTiny} - Moreover, a quantum state $\superpos$ can be seen as a unit vector in the complex bi-dimensional space ($\mathbb{C}^2$) \begin{bmatrix}$\alpha$ \\ $\beta$\end{bmatrix}, such that: - \begin{equation*} - \alpha \ket{0} + \beta \ket{1} = - \begin{bmatrix}$\alpha$ \\ $\beta$\end{bmatrix}^\intercal - \times - \begin{bmatrix}1 & 0\\ 0 & 1\end{bmatrix} - \end{equation*} - Given the following as the basis vectors (this is the zero-one basis): - \begin{equation*} - \ket{0} = \begin{bmatrix}1 \\ 0\end{bmatrix},\\ - \ket{1} = \begin{bmatrix}0 \\ 1\end{bmatrix} - \end{equation*} - \end{cardTiny} -\pagenumber -\end{frame} - -\begin{frame}{\qsp\space- Basis} - \begin{multicols}{2} - As a matter of fact, any linearly independent pair of unit vectors can act as basis. One well known basis is the $\ket{+}\ket{-}$ (plus-minus) basis: - \begin{equation*} - \ket{+} = \begin{bmatrix}\osqrt \\ \osqrt\end{bmatrix},\\ - \ket{-} = \begin{bmatrix}\osqrt \\ -\osqrt\end{bmatrix} - \end{equation*} - This is simply the $\ket{0}\ket{1}$ basis rotated by $\frac{\pi}{4}$($45º$). - \begin{center} - \input{mathcha/plus_minus.tex} - \end{center} - \end{multicols} -\pagenumber -\end{frame} - - - - -\subsubsection{\qmt} -\begin{frame}{\qmt} - \begin{cardTiny} - From a pragmatic perspective, what happens when we open the box and look at the cat? From that moment on, only one state remains, either death \textbf{or} life. And we cannot close the box again and expect a different outcome. - \end{cardTiny} - \begin{cardTiny} - \centering\textit{The cat is out of the box.} - \end{cardTiny} - \begin{cardTiny} - A \textbf{Measurement} causes the system to stabilise, in a non-reversible way. When we perform a measurement on the electron's state (let this process be a technicality, for now), we get $\ket{0}$ \textbf{or} $\ket{1}$. If we repeat the measurement, the result will be the same, \textbf{always}. - \end{cardTiny} -\pagenumber -\end{frame} - -\begin{frame}{\qmt} -\begin{cardTiny} -\small{ - To better understand what a measurement is, it is important to understand that it is \textbf{basis-specific}, meaning we could measure on the $\ket{0}\ket{1}$ or on the $\ket{+}\ket{-}$ basis (or another \href{http://mathworld.wolfram.com/LinearlyIndependent.html}{LI}). Example:\\ - You have a qubit in a superposition $\osqrt\alpha+\osqrt\beta$, you measure (zero-one basis) it into a bit and the result is 0 (horizontal). Now, if you convert it to the plus-minus basis you will get $\psi = \osqrt\ket{+} + \osqrt\ket{-}$.\\ - Imagine that the measurement had not happened and was instead performed on the plus-minus basis, the result would be $+$ (since $\ket{+}=\osqrt\ket{0}+\osqrt\ket{1}$). -} -\end{cardTiny} -\begin{cardTiny} - \small{You can now see the impact of choosing a given basis to perform a measurement. We will return to this later, the simple notion of this consideration is what you should absorb now.} -\end{cardTiny} -\pagenumber -\end{frame} - -\begin{frame}{\qmt} -\begin{cardTiny} -\small{ - Pragmatically speaking, \qmt requires a few considerations. Firstly, it produces a single output form a state that is stochastic, meaning that doing it once is not enough to be sure of the probability distribution. So, typically, each experiment is executed a large number of times (hundreds and sometimes thousands) so that the confidence in the results meets the expectations.\\ - Furthermore, as you will see when deploying to real quantum devices, current experimental setups are not perfect (and hardly ever will be) so even the simplest of programs may produce buggy results and a \q Scientist should be aware of it.\\As a matter of fact \href{https://quantumexperience.ng.bluemix.net/qx/editor}{\ibmqe}'s devices are usually well described even in the average error (noise) ratios you should expect. -} -\end{cardTiny} -\pagenumber -\end{frame} - -\section{Why \q?} -\begin{frame}{Why \q?} - To end this introductory week to the \qw, there are a few useful considerations to make: - \begin{itemize} - \item \qc is worth our time because it brings the promise of revolutionising the amount of computation within human reach, from tackling currently impossible problems to rendering most encryption standards useless. - \item \qc works because it allows for the massive parallelisation of computations hitherto unattainable with such ease in \cc, because humans are not defining this parallelism, Mother Nature is! That and the \qm at play (some yet to see) give it even more out-of-the-box characteristics adding to its enormous potential. - \end{itemize} -\pagenumber -\end{frame} - -\begin{frameImg}[width]{dilbert} - - -\end{frameImg} - -\section{Where to learn more?} -\begin{frame}{Where to learn more?} -\begin{card} - \begin{itemize} - \item \href{https://www.quantiki.org/wiki/introduction-quantum-theory}{Introduction to Quantum Theory, Quantiki} - \item \href{https://www.khanacademy.org/science/physics/quantum-physics/quantum-numbers-and-orbitals/a/the-quantum-mechanical-model-of-the-atom}{Khan Academy, The quantum mechanical model of the atom} - \item \href{https://www.goodreads.com/book/show/331680.Programming_the_Universe}{Programming the Universe: A Quantum Computer Scientist Takes on the Cosmos} - \item \href{https://www.goodreads.com/book/show/260142.The_Principles_of_Quantum_Mechanics}{The Principles of Quantum Mechanics, \textit{Paul Dirac}} - \end{itemize} -\end{card} -\end{frame} - -\end{document} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 0fbb6545c..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,56 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Week 1 - Quantum Tools\n", - "\n", - " * Python and Pip\n", - " * Jupyter\n", - " * Google Colaboratory\n", - " * Binder\n", - " * Qiskit (and its composing parts)\n", - " * Community and VSCode extension\n", - " * IBMQ and IBMQ Experience\n", - " \n", - "# Exercises\n", - " * Installing software\n", - " * Creating IBMQ account\n", - " * Local setup by running [this notebook](exercises/IBMQ_setup.ipynb) on your machine. (You can [clone](https://help.github.com/articles/cloning-a-repository/) or download this repo)\n", - " \n", - "## Resources\n", - " * [PDF slides](slides.pdf)\n", - " * [slides src](latex/main.tex) Latex files and image resources used in the presentation (useful for PR on slide typos and such)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/README-checkpoint.md b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/README-checkpoint.md deleted file mode 100755 index 74251cabe..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/README-checkpoint.md +++ /dev/null @@ -1,18 +0,0 @@ -# Week 1 - Quantum Tools - - * Python and Pip - * Jupyter - * Google Colaboratory - * Binder - * Qiskit (and its composing parts) - * Community and VSCode extension - * IBMQ and IBMQ Experience - -# Exercises - * Installing software - * Creating IBMQ account - * Local setup by running [this notebook](exercises/IBMQ_setup.ipynb) on your machine. (You can [clone](https://help.github.com/articles/cloning-a-repository/) or download this repo) - -## Resources - * [PDF slides](slides.pdf) - * [slides src](latex/) Latex files and image resources used in the presentation (useful for PR on slide typos and such) diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/slides-checkpoint.pdf b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/.ipynb_checkpoints/slides-checkpoint.pdf deleted file mode 100755 index bcddb6326646521da15f3934d123aa54cf7c6893..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 639257 zcmeFZWmH_-x-E*kyHmJZ;T{}agHe6-Zx&x4GAD(Cs5k=)BRd>L$9>)#90v=48DMW@1;@t+V3M)4Gc|Ow z^fEO8uzVl@2P-#_ofE($3D5=r**UlYKrSwTE`UiMz`+h+5(BWZv$JsnnB)LJW&o4Q zM|Ca^AP^uR0B34v@~2I}|GghL4&Z-uM8(s=6u_jRWNP-&4O2UF7YhLAM?b_ZZCp&9 zK8`kqE~cWU#`Y#3wf;UT7&_TH1OA90VsGPWYv&AL128E#nVMJ{yVyGcSpIYiz@+{m z1PcK8@%y2Il%0vG$49}3gust(|5ajU4`Ap1Afg0dQnI&q`Hs~MN62^)tA2P-Gg%#@o|K=)4!oL!tu4Q=5(GL4N)Hp~r-47gy)xr75C zrgZ^b#UN%S{RP?nf$V=l_J1J9Uy$P;$oUuK{0DOV1-br# z+O#dYK4*@^KmHo@Zs5+beTl>F?|AgRQLHXMY zi5R*V+Sr@_F$Vw2+#GBlarh^=|E)7p{)qO6y_5g&ejj%4Up@-R%<}(q7X}6&-eP0R z#K6p8!_EN3C;*H(0}=)oM+2)^W(MTz;1$rO^*ia&{usV}^H}Zx<$1?e8`(Rej%t9@ z3$zA&su&IzPBvG0DxfiJn_AjS!$REKGfhge#=K_V3gBf1q+4{>t=R{nwDGhpIy1!a zq^zB|mUo*V1_3osniiaY4(cS>fJfl6Rtdg?7c2^083?+tz%Vmka1Fy>r)%%A_E*Vj zTW>$8S!V?mi)Sg-)D^xtR?%`oeQ7>L*f7{I0|#+ml}i4v&gR47{%?Im?Co4k?OdDz z92|dN>aris&`{X^kN;!-c(HN-8M#>50YFY5BMXq@j~V=MlplWq;QG_dA3JF3Z13u1 z{PE=g0{`{pP;oN+@R@%uDCLj${|f2f!TJ-}|BTe1&-{Ol)W2fG3S?&c&)_Vb>MYxl zH=z2?tKZ~f4cuJ$c@9H527tf++5zl+4=W@!c2M_ySa4Kd`b zF%ehT=_OylPfaqND*0)c#y=8yIg(>1Uy(r|%#d_Q3Md74w5w63trz4dJ+N!Etz=dD zX;d5_C%Yjqml#(KcO>6HKjdhLS*EyiHVG-3#+AkU1!5P8z%gu&i$3Obbnr5HTiR>2 zqC@ii3g`TGgFTIX6oV{YX6iGF?(kNoBA#5<;NS6nalHNt6&>`H*DNKS)r}<^V_%n1<6^4Rxw4R1KN@EYYwiZ`65Drq zZ>)((Z;ZdzDOgI7Wl0$h6}H`}*G%{g$$w$k?#oG`iM*~myaU+uh>=@}647p5*;j*~ zfnDdF7zUgj#8<}J6-w5{(Rif=kS8mE!x6aG3q16}S$J!A1s)%!76LO5%cA_vx^z{| z&=P0f-8fpP&m^u@e$ai!$a|1enPDWU>;ovyRzc)4^6=BY3IY>1NiKhpl>>rn8Fdq;pt$(7c8!PR6+WA&V0if1>TG)5J0cf? zAoo{rw~41RSvi&^p?-0+iwj}J&rC?AD({NiaQh&|`P^EOK5J!tvZW3KMs>OJ{hNds z9Y4jCutY7iGDx<6%heREp@@Q%VzRhem$=H;Hp8=xA;+O%R2Y>pK12R%MAfouN@CJH#C9w!{qUl> zPkddbV$n;q{Trgn3Ov}Q34tPn=Me6#>Iy#v3j69zxeXoNGd+UBJ*>7h98EB7_!KV? zo!$G7=4s%84A6V1_-RxsKdY?1^IZu&s#(eAW@~}pLSP?dDNO;n#ubkFcJ+e@WvvJ z7_2b0uHP7t>kjVjG7X)Vw1Xjm-o4^y_(!f<&2pB~r{%eQDhfY~<~sSi#LNm8D{wPi zTa~(MF!<*jV=p>=A%zAl>6udtF~Tbr&_!32@g*Wf$^hnY!S;>31N=mGhfgfjv#4ag z24Cr|ZB@J-q8$|2w{~(hO@`DUSzr?;=!!QBVvNI`tB8CRSdEI{qp@ba#FemcEM<+p zq4`1o$VWaB<0~tXqiP>k10{jg!WgQm=;m7xeL(uSENR6t;OvCz5szF$lt^=@g0#`P zh(PNDd6^+S(u{l<^g-|OT#0{1nus#1DlsK7M8tp6DDXk?eCkO`E(_OXI1zFwA)Uc1 zh3PW=!P+g_w^8u$sRAZD$oL177&EC>%j-n0g2^wSou#E*V@dVv(N_g+{_1Eg(0?iB zDa}iU?ra34TlHU9aJ-6P?2tTbq*ReaEGNNtsw9zD_^jt)qFOcvW5yI7gf=7lK z!ep&e6eh{j#x_-=vD|45dVHccA@p%q11!dI3-m0mGc zGurXX7rf!HWkJ&(Kv?Y$UjF}{lY>^1ipP6d&q znhKl&Ao!3(KJE3w5_2r`bu4&rB)HDjE(F2RR|yyL_B@hs(q|UwA0=c&x#E2FW%2Y> zCvywhYe>hUla6xF_<1esYc`4kcg9C3$kLBvKhqKvxWyh$DjA@2P4*pk6Fe6Fb zJRmi|I5=LF0*12&u2>D)9%Guq#oI8yx95AW2$d|1HND~iqJ96Zfvywox$kB|Fk7H9 zgUp0X`VO4kN_T0iqc%4DrcgS{$}q}EXLXlU32g{34Wvq$nx4y4h#kG{w?_PLjmHJB zhS5|JAOD>i12xnZ#(ML1OF66Y@bW|zH40!W^haCz=Dv7_KwAnk&y#%1?dRExL^w=i z`X0nnN|r+DBH@_dcMJIK`iBl%(ggk*BPwOI)72a8a@##;;9_U&?$6cV_`_K|gVxoN z`8;Xe?A>CVO=U~YZQ_G;HSYQ1e@YDFRXCL%EI`$1I4VF(3l47wFn;zEV@R1s(;|On zP6E?32#gLUO3T~b=m9I?l1#IowQ~hG={bsy$zGqXZ*hRVaMm{0U&&B+wa-?T`g7u7 zpPeZAaWd~@pFR8M$hC>uhv->fm-YqbPLJx`k7IDDS=9+xZhtQdAbB@L|KG zm~tZnEK{7=&^NCQ7e88@y%@&vm2rPp8LZKAG8Otlbul|tyfr7)om}X4fk=^`xf-Z^ z#iT(^V0jn>`Ry(>7JCFgt}}^vjMIw;)<=Kn(Wy@N%c5YOsN8aXA$(|7L69XR8*>*q z#WU^g%e5eBXaZ9(lg)Rhp z`x~k-@W}Zf%0ZNN({)=qm^2(U#8BclBc`CTe>nP@LQ84!FS9M^9A<~rX;`~AmmvH; zWIpwAbJh*3(2{fqS^2vq`cgmBzUPQWHv@kFBbPU~Gl z{1cc&zo=7rU%5#SE8fW%?&ax{`VJhP6d>F2ZBhFcGS|v8#S82>x=%sxHV_t!Bbe4d zLQaL*SvwpCH>*W2nZwn3Q>26wd!1#M5zo}yp$IB}7?ZSzNv*{K7cpi}8YHdcXS3;b zfP1d`__fGFH+Sg_sfB zrUDm*!W#MyU~cctCqTOYT-Qm$&LYM8Z8YTDkxYtp6OQ0@mbqpDPOHJVUMb)$oPJR7))C}N(fi$XYHAL<}ED>s3q&TuBN=JN;6|N>%G? zdTp)UiCa{wB!0Gu*$_r8J5)u!=f7&Scl zx6P|vNGvbM8{TDTU*t{(Fc0Pw)A1*F8RO!IriA#jw!L5~PN5%qg_e5Yg|ALVTZC0$Q76 zkR)+HAg-=K0)4pX>6;zC5#BKIB1H&p47>EcENKgd{kQqXwp69ZFiZJk- z2K1X@AKu{D6!0lfkQPGlBk(XG`*(-d%&rOrkfA}yqwQP!et%RX7>KGM5d{$GVs?VS zYxz5ER*XC7_BMa2M&3>c4>~~@`{i2gP)!n4H=_3me|?t9!uIm&YL@*RviH+( zi6YJ5t&NakAS*sWp8}{ms6RbmJ-l#^Dl@-~a|FDHlmZMS0}hB+*NCR|30vN1KXcudtQ74y!gKu zcsFMC=R|35Hh;HE`9$d10vG=N1Mk!Of{tr3=1Sk2e;Y0J#VK%rwEXlqMjRcVZvuG@9igxal%p)!)UvdFS^o4l=o0}KFL9B%;2DUX6mIW%ALSi zR^LTxVr?Gp;M5j5ERR!}3+}!oDeHxv)T#@?qQs$$HA19h3=YwL;Ed#~sl?0Tj23eT zxeLfdC;h@@r4nLewLO-_Oa`@QsuCMdqe%WWQ7S01B4TZ0HjCL~r$on>YqzPtRBGor z`|+`2C+5!MEq{dSCxx(BC6PjcS1GXI?zf9lf*4hq8gG8}5N!4UHjXQ6hSs<@p?~_P zYwV8YG}7AJ2_sQmDH~|#5a!R){r5M&f}M3OMc~w^HmnW(HK7)(aDRpbF3oo4x({z^ zDtQOS7??d6Yv)634`j=%ruKJvBRps_c<0b2t+rhu5Ccd-8F+jg>I`L<^KZ7(QYzqkaC}>9vBy zlfu7y!Z8)r;2M+0n>b~1Qxw8ItROtcgNG{t+W2D5ro==MJS;67Yh5K0PsC=n7^Bjk z-g^ZuWc@OepK*1d%Rh=l-RCuf$?>&pRQtnC5RUbqNR_PDA&I>-_WSZ@Fc#hpD0aEW z5bS+L&p|luL!>3fhB@88vpK+aDYW%8-=4~*9<3Xw(#P=PBq8fwp{e(_)sNNaW=O>{ODuLt zD2ke2ibaY2Wk#tb#qJ3dZu~?c!qh`f?-@sfPOZIlNS^W~$BEN}vgQ{EdOI^zd9)s@ zmGLscWrmU)He@L%t36}&hA6TNSnesTmif?*zziI3!q1@;C#UCcBv|Ql1ZP*q! z$Op-kYS=Q2=FXa2&$u;cDNH{2{lV#pnvxN=$xhA)SUhk{E?BN*%+6$`=37d}g*45y z(_dY(gV6=eZyNA_4K((L%+Bkke2zMD=@kp5>EkeZe`?Uzv zN}Sor^=!F&uBgG;p)nM3ChpT-*m%r>rSA@HqhTo&65-{qdwK$L`gK#MUHz|eNY4B2 zs#P9axM5kQJqonrJ7KC^m+*#8mz9g($cwa0pgAjv$C+3f9~q(;WMmNViE8xLm=jyv zJkF*r?lqzMup6L=uI7i?awd6AdJ=K8HN?59bGUUbuT9dArB*%HH(cL#gaX@)J^F}9 zPBmhs!|=>CNU1?i4dhx|e0Y+!KZbAgG{Lm}%cPm@A}fN|?d;ggx8v>DD+R|<5Y9%N zE>N@_gPVaGd6*0G90oh`HO-dJS(L8Cw7Fjyii}}frD%9e;%S~gd7hwofH&X3y-8vp zUf3d+7hML}Df=Mv@MSqFBvy7;*%r4Qu~lxq6o*#w9U8hVl`8!_RD)rC93-2dI+|^SA{oo{UL|JNcv#m?wiCCru@Skmf8JcOEOYL zx3ELIuV<%~?16_iM9*3U>tW>p-|JV%xTBw4<DWV2VkL{Xm^6m^GkET!tPz$er0m zIDuFgou>uxBhGhzrzQR*XujPL9@zwHpe8T0$xKTvx!HJhS#lxFD$(~+ieYEMTA`@# zT*8o7T-KIwAMBeI((CsU-rWKtsL_F7*XPVl>K*T;WwXTXUDP*~JC*M%tMLkc!NM&T z{9t($x7&B8+G5x z`>3y<-Gt#bR0>J?9-cBTCLk?q8VG8vsKx~`*moH)_aiY*Wp&XLkT&q^jiycr4{=b} zaKZ$7y+}QRA*{9T;9~H_gc9<@1>>uxq>)l-`qf8w8(P&`TYV_I;@c#?qUgkwXbS?Erq+w zXkYur8G*PyjMtZLB+P{i`Cdf+TLyU5kX9bzlG|^x6}|}AJXr-RNXUjs@<{0AuG*uY*hBN)E8)G36`DPQTb+bH+X_6xxKifsMK`YgceiECLe6F?${;m7$ z!76=-j)yjwwDhP*iNHg4=_qh?uR_h}k`k8;QbBH<0|O7!c%5ZU9JNmP$}P*m^ohz> z=gvT&`s_HF321+!7dll7x}ka?S^Zv%f`})*5r&eeLxC3)QwJ$=ng3}KqO~RFcl69! zqw!|whv`_o4k_-tFB4ve&*Y)}(6N{q(H(5ne!4OaCtpH_PSz?dNUrQh5Bnl=>YoLcx2ey}qv# z7;BYaerSUk{{8CI`i5wR-TXGGm@KF!cH5VjmoI2wwZJl!#R#7_D_(26Tji^ia;nd^ z%^ot+O!ORsS-Z4iqcMHk-a#{v=tdXEvVs}&abaD}VE%CfBe&xm@w|&28CwGbP>1O1 z51a)|TEL*rd!mR-33JY#SW|eWrAn8blJ;23Rv4NTngD7>XrE&usYGf-6s|=F`-2mE zoF&ylefda^j?FhlBYG!U0Te{|eglXgsZem}Um^FV-~x)&X)uZ5b_ZC45(v)|bJOP< z@gb%jtm(vW4@S&a<#dK^b1Oq8m7Q|VZ>+thRQZ=$WWz+dI;0$7n)HSpqCLjJ9fC@( zy`R(Q5PE!?Yk77OTgRIY8WUOgk-j1lQiz$t<|m50wd?m8PaM>3q5ifIGrvxv>h}^7 zJ-0Zz#%hp|QmWnSvuIx^K!x6IS}2=|(dIjZA5wWp*t0)*?u?iv!Qs##gQUkGfv{N} z(wJd%yUX?qwlO~!UKqKX%gUg}O=hNPZ=CnDBNzTSA;SL5e-FuR1oe5mm8xv9ah> z2KMOftNEKDEkaO9Lwh*0=Wvp(7Qt+Q?dX@xru;AF68cINzY5143k~nDY-5U;N1I-% zZUr3qOB#w1ED6UvS>TW5?sqpSn(reBo*!aG-;R@Bg3;;igKpD*Y}P^wxyvjS)80I? z)48rZS7;+edSkD*mmBM|diqq;NyPSUTmB>#Z8@@wBGb7pzVMqM_q)?>yIXL$* z7(QE>>8o5dLs5K)=cg0hE8+7|jG3w`MX)SpJGVTK<(`v$%gNZML~k-JQ0?`mg_Tqo zWrlIp*_q0lnGL>lLH3~I&a-lL3UL~fyOT!v$h62P3@^0sAn;(0G6lP@(>&}VB}~@q znR)$Ljl9%qVQK<0g*h>cec-EG71#~{TRJU-xPid5CvTeq?sGxepQ|pu6_u2UgH$B(Z6`W^zbKk`+|f88QUzgbv!3$%r+FoNfkSsVg`HMOSF4Yz0dNCHEsVW*cni z$m+1M_Mr5T*w5B%nZJYMjeSF@utFA+lUf0!FKHS`IEO~YIou`_*De|I0?Ew?G9b?f z3ay}u%IZzvv;qW<14qSrNGr_^Tfg7X3{k4u0X(ubF5cg@h4~=QD(|Nn1 zw#v5B2V#18#=cJoDIqyk!uvIEj)p`=c=o>AjECb@+O&ZYe=iaIc(~2{^ha z6`2JquqmT6#nmYLlJ7qUlg!H~_2Mj6dfnQkB-?Xx?@s`X2n3V3W0_qd809pN}!`Jhz4h({3W=4`!m6A0qqwep_?-#+>Aj-c^=m=_dOd8V(^T<5OFT&*#gJ#q4!)XnC%LsK~533z>35eU*!inK7 zhogxHC0Ei6Z#MI~{Pqp<7TLtO^)ioIJ{KASMDM<`WlL}mCRBVcjb4l3kEU}SgGAN7;XAWMoF#*Qcc2On}5 z%*vJNR0VaJNyJEFECcnc9c&hd6AxXKjPpC$4o`HLm)s_9^(D~S=q!trAQrlQW2f=H zJI!vAX+KdogRvAi2OS4keeR|I?5G3_M#|>dW9T#URs{834QxEirrCpO3p_Ixee|=D zhGE7%88$DCu@h738m3pD^9p-L)Qv&ik=6T~)*Z?B-RejcJs4jd`H)YSFVj?ADXBU? zktgK{IguZPkLb?TP4w^es+*1DqnacdR8h%fUmfRmO5U(7t5KfR_fa^K0uj zVg3#0?}KIg3Rg;YiY`LGN?Z=yTA}-nGO?s(_sTrW{iq*%U#9rs!8bV!$g>o)968T{Q=f<}D;jYsKFC;q!Y@Zs!Z)T_RNq zm*0dL4TXi;tm~Qfv3-+X4&;kG-ccEURMiDW`oC0BFzRRq3Bb>pz#6vOWj#|G?ANbc z2|a}3ujM0-G!#^q`6AiH=b7i?Teimw9DuD2v^ddDgCl1*M&{;3^1rI(Lcl8$!QsW> zU7JYySiaIb&;M=+(_gQtbQ3J%2?!9O(i*fC*ECfol2)p{N zXuQ#P7@~%_NY-4yeWFD8YM%6jHaYOy3}_6rnJ(eCvQ5uPr3fi~(x|9%lB$ee?0u@6 zYly|Z5Q8MC<4UIfE#b_CeLG3&Lj-euB7(WOX_c=srS-beOZ7`^=K&7aKP0k&itHV8 zmTE9toPaOU`&NNXyahzi6x!PK2A&&wNYH&|cXMXDh%hLN; z+R`DjCj1DZW!hboq4=;w$#^sA?oI+xDnKb zbr#x%j}8+yZhUm_GJ0r-Llm2QH+m<1t~$TaCe_ipBJ|Xn4XYX4`n=;-$b$;3ss=sl zp@uk}CP%bIyMxcHT`o7&Vz2sFn=O{fwCSeiy9fvlSyfQ4w_fWc*q-ORCWPrDpg%pr zBb=${S|NB^nzjc%P0)XFsFBE>o_Jf>L~}V0sYz8sXw9cy7U>BL8yYTm|01~#Ph{sa zw_))%B_@cnI}s-qF8|VvmQO7pqFe6OGFncoF0rS}_BxYG6S&*L`ZVN@gIL?v)@_`5 zqHm%FQMa7)lvuC3`oJ#a#G5#@G+3zuoMY-US(BaS--D3dgBt(5we5tHQB>kv(uZM` ztLP2161&*M&>ow-h1iFK3RcyTB<5L>=JO=7Dcuy>uKdiWBk{oRqNRM~>4bU3m1VdB zg3%7#Mu}KCUStn<0*v_OSsX1-I#Qeu@9Nr1IC{Pj8dKfiZ1AHinmOXmXf>!Mp`?1K z+^Ef#y=GjDTF3%njHU6gz;{Y^muPU7;}T)p{1W8Rwq2aua?7}X{P0*6aJ!&TcNyU1 z_un=pbjW=4x6Om!duAt71IF(V8auc3uj?Y#m?7L5<7n7P zn4Ty}m2TBdxGs*14Tx4cjF0q?1j*hZWn{b8TG(?^8)U+oZt4An`nOf&SkN`cgO)Yu zzjswad!9q0Ia&La$q+GS@2KO84=#11g+^mNF`%Ub&1P>3<%QO+l> zUsJ}O@V3;88T?5Q46{bzMWs^Uf2&+Cjm!_f;-phq(C);P(36U@KSmI*)#o!-;e|vU z?Q65?EZHA{sWfw~eDO1~_0ad8;lrkx+(|_Of);0xRX}xg^{D?U*moPUqm_%gTN*Xn z$dQmSpJTO-iU#g=cTmO0j$1PKj`v|>s@%`0!X0`}I)(WU;UmSt=L)32bD^LibxT30 ziN#=BeQV-$u%|CfPLAC7yIt;q$TmWDHEcyz%saZpiFR5CM+h;!ji<`V!zx}B1fmpu z#t*s?VN^5Acx-I;0`cWK>e}tKJwzfL`Q~4bJ{128Da-6rrctzS(4?PTm*x4COJ{XvAfX#p($kM1Y29*2`6S7$9`&ljya=N9QW;%l zqlYwLQnwP(z5Nbba1-pY24&6&E7vPJ8>ogkHpuEt_9M4-U%yiKWFhri$ES`ZfN?`* zv3-SZI{?iTVjGq#ZJ3NiJ$Ox-Bm1_i$~!lgECy+iTulv zo>Zd^Z2#9>)e@$ksT5RMBsXeBJ|m&l_JsnZHnKFiB2Qk62!BfGUjq!*4O7 z%d>joyw0ya$!9-!G8(S1Z2ajPaa49ZHw(#COMS-6wM)t0=t~0J9^?=?&2&<~+}*n7 zL|O_=6E@zY9#4p(Vd8A&jVwh8AOfupT0h7m(6v36i(M8| zB)W10*RWFqmX2z{hjncIS%sBq@KKng0EB&vi79Rv-v$avLkqCvwdNtI;*>$xYD@$d zclUipwV+u@%uS)+_`YrbS}$u3BXKJExvf|;?Z4HtLeI)(Oj0}XD6Ho4{)*CYV>azR zsAjgG)Yi{4ejX~I(T%5)W|K!LdXtoWM)-AxvRc)X*yAR(p7J7Ac90%t(BjIp@l_HF zp5I_zH~t*`*pzgLpL=Ec^u=jDOlat5wDl%UFi+vi92NK7+Y5W84qosh3w`X}_QuU& zQ#6G-Q4smaXg7|El#_ZjS3bHL!VE{gcrNd|#GX=1QfucFjmFt7zORMb18*HRe9IjI zeE+lFI;YbW{4MI?9F0kf44SHhxN$yuPuP#u72#~xHS(t(z~Wb8ldcv-aSP7Q25cFs;`6>o+zs;FVjvtt^SEEihLV`S@{t=#;nV4Z5F&-lN`Upd+n2Xe=$M`4+13Wl?0 zgN>W&+*`^|sHWG4q#b|GTa;(Qc`GGS4KuB>Eab?0&yqG`iWdb>BpA02*STTs!x1DX zRe)PC!9es#ahWcP-je!OVei5|B?K|9jbxG1EqrGIj|dxos;Hu`+3u*onB|HztK~#x zjMz@0!Q4ogwChz6h-yMAt?_>!h#*f?MgFQQN>MRgavvCh+)P68BFS%AM9?Uw>yf#H z%I9fWoMA37|Hav*+Qd+4HM^!S_L6lfeEN%Uj=Pk#q$r;(Rm-X@JXInPJEdg+Z?Ek5 zS<#07!3dl_Eamf2a;7i1x7h<+&9YspUdt3E$Z@jV;3)I!hYQ~N};5a&mp!HOT zh%ePw8ARBwy&>ehX15$SQbxiXon30>t zhb)q-Vid1V&pWp}+sY2pQKrtzzz?=|5s$Z;E^+M2g<3<-{rV+>oYVK+=9(MU4zL(v5z_p2cgru%fOXsoTYtB&Dxit4J85f*EJAgF8N`&AY~P4-dBL? zG5277VRL~kRwbhqZC<{wGX^$yje}98rw|m{`7N$4&EPX$IoOwP-I6pI%IR~c=`_bB z!_2$UfFT9YA80ORI?9pev>NG2tcY-mu*CtIG?3GHP*K(BG9hfn({O! zpbSeW%=L0LgZ%A3QHDSuvZ#;{lBiTCk9YlGi)#-c0DKzIS4aunkW!f_`wpwOt>~zM zQVeOH|BXb&frjC$P@FIdM|S`&EF#z&2QBEP+{6U=A?7bsJg}{#IaD`C%%JIBM~HAL zB?cN@01rWRS!WaZR|}C&p6>3*7vgpQ@rQ?}BS8sh(qOE~?McwcTWDlF-O|Y)OS*-V zrc1i*le^lwHPtCPXR{1gCN7a2xYg3^%_=R!Y|Sz)!<@}NWzrmXR`DdPEa$njJVbne zDkZ7l--*ZYcXZoKk)^a$BEN}~8`|tVpC01cGLXH)K_~dT}?L;#(B;Obe!Z zG&?$g3unNEb0F6V^TLU6?P91|E&QmNb~N6 zRA>3^WH)~sTYma3uc>XNu1#;1sKTM;)YSPoe-a@p=CY`5n8v{Q>rXby(|9ekOdxw3 z*=*LgR2tL^QWDFuls;E(UGvkI#l*y(#NKqPn!OvSxe+{TC+RuS#9!>-SHG|hY!MD> zgI^hgdys-h8QC&)EjU^xZ0dh_((L7LO9EmBSJo&16capr)G`b<+fBp0_X!*^?LQ2ghu6%u- zeSWU4{yC$;emwhyKx}!<7ya1kd{x%@J~&k*ljZIDaM0&PsNpF3OUYplrz(5)TgJ7~ zlb;(XL#pZOWB|4fT|wwpOKKcJ3}wnLgcr${;J^#D03a_mgQ&@~&Sa`97yS`f}o{wKWkmb3Mi=+H0zG zM4D$??G1#jGpWH;OygrQ`R&=|sgX*-_>Mn@nh6q-T14=Xpell3K*<#=f^C0J6;>WY?teH?E7Zw52xFh zZ*L!%TeyaPLfaFr2;3B&d#iGsVz1t_w4b8RqYND^ryBsD(qTY(;HQ`=Y?6C$?J<|? z3-6oNS4S90e+Y_A-G85d9O3E!Xuu}Xq(04)cqr)InFUK;gz>|w1%V_>2StyzPJe9L zi6s^^Q?E*noILOiKH#AQQqXcOa_N6cKq??feEkyxyVU=5?kZt;;V zU6zN~3^HL_$ea&XS3aWaJ7??fUPtc3BsNNo#nU}q-14S{9u1!u2-RwWyj~UwP^ijH zEY%UcjvCvB$%TFg1dN#WqA?7gCgDBXxLqD_=v)7RCihsPXJ7g1wp#i08kHCuk1X9A z^WE?6DTvY=zWqgQ$D1~-&~r_}s~US^dm&<X@@v`I&0#d&huGmoo~Db z&B2<1`#rm9oZ7T6{67?jYZtShYHcfCQYLbiPUot^;&$CQXWr44l$`@XP60zYX2~jp zd6(l;gnlO&ZAmX+{7ZKa7rTa)IC^egvvtnw_#(mZX1 z--Hr<{XYC$rjI3af=-(j3ly`~QYI7Pund_?vzuuhRV?LF+jq2~-}bW%oxzqU>yumdQ*n-# z6w{g&#Zx{c?f(f>%4)3bQa-e>JGwQJa&8j_$k4N`)vhdig~YWtHfM}W-6M0HA%b(f%4CHI{Pnfq5S>Kc?5 zZb@0%d=^D1pLqBI$pL<**ZdAE7KTEJ1w$z2YG$HYTUQcndiiJgx^40nrJ`qRcB1N} zb}HaxRw6}-%sc}(o7TK>`nGZjgC&oy%Cx|dzfCj`vi4))bI!bHnQ5>4J5WpR#>^Gh zSA(dnL>86O^8rIMonj|*o@h)=Kbg;Z6@U2`R-|idf+0O#t2?-Wz-rGJIM2vm0Oy#<196V+enSqQVjw4&7)vW&oX$z?ON^` zxzM`81w?c*clV-Td(&L}?i6ysFMAqBe-D}G4_bAXWeG?uWU9-hf$HGq0( zd=RCR(J;AFpY93?U3`T53%;}c@{Ohm-F~~w!s=4sDs_+Jcaf6ymb$l7z|xUeWmh1l zsJr>G7i~T+dF!1_7aGyJQk6Z;LLmnI?6DI5O~UUcl%Hr_Sk`40IVq`D3>@3-E`N*L z7h$)|+-g`+knRUf;m9VZF0KD?UZ|5kFU*DD;=$Y|9$LE{eYq@5ov=L5c?lrCB72Jy z-0FW}c@NCFpnAc5j~Co$dX#_pmUF58!u}qba~-6A!5B0AI>}6w4(~T8O@zI>tJ|QD z@POHo_s&oBzMlMI#g=hl?bl;35N$t1a(=n~;JvmFF0j+HR<%PWAk4jI>=nDlR9UK$ z(W`o>-7rZ(d~dG&7U-Xvq|76l7c}ibfNyPi5+eUt*V;!ky+&B+;mS%Qt>;T{iQBPD z{7CrT>%ZTTk~rz^($6V09S`x_v7<2?m^d~O7M9OTK+P*x6I0_NEvQf^E+Kg&aCR&G zsgciFkO^vcDReTi^x(c3y2l#f_qL`glHT+=D&D;~p1a&bh87!hR3EMv{$l(Nk&qR6 zZBwtFkeZYdc~%*WpMBsXi~^Gb`2cMvdeEbt z)Gu8&^R!*bRo^{$$|BC7_i!dkT%Y^qzT_=_#BKEu`S z+#1cDr_8$X2?_GvpmRudY+kL^dullw(%pwI)2DGu?_JYdHqi<^<%$OXcvz^~#AwK# zQ;ghFZ5lvKPtRywh#LQrvTL$LC_Cg_f&;*-|QKHaSZ_#k)U&q^?z7v(V1j#;ujc!2QA`#Vz~(Uk7l1ZY}+1 z0QcYC)cf}i>W@d3uyKAo;pA`h@jw&SkH?Pu1OIb-H47Ujkn=x>a!b(-kSZ8Qc#Kgl zl4LZ@E|LhVfYnt7mQDo`&MCqvNwQUd?iAqT03(^=;?>`F&)q!!Ug>&n#IWIc?0Jp< zJy$`|9E&|HHK+h^$2ej`|H&_)F|U~i9|Z)$sR|_Uq?nBj&j4F{!hffjO$$I}&fJ^* zjtuWe755chh0<^fj9n#U0enZt7Sx6Sgu~8{gUAnn(uo9d_1cfJ)r%a*>8LDf=^70Jgt8QqR1PEzA(~D^xb012(l&^n4Y!( zHbY`&5Er@MAv^)E)zrv!QCrj8(o&ncz+L+(lRgwT739nSn=Sxv0C#5x3JCo|i~HTg z2>Pjr4NCVT?O{V_^2GZbEEbZ_~pHi}L#8+b5kX_~4=k49!tnUhg} z-1G$=k?(Jmc9aI%=*q=i`Xw141){2;loN38CF6@DuqPW^BU=dduc~CnmCO?y(n}eU zA}1%G?ik04JFXHzcmqei``(+pnm2OXp}2dWzXRZ_+M4<*fg`$v8tkWCF%!9jI0b%fg2{Au5!6&4pj_6%6D184@&Y+|2yc~lT;9`Hr>&mrzW4#0Dd`=LPI zo}SL_zf2&qhAk|6y>Yx-_m&^gCMXSERld}+8StI7PtrG>TToRIui|_lYM1Nb z*qyYO_?Ms>6z`E90U&B6>*0u+HBjlZQHhO+qP|Yzir#LZQHiZIbSl&Ka;s$H~Xftc2=IMdSDM~r2avF5c*K@ zBc{l^v#T8PlAKfU-Eyr^uJ8zst1g!Z>chUKrhDVorpp8F6z|h!8Zx zAMlXZxl?!u+oT(Ogv|kdso-9{>ONv;LEW2zviop6Et+F@CI$2HzU6r%9KWi90i66i zr`J}3=snyMlP~eh=Q=TGp(eM0Ua5q=p@R^%!GYD4kN9_m$fG;%_fQ?dS%2MofAyfR zbc92oPjpJ~J^n@i~+F9R+9e^Rgj(aEh%vhk5a|m61uv z=P{Q8S_jAQ?*jnaiYt5sF4#7H0v6dfel_sRA8<@=mhQ9v-fUC1HxnfGpJ;w$U+T;! zr&l01ZPWYsr1I_8{qObtu>u6}2$+{cH6#8B)Vta`e96XAL~=j9QXFoIiHl_0`E#U0 z-{{n~r2;8+KBp9|V?Rj^9;l>#EY448;vZg{mQ)Si?5S#PGNrVjoG{8NF$ z|9I?O)j=)n7t9AXKGDcNoyp{52;{Y0Fg>P*MQn}i03PE0bq;ya zl>$8lSiNL&+8rPNThf(UJt0ayEiYGaQ8$(>>(6eioT9RdxoPWS$2_|EcxH?LUMClmv6g-tmSuM`;daW@Edy zX0e({?WglomZ6QM$2>UkdshxLS)+WTV{e1R=ZYB{%|N3F`2z_| zU_ajRjAD?DYl!6ogH$gmD}vg4&v`A+19SYLH$`fBlCpkv&6_xUwG3^N0gOFs5N*Cv zxVssxcT%{rPr;Vwxdq5-@O{ zg<|MpuKKDdt0{2qM;*tb740((1llMG6C%b{2k)LMKvuo=5`1uIVrUYz(B3^VN`?9~ z-gc(u^6LRSKVy}o!8$D-*(5RV5K^ClVmuinX#i|ZcGCpfnyQ!F3nKpXHIj(T!&K^!{eIQZ0aR2q8l4g+LspQ zHfQf5ZXtdeYM2@22Vud}h?OW}Ow+{M%H-EebULdDI3)S1gfCEHWkK+8UrFdzlH!-2 z-8F|cle085c<@IZsHmNAx5?-@?oe;PZ#PvJrU(-iE--fKe%au!TM%6VsG72k?P99m z^1AcV?{|g7RU;Lob@6qnd|H){Yyjvv_EJu(6UhY+f-|J2;b?9Z@k)2U;da&9e){>g zEdM$na+!1>c*B=tL$4om(ejZO(qu159$8==?KR}ReNiTn_;PPiy&lR2hQfh@b52Ku zD^&WrMkl5|2}R(ez(6w&u}n2(0hB83^?Gs!InNEJeAWprP*sM7Zi+yA_kKy$MiBh+ zFW8(y4G%|o6{VX3A86!*rlF~Xl}A<#?2ZCoW}xbdHu8x}dbX#ehq2N7sY{XMnCJ&4 z4GNs(Nt^c#RXl}G8tCvlE{Su6y#TGMvc{cwn<$*K>JeAbT})OVaO5}9%Lp>eFtvq~ z+~bJOxn+O7yQe0le=>QY_&#|jCEV!W&9pKgHffD1@$J>PiNyDYWAII(JMbbLJ^hmu`Z6j&zmFh-Z9#m*i8O%el*1SX$Rk3lmG=aAD7=bwR2h|)qX-MH zZ`WW-6sax^0vBrAn11gCVpBByVp2#&ySK)#I%83Vp*<02&05EPE37L_?5hW*0zf2P z6h99xem$8}?56Un3sOq2fN2``Nm&QLly-a3mXQ<#QfVVwx;Sg#tknc1Ul-~LgW(7# z%N{nQbC>k|9Lx|cFCE^4;|_`asrTV!Uw7Fhb&mdIp(MlTy$)DWs7qL&qMJRANOaxD zqzg*;5Bz5@r=FU8r_g1t<2*^xMlQZbX!iq_*(|sBz^wMyj0L^sIO$EDlh*&45BqpD zeYwS2j$U^1n^~QK8_oCPyhL1#5ais929L5OpGjP%=CAsqRZu&8hR@O0Emo6=&gn)_8Ix5Z_sna01;&ZiiaR5>_wx2qO#^-u7c z??-(;lEzzBu}cRlw76fY5Vxom#Xccv)WTeCS-$*oB$qrv51wpQ=lH6()K|isypl+J zh`W!pa1nNj6b^Sa*f2!0>~bdCEX3Vi4qYQtx6$?RT+;{6IN)-Vm8ehUc{m9f(}dNA z^vav3^!un&{>I@;xrTc0yhq1}Y2#P!3^2(bRV_pK*`UiP(WPOUsa{Z1SD7CsRmtP3 zWJh9dK@ao@OMQpet+L!p5^XC@k-@rSu&GR)BjRd6f8AQnfd(>2(BJQUEaK0X##)6{ zj(EI7(h`?q);ou^G9NWD66y{S*e}*d;C9|t?1~eC-h68?*Hm^u?u=TtT(JiI#zE3f z$Nfw{8K`CaExcyr1i-h_)$DZ|j=V*-3Hpi2Lo>+{d^~TaTQnr@+ifmSEk?QfWYbED zwJ4CgtW~k*a~04bCYvFlCJZ*KG8m28RNua#CQUIfr7w1=e*;(D(>OVPbk%KLL<$3t zoksY#8Y_YoUkB?(h-BR77QAE{7u5k?WL^6(;B({QO;DSXi* zBI@pZn$j8X45Q9qDgoZ|97t5Rs^dx`4>gYlp7 z#v@be#--Gi4IQ?41MMD`J5DbT`-Yd_3G9;6RnO4fPkHvU7%3xN7njtmPHS}19Dic; z)SzWNjZ(b&h_c?u^Y1V-coHD3df0{&J6K}odt&g(7 zskMT4tuI-nZR%HUWG1#&1An0U&{E8aQtrPe7c(G6Dg z2w((5$f-Q5wzHjl62_qj#14F|s1IN*54~Q~7+DI(h~|O2%1Lh_d9ASX=5C;Go_BBd zAzNI+_k4#2*(-uOs|!?Ie-1D}1J-+Wt*dR}45xp?-gQ*5U*Ld7uV+ZE+OFBfQrhQU z#@k^nfQxg>*)_iOri-Hx#Gy-Ig_XQ7VLX@&;bCW&X@u}^x+m#(Rk*fQ*R6-qw_TLv zl{fjV*B7i%>11yr@{;=_MLB*EKp$@ny}y#oz1@Yeb)_?|xoCT-t;~qdBY{1QiBGE+ z#!sXK9bTbHgNlYK;11`3vJT}40*(bD&V@3L6@}p`b&k!i zR|SLb5g3iMc);#-d0gLv8QTrm=GEwIto9b*>tX69=u$}tcxNgnLxSm7j&Z9c)D`JA z9|%U6TT**|Qrbi)1s^&}$y#&5YaCFFox0gZL>rNp?ZGtnA+h9vN-0Xj3(tOto*B_J zC_;|>Beu*Y$|5kEogo#TXwGNyxRHQbuACU3L8^QnV$$jp8s_n<z~jR7-)zjz7IF7Y&^xfT(~Id8)KL24MWfm zF|due9Ajp}##JVL8EU_vj-8}f59pHtN$Wr}2N4BwSYqXrJj@P%WPQ~XgQrU{IIwYM zD$SUrNF;zK$J)l!`BkudN9>-uESU7+BhKuua1SgbF|0#AulU9{GoFROF$VUI*@l1s zojszxxK7*-Zg`f87!bZjY`{iaF6g$dC3XSJ8DIxZ{QmH5Qcc4@AeSi* zpbUBR-p$FY`nW5i4#qhj>;hS0sG?U;8|MKS%4 zUj;9;g@}J|=wNuVy=ePeBci53zngSNZPwo= z2gI2FZ#kD@7gf5L;SRkLz)xQtf5b<#JCk%?f8bEyfzdsSm-qLWNauYdX1)sB;47iJ zaSh};Ali=YL8ovUh9}yvmJE*ZLrl=Q&L+z`%BNpEP&NPMqtXFfKI^nwj67EMQAgOo z0C6`ox2A!ex4>;i6X8Ahb=)~I_B7qAbL%dgBy@zt3`R5z?wtu}LmidoN-5UZ(P4qz zM))G!BeK~jE@Ywzg>QI066Xr2csIR@j|U2VB-{)Pk17#L(&KHD9U{UQxFYFPygBsh zNTe!CQ~M}}cgAk8@3|)>uv^RU`WZ#Y<6R{QOl@YL;JOU6!{~T_>>5miv&R1(X4MCT zigr41&1CnBX>4>2t^Mb|NzzB#r{XnbA^iw1<@JfG8j&U*CXd__7&0mw$Y7a8m|6jRtGp}cqCF~AxBNl(53QfSZn1`1f43X zOQ=%k81Qs_dL{YRE(fKJNSko3BVvuUg%(tfi+Id`o0;~auJL)g84|x(%|y#=f{9dI znzez+3bcMMFn1iZ`o&EwDS*~NX)j%V~9 zl^m7^lQG0`z2vZq`=6sWb)r<~?pvNkZsvl~y_&uB0UGSY#1MhxcyWiG(!H=S*yk}g zg)xD_D~!}^Gz=E5)79p=1PksZfmduioDW6fJ>t`#SkwR#U8>e{%M|oZqE5CF~F2y_rbK^9PaI)RJ6qM_Lar zl1!!SOzSI4;yT>SiYz1sG^+G!3K9|pR#Ld+C)axZ9`C=tzrU!Rq5lO88nbd<35vl? zO_|-glOWu3XDGk(&Jp^)Rs6VN45<)JuA@Qr)lx=AiNufFl6WCQ`drPaOf zeICrK$hkiRY^|zzC-1-zk7Yi9C?&ae6}#)A=8#)6n{VeyySB2Kka`UcLRX+;UDPJl0`uVBF z+xNeFFt_GF^r)IHJ3cF1!0aLXXgn2uu7)60&ksvCPwcyUzBdgM2j-Io7le& zd&8$yTw86@7>P+EHrQ}jp}#4*o86n~?H`|5;!!;0)!;C0Njsc|R#b-JoDq8cdjfvL zZ8K`cGusU;uMSqIv2?o(yxIk~6*}oX6IsCk5v-cN93m}HM61>F%jEt|CpIuDOQQ+|OBObH*e~cSarx2cr2^D|zC>Lo>oERzV0U zo_6*&DcG{ysX8fVjqxdGK3wAHNJ0LeeXw`n8qpYJiiR5e97u|FTH@e7Td0D=Ojja`yQr(m)Ks&hpckb zy>^zKy4=Nv8k;c|rFjC-^&4IXZEZ3+=ZM+MWh=&YI_pu;Y`0w*-CaI)ObA5+g`VOZ z(vr=ifT13a4n2Pu(r_0GJiGz0a5K@np;6lzB!tve#$PyG>xd?eDOyjtCInj3KRK;M z$Sp;Co_F90!^9@8hvRIp?DNJ5lRUg)A0F3Nmf`#^oe*7ckV~v!=a;g5!Tl@VJ0?G# zEN-RJFuW~(eDa3N%77VwSE$S#(|4C7G%RA80~`LLv4YcT=)>`KEDeuNt#6~%eAS0% z0G$I2X&4!^e>lE+2Y;N=1Wx8wgh)1JUUU#+~9}8ndgj3hY zo#y6-gBu(+lY2^Jq6*3AE&qj_iuO2HIa^w(P#7O^&*lqD!gz;P2ly6ZkC^v{b zr+CZ;6*@GI$5nYlsjEoEPEa9Og|}grr_Mrcu4tnPm?LgX%%ty$_46Ov*+bd&J95xv zFWuTU6~A&q$O{4!1eUiEhA<=l@##>TMGy9L5z_ISg{A>?X=(6-vz={8kJc#m z9dc}VVVA(K&ZUjLjmF_fu?{O-f|zMT=o4XV!><=dvZONguYe;TG!pfO%POnts+b2| zS;Ht@AC1&U|mZ1w`M9Tu{3#o$4OF5PMkpym5hE5gvF_Qa3mw?S^PG!$L0T2LeO zhb~959&9KeGP$~vRf(ZGe~J3TM{jlDl=EWS-r(2PsV!Ckr$FfMUR#6s#2OskXD+W~)(?5R4>!p4YBnIH3~fKCI_La3{Q#tKL;abuwaB@29Z}g@{&VKxnstOJ zdX{n$RI?|K_xCM%1r(@D4OhR;j2G9Mm6MfMF_36yMig1|78SN)n#8UD)GfBD17C?$ zXjl;D&}?-iKPXy7N~7{ojePaW#RPd!`wyvr(C&nG4}FVm>i2>&_-w+8;GB_TYEoW5 z&I+xlcF1o?I`D4$9dz#`t_##IIxg>x+*uWZDm3Bvz*^WweFy^!%=GRR8v_o@6zQax z3GfO`E2}(aI*k;{HEO|kC8K1!z+_4_THBL1f#G7b1bq7hXzN?B%gFUK8lm?t~2#c9l^bve(BBMB8m#mL*#9gJlNJFzdHpgl!T zOQrE@+{c_Elwy)|@ z1Xz3mY>gJ|ka_Q;U&gs+-BxaZ_J!%}WL)K5^+~-Dm;+MR*N29cG+?fgHmd~NOYeBN zUw?KUXPlDQowXU2ySB?e@s&bAe!;P5Akw4IbU41!K6zMQotSPeoXJc|8S-nOR9=Ik zFZYP0%mJBh`sj$YTHDpD1>mbTc4ajT1?*?_7P`GObX|BF@b8L!izP%fSUiN2o|#XJ zoFf~a2fvTDhs;Un=$S*L@um>Ms#$>5*B~Tz7M{+YgJAHhz26M6X|^;&(uLLuCLF(~ z^z4Y}eY=YM@E@?r%l5{1co&v&<9k08HozKXEiMW1=^NS^uJn{S)9cbA0UTvzOI5w6 zT}+Z{3{BgLnke^9(f-xag@j%IZCaZ2JT~4(uRW=-YXmJT_D4@$R*X42o25r)4I8D4 z5_0=j&`!>rJ>nF*q_+b;(N4+!*w@%kqC6MH{2;M1g!m~%LmRS8o1x6q31p-Tq5UcQ z^|2UHKSPW9%M0;?RVnPH7cN{>6MI#ekYJJ|&{Pwr5GM!i=+rsa!tEzd@Sa-S+b3%_ zgHC1-{0k@g*(LTcGv+^%WVOHXF#*z_!SA4>9p_mDXrfCD`rGy$ zx(>TI*wQ7S!JhDUS413dCoPw!q++Ia=7CYpfM&AhhY|@IP+Jyz~+K zt1>q|H{YyrE(o){L0-qedt#-z;{d9Ral@_MAKyrgQRPYxKu)do;Kmjj+_?WzYov8W z?1(@q2hmuxcZdFu>6C)$D3KSXUl zR@Ks%AyAuvmFti^F>!T`K}nn|_D^Bo80&(YUB<-p5jI_&jknFQp)Yl~+2S`#F-rGU z!R7KbNyXbrJ8qT1Cvrxq?TIwucNAB1X&wgp4z(d4d;3Yaad$IHqo@HCSkxdUV*Sy2 zv~?J@De6yoN3Y?3&dG+C*K-v#7lcXT=*S97Z=Wx)hcIc7)j{SPkMcp7AD%hKZMVK`ymiR@A}clMpQ*6ow#KPK*&79ZhuIH1=iqZ$ojZYuX&uhN1&5TB=+6g%=k%1OUgX=7MI_a;< zY8Me0(e0sOn7?i(aZNdSJ)o`B!>6ElfYix*Q8+wkx}nYfO4)rXQy>xpa2%c?Pw7Ri zGd$&|h*U?z{LXQ(_YvV~%ZjmT+~;>(8&-TQW2Y>BUDKQl$HQb?EDo|u^QgX;W=bRe zu5TTm#+(<532apa1~?ymu` zarim=yvnK>h)gWR$h)IZfo6*8O#D>$-AA+4RcF;2miUyt4|bSHF>+i= z=`V=v3V4jg8tYrwu&Oz32wo3HsTkV{n;YO?zRSHipa8SD$%nS`iAulQ!b^?L2Cd*_ zsbR>98e@sizw&XhfhK0J!yT*4`cSF#Vp2HaS+N7Zpb?^d$hsZ#%2vf#u&J?IVs61>|KZVNLkxTk<$8I^ZOP(lEw_h9T*)UB+H=z z-5swJ#nBBDj#98v*jstTSw{D!1`XY?EMTamc%2~eoz4b~kr#a^|KO66q^ zo-zP3y(|u}2QI)iShaUZ)Laz+6wbMV8>pr*w3d|fw3zX2JFR;9c2{)zgi08SX`Z0i#h1Z@c%W%kYKGHad{@`)c~>=x&r8eo$Bfh8 zR1>5PN)l`j!*Pw>*yl<^(rr8S?m zUEB1v=NXwQs|`1~Kj$H%(;rc(R2gJY(h3`RHE# z#@TcmwmCo(?pkwiN1?VS(yw9^Ly+i#gu?F`51dyz0D%4E;!Rw zbMRmADvL5Er#&lp%mWem&f3^<=z8ZH*fUu|1pXN^911nkQx*xu&`WHXCvW4}OgS=K zI&e~#6PZ{y_0Oc)ZQb#p_+leT7G<@o7o3s?6?RWU20DWRrhv}vEzz6?CNXVWRvh04 z_aNqNp%>GtnSX`P(oE$W@QPdlF#1eizfB1xkg?wxRl`^d8aSWjSnVc2wl?;6f~x{F zpb=^JfCxPGSsvgIgkq(;y3Ex^mX)xv2Y=2nIj;au>I^euUwa5CwMB)*b&co|vno3- zS8jyeau%;IfdcO7=HJA8?PA~si^z_$(tDVF5{GmTcjgn1UBkkWX=5#2!?6&y)PAi# z9I+5Ru5{^d8E}M3Q}3}NhU;`8fo)QZSAjOsH%0{@<%g#(=^L~C*~JF_5I+mfnj0yR zp*=NTUN*CewVFT4&Su3-Vt$Eo1LjKGJTvoGf&TCI?d6W~eWLWv} zS$fvyAtShi`efcBg#GJhP_21@n%gu(L5+-E5NeGW-IW({tb|WdYCxMvD%=GqR5}uB z2Yc-10}iqBrv>u~EIBOOtej@1#v3P|1iZK0aF^pkZNZ%JPU-u#6&SH&%bSf#NyPa~ z*GKKOVE2*axfz^x3>~9mSkVi8<`}nc<}kYC0_@Y2Z*gE<6O;wp;~KBcxY9dO*Wd&n z(OkkdIcZZ{c0!+j^%;se41eH=_{QxW_s6rNYl*F8@QJ1p#)&!>|0UpBt-}YUh~MHF z7I{Iebg1Bpc7M>bk?O3(m&~aMMl|A3og4ADYn0%bBX+6SOJp!=&qzvONS^t+t_1YX zJB`&iG^s?CvB|1goPXF-XNYZ?>mz7hq2jtD-Uow8&q(YzVubn?nB$fOIyXkmr)LuG zVSfIu1XOutHG9vMo7`Yd*t*Y=p z`jDhLt1Knjm3RTgQPwNKj%U6+{5^3oxs&_V!azydwOFK#y2;jH(B#GC=a48N<4$o? z+upuS{U4{@d$Jdw-y%tRIKOIV0K=8|jwCTHM`6OEJUphu47E0o_0D+bwFy^zt0dio z0UR=n1t*x>#g&lQ*vjbY2^0BiTWCpW+WjK3{H$mkW%qzjq(KpAZ$U7gRi??bpRP?u zT;Mukd%nxtIemm=fh|!dj8!e8`-cpZz?k%G6VOmsD|$B~7A_TXceRR-_k@NB^uQw+ z7@>5mthxzKd(nz@pVNp3AYKd(kI0|ssj)P?nyHt;6f?&A^owi5ujzNSA6uMFWE||> z8H*K1#C7pTqUF>lwUkFAmY3t*@RzQ-rU4O;$MhSd0)#V`e;yT5x(Zq{=iZLZcc+e3 ziU__ji-KdMdM_@0=f6TKHNrChqXc(Dw$)oZ8Xrf*SO9?A92jnpByv1vVd z9qE1amGJJGBx;uAcolr>|88l-EBRNV#O3l>>$0u51O}W&?C^P(Vq_;@Q64W#gWrAj zml1$(>~euBZu^VBKFDOha~oFWG|+&5*Euf^$RlE8GSK}@!t($%svN2RK5zk!W{z`# z1w;S6j;5Dx0G+f%7Y;i9#WB)3EGVCL|5xhaz-8XhQ(ylZSFLnRKJ+5UBQ$W=6n$*W zyLQzsFiR6GM0KdtcaJ6pSsh6!Ii-rEVvkw`u}M-PE@M_zEl|*67>(FY2RVo#DU=wI zCLBRaBToFV3^Z8AVyVN5(C4?f78uVEF>(lGGrs$A;SZ@i6apv%KMO#4iF(H@({pWqUwSwjQDsJ~3^!;1eFCMn371)zm-8)iwgH$ktV;tkUa{?3&0RXN z1+A1iL0gtpz&KZ@u`z^ZKZY9WJeZ|H^w}i>^-EB22+A3GX(J%3RgK4GgdU!w_HptFcMlf z94*hHAtBaGLyXr3DEO*g@p&IoLY z^3p4mh0k=_$Oe@uDQ&5Jd-9}*i9h~nSTUTo1`6-IyT$wSs?QPYCp+=5o^Qf&vS1uW zuwe0NRB)~H-%%2*CsZlRQkC}9aGRUb8RrwLSW^M;kB%iR>{ZbxveM|2=chLM6UF^HzFFv6NqZ}10JqO=&(U&OlXFiHAb+Zhiid*qxor^kY9OTDyv43VABTzcL` zJSs)5=Hzkiu3XGCM*P{8Bz4g86vk2Di5J^=XeJ^7Hwgfp+O@qpq z#`#pw`V4AQ8bKGnfRfFvEg7cI(2V;s;A0eA>R9$L-R@<|OUP^VF6k?-f?nzGj(bgl zLUwyDCf$czypnqng)Y}xcdgva+@vxWT$vGTo&Z;)EBW%WM*I!R;5ZU=wLD8w*8DTzD;Qa-P7T>{U$tak- zUCU_go&HNo9^E3S0I;5XsJi%W?Qp+bG%3#ARhHORmRoVM=+~r*ZQ?Gs+hM=lcZ;5; z(|5$e4H%qjyLEQei;^H7Fuiq66}sCCHzFwe@DYmMYzAg$-b$w6gdD zsc1FbWiw^u7{MyPy{RF_5m6lDrM~XrE`t20%m#lkb336k%AJCZ8dY!1B>w~)q{B*? zNk`NNJ_sH3&wvZfaaG$VOU#TPqQeJ~PhZDBZt1E8<{@-mHWy9rGi)NWi;+3_lO@tf z@Lo`J+=+x|N70ZSNyU?EE@{zUkpFUM92Qe9PloTods8OYP^?X@JsF?c`{HPKXoLLC z-{M@7qTnb)PQq%>7-Y(-mUHHaVq<>$DJx6}p+lav*a$CPuE1gS z*o&AinDJ|)Z}~p3dP|Ury*wGi7ldv@JU)vqv|aH{J%i*~C`Xy>aS~?MLlqQONBZK3 zTIjLpP+Wy-i@f?^^sm6T$AMnmt@jX%s|xh44yh796K5Op8WKz5)I(Wc3Xr`t9Umpx zJsO%r1=5DCRr4eXo^c}m!8U^jjy!Gz$>+9XvQ~ zI_7FC{%#RvJB>GqVEI2xH8cD2sFf#8a;TM!(ct-%e}(yuLXErR<;ZL*|7;mJJ1{0K z%U}kmZTsK4@NmHf6?11M9E6hX6Y3d1?zSS%mCUI^Fd&ikIC_oKI#T-pyjv2p4V;d> z6?_uc4$g_>E5{rH7Sf|y?5s#xBcAXL4>~q0Sr8$xrFe?Zmvth%Q9m@R!*a;7wqP+b)fly$lvEbxh6Q80M^VoXAvlVYBcR6RhyN0UXgsoJKS~eT0S&gq> zM>YcCxg&D}e78h$?0BaZHPu;yBkFq|#g`6BFjBo(R0&myJGvlJ+j-M;E_3$-67B|^ zNjpR4@nEQQhwj-!`Lg^($p!PE^V$o8z1S=@)y*$)y&}uPai{OrJ7N0e1Vcy^syO_@ zDE#*qWQHzpuO+Z-jWYfziQ?L)fTud!_6#jN^xv=JAEpeizzfA~Phr5F{L?@}Br6-= zXK(?$e;13l}s@|807toEXgX$u6rAswxAUXM~c9Qajrk602lIrAG+htzXFa zm23Quw!Z)2KU5>$s0urlGLIjg{wiD8e+<)B?+BzxeQrw5x$aY%bpMX%WBit{(t=3- zFajS?Uu`E`cckx~ zmA4*j+qqi6FS|&Z89zP1aWuevkrQsmAX>HW8d*}BRY{ahv0=P8j9kkgi2zjds+1*Z ztZTnpgS`S)U8VfN9f^)V&0bCOqdamIVq=<<3x2P`K0uP*m#B0w!z%ACDoEkWcHg+) zy5JAGqdfWXEr{`u(G$A|${-vUL+~Ur9UN_jl5KXsC|Wa%Vb-pny#i}Qsra9|4ykv{ z4d~O&e(>jA^#(Gi^VYn;@9AuTZKI4^`IlxFm64vWCgWC+!9?PG0g0{)c6N+khVG-3 z(@`58I=eleGO_+nv!i3!7<|v4E0~bP$jJ8%_Bs*;aL+0UzEm%K#n1w#MO3UtbnZ_~ z0Q4uH%0PtPKx^_9_*?fek_^COD@gKC#0j3l1;@66tO3b1-wo-tvnjw+t^?&eW@p$~ zQZeR;PEwx|xJN?vOs)9kUWo990;TGXlcR5;Hzk{Iyxp%b0)_@ZWRF~owCO8Tf%M1s z4ioYU7oGMG>K)*>ol{|_Gc@R%9ZZd#aO5x^s z0i^m^siK#p(akVjPN=xOP_P~iAc`qX0*kDIS&JQuYPna3rh;%!X$Bt`D#`0eeccjb zWc3$o*L}^g$f^?J*3{M~8sxu3H~V_r-0G}+3})U)oP6T6PFMLA4U2mB1ZQ)da><@# zD37fL@5*#WDgr}0Lc&%Ov07S^6^VFIcxmNv8u6U#VJPYd$u{Fw6LDnTq%<*Q!uLr^ zpR|HV6#?b{2uFTy#3wisvxj`NN{K`6%6i7TJ+pF}64Ye6-m>8e2vc5Cbx38P0c~`E z06+LcXu?VpN_`tU6w>BdUsc_jaj9brf~a*xLl}EVLKhTF)pco^ksYP<@U>0}c}6BT zYR~hIVm@a&4nd0O=y5DRZ~g$^Jr{oe7vm@U z|Fn?)AI8uB*W?}!&i_hW|6eVkas;r!OI6f-fMep zK~qmxCnwoAjW*7FU$67MiCd6)eokI=ynKu1(Z{Md(FLnnqMxyDeAQV(UW;#q~nQqLcRZQGhaNuW6 zMM(+HseD4GMMJE$l4rvwQgnHa6{>XO9h1F7pz=m+W*Zux(H(tP$O&DsC0iL?JzRiv zc>pv!qc7LpXN*toHgYIkb31oM?}X3omEvJ}kY~+#eRH%$?l%ql3CxlB)M1REMtP4n z7?S9c<=|(GiW?d0&EM(izrEf(r26jgx^t=Q>hgWN{#S3|e$;I2Uu(B^d+ze_`K>yy zW`FZ(ishrivPGDws8o=ztTGEOXX*@gq3)Dx1k1IaBZ*-#qi-l`$KO?iE6` zl%ZP5MF!;x@)kERkdT*upNz@&>C4I(R{CgyOk65qNzN9Pyq03r4`B;ZJQD(6U{4eA zvNjAG<)k-p*5!?1=FN+E7`Wz#!_&UVQV5vOpyS%<^&~!UOBHrop=Nb?VV-AcT+42Ed&!dujs_W-84>SOKN{n_VSxa%d&-5EqX7OA%~!nnEg z0?R-LeL4`iXyHM{%ukH3WS|siGx@{DHESncW~Vq-FcS}E87K$A@%;rwL>`(aQ5Is# zQ5a(~Tpitz#++57vFSpq88|^7h!GJVAyrxf`z1O94O4`n6jfYxK~Sw!XV{E?-M#%LeH4p&XUUOd4H564<+43aFO`E5VoKX6@_hxe?9s6Tz%xg zTkkixSp78n#emTB9=I zfE!lj52xX1%I)vHX&#tBp;gduFPZf_mo44yI)Ax&lVie`kQ9;9E^s`e#g>f+2NoYL zNGxh9QI2*CQa>D-i%yC(XQrH>-Sv;%HJ`r4HNRN!ULeeaF<~`Zk{I_>D>LEEDJ7+P z(4%UCdR0tt;jx?W#%nvBQ(ufz`n?|G@Pj+yJxxmBu}GC1fABJR`_-X%(uh*Z7T~g@ z!0>BB(WrAm#h^Qj-BZkq4EZDy^{r{xPXcMMCLvmf%Izbtj6^$wf%&IYpFs4HPHfq%sRX9`_&^EUxAS zw{9r~2P(qsRyLu*#u#O)^))q6j2{`$l?fqBaXtsZdthihk|U^MZ4!3@qGu^|SlCCIZ74G|LieE47zfRT zjvihda*xMXeoVpZ(P2q0oK_}ur{Me#)ZnVKu($vClwX91QE`vunsWrGobgd{jI zVk%&l`8xm4j$ze}!78eHTP>lslVpoOLC!v-nl7_L%lw-7v1H`7bo^4OutbZpuqu41 zsH!XH#8pnVA*yOFtGZV`YtUsbaQ%{D*hev@TfYM=B#U2A7xmFqc!5AgB5^0BhqUCW zx2A~>U3_JiMt+B$gQF#}G~?)_iS|T?MqKP`kR*2lL0#N8=Aa;37TsuJM?pRIe6=CS zI!oDS_vo~HG5Gco|CYBz?d8Thbwxxk{y`<)KK5|URVO~ebEl!yE&jQss&}@m!ZOj+ zS!}6##((X@R;4{ULx}cmHgfOKSIL)UT9p00_&ZmdRn$ag%}|(Dt-67rjBg|iDcvY+ zvfzMy)QHH8fzA(xA%d>JP}BEO(s$wg+sgSMoI5=% zZ&9&@z7c-NbmZc)hEKUsX9a>7QhI~W;t>FDnEvPSo0x>2l6^|7SM5sFjNQ#((EtuL zH-S+z+B)#5ufxLLl%13p{fN7~_?nkuy5a+vvH?b6Gel%?7NfM@3K5t^^aej-(iSv< zy?};HOCmO|{i`71N1cH4T-eTnNGZh&N$)&F7+NF1q)3s1PY98|OO#R`9A*@yJy3kG z7#M`Q$}Cho!-2EdlVfZvLl=c&nxG<4tYe{7p!gs`8!A4-im?(lv5#DdGC6QNS$}^N zq~S2Zhp`%VVE_p&h|XK26a;Ph4{IPiWT2c)20~f|uy=+m1+V7BgtP<~&T1&79^|AN z!bd<+5o7sd7y60~pe409;JY}H%W)DZ(Ap&$Q%Z>efkHP`km&$pTljD{$mX>l6U+f#pvj=5eXWS1PWe0^Jjv?95ed)?71oX=H}n zpRclN#P42#I9PU|j@}uJ_FC zSM|uqIr`qSWQfQq=cj?)@lJ*9FiSx3?1`sJT>Y@I2Op)#ii;qr8#y!D5{H8$z(4_- zbc{ghX$EA`*1Ow^FC-a8_w`C!>zQrBbU}xfP77P+%$041OdVCgtf*?|?BljdRE;f~ z@HDcM6`tyNJdY~|(K1Ro4DGwctPA`2`LwVH3@;;zH2pb>Uz`y1sRWVWNjzMo_&4jJ zSQY-zUL6;2xoh{^KP3UaE}mb;wdSsmCeagLCLLbxAff&G30H)wt;H#}{8H;fYb>sY zJjs%e4sD4ovD?0nmnLhc8s`pe#^rO9bly7d7kW~>DLKkO9 z8CUb_hBkvqO5#|8GL@lKJoJnGnYi%af7y@!_w^|FzmfJ9U{SSQzc>br)Bw_rq6pGG zw15KA(gMQJ-QDO=(nv~oN=dgvD&5_k(p_f{KF|9;-}k-$^FQZ0UYFN)#=Y0Q?sc!V zerx^qJ$qYPTG`uCX;87TBOYj?0312~I&%JXv(hQ2~w|h?*L4 zM2JNk+5S5IC6D7Tc^rSqr^i6a`tegRD5Hi`h*q9*f zoK$SwY)q_dTvWgn@;bJ_1yqnfqL>v7?5rGY^$Y+B9DlT9RtZr(#y5Vpagq zn~M2QoiDFrWPkv3z#51K05Rm>jlh2__y0Weg^H7d^S?gWW#@xbBw1BN3&79SGKWuDX zYM~dGzJKH594pj%R3+4e-SNZ@qgnb|+!c!HzvlJR#5iX)btkhvKFfBfrRV6Rtw67A z&rQtGBS9+S9shsrD%3l~Y<6zB1xo^?(C(Y34VM{W!~NY+`}ooUII_Mm zwjhJcF(O>}m!2sKSSM{xOuf(Vq4hk2bfmE}b*V>PzHPMf)YLf;>jwi(30n18s)KRL z56X!AnD>N~b&X6>o6~v1R(@#KVn(IUS-$6nIVgV1`6ilP<`Zu);QFz9J8?f|`$z7V zadmO2BbhDFl29EUslqhe;eK-UAHRw84RJhZcjbGv)avfV{M4vikjYZgGJA27iotll%Qp{9PX9>kn9@rv$3wq4PIwO7W` z@A1Q+QJnjHysl}#Lb2Ps0JV0%S>(}4l2W;rcXsF}Q87Lty$_LeG*1jU+55pOIbd~K z!GXz-;;ds?$tLpTH_1cCsG-Mm#h7+`PmlQuXy440H_pOHa)k-}M1(}2?%m%d$rJ{^ z&LNu^5D_o?s9>Z+xOrZxg>h69#Pbji}iy7Q!1rA zY$P8dF&{P3q>lZM_pgzJjf?#I52X7U(jDcWXOt9W^-^`dk&Te=+_eCS$k8Z-=6@D7 zU11ZAibac#NcU5u%ag`8e;8d(7`#Kq3U(p7kJ(B5;+tOmC$!0?iiz|9u6^I6K;d?} zes)=7;x`$Uotzx3cv03(VbBuS3 z=)Fa!$D01%YRkzW;^y=9-g~Kv{k2$cP3W}w)ZQfOL6^w}nrnck!uYMKnSf6JdQrC^#Z+n> zZ!z!brXH4acvG#cxb->TLtjvT#Vrq)mJ3ME>P`){65(s4e{^WWjByY`Q-Ul1G6oPcJychkCw_-R zL&Z}1lv<4L=Qgiosnbhg_Y{*oDQUv&gpwM9K0Q6{$AGrw!$pzc!|j7 zpm7DG{vSN))N9DTp~|1o65}IO-k(W)mM5iS4Nla{gN#UEXEi|0n}~cGDaNWuRvtPg zs>=5@zuaa@dst(MVp5(#hlSEkhm~%ic_?^>Li341>E+mkcYfEb1?F9*cK6>jhY11lvl4ocXR%F2Z>wR#csD84dlDoZ zJQg84$2Ul99A#I&oiG-viLEl|1A4IJ1A14vM@piuV#UfRT@T|O#36rMZ2ZVYrh>#I z+BY&(o|?SH0Y|NfMPo?Iwo(H#Fm$(BBdd1F0(r$?F6Tb0`gfs^6MAo+@r|%g%DS{O5qZ~LURh&C(q;J?c|~!FzUZ=?JEeB- z9{P%Zz|DIK8#KT+szJl(wM9-d3LS3C*!+R4*raKE+#+Je%>T%&UVacg`(&$raKuS^ zj46=y11r{{&4_-->`M4czB5~i0iq~p5NB;c<2ttx`lF2GQ$I7XCIe^J8x?kj@A0yB z*rPw`-ZGC*HchLF^|jHI{T?@r`$$)3?h1<$W1GTTpZKjJmp@At^%-5V9tN3uqsCAf zkAu;h`*Q@PC^CQLBA;YbRXK<2(b6__61_1Lhcslf`Mt)hP86fC%C-lWRE$kcn_a~~ z@m_e5nz-3j23O*itws*d1t*09;g)eolg7btp1kF2Y5Suf{x>?`KH<6K%$r2cmYa@j zfU%S%YlR)ZedIi_`~_3A2`-wdER%Iq;$YgtG_3omaAc=`ke)_XwdXeSAh5LiOTzZO z6$ZT*ZqR(a`w7%vOSr_@be_0j@91M?&;Fw5Zq0RLsms_aeHpf>c^1WJDo8^;+^&y- zH3<@?@nqRS)@yoo&C%($q6IO!5QpveA7RNRPq(hBTEcnKlO8@T8G04xnDdcnMfxFY z=T|g^9}NaCb1B}=FFh2oNc_Q~D(qu}@AHvwb#+ypOr_R8@+(^U7+`4$mHHku`99JmLnK=Top?qnd$^8}Yb-yOg2uysb zwup4p;X_Wqqpc%3S+`#kHeYfNJ~$UBIn@`Y)^CeY`(OI+;<8Gc!L`Qtg#%#( zV&{)cii5r}=P>eqDE|~QerXWFHn1!>0jEVtk&m_K`Q3OkB=~+f>5=HYD5v1^&DRl0 zNux9B;R)o@3pT>vQ7%G*`nB+II`Oa($ocw3;KdR&AnPqu&}bA7C&`9_@Pkv+ zQRIxrir*i|bx5ZDmQWbrPh3Nrd{6&TBZSsxnqgDR>|F3W!=@~KUg{^-Hqi~X+>E&X z8-~Za^3+KjrF5yT7d5M&!kbylOqH-dnZBbNiOA5)k`uQXfC#i9mxtq8$>0h)Rt^rL zVI#Mf?FO7Q`^#tB(%PUn@Z(OV_&?AMFkuEUcvoYVGFPW2UV#JM!ou`Vq z`QvTdlK>ppuTW|7CpOic*yIgMezyUhB2agcS^LiXda>!=&=!KBmlt$4$EYr%wGmeA z3#&zxm0wlf(Yy)6;pR}DpOUWbGP&@`Rxarg2o2}r;56?0j zHd}h#FFMH~iji>}k4v3C!9L;<4OW$K*Y}Q!i!QDAur+nJ50RGHal&K9^ijL^A&%8X zbm~wt8ys>6%=Dxp_%PoG*jFNZ%vDEhuEDRi`k816w%cL!q(1TG@V!)vPMqeKmMj|) zg-atcdI`T0#JD55!?8@_>*1GrU$prm3r>4cd_|!zY*=<=7g;J3T6N61LqwfMtwVB> z_m-8YhjZImw3l@J-@IKRqRd8C>>D^X>g(koO7%3u_}Xhp2!K^))2%};qt%CdU#bn)#R4?^(H z4&JV2UOI*9gHgo3!q#c+uy;5xX=a7Vhn|`6W}`+m(|V?7Q?wWM8K+xgWJ-jc0;`^$Lcn`f9n0G$EIM6Y^8cH&}9J4ifPn3RS~J2Jz(I z4y8rQX%)t9@OpMKdFnKxf}iKXzOyt=CXUAzYhNu0VQ_dFf85Ay+p5x+{|a%Vnm?`@ zy47s(Bpx0~@S2{j=Qmy{7Oa;^`Mr73a=p}Zz0?tVdwIc};_Ri}L?P8`3opJ@q|x}e z<#6lv?M2GMx3qXPJBpF0K$ex`<>)m2_CeluT-ZoI7Ca}QOvX1TVJn&}LE z>sbl%(`Myv`nrakmFj;yfc)D{SU3cSb*`Jb7#a1`sih5OzV9G5v!;5F>~V2()gw~l z-55CPp#mJE`s+N=3h-c-c}Iw!&boivB$W^bC-d5>|3@^VJSw^bLtMd{7k>H@Z9K!Bo0jV=wQTm6q5jTx4ZC zvfpm+iL$@L*%1YC6h^VpOoVelSV5xtzq5Wm>_Az?p@?IK9(T$2a5Q0rT-cp- zvDnJd+UqJ14e_%>b4+y^rWK9nljqr{JKWjI;5DJOz4u|ftLT$Ba%#st@-iHA7>TEc z$36Xry#qu;X%m~>-tD;BE*<@!oP5xCWz{o?6F&zsg~{oscMu&ubQ)GIxiHB!j8E}v zzvj6#A*!*;MK^elnMBgBW{P%-M^gQwdha2u$k3Qz|0Mwi*qf&6A!{gTo)#;+S9D=9t`yYtx!CU;xi{??kD0`UEZq^E zk0s_H#_+4Y_w79-B*RbP262Z9rhYWPBCf_e4ZVdqU%V-$n*MNLVeByeN+rGtMbI|6 zxXCZ#?0!3sB>6<)$5tgD&$3_k7>xS7&A!g$FkR!Py%HAH$f20s)ckDP{hO5^yE%$6 z-KY7ri!lWbF+<95pO)7>_}plZH>kAAS`MXHXs-9Bp(IKyfm##Mpp$LozNpS=Ods(O ztr)UQW!dZ-@oJIaPs6D-4lCx{{YBF%Zl<3^sbkD4BoY@x=21&BInV#~W1hb*0fY-X zY)`^nxPa2%)PF`)=gUg)HRNd7j^o0%U2u2M@H=!lG};}5@uzqk;}brVArfnS0@vUO zIcqsV(I6qjH4-|@DM>>9p$DEZW%pCYGeo~XedR;csBd05KXhSFTXwH+G-!#}*)xQcRW%dTAB=9zG~{rVd(6nw2${Kl!R9L#_gv-tUeV>G8z@+) zw)T2mBpEx8;yva0Sd>y7()eD>UiYN7!E9||%|3b)7OEBJal<_tw4xjMYKYqHiLP-S ze_UtI#hJ7 zxXfqAODGtX426{Lv2ge`(m-~+Wc;MKa=qj54+m4@mIr!|rRe9Pr%Ee~t?DjfR60{% zTzm^E+>oVr^Jwp-DYVTSPJ5_PT-MBhqwjdZmtH(4yYj@9X3j8rrE!zBIB-Uf{LAm% z(n{Tic;NLAE8pp#CDr#o4;waVc|_5#5-n8Fc!OKKfI^b0o+BZ$@H*-<^_HE+F63hM zW`Cij3x=jTcjJ70cGKdqVD2RxdTqCL$++(XLyl$r^;>GmvoR#00p8Ot)3+R0AUj$8 z^}NhtnjVjl)Tv`Y+spIncTJ`7Zlp%FRFG#QV{HR`hu}l?C+m#Y|qdB#2*Kox4=JCIF>=)`-xY${cWc0dwCniG|$MCgSpA z;Bs|=we_yk(>cL08_l|-99?F{i}T9$6O<|qdl#B96{kspneG&;AT5RR!E_$+;#se& zrqi&#)HjqJ@&~eUee-VxG=^e%x?;wdVU4ve&d!IovG+?qTrhi{?VrBivznc0x;?ve zU+L4mx-nQ`;zQQ{rBvAH8A-UbitxL=xKuU3UC64hg;QF2y4Kg+o@qMa zeUnKTBlI{lKbCR(m~fEI|HZ6ID6iI}y-#JD;rzWRscb*D_RWjRW7YBcrkf2n<9!OT z%Tw;tG48(a5u`l+#>^pC6I=%;_qj=3T%L_BSPzQL2B%n1Yaf)EFDIrJd)2yBd*1G^ zE|r=0wxOS8@d!=f3LYa{QtrXUZ7o7_1m+Y&Qg-)~k%j1U+=zs4uV;EhC*+;4yjxCo zdJ^g*ti$%mE$M%V9&ComO|J7S=)^o>Yfjl5hVrEmT`>ex+@c8cJamEPQ27gq^eafn zy!07bIr$|kDM)<4d>O>3@;}IF1Z(^^G5arq_z#8r|3naT{-K@!j|pPLkbmp(za@xS z0Al+edqF0565ra9@i=zuUf^wz;x9<*Xj?8B80xy)hB?@s{m7QY%c!xBjKV+Mx%T!4 z@l&xg8gP#El$yELzCTme`Q>GJ-|L(1H7B1W?cJa3MeL_@_kM`#S z=393MZVxF`Pvf_gv^%0QSD?-t{Fp$rKm0KFT>5db!VYVL3xL@jLRVcv!fDI)*GkQ* zv7GMSIsf8^#mbYS{qD~={v=sydH70-QRJy0N-T4{ptg)vNpm2tigQA$-_M`}Uc*W9hTIQDkKKbLM=lt&p?3jOc_YzytQ5q|M zQQsy7HehOw}Q0f^=zjGSk4|bXWUw<=i9gD zU^}&~iRMCZlO+KHF`SCbMY$hp74shFP7Yk$Z3lqd62x998yCj29P`YC1 z0fHbFrsM6q_Oc4jGbnkIyG(r9bbh*}?V;BdZbpHz46kFpSfc8{u+ zqEOoR>`RGZ-&7Xzi7Xi<*~oc`bqaV>tNOq+mtOrQmG7*S*28*I zmZB%AP%awCl$R%=rD6rGG{ z`fmdSF^4#pu@==;Kb>$&mHcU*yA8l^VY= zA-kjAv*ayP{hL#Kn4^P5{b_wJuqPqvOr)&9!vcT#o|9sStetMsD!xc4P0bT3l$UZ+ zn2#j21WyAA)gF%B&;N*4#{a}MhD|hS_BCGvz0XZGA%)IC(lf8)d=YWut`|y;4OsoYE;AFf}K}a%>^+pvDw9OmGVmI`cm2dcSs6Af8Aof9=X-}pAgQop!8GDQ|VQ5Xd zxr|%hge5mEZ$pr!@}_JRerK^q3VN$CT~i&w!v~fjb~9?lQ>k>DmY@KU@90HU&o15P zFpuIfFGkE}54_KQ%f}!xiP%fQ@huf%H{O%;CQU^JO9v!~%QTcB#AZQam%v~IUO)_L zMe&xwdB->Cii!VgnXF!iMt^r*g7b-meI_qhGAT{LZx*)al8%< zf%U-$$B8Qx%n&G@Q_bKR;S?*6;98vQx(~p{jcn$j4ky~!@iwm`j z{?-K|wT@A42W=%b;A^O7cn&03St7!TBzbg0CPO7@cW+PPE%$gRryBKcCI2{n$9k;{ z-&RyuU^}uP+?<>CjhBq5)^OAkp69OX57rnh+cJUqM1yT}EPDrOsK+zh(F+M026L>z z-V^9%(hgiCxDgb@M?zU(OWzwJ_ceXhf-QZNM$dUq@X^sk1RXA4_JSFMb-VnPMG=1txHq>!n@AYI*{NKKfwqVd$eKf6V5gUFo$9RCcTN+Lx}@O z=M%H&(aN+-C6+{f4lVP(;WoZ3fcrN!V{#7E9OtF8uSd6`e7eH!jft*Il1VCUZ;;(` z@O)%q`_yKj;B@1)6&GDVY7KQhdRV*72kzjl+Fl%-tt)^T&YLia$=&>5U!dSr zTPW|j^J4O8yt6?O?eR@dGk&2w7nW-}U2}!gG~OGDx^L`y*~ZbMXE_N^HC@K*o-!K* zXV9xRlU(X+_yjS1Wkf6EP#K3477mhJ>+40uhMzS4y!bwue)xvIymi(pDC#rK*e|d; z>lu3A7pAV6v8G9*pjvz#WAB6D2$dwd?`1=^r0BL~FeZMm#ONz+8=M^=WLCXt9sF{! zljt^MVNaxze$@AV<9VvS#1F0=;AHuOi!pwHF^CCOHZ%zVjQbgAyeM-an`A;t(| zSkvsBKc8V!n!YBrIc_P{0yZ65nQ91=k9>oYq{HyK z($>&hO@3Ksn~wyNi-jib9la{*B=^#PRG*NWSh)wV#fpArAKs8I*Txb>@WOTi4r$!D zByaI+M|16YeBxN*wsVK`9CI{WmE182OoR?TVm!44wS zJH9m8u+uL*NwwKYI~=bRsz`?YBANWLaZw`4qj}+r*0E1`T{=*2BRt!n?rpR7z4_B( zi2yB(H}vv4zUCsZ;mO?3oUhilV^~Ad1ySz@6uU7U@Xt7Kdu`)AlTGj|8#_=({c8Ps zCZOVuL{snm3kzHV3)6IvR?Q^+Er}-H=a?Jo$$W~r&cRFB~)8nHT=B+(q3 zyo@hrZ^LL5(@1k)Gb?Z5ks7$K7ZhZF#3{k24a;+CL_udgBVpKqnrE^b{F310GMJ!r z;tGhbfbY#)bUto21z6#Cg+ntkiU|`5G~8v}@?ewr2Kcq!7b}1jzU)Qu7cD7+#5o$- z#7*`rvQ#8=qzRZo+7(ruZS!zA^H{q(oX2(F+48jeo1_hI(D>7T_yAU|70Hcwvt~P( zTrMH02UQ~3Sho##j6uQO#g44yA)(vr!m)~k$AganQdlH! z=!2|cJWqT!2TTmD{#@T~@P<#E3-lnPN0@h#EHfzw4xj{`OiZ?7d@7#UK0c=dv0x<0 z+h`J4_u4S$mJErsW7^1Dv7AoL<$N?J+d_HAUpZ>zla_-TNyGKQsb{QP2C7LHJ_m(JOHYLysht#=_vE{Q% zUTV|S_jO|6@!WxNjJ`S;avzLcq7(_$-)l|eq1)ShVS0u?WWEq99?6#ku?R@Oqx(5-Erc=6$c`L#|hKL~ptx z#!&b*;*HC^M*pGfCxQ?1{dCMddPa$VN#AK71SW-*VW7%_s9PWG=_t zU$*25yyHZ-uz8C~q4R3TI9d=y&}pRp`qQWicN}JYAhOP8BIb8$3jN{|vhG)3%k7Bc zH;d0SQ4Su4CR$s+`SkpnVvQ{`@gYaq$marpmu+VD6olbzh~a~xGelHyDFSQT4* zYVIfN1Ww~Kn?(8bEGoA8;2Sc5N4j*-`hBgFeq#|hv`Z@Q^xJ3Ia>9l|SANl+tQ{7e z^rq26Vw7K`_VNrLjKU*rA9qI;$LkqC;ngM4J2F`_YNczS<|{D7Lqun3x@y7Y8|WAqcMu4hwQGVhC(#ry%jkgsfk+sS8*IQtM|$i;7izr{XThqsR<$tbRuUHbp}>)Qf$ z>ACN2;aWl+DTO7zs=r-lKAtwPPtJ1C4w;y^ve^)9^uw*D$to*TenXoR`;K}^H_HnX zP=C~ z-96ixi^BT)0E+HxaL6oxms5aa6SaKOSdRt84L3H%1f6 zon1DLZ}gAYzofajIv~dNI=c#R@vL^?%``R%OP4skr|+Ghx4$N&mzTn1wN^zH*>o1> zUq`KP%$u_%w~+_T+5gB4B+L)$7XnYUQwJY5&2Xf0)D&zTw`km)ngG zDbtIO=Lr(X5;gpqLRzyk1`WaTgjKPpV=2tVVYiQjiJ3ipq~vO|iz%pj#IMe-HVyYL^`?~fa6;#;M7Mmz?VefQ)PK z&*|vWeuU@qQLErAKlw(`n%vpO;m|&%_2JfHv<|7(hJ*30bk)e?xn5B>0e{S53p4YH z9+IBz!G+M38AY7~yQ8N<_=T~h-+dn#sC6McJQ#ExL#$2I@jKg+?w z`d|3b?HLOv@{y18Ze9tOx})~GFv?}|i7$*AY#ZJB9C8$wo%cyKQlZ2WB_Ut+t{zr? ztZ<$A>Vt}EZ;VkL2`zbY_VuW{)=aB=>YGDOB$%8k{P#I_tvK&@cLrsPF&^HW-lF_D ztDQE<98@)hk-W*{v7!cZVkF>?K$%frvd86#z{$8?BR=9ABqVtix6|Jq+n$Xt{`$dx4*r)4l`KgL;3TSFFPma@p?v>;d_=`towK0 zy%OG;C|fJ-pfICG--P`+O&%{y@M2w$d@%v_&lfh6+*_rg2Op5{K6*P3n^ttx{&FJv z^S`b|Dg`@pO}C}L4-5Yc@fEjw7);}i-N#pKkf2T1t0wp zB2enIJKM21Z*=d^=b6zK!oa(;XSmesIIJ&L`zPe8k{T*^mMbib1c`YMH%5n2Ecp(% zCYn5JcaDmyk}r-&FK%5nmn?DwXI(cV3)ydbUYv%7RV80Jv$$v`5i`${K5)A2`$$;a z9a;c;QG}6LUAxjM4m*B#YbC2m?7pAD_(G5@*P}e^WMMuiwkomqKw>A5k^l+mmEe&u z5|Z~PlEM#@`v))hv>HpVyN}b#Qou7ClQx(rB9em0a!3RO6Op_1s0> zA-F*u;u@>s7VxvZ-`Yacnv}OLtHl~xXU2!5myzZ_@`wDhGEoK+q1KyZp=$Y9DKN2K*2go*DoNuskS%7%Dba^#S-!}Uv zgx%&hofPzR2yGU7%o_t%{3$~D5D6)ubu_jZtI6J?V}f+5PiyYx;CP4m!`%L0x3*FH zL=9`5#NK3cX(ohd8}~v)-;Tr^F`CtAh}7 zc42Gyqa*m%XT-FUG27wnaEMyJ1?Yjzo-dS)-_wiCoP>01NzLO*cj>Sx?tE*Y>4Vc1 zVONX{pWi(s@9%>kz>2)OYXwz~_3n0O(}fX-RpPyKiN8LDlrBT6KagowJC|hG?43_Q zs-a}pZP|KF)7IOBFrjjfCqS@rT~Gn`nKC3m?d61jb@HDj7YKlfECpgHKMf&N{Z8bvv%2TY*Rp2S7dqGuFJ$b17i`$&W zuqrhetU?XWK7~t>hIWUYj!}5@eFo0Q3qmMcG9Ie>J2)`~VHOr}GFCfW)|^l62m+D+ z41utZa<|*<@|gkAlirU|a&^c3cy!NKgPPE?FBYEM3g7u`vu6%mhuRJwf@>E(qS;}!6oSI6c}s>=tVVE3De-M z-+=--E1Q35e%iVCX3RmTeqHkc5|VBPBD*THtJjquy4w**2f(OD0$>^$p)lb0OY@)& z8y1iK`BEq)Kgl-im(8AnE1A33jNNWe2xVi_ZxAK#E?_R_bs!tR@|Bju(mpePM{Lgi zXB`4z;-7**l-QuP_KP)!XTa2S(-4EO2{>iH8^S5&T@m4G^c0$DW9`;!v!?`@AEO;k2(#IHO$%n)gvH`s{$mB0E6Fuu zCqZ+CVHE_AfuS0*5d*GN9*$_dt-~Z>0E3mO!In&JWc3M;=5`Wlm!|=(T;Cw9DQV{F zy5>8V*`#tL>q>@U!AE34Hmwo@8Q0!}K!!kGEbLr@)Hn#4caz9ED!xfc;M2Y~U-RYT zvkQcA1Lg_=7C=A%tR)o&+Xw>5IT%jCKO*M%*<%Xsyad%7zHO3KM&zKosR@Q@Rv-SP zXKaPz*zC2?CTuug73s+l>0RF`1&UU4g)+>LhU1ZWmaU`MMdVVjckp7g9x7^&`O z*zS>lBBj@%{Eov52;i2OcWb9fT|Bd4NybljXPDzV!}Osn&3}cGF&tFFt|uzVgSo&( zeRSa7=gs7iDUcpu+M#!o|1`O;dTX~r~)G z(KKKpIdfVbXKTG407OzFATm|0(eB2u8wh+|GJeuvm=WN@_CWljwZpZn_{LK#rrWSW#RWQoN7bH5W@rw|2aiT&Lm3}K03T;SfTQ&IL?VY0+s*gz}7yw1;vKq=^L z@HZZNy1JCop)kb4vCG)({oadt2UIs3cZ0w3)4Jx!hCmLzzzz0#%iAO6Le_;Uq=I&K zQxk4~r)3~jn(^U*j8t)4yMVAOQMwzKitj-XVgdh=kIRA{YS*gV?rL1OoB~x7pIssB zKV@fNO&b|(_BN_ig|1Jkuo^ZpfZ3>_-5EDL0zE~51srP64*u=DaRJmy%=-o7t|u2j z<{!Gu)6cH2rxI3ySdT&X zO3@Dig4t$Ip9S1V6bySIf+*kW6URZ9WfpwZbU;XxqSx*~!8X>8-+0YY5nw=bX9Ayr z$t(be7h)}!_eL<2ZZZM)DT9m;BaB@Jhnz{XfCW9Y$;>e*(Sh;ZfbqQ-Ckg#q-D)np z&VStM$ThP6<_|J+-d}_-Lx?6FOR^x<8G^ktojd4c{D*HhmY`moi}RD3i}Tx$o10F4 z0kbX_2C@)sQAhefdrG03$KJ=P>d?eblM`(aXZDqf^eWpM5|Er%{gDL-^c_(C`H2Nc ziUM>QLk2QxkGeC1Dn&8^9|vCAQ+@+p{=WOGsx3lMo_Y?{v_6N^_FwgwBmU? z9R8*CKOg`F$PGx=pGt3PoZNv7gj9$K*}#Hzj}j@VN0c5%@0^me%I$t%r|$r!Ay|T5 z3!QFuO{>(=fE}NKEpuOyX$l;VnSq;DTJ9lvznrSFnj0RD+7&IhGtWy`O827yaW`A9 zt)F!1P3|k)b~bw=e~Kdnba|b(S00YJp0!yD9B=VglH-9A<`~qwA!?Kb+2+EJkY3>f zO_`Bryx07XdvoEI{6YhOa*Ikwf@-ROgIo%@%r6Q%B_mfHUK#NKbx|9P+wJDqQ2?C$ z=q>DbueKGr9QxlAj#KpyDTw+Fg-&hgsD3DFh)^P`MO}Sny{al(iw6R`Tgon1n zbAZCZT9GXAVk_F8@ySD^)aA{?Ymc(WIp-HpQiQ)cdCxdc8Oi;A0Eimz?s^ls1T~(5 zlQUZKsZokD&jc(>&0gp(EJ2$f<9MLUT3nE7PlK-gWDcNaR+K?}F_z=rMmPXJ@)dlq zJi_BJQ<@@0$-add43*l)z#~-^E}^z$_3;#-VspAPz|RprBREtE+i!<+TC~A0oW~Ji z+L@L0Bl91UerO%TWoO#MLPBZ|8A|&T-tZBEoa)`F(~DhPUFU~^+6fBy?SDfzXI7wm zh@=4VmF_@?)C7+0QXT{7{NwD*c~a{2G2A^FjHo1(>mF3p}@YrIl_|37e)y``&vRpB;Y54^Rgm3mp_#V=$^JJxU*nnr>F%V#b)AwSEu|}Jo zIwh~L92{7ES(-lwT9&_n@giUcozi*VROzl8C}OrCb2l4Fs~WwY&k>{tDwLRCzkXeG zH-sR=E}*CX(x^KPD;v3Pe}Dh^&6eZNWW^a}0#}827bfid&>YVK$AL<(6BY!$gBXT|^*m z0?s?{86w1@0H46~pp@pJu#o-j1VJVM?rQ+aKZ-$Hu!w&dAx?u*dWyaTAs1ch7(NI* zat~IVt|`zf8fvGl`1&C|1S;Q>O4z!NSlGh zZ@bOS%gZykfPThEX_}aU5ZO>pyH;VXHvQFet(5IRw`{CEMi%GOswf2Yuc-hos{hd^ z6FX~<5;Zx0M1ISkxwkqBqCC5`&?EWcY?X%Um13}tCP0!rr2 zga;x#h6mks;DSK4(f4o(3aTQn=bm*x>+f^d1d8gMt5|>)n(_SC()9sL2V4KyWPCH1 z4oC);Ya(C_EBOpE3A7DBDOE`Yl)ozPg@82K_!L$80t!m`JLtO0upINJpEqjS+uD9F zyCraCq65zY>w4Ellml>i;_9^{>!W=cgUG@rMpJNppnF5q2agu#yPXjYAeHI`^!(p3 zQ-+m&jfsnk%XqCpK=@VLM@(2GU59$e6wV+*LE z5y)Evl!;8w!A0(yjFf~(NXu_28Rmwb0LYta>g3IH3J-0qYr72x!o=Z3TNp#EH>du6 zISiPgR$v)cAdK$LZ$uFcM&k$`s1Tu{)ju^1*13jCRr!9tJscPqIByaLobR^!1!MKxCjwUJ&Dk-gD zkQ8+akl_|x+t#HYc0UJO5`YpefNbr~1(b_G%a4GLJ#A)}sXIZl{h+Q>dkH|p+(~k1 z=>=5x65xceuH2?w2;OC2ISPTbraXDmpZgpy@#O#I4L|?WjGC~RR`4_4-}qlZO#m3| z0a{3E0Wi%moPDe^rH0FOL*beB@sH0~LzU#yk1s1>&%k6)_)2mK3c&Akpk?Nw)lav6`d&=#tBgUB04x`psfF^4Pr^R0I4F#ixq%p zF%R|!GCI;h7FNve-yrrQ`3R91EB0T!z48wW4P`o;I)V@WWCVkg&dUX3WaLh-q$v20 z-$gIY`vKlL0<`jo8klG3pK8fn%r7tN>pnF)xdv=z57an)Bp@R(AY8DTW*J`q z2=H%e09d{!M4&Lx5;UTUd>d$bq2)H#D>IO@y;H3cDkH{ z;^KhE5McoJI-&*N)C&5^u2ltEmpE3q16|sSrTI&sBW^f?oLK@01CVcZ-*@Ko5%}2+ z;OF9h(ys)|P#eGcY|XBvtvXSyiC^+2bPG=A4HdH}^vepcK6 z4Cs<750=su#_AS1cTAJ{zEmJ5lLGDI+Ty%4W#R{kaqYUHeP#=@oh7ox`PEj)8Bpg^ z03_fV5ZP+LKLOtLH_%wd0+7myfYg~03s4H0CEwX~+foh!_kKnSsx|%_sir`u+Y^UB zoct?YNfF2ryErcoG|}v`9txCGvR;FE%$pID(ZDN}7eB+U5v?LR9taD02`WN)l?RlF zuX>N*2LgW=5#v*W)!V}7%r^T_=ph_|dPe|Pb9p(RS0gx11j~t0LcKI|s;q}-ptQkh zm!R4@ONcuX|4qoDV4ND#me=HuTkb2PejuggL!65rC*Nd_aEDq7o^Jtn6naC;A704gy-Hz>W-nGqL?AXWE77>FJr=MgrwiJEa=1XpaCk5pupi8mS80 zy3p^+D-f-aBfR~!<^LPHvssC&iXx{;4mr2k0H_zBLu~^b4B*xf9V%oT1kgDERQOer zyF;pX?xrHQ{*UBbvIgX`3wkkJsT4sqa-gjY0}%!juH7DvzzKIlKDtqJg274vnTHLS zln{&Q30RN=QS^k<|1*r*`$4!tv)@4$GUJ0nJxNA5zKioxK*Rzm9l-Z_L<~pcf!4a9 zkh_xc27$Gke+bE~Hh3#{kRa`UumkH69B4skEQNEiRHlKgT#k3$1=$k7lale11Ov3E z&0dW>ndUHvndamlb*Neu`7ls1uA}}p6*b~D`S&P+R3s+8I3Ir3SQOxZ##9*o!`Kl= z@bcWT_L&SIJ(XJUL5S7?T9&1JXFkTUlDr$RN4^-@HvKy?#6Um4{?lElH(+5xH`Rha z@4st<7dHGUA-jOMhaExU8lCsli~yHMkSY$yvyLo*khA_}(*No7fRy*Egn%ID7_U%3 z2j8H-`GW6l@RZ_Yv=gAUK2rf`Vs-)W4THd+DaiaYCn0abh;I?8=-J6%Tx8=8w9&@; z71=i}GR={d|Bx`+hd?c-xrj`5cIVXw`%v*e%ZCr}2SE6?0hR|yN@5_%_W>y@8?lhV z051{P3Xhfw_z#f8@4>>~mV0~7ej^ItnKAPpX1EB*SbtUxm;^xe3*rXD2>`|oAZ!3S zj{@8dbQfg&c)>6!fDpt1sq&xW{#|}DA!wffO%Y0Sdaz{y;Ms(rghi+}AjX{X>hoXe zZ}E=8{K>ctFoaeF0_2+f&M(J7awz|sR@>n7f18(+Hf1ny`v|yoWVx+R=6=V#|1ZkE zJf5okd;i{Bw|$$=No2_3l!^=)Djd-fB~7Rhg`7w##6c+2tzF5STZRmgLL!bK^KefY ziZY}OnU0yvndjfy=TPqbe!idI@At=j-9PTFefHk#z1Fjy=UHp>Bh4T%a#giabl_z8 z!^!Z6s^FAS^)ndsF|4y8)6tnmS|l>zr+vF!uvD5BZ(k1>s#Yd9+?s~MwR_=s>!@sC zp@wKYXCT}Ow3P|?Ga|UA8btBPAbRw_x3mdRm9(tt=>z}1R7ejBV%b)vDqwL7IwNRp zM3}9O?8X_2(T}{a_{)Ke1HPLcSxk4K(u8s2AdiqAZG?A#i5yriT?`}p8A?|h<;4>D zzNph3hP-nRg9+G~%fdnJOd@4O=lnPURHjzZerbkMzDQC0mnx7kQ;(BrU8-q|FZJUD z{c;=Q06f)I)S;6Q#ffbU525)GUm*CtKVN!s36)6tj#2s}lEXf3M8lad!eZbX9+g8+ zTudKprL=~q*!=sQ%i3m%P_1mVn2Z5GAp9;C5g7zTBzB|(;Yh_{MC4B_x_CpJ;z9y@G5B?yD8`D~24`ohE6YjVuXT2kzNC!U%~YBOAxH5?a$o%4 zbIBR0z`jpVhu%U;kb?sKfFHry@3ny2&!+#(&9rsQ2OJ?ZN?&?PV|3swBY@cknb({; z)D_1nu6h0t!%*TCL6ABQd~haqVkEkkPG!B_c-7NAHJ6GLxqM%l@^b@aN%@`;OiuXV z#s1#-xbbIB-)K^Xm42RO&IUqpS8?KIW6d{{9j!^j4j{4m){%mCi|^v@N$XH0#qxL#2;vd`I~>a{KcI3;eWQ=3=meiC(=++>;>pUcNGz{c$e@e z?rj^im&7G(Lb$~F&G+NfKQByYZDVIjVyuH!@$&VEvt%NvRtQr_HhH!&3VIj25mx?+ z(6(_Na=Y7LXQd5|p$@2{k^!u8Bfl8xznqhwja!! zk$$oRj4;o}7W5a)zP>H`-PP4#F5Hgs_pND|PrFh++tRN0>&Pfw+3@0+QiNu7bo950 z{*kV+XDOTw-ijwja_440I?d%1h{OrLdqD0?$DUH;>nx9-vU&bR)N*9u`EYn|*I!{m4 z#*O?UmX?8UBL3$rOv<-F^gQ7iY{&=JrJu-qQ{kZ`UW@xdglcxnopm z%kZ;2Az?}5(#!EK-ycR=9adHC@@<*ydN-1<-HRY6sVUC1U#M2sL8{UK(Y&OUK8?LD z>POqnc>ZV3e^q?bdZ+M0AlT453jbyWtD;@G`ug06{JORFz2_HtflLqI#`dx~=|jGA zdc~fOqOP|CjoEW2eigZF;SQ%Fxqxm-oK4!s-u<+*<5tI+a0D3hVvU@Oow6nGzgN6Z zUmIM`=S+(jRifM~@;=EHLSf`J4o+5%#91h5I>udn9ZZxxpb~FET~2B4xW?4I&fdX( z>y%j^ukP(lw=G5lo^4b>%*KAHMxFxp)1Ri4HTO?RZyTuz>nz-MR{Zcsi3l^7@{nw{ z03%!5RDt10m+H%R+atgfl^u5#e!7mqf)Eidky~beZ;&U2q;?A(t zf6ODau_%C@_|f}o>u}3#?QA%gSLuW|SLfk{50jJ@5?RsZ3wKCx@rd_uX`!*PGa=5` z@VU=3*X*s=^}kxRH|e@IJGfp_2$ZbeKhe}M+0t4G@Q=?EH3P9-CzThe??DX}_s@0R z_OjgU>U`>u+>`cFAhErF(*2Upx~V0rl0K2^(!xz~YC}UMH>l$%^t8O- z6ak3DkY_nXS}4TOlB|A437`V9{sRj{v=Y%Q-jm|GUtzAe%W3{#3_oANNFK>j+{hiV zk-ao99YKD9kHnwZb?%Eqx5*mO(?`C1NVHZt7_%Sp$r{I)OQ#V$zwIF#2mb6-}r_$|keb$M?7n zj>lKao+W-pDv`J$gO{$fN0V2q=8lI11zAn)OcxoH>{j=U3JDFhJ#1^d^+K4p9Hr;* z`D{7smhpFY<+rUZr68@Kp*rkm#y=>H4uXI)kTwPeTzR}u3E+_3Sq+~Mv;SEl7Hqsx zRv*bJ1m%8hv+8sVG2`?B&L*F~-X6R+ZC~pbfI2;Cy?OOH{u>J2@4UFS>D?o3g0%Um z9)Z^A`-M5HpSPMmkh8|={}~Y`<}hFOAxIcahlW+7_5Y{s^x6fN_bh68+;L}2s((&y z!&r)KzW0ZXz%O;lxlY)OK8}W$5HOhiIZEer_HiX1G1~*KA3_dr%I2HXKXn<)CE(MVHLxg|f#2Leb|&26;6!T;)1W|8`wdQ}fdP zT<6Ko!0n#%7wg%zoKF%D5yh(P->>Bkk+5oVU{v2PIN9ATk{;?>zrmE}qAYg$MZLu) z>&$s_>X)hMoW?A384jzF$K~sBonSNp*vf*gmH==yOBgLZmeHL>;W5#!dNw9cOElJf zxTzo|eyiw0!&?*!gE1&W8=V4kiYQ!Z5?^8FwEh+!QLJ{6xI)wrIz z-t638RyJb)R|zGAWvMtxP}r!ipqoaT9QmTjWOAE9F|Y(Bs1{=uh&1z|CX%hag7!jO z>G~+0{6v||`=Jvrx*@WrBZ}W8-}Y)fe0Tf>Z|>>1F9et0Uz^p4BUZED0?ms>zNEG# z&UcmR4D{sy>I7RG<0Js2bdzQ~$z~F13+{{rF5%?~LcAT(sUn#^)5>TZ?uvS`uYh|3jUdLR?&d}e!Q#dKloSLdk4edtKzmX2!>sgL~zihmHB>Qlp751%7OS=a3mW8QEG38{^rj4uK)ta_$!u z6%n$g3@by$L=*}vN53pgSC1c74 zcYcWNoWRDhx+vj44a=Ro%{()k4?)#biSlmx?E9&sj*vc&V^a%#~xM z>QawO<3!T2tj@F$GU494RtnDyB`{$9B~R4#rqOhqP;`u0f{}xrTc&TZ$s&#zAJ1<0 z*?DP9)cDnwe5ku{`$V9w%8}W_5(YOfQh7qXQF+hJNFqpJ|HV?+O4$neoX|$; znP#kLqtMp5q@?a9DdxF+dhNyk{rLBw8CFsS?2@(3BfN(1KDx5ZCn-tFZQ|3HtFN6? z2wERfh=^2gVq@LZx4&AKdk_QK7>neclLUl*2w0sVgC{^S5rJYN3M~Aj73%>6+V8{# zyugo-hDCm)(xmeCb$i^~eLvH;=qaEDEL`TBci12Ly>)sgZX*p#=9#N^H+Bz3zc0X? z!SAU<{$0Lc4F^BSd?qunc+;|uJCSDTy&apeVX#>jLj^^@chTIBZTeV+ILj)&%vi< zq!z+?H5+9*Z$fG~FUghA>E`~>v({+>?7I@FaF0N@FY|@`!!Wsw6mv(TzM+1*ctd@` zY%sM|NA~;U8Lc6gJo27>RuLncAQy-r4b|GE3u8q8}n+INU| z2@fZ#ebrW&i9O|G95L_bFhr3^fAzRIJ!v%Gqc48zD&L&>{9}YAGwoU~JlMu#AkUlx zoVAH*J>_K?76625z!N?s1VZP`V#ro~G(o}4#TeBYlWN)RCbXho?bfq%-_u|+r+C0M z%rn!ss=!!-2}itIvbW;`?x~#S@xN54pB{L~fAB4xPL!09IWwwh+??l39Ux`Gl+Q+q z&zqWiGAqAYYK{|T!TKBz#e?bL?PJx9pU1VkjUqKeX&B_ND4-_>7u9rT+Nw;s_$88i zf2vKt@1(!@_@b zFOHLjw}aBnXDCBb#C`C(qN8xa^>p|~4(b!V2Df$aY`!qjp%}mG?C__+`y|Ep+ZHlt zy1pV4R4T3C_qBt|@mCeudldGSx>uMR8AV2nB)86gyW}jcpWJarUG(Noa0Q0>qHm!$ zV)jP>92aTi|J)-*Ss-g`5l@=Aq!g|U7pR~RsJEreJ|^|${gld=b2p!#6`GDTse%^Goj4#cwt$xbz=<&tX8@r3dkDz>~)EhLsmKQZ#RCYuek#XN&o zQg+O_;?*B@iGT3rYzqzw+S#0Tvh1UBvxUr>Bc}$O*4*@|jUQpq(ZYSg-%2*yt<4oo zcgp|!gkLK|6lN8`T6>e}>{}ESIBzT=IhNFu%XE2ofH`V(vF=6(maZD~Deisy+P9?1 zL8nEHba$phyS!>tX;euldeu{Wr_)xj6qywo;9pOk&9ZrQ_LfWhShxXYef*6xNMXLE z;{=D&08Cy*Kuqh zEOPdp-C)zJeH~M)*}Jm!vaepfdW^@b8hj6xqEDOEw-WKWtg~Ezl}4sJ2#n7#w)9U@ zrTZGeE1MaiHzas-EKk(vBUcV8S*FBIy}jCZ>GU6)j;24sN8tBK0nC*&g`qkrg>+y5 zEuS8|z!vyad&En$JD6^*rToxHF}Rjv?mB$Euzkx8oJ-n>GSfO=4}u@4bC_;~f|@~i z$Ff9dN-y$?zk8uc<8%QrUUTpYWj1eA{+dk}FA;k^%wM@?UciiMnz;K8WZiu{SPO;o zu+pUc_KIxN<27EjTmNn8goQ-4z-y7vKgL#HI(4bw+Aa^5ILhj+jpOg)(gV2>RXBs` zog6<5Y>Vn+?HE|fu`FT$lK^>P5F+n^<%fFz2rRCptLi;bJ`vQgKinOgf5QW)fa&G* zYVWDwaGjQo7lesDSTR;Vfgf&o+%7g>Bf@FB^+I8IRgvqSvjc&rI4<)%>h)>H53laL z6Uj{-dK0EPT;u?m5gqW z(c$e4V!tkOZj*BiH{|yU_gMT*_4+uy2qWh-aLAnd>xuxQ-`SLg9)xEOC=GWX{o;wn70@H$S?6eu##w={$iI6I~^A+#d}>b#=T@jtSsxAIsJ;}_^J(?SkxEqnBRuEfweT6lY= zg_WuLV}W@D-%zqc{oLoXx6%`}Am99qJsFM4{XNZe{n+~}BPF1ZU= zU98h&TDIbIm%ZOY+ANTqM9uN=OYQk`X9wJ0S?-3Uq)8l&NJNhfDHj@K+imK-{!Baj zUXfFP_PBTAaD${)*Li{O&3Z3f#nsfm$_qY>jDIU_|12(V=G+yQ5ZL*tV430qt`Fc< zFb6l5D>h;Fizgt7I<-+&I@A6rT_r!PUJ17QOA0b`i!Ir1twCbob7{gG5n zqOE{KLkwiC5*4NX5bb25$*m{VXZkm9?)QyumECi9a?~d7LHQ>7bn@=G1C5~%ef`$H zugCdd6atCmzO{gS&Gcv#((igA@|zK%?>=bm0BUefruICcZ$6pcNuInLvVP5tuD%%f zBMAQRe0$aE4!>Y>ca=798Tzw52CZ|0Yf?RE`vy~e$5l_(d2a~;F!-)Kcz5Hcxb_as zcO@=}Q#Cdagk*<3+drm)(J?UN(s7*Vx{cE;;B74c(m8MZFTCF9})MGL= zZB3U>YJcoiUK}Si`Apu67OqX9g;9=d<`W}q-q2B#^3 z&_7n0px}`1k>C$|Vi&f3oVRm$n5yVk<}vl^P*mv3sisI)QmlaVr|@b_(`sMAwocl4 zAELfO^9hNXSAE`h+_s7}UhYr#Y!U;L2AGCvSnG?K-}Er9!w&2M>~ssHklrcl3HGIg zjfm%GtT59=2RWS0PZ6AKuQ_Gby#6bQh;u-X{my=2%0)#V-n^|5pz#Qf(>{kTOB|^Y zbf@jJeie zbmH#I7iZ!MXBFtHJA}Q--8ofAtQOI>yedP^eL+aO+Ve`No|faQ%eTZ$qh?oU9eAX- z^}I!YO!>zC$+(3Z3uUMYOmjkfhcIJXkLhj2gf<5fH-;v$$B+PZfbkuAZQBSZr=+DHXCyR_z3UB7y@#O*1GJ7hY&%Uh2CZl+#D;6&JAdgB`@<0)W|>z}DZ-caivviv`kOlEhT#)WJ{NU55lBJqhtEq9O;vQ$?C-(`@r#~I^M>#Vmqjp0z}THMh_GwBx__D=+|l2=QM?yQ-#w|O6u2HPKGDRxpwRNo zJ@%xuw~x=^8ABoNzKmz*g= zyC@n$iWz;16*sI_)`544IMP+Ax2C_0c<{Y=n3CRW#+#Mz8Q+T8{$ zM6kXZzaQGd(bzcKN3+INvQ^S$?Pbq{B0t=BKJw`=df>HG4n+0XMg(0xkNF=gA(+=z z4cH@()?)gOrM8*Vx{gvcnQw3y(uvK)b|viY+_AemeleY{&I1B;YT9VCHq7v3K#lJ@ zs~OKV61+Z>ZdLg7zFpo;RRXl$OrOpNVVI8n;nDfgTw$y{W`@ESL*?=l;=opwa>5TdeQwb zDFz+}Y)}yew=Z}s9#Cmc080ir=0pg9r_6^+eZ+WS#$-=h?*ikP2Sksb=_~9(iiSZQ zPNQE#wP)N*4F7v4se`ZApDdPqHyap3`g5?aGE*DrDZ>&q_ z`vBHnF6`Kf;KpGls4pyXzky6`ioFLo93D$`8hON?^zU!XuDNprD@9QwL0Y@6j`L2GyGL_MyE_oqgr^@UWcPMnR24Jc*E-qpq6-MRp}#5rMLoP4tlPD^ci znL%ItzInwmmE}T~u?E6%!7jW`zz)bhQ%?ZJ5fxaJv z8jP(FB`i%Bz%Ky+T^X8a2^>6PuCSdLo5|00ru_VgyZ1-f^x5p=q+%D5gdA&wcj(;@XX&_b>qn-FN;XE5?2Bl0&YZNAGg7f%L%*49$IyHMHjC5#q(vQTAGbb31CXcW2o)+;Q@%1Db0Hz#KKZTng!^!?x)H?NVx$I7SH z<^M%sof()mTW)t_ikk-kmWslVB+K8*YSTJYe9%44LkD=BX z2S0)oU|w@p&tcq+A}*h;iL=uuKSO;<-bR(wU6tScHJP57WOnImiyJ3_@O^6QcjH5>swgl2z6+rZrE*sASs|Z0%AsQFJny%eTU&op^*)+p{I{0RxL1yK%udz`O2KLl)M;l);eY$yVC*78 z01k60rhfFpVh57qIbZalpEz${hr9}=0*++25$!YIWv!RlBv7W~#cAf!9&(S|U4Zo= z$DC|VD+)SS$eFC!{zmpr!Htlsr@d_M7>&|D??)ht2D*osHko=Xf(z;23h8bI^yf)A z-sH*aTbqQ>eK0{k0<|!!%5^rK9<5w^8}lYCB_}NyK#jtaPu`LLC}+Ek?MuQ{DI&ih zxq!V&t>axS;>dv{#uU@dSoRkflT>&NeI(P#EeuzM&dV9wqoaQ+iB#J;O;>czf3*}p zCrqsD9P(d~FN+i;!x(IFWGZkwLXWURlk^JX*vuN@_i?u_aAwB&mUMStzB4fn_>Q_! z&Y7?x+B)@Hc4Fh|+_R}~VAsMdb%=}Cm*sedv5sbtb_byZ+Jko)w!r)lR>`5PA<>Qw z541G=vhf_{1Cw3@^sRyqSP#fMqduzIf)=}hEf0O6tGT^d3S(bcRKk>AyI?`fse+Mr z&$+`R3oN@bt6LegrE$IWfGp!cSaXH>RLrz0ra^SNywLk_XA4W6@`9{=OG3J-rgdM7By+^_RlE6eQ4w~ez_7_f%Zyh)P}NI@68e9m8me9!X{ zy9TC*vQ+{((S~0r`@Lp_Q*$d+8Nf=#!4N8d8(NhK>yjE@sbnZ_t88jf9rHN#&XNUm-)e%1<5`7R%)Bn?!rigZweknLAj?VM8=e&4nk`lCOx3Tx32OqvG{7L zK*Mdxmn({%b8E^8$O_f!3j2^R&2pLom=aXYY zA7rM{t#4Y}biJ#Ah1r&qPFyVHK9yQN$hXAC_nVPL1Is_0YM$UvViCSfJ5NR)z!`s% zZbG0ZOrYIaN=Id&H^|R7jw0-01mA#zAY4+gP<$_0{l-b6m?@#*>-&EU>n-}vXs{tj_Qy6Jm85<~JAX`D?ZA7aMiVT>6QSsBpUOzrq(S{DrjU zy!E}fxjXw-ETIxs2p;qLDP$h!W+rylG63L*u^tPMQiKJPO%6z(u&zuj$-*?npqga* z6pZ!er{Af-9~=8Y$2V(2+A!$Vk|4C z5>+y9Sc2dASqF(^P)e<%I5JVt&ThnR%ERra7i_CWc-SvfU<+Rl>^N1+;Ui6eU_->%gBA>wul3tiL6(K+M zo4eKO3+wXdyO@`BM`6@&X-tK=XiDfd)hZIuf?j{W0_ovG)|`5!5rC``a0`LyV%K6) z6L8uPgAe|B{u%;E+>yCQZG;B3M5c$^^dLI?f}dO)Kp}O5QkDZt|3<(dCkdH*1y+>* zV!;eGNZ~B>0}Y1aba9h;96sO@_A+S`p!Rw%>|$fRMjfx|=w-(}^xZT?!N@^zJC90+ z%Sqy1VY{bN{@Xqd-Te+Sg^D*ye9koQ6vIBS%S=(T0yAMQ3Kbq`VciYdt3q^PR7;l0 zC}K$lcytQl_UHGF9OW#w zyFI|-v*1emZ2w(L&Ry3D1P;V^B^OpZ60X6HgJrWdiZCZ;`Mg-E9vAInQW_05>?>4B zHxpQ?p*cEYMd&L?rYmj_pu6tbGe2ax_zSwK(09axkF^$Miw({+f#x+rN7(wCa^>F~ ze9?9Mq?!lZ^(S)eU7*XcCU;jjj6C?lraWw#={O&v913?Mq>=9XvGZLS?=6)xZsgKuC2(P}$p5~oUbJ}Z2_kx8In zIL}~H3okz*yevABs1hv)*StbhXhumSEtn!XOVF=HnvXK4-WCm)z?f1J7u)I%U`_TO zR+V_ojx11J{g^M+*Z|~GC(CK|{5Tq%!lxe4-le-#U>EdPhx*@v7qZqu4w~DWjL9D^ zHcdK|u~K^}k}7=`XJuIvg_!WL5vk`B6`VirNVHXx$J`C!4;$RYLPxuy zpx_QXQ7HGvFxnD&KDj681?YJ^`F0u-`=)Z^QdR@dNbR3}4VEDw*q5&a1a<9wJT!ky z^YSftoCgVg>@d^FSVOg{oUEo3(|M5mCqX>kq@cISbW*eM^bHtI25OqP8>7bZM?6kV z{0$xFj7KGiu2Vk$I5pbx+yYLy2g~h!o)PRP^MnKo)z@pvan@1?Zo&jMWvY!KA+yYM z84isC42EH5nV-%xd8VN{&=Uo(o$*Hsot1tJoMXCYC+8+0mtplIXoixi5qUzS5(x_e z^nRaQyI+R*{DkcGVf`JYbPNv3T`@VFQYcuyk7FqxP;z9Kq|MMqTGEIpZ_(%vT9REu@Ks!ktk`Q$LbdAu^tj^QN1j&?2Xm-5Os-Ja)yZ`OZA22x*Z|6IPJ{l9u zPajcgUJ2m1V%!EMWa|MEFWZ2KZR{(81)%?u6t=?*>d><^#nwxlc=7B14kU0ox;E~e z|1z3-JPE5FZf>ktdUgVWcGCu-WWWn8$D`&^&wkx+{rz$5Km`fx4L!cBF9bxV{J&qVl&?8hh!gz;X4;nWBXWz8WJeiun1uQ9=Ku z7Rb1` zF{TSy-531Ghgfj~XhRy2B)Xk^!+2^Ji+ri!o>?a?Qy};VW5pA%)d`lv{%`T5-1RP(m3! zqUU6uhK_T^^V+*bT0V#Tz0noe6$|LV&>kD5Tk=g-f;p5}e}0LDUc-b?lesDw-WkLN z8e{KildPOvEY#yjeAcHP^a*9=EXmK91ZO?zVCaOg!pYEAne&e=Pxmowp-w)#;Hb%S z;u~56i&3qY_9oKaE$zdB=57RrQm_GJcl66yIg-I~4>WACJqK`%X|4zD;dnS_zL@aD z%CphqU4N*-QFr#ih+%R!L`mD)ePV^RwL$fc4~?+a(F)cu{XZ!R`!R~PuSNH33H>p7 zGN!nV1(S|#SolbBlmN5?wKHds2;?2{#s4L4|g=TK>S z>GRV>t$j?gv<>bsZ1bZwt7NDrwMQ?A6z7t;=U9FzV8|MvV%6#}`{LTN$;y0%NyEU+ zNWPOoD>FDwi}UJpAiZr9%~TcUarh&NRhGJf0HC%W8knMQsGm`3wB$HB)(L%sh8LL|SU0Ce|*kwK!p@~|LD)l029$_5O z)_d3GJpu~t-~B)ul~KF^Y^YThrw3{{KE%|)xNGE9R)Bh$u@ifdpxYSkf6fH1%l~#> zhfyUgPIrd)OEi~l{119U-`Ia?0dk6aoA(Vp^KtS~(~y9AX>wMk_LjZJ;cW9EiCn|a zSc|j1`p4;xX9oR8pPEXGsy-7Ub!Lke=g(+!Y;@5?n zh+;wX!sjncRfy|{Fy`9r#1qQnn#k<9tnUMI@h6_Ek8!?y{MAR9i)po+hhuy-zuiwHY%n|)R;~8akTp!1n0Gc6CQJND+#hvaB1UG`HF=^73YCxTJzV@u7a2jyF`n6(x?x9P zU9sx?MmxTZ4KDA_6tkO!c zSDlNSJXI{qgS|#__94!FN9W8)#J<(nSno_4J+XmN3Otbsu@h-K%`M@HH#+-Y zm(MzNq*x}n4uoA-oQ&1<^@`4ytAO0MEVx7=`|2uUUBNrHNXUYpex0TiYMgMU!Jcfk zrU#?nybxV7%>oS|olquM%#0i4beR*86^HvPVmTWDQYEa&fF09kZ|H7#{x&+lP7g?&$8AfrafXvJ3ryzfQ13OOn96_LjlR?w7!mYG`sB^R=R>Y5 zI@I?Z4E!L@t3YdK;)KP-b3+^x`>XPK?Pi%JEV-EIs?Z5;vfZ&_zzMX1`ck{f`9ZCE zJ3s$AwrYax(A{V}GwY?^J72=FG#av?=r}RGqxc4KGHk*3{O*lXvXleAJi3yYJ6@7| z?Do1(Rjum~UE`>y2Zka`)6DB&)VZxaKKXs+u!`vWUxY7O91ZAGJ3ky|IDAoOCBpsZ zZ(IEy?GzRga#fBp-OP=Pi7|T_*ZW;T!Aw*U> zKd8X9bK2kgMF+M0buj1?!l#K_lWzU_>Af19AU~o5Yi=!{WZ4-Hd&&~TK8rZI$~!Jh z)mC$;S)0@J38C5RzM%=X8rQJd5mWPCgd9_S_=&CZ7HndRz;C3KT9GpT)Ig_{WD7I= zx9MsZ(;LW>LYdA(lcdQu;H^|OROi3a{f!d&^umh#zNxW$`S-WiT1Uts15Flv={5q%ISqC`0UiE7?x%{8%{QCT0{<_B}F-=$0>N0aDp zsI*&2bjccy+;AcyRKl2R=7$wc71A`lt>u?sj?`aEnb{fxO9;_6*DvT7 zo%kQxi5Pb7x~*mf5+MRJ%c`hGl}z_pi>xMDu?WfI+*DoIPC%hYgKTsI#& z2_w=5E3!9z@7_{N;%2;hsBw=lO(}*KBKd7gEBxK*d3#1@oTc5`CB8Ru)bE+A$nbA- zZ<}FIsYB(~ZIlo2#CDB;rSB;;l&>`>=qG?Sl{@+Md+GVzNBWb^gXUVN=6+X67vbi0 zQhb+0UsKKDZDUUB3yz$QFr%a^->)5nWEa2iddpf_bO_b++p*KF?#cxV~^+(NO zM8unzTe&*grOKVwha3EsJT`XSxk7D+Kg?FUP`;r%y3v)jyPf{PdGGZa$nQIK&4Vhc z8sy`RhI1nLLi(42wus$Fa+CYq=dK@0|K3V@{O<^$dad_qqu3b|ZP)jmc~P|ry+!Vh z{_9xx@;ez*s^NW4gK#uzC}E2~I7o=^c#U>>=GsY)gN5Y{Xy9|54?~)5|2P@m_qHo# zLPG?7>bsuP2VL*A{$6Hu_uMQ=*VcT9V#CN-WheR>1{*_;y#z*L_HWowT7j(YKTwVE zZGJDQ*d5KCZoM+Dn&fbyb1|f$b-<)w#ZX{cpm%U_g+Y&nr67k_7BzKVe)6;DdFdm& zlH&vCz8@R+EOk4-TerWKl1bvOt)+yRd8F-=aX3x*U+#x`d4RK8xl>{ zz0Hhra(9K59{@t(@q=w=e6n8iBjxtnV18Q=CvK2GT)_T#fB2gIS6ik>T>a--kB!qi zitDS7Qmw{!Pr5uXMmNO^Z|)+o$ILL}~>t+)2rSZYVLiH z1w1V_iCzp_2(UNxjvqSb*ykHrQI4gZUnGt|7_2XT1n;j_spX8%Ip=8&UzjTm;6)bp z%Hmx1%i_}JzS6%ydQi~pdyU4JIrlS4GZXnj<#0_yX-XcY{NpL%hGi}`J7&I|8J{Pb zzWtJL{Jw&Nt-OKO$di&vEv(i?V9Zuyi%_l50N%uKj{`$e+2tUp`j z&$x6@YCT9Yw|($cj!$#7K0Qmg=oLZfF_k4#eE-#b|5t?Rv?2sv1HF5ZZ zOG<9K^JHOezYek4W&f~ilC!yEi*dc%GYdzfnKuRFQ@&}2KIyLelMKRY=esLmlD6Ma z&0L3^XP{0sr&$rqDdv(Nq*VsHis_j}t5~nwLEv+g+Xr}9OKQz$63o+^%8atI=ocv5 z{IKM;y_M0*Wx2OzrD8@N*SyRAGQG`)55XeBPNhZfu5JHkH0cW91_mr#01KRr}3JH1#;HSZj0Ji-BuaqNV$9Pb45-Z3-b?Z3`3m;>B=J z+=XxnxO{C#_Sudh>ibV)FU8UPH5TSp-z`uTSlDkOStqU1M&OM%QLAhYzK@1C)er1% zv#-NasB;Bm91y|tF|Wb>6`74;TR+6@mX9$$Mzq!Ji-3#1elnG^pruX7*1C*XBctJq7gI!=jSy16vegYHAh?ZHB;$H^opg-V{UIgR0XT?O|V1Lw-u`l zKwW3u6T)Wo13JxL+BJnbnTNKxM18u`o+-vtj_*h z1_WO7%m0cT_8*Z`z`Bzztotf}^O4nl|1_ zIrJLPK65}hO-BsAxkY$WCds`{-^;J|*C_nH2m;r&4pKCJzJ98eQDf7_2yZW7(bZn-13Xcvs%e?gm*b4l2~lp| zhUO>l2Ock;+Kn$bYqnTx0@JR5iO}8X`rfgd!8rdvXwtptH4kQC`nzccVTa{~*<1*h zVLS;p@NwO_W2vQ(TqMm1p}Fe>vzZ{|b-eI7in-OqWAx)-GIo384=7U^4ZuS@>A-l1 zXGOOf!os$uib@3%{5Cf_Wzy_5z4YXM8$cIol3)u2RPis+36*eJYM)(|B9x5Zk+ZUz z!@`PrgxHC^VqC~uUS3vVH8OnH>v?klBF_0_PX#bos@^Mr5wHc(5I8c)Uw) zFhsd1M0w0Mmww6&)oQ9kL77oAbc2jGLhYfA*ub_ zPnemRVJT!f!ZZ^jUAFB8mrU&E(LTKrW!VXlSCFfn@FrI5PBvFvM!!qfD4tlk6x>Y&2kpB#O;4$^O$ zjmsk}3w?`^(@FgHujqbPwt-O_Sn7ai?KmvtM7;m(Jr(N0dvfh1!tA;8gwSqOk(7q# zCnEX5yh#3E@J}c#Typ7WoYtle1x_1mHuI1n$#BCRx%*;q?FU#PJ)0}pF?{?P^QARz zJ8)rO4|b&Z7Dba-vpqU|xECwM`h zm2faKtp@3>A|Bd@J-+j#&B)-Ba+j;lrk<=U9U2WZN71uwP%eh%h9D8XVq%e9W*%qu$-piLKq7}~ zoh3ia2oiDA5i2y|dX-2vr+r^Im1o_mr~S&$QgZirg%~OBh2+;a8$KVd297i)CMlp- z%2>k3(ewyju4;4P+%f0h|jU4Hr51M;H(XgnHb~euijbIb1fjwUCTOp5R^?(qM4p*iXEQrHGeB ztB8g4zJV$izr{-5&b;PL4@`IV*^F2t_V>;wa(&f)EP6v{aysJRd+f?0fmaFoYS2RD z?5!z@tXpvW(oT_NLJ3J|h?X}lw2#s%_*O=ydCe@dk+8#K*nT=f^D)M&AHZFP&A>?u z8CZ&aFYnr5hLm$T_EY*`sqH$d)!=LN?S&~)cNiM>zePaxewoS2&aPSj3{T4-oH5|N z2pPbO2{5Sm{AeZ0&g+!#B``$XFd zRj{6KIwB@xF}d5@nbOGHqkf+h`sJWQTn6)?MOecp-DF!CJ!x%>R?m@FVlO+cTba|I zN~=IAnys6~f`M|4$7w?kb`6IM0yxf{sD1eOcP6qQrBh(BiM$tflK}0pC2V$GRaPFJ zWfaK`fy^YnQ(v1<^Pc}PKqTX(RfzudzOtsybnGo| zojDvNBP;8C`Pz~xkWU)dUN*4qS@TVQ1cFEETE~&vZ$mS;pwDD0r0ZC>F-mWMKL+0< zMno3!C3fCyJomq(i!@0rGuD;KQ_Tf~ln7y$b=oKoU zkHEf(%(tk25xp?5Q}?XaS2Lky5JON7%U96Ra#sgOR+TcE##0S1V9zy6tUVB)keDdX zd}S<`;Z?#rzGj}^W~=n=uhyuU?<=+RpFaM}5i+4i^MM-$cc`j=-;kOt#znfH;p zZ`Oe@`>=sDS)557GGoTyJfoJJaSqx}Q|ztUo=D`&$(%HL-$L)3>+jR4*_$^6adX`q z3wT}vuTyO+^Wg$O@PpO%*^WhtGz{X}tz#ufcFdLgk{{PD2~3-zQa6Q4P{~SXCQAAm zA>5OGn3;01dD_<+Iir2N?YR9?3cB&Sq#vk`1T_6LU6e_4-|kVG#cHZ0A)vJ{ttU! z;tzG({jY@~j5Rx>jYKHh*hW%mL#6C%DheTM_KY=acZDn|iWWkItPMpXl41}BW#9MR z?|f$H?!KSr`~Cg?fS=csSI^yNyRPe8XL+CZIoA;4Mwje7t^3MoqT%Mf45n6PB=>u^ z=TM%M5=+OC*i(y90XlaR&G}Tlt)Nzf7>`-*flv(&Ubv3&l*vaNK|6r-I-z}&DQp0h zCR7sN>a){)%fIrz#()!u`B_ESM;TyOx`X6>3J_)m_|z0d{|;{tL@Ad*oq=W}>J5|d z1=J0qqFQD%{m406Ct|BH{}Hf17psDC$1l_|`asyti_(pQjz1Fj`308G4AWmCJ4zJ> zwI_;&{GfYkM#}`l8d6tUz9Nj-hx_6`fk1XAl)k$=ThQp17olgb)g^ ztsyyjar&oRr`SR(RKbjYN`4AG>Eml8N=$^%qua$xBr?cy9d1q*3qVAflF8nhV-4wg zB4x=EXDRa;lnp-9HYBvi^$VZCI0>RkrNX?YKL@b1dmrROCz=~oEIo$$)PAE7?EITz zEVcpVV{d~5CEhaNaDd|h)ry1(UNw#`*T1^ z;%-x4iRVtkB%O$?C9_8k_A)bw3;#JFrp)jKlYx=+eVL;wAITmy0`OJn_n7V5fWb)6 zl(tWGO()&yu6bx0mhnyRr%Dkkqbz zVQPYiq>?i2m)Y68EuXwLxR;cj{jlPyI}Y-GrhsaHA{b761z0OLGF-ld?;_VCJU}`z&ZwepoL5xy^?6^T$s62dZ&hWl z9fmtz=#}-U8C@xWiV+RR(@S&=&s_h^hgwUL2=;YEG~K*8#gkqF&6xkZv068w8N=HIoK+_|%4dXH@)d8D+)%kwVG1rg3!ls_0EnrINr%D}W!c{{ z{-<+21glrx;ga%RZqMdp#i{+M1&6HLi#TxANoP*vt%yq&_U5^AsS3ev(lu}sy)nhv zZYy>tX9%3%-lhI&Kp4C>;HH)u((1U`Y@N2ZBPCFd>O=9Ld3a?AKg)>N#BYct{+acD zZ<3uMZje?cWKMaCe#S; zhNFAUl6K_AX!nOu7h{wr`}Yb&7`i+b&tL%5-f*yq)7B_mFpc(ak(lxY1mOituh5;b zZ<$sNm;u*>6+2B%5h1^SBb~03(7}z++uVd`4v)jWAm?Hji!=4V{EP`FFw^#iQ1x{L zGyL&af^qZHfm8-Y+ znw74Dj+A`>=0hYHl4;fQx#4llOF*%&fwp*fwf7A^r;6}P0eTp7+SS2%lp**x86vHN zL^C}Kkg*t-OtB{y?h#6CtFR6Wy`GH+FG1}~eeXqlrHT>rp3 z3wS$-Br6Y(mKt)FYA_vQMjP(1>s7S2tc{q~=JhfH0H%xbr2Jjv`}AF_>XT^f$Z4>; zC;R#W!{Ojs!0SGM%h4VFUBc747hr20mA@?t;ud1jvXW%GqPXB-f5XQ9rUYmi<0-Od z<9yy~m)+S;zJS@FS>;9$&h3kj`r42Xw%H}{%WCdlmhJp1m(DxOeTd-cJN@FuY^0BL zjWsGh7;kwl48O+|M{Hjpuz{z*y(|f^{|%^2`%lmdaP-8>Dz7Oq`lj30mq)%nJ%zLk zFjXMWu}#D5tP5b_%|k6giXI=2uqgguPhnyWNGn@q3g{s*LDAvAy>El*H~1QW%nQ!< zS)(wv%~wo~q&*IEGdO89FinzuZHPD*?a5y2X%~$KEExbg>w7jKixSyP%N(UxotFZOsOV<#`x`qTaPo?xg~La>NjKCSvT7HTJ)CQaW@jw$favm65Y5!A zZ&SQ{$k4U}qJy#ZHbGR^S;$C0WS`Xo7`#DZGp`J3LZhV8CVSS`PaDX&Z z`4Q}pR9MA(rf}Txr*JTYdbb$?!gdY_Js%*MAN~Pr6u7?Da+>#JG0Wp|kVEY@`->b` z!*6Kkx`iCX7v9C7=))LGOLFtuO(v%X!M8jk7qHw*aKlv6%s+P@deG+#>J3rTd>@V5 zxEEJSRTh73>zwFDM)y8}clFT`J|$7Kz#zT~IIxSPPO(A!um6kuXoi9r9~Du_B*&j; zKH3R{Evgn0Zvz%QeJTy2`9fkm`@q);&3NPaO5=TCiSEQv3_&;K;)*~2Kmqnu{$DiB zI%ui`pllCzT~il+8aGSB5dk)B?L*kDjRH)CNHDEA!l3$eXV5t*zuS-6% z!4dCv82|RBrBh}8C1<*bf(M_??|9{JbF&ERwO_ojKj=H6k`v3v&HiGNRKDZ*qlNnt zwbvKdzC)w)btJzh+Ttd~{q7xzDX3N~Dtm7Qm@2w`L8;7iyUq|| zD`~9twWR~eKpBNG0IIvFA)FD{;ZovBb{0B4^jHgaY@5Q5%(%}&N00dWD;3GEWOIW_vq#}E|!4yaBVcM^#=hXpSO!a7BYl?1yJY>pRvB^bm08iT;B*}?K z$0=*6N#}n6)F;60+{ZS{aTo^jbXSzx*G2(& zMb>saK`@v8FYhwD7|nUEkcqlF^&s4F8?W&(h}GAG!1G@BzAFKx3P{f6_xyp%^h#^< zk_`N}d88%ulDZYqbc z0+C~w-Oq9J-!Z@56LPvq4P6B8ZnM56GYxXW841rBBarmBRX2He^;qBoQ4XR%RbO@y z6c~fls5y|RLdyhFUVOnOnSC$nH+ARLk>#Nud^c{C?gxSzWP8J|{CAVGMkKivjr_tF zY#&T`*QpfyHRH_3q?|3P7^gw&n%34h_!~rGEd5!mD6hclw?}9e1sxR>86a~nis)0L z{x^7NlcsGtd+~ztT%!>|+p!fO`naE^{nf@Su8=M?}7uAD>hn!UpMm}0S6sK09k&WT;iV9Tr zdd7r!-S`l^@gQF2AO6Pg#K{Qkm)3)2$!^4ML-f$V8Fx&P(5cu5YMALRMSD+&h;Bge zR9CoevOfHp&%Ly{6)cnB0Rw&k0fFV!X`Gu8-}1@pe9JfB&$;V-o*>#yK!FHA)VcF% z%<^@psbl!>*5hX-&3^Hd@0bja#SpFs4>H$<<`>TXka?$WKdNk)T~aahb#XUS&L=B*9S)@9{eUONGsTV1XaoY51VyyVBc>+lKO7GD`_4Zcjx1106L~o# zxqD_9max%~i))Q(s&AbJ&dobWcG>+1irksWXj|y6va^cstTzY`2;7d_|zCV!=5;qbR-w0xt&R2WAOe z0D%drpmh$A{U|2OaC}Y-!L;4Rp7fh^YF;3<`?qKf&-@+&4Y?T2@DxTZH-S)#Uv}f&&$i>(;rBbS2R&LYzBnYFNau)PNCyLmOaD|ifpW6*bsMRfA0tHK zqb}9Iygw;F>>QYn!E!O=(pAMtyyQOcN@&oUarXFhKN6KP9Et52@9F#@J~j&g!@JB% z?qir~2)$XK44*y)4tNHZ3wpu+(=ge0$Q&Kw=4F6ECN5)%^I!ozrcRXI+uedPKDrdQ z)4hC`@CWPVw7Ffz8s9kG^{jjzl@p#KWAmSKc6r=T6C+XN{{kC2t|o2*F2DR9?M z`csOya8B{?glK^1(?}C!B!w? zYIq_(K$s1nxooHbE6nMcuL>Pky6kydT3c`E1xP$_KEfYXwaq@e^UWKXG@Zrr@9YVn)d)WY@qQ*R*6wSTTvq$#0+rs2!)h3YBT;6{C zd1oI*WpwW>P&k)J6At4|fE|`V$DA+C=wn||T47|Y9?}eu6qpIY#sUce2nl4q0}%iT zUWYH^5Pc5E{6OUxOiZ>C{Fg|CP1~<-9{rg62pGTlNy}evB9ZgmOBb32uHL%`h{1f^ zt2)WWM;M+e{s#G}!MUMOyy){P1f$BV7{(t+7g3oJ!9$slB=+H}eIzL~U-eo=M zpmjo`SfP~9*8*|^pMCNwx+JT2)l`gZn^{_kDog#cvj`V#T8oCvsfA?n_Whs{H?JvW z8ogz$32J$hA5?VfFlIO52$v6^kr)dq6R5fpy_Ez`sGClMW>qpkC<n?3rNiHM{pC` z%CfQsW8E~#O-2wL$p`nKX-W|6G9oT?qy<7?#+$$D? zddWqet)-kw!ud)XQ9W&^=L^`_mA(rqe*O4hJX&qsUNQWbX`^Hjg#HtTS1tGU1Clhc zDxcr5kW=lv|CsQri6r5$iJZYJ!2E7Nogh8{ziJxzBZjnxAjOJzG8 z(gOLVbx`v+m^1DjYJr5Kg^=|b$?H<}r&E#(Jssv#%!hh@gcwccR7LQ_q`L&x2}J&S zUE>(3EAVW2hx$_Qve+l0S8S^XJz>@Q+Kq^&aF)Op`lLVLJPvjk;y%C(a1`Ajop3T=d+LXJ3`r# z>b0Z(Mu~F&?QBtysdZ@t^@Cw#5?|_4!@Osc z3fQdV7+Y`Ht2(0wsSPBE|FoLM=LzsM5JV(r4 zdfAs|6PVz`A=v@}n+GLeOM37J;}Ou&&b-%q7X<}kK73~15uu|Jd|%0I`9~iv=AC3P z6x4G)0-YN3Es5s_$ioOt#L0^X`Ce_spg1dn@!@j>jz8I(=D#)BSUnF)o0~V?Orzmx zbiOh2nH)bQs{B(}y(E)UBuWl+Ol)@VS>s!2W1P*%%$##qMpB+t4Rxd&NBI!&`w4wr ziMtfg6wW}M(6?D1Xs@Be`Uf#R$#PTteT+`KPl(G-kBEo*Y8(D~-e})mE__SVVt_2y1USQ?KoTV_s|B**(-&;wu zB^a+LgmN&AMA4t1>wAtxx1nj=D|XfSlckL&pOtP3wT$>-g;z7F0=ZCjP%|qBsL((K zUgGC0VFU_40%#V^LN}m73SdYy>?bG}hhOJ_v2KfM&$W>I> zh9FswM@)gku&2EBdRRX!enkfJ?LMvPN@OGSw#6dPCV5&wQedM}WNs%vvi2%ce=yq^ zWYHb^6GO)iHopT3k#Z4=-YG|$)Rm`JFSQquu45HlUocaSb*_~4*4}w1!}GZ(NUbuu zsRd;SnL9odFGUjs{Z0~PYU<~s_n8kPO7W0i=9U))1hXiYJ>S+N z%k8bLt&@(J-sc@(F~}V9NU*kyY;P}fo2 zq>-mKeQe$h$Cr5ArhW1a&SC*aRZBf;qRus@_I8)gML5FyRUIJKkG2qy_^VQaJ_CVu z{IBW+buuZT#dBFuD*6r>8;6Z-*PnUBT;SB_!4XJKzj)j%l8TmG${qoK((TT^XMRN`JO;P_DBx!;-DXe!Ulf1<$~F3R ze)P)ihUeC#F8jSKdC2xT=XY@N*l_d?-o*4t(}@(O%4f|(d-Um$T+1mPMKukh62%h5 zihjJy7L-JnA-}-x^4&co*N3fjBY5E6C*u$%NY@676Ic5?=e$CpJep8)NQLY_@^ZT8 zLa&=_VG2^K&}QsRE>xz|h92Ky{x^%+ZV07fJL}kiMwd zODQP&N9G8hz*k&C;-qhWhpJ~#$**_xRY=dskXK0lGB!8z%2xTEh}RmFB~PRqk{O*2 zACegq$kXT*bxEvbvgB9Hl?a5j-kVLX54(7suNW#p%0RzcLWUNLu4_OU0-f_Wzze)Y zGR!Mk0vW#we5m&edq&SAFC_dYNukFvk6j7<2~vHhNn}pY102N-v>0(R^C9 z=+>^dOJZe{i(hN<_eJ7EC*BiYdu7p+aZh0DNsu!}<5GX(dw|fjYkNPjXG~ZtZck2e z^rjZLDW7n)_j>#Cqnc z{P;gg22wi_v$?&)^J_iZt6QPt3VC1MOCDD2*pxEXP{+60NODsD@qbpKV~PNlM5&|4-?n7UhNzg-%*-y9K&cYp{^8!6nVuExzTEG(K;|4~}Bf%KN9 zTJ=@YsIQql!0a*FQh#OHn@x*%oA)H}aU2A9SBiS?lb0U!h>WyE?|Tf1lVqlYE)(5H zb@^QmTXK1QxlS@jq*8VqQ4D2)vx&ik{8}=L`JzS~eN~+QEemTD3~LMq)@|YGvdb*lIPf znDKO|^OP9c8;+O~YeB_tc(auJDEtNtzB+=AyvN;;km^9Lw`C?)o6?B;7tn)*Ej(Q$)=&1ZiD44gZ;9EidL`Qfd^`# zDg{YxX-ph)3Rm{*P%0UF4ZGY~l3lhqeUp}dE-7rRoar;@(J{ZQ%W1E?GXKIBFkj*W zJpu^#-z4yLUjxx20AAdf)#{Kv?wWb4%^mk(c?)WX?^TF(5hc@(Svh|@# zR&-3APK!U*YzC1_sSef7nc?p~Mg@7MbeX?OUB(TlBK%|H&<$YD0zN31?)!FWuGW}wKli)rAP2m*|Dn!={ z%`m;c8F8z>t20LG=pxn}<%_&pnYM2Fin2Ud_(o;fKkvTPK`w^j{M?IJz6j3pIG^_e zBwB_3v6Qmmrlx4N%&Gl*9tJ_^ebbX!8CK}7Xmhx!D|T^geu1j67t$)I8gy8u+%<#m z3*+51DP;})wZj!C-|Sy8r8(o>u39DYa`erm9u)UxicEyi@@7Y!nj=87<==&}>+DJd zK+CP7aYe7x=c}*1ja|7U;$iVUlj>F@s!!V6p-Z(Vw(mj3oeOMLJ{mqmt^_wxpYL}v zseB`b$YCSOXK|FI;5kWMRb}!la&-+Iq=wl=RXgYCX}$1^H)W(+!gKC!o7^@#ALF6f zkgg2(DX6~z^8F@e@{1vrH!MWSm&~R!y75w|2o#em=iASI`8)tIz+e12g zXmI~XTi9gi@g}(9!nMeavY(1&tXp~8ACH+?*n(V9&a+XWp&|eT5MN*j`;I2KCECFK zj}C9jM2aa$eAc%I@l;X`s7*Y1+1cja%sWx1A{6OLoHT77M5(g_uAgP_F}K9uVG(?NI@#av9pB}aZDx#etJ2`FJEc|Lh? za8?Sru8Wr+>bf=o<7HEvG#5j<#5Q=uRV!(9sp$!X3p93AL3TbH3)_+XG1F%06XZ|1 zq%??k%n&iCr{I?0h)uzyw|XxI&7SsU8^BX(@Fb2JD79R_eti*n-lKgj60d|x$YpSQ zx=HwkCV1WLFYwAIFh^kBz{e5AB@ERT(*m}Of`=eua_FwCtSmfj)?Jx0z&#Df zTxN}AL$Gbe0T;N|72oR>qLC*{#r*EKS&-j=vM zjh;3fNBiZ8OEV`$Tmr5DCF&uC%|^j7JYAC+aIs=|4Ae{T+pS%^xP%WGnZwv(p1$+J zW%F~QB2(Y_$YyKYBY3FiSqkTMDircJZc2JUjJQXz=pnrg8F64McFamlBH3O;ebYg=KL3M2 zxeSwC|K7x$SM?Z}ntkVi<3~Z2k$N%65yC>0usTSBTwa9KvOg6pTf6+w;xbv-C&)!N z6b}GFwTe>vza4zWbT}47G9tk_@hWna!S?rrInfXV-YlWOn@GtBh5amu)ZEfW!;Ia@ zc_p?Ne?~S3#Kaf)mTP|#DWOhwBJZcuCZObQ;>pR*hCKsocJLY>8RYsS zw1qwhfP58mu98{pr@8s;)<0`knh`}~yo3VWo&Tw@fhPzP8wC@~H57_G{G{e>{PW-N z5|q;MbO1{U(NfHa2KxJX-7-fztq-FAh6ltE+SvN=#1n4F$;x_CMt8EAJuw?BD&!>q zsfJ>T-BPl8yU`|4OmQb1fO=*zcrbT~N&T`Q%*K=5K#2U!2|+qMtYdnKKm~5tkQ(s> zJIdU>1>QIy;s1u;>?=XZ9QK8o{`*QO-0oze1pn)$&s>!>Lq^)?G5%2?uEy9-in!jm zlfF?vNP*SA5Fg=a31B1Q4k$FpSCOab(<>1L3kX0U+J^WhpHg;e#8)iIg3{&!9k@de zG|6P2VV@q1>6sew4+fOG%I`d|BH)y7Kf%+@;pu;=bfRgtP?qb}o&SsjbXYdl$~Pk; zgQGqhrc4)}PIX_@;J=KF*K}iK)k!v#$qIr}2nxAp9mI8n`U`(E82sOtY<94(1UH&} zBgFc{^Igm>Ohw`s*w2*T_K3OLdJ41k_|oa2DHL21 zS1Tj?Ux(yky)glFNmmn%5jBLf4f|Jv2}(X~w3Y|OyAPi14_52h_Ya|*8D#5rB5v0o z)w$~&^3MozyBW;Uw`&#_72V0ONKsFis}MjM@m8Sp1xf@YNitBmM*9Fqdq$LOw$FV( z|2GxaJ{nt)gW1}{y&+65()81G5MjDt@Skg=bB-pdqu$RlXQ?m8#;sO!p0sQ-U&PkG zA-RK6TnxpYh;MLi`^gR80O@7`+XsSmCrg>4e1$gj!s_AK*#|2+T%Z2FQQ_?yw`=_9 zAd2SH%Kn#NHr9~Zb6V;eTbAe@M;<7qZ|+=qJ^=HuVBmZ_J5f{te}%97mJzt2I)4&LbPidI#!h`~88PtSa%5Vcw8P1M zh%?|E>Vl*f!M9+d0ErS{G~NO{osj9EUXlZyOkpn`g1yKO)oqMq{n={puaa#uL+jfJ zXl~u9YbSA8aZzxb#fw?6I_G63ynt#@mgS#;79@ot^3tETJ6j&bY(;}Py>IR1c82WA z&>Vppf&>a-tn|`2=T}kTZCIs?ncDmrmKx16koU zj#dd&{CQh1FJtoK#DgIx_3y#$`$V#8Q*LYZF3JHv3P$z@9GZl)i0snOwwc=g*&GKk z3e5m4S+(igI+m?eODzgMf)`jh$x12F!r1sHCU8jBkkZNo!5gTdyzP5QMoTkVAZJLn z^wYCOYX4)fGM|9>)hGhDI8{Byaeez;Dh}aw57w=3KybDrKW0X?AB=?HQ>ho^OQm}q zFbS;do*@Kp2~gh@_6Ilq(FDD*UI`vIeU>S?IdVr*-)JsyU7icD2WeFz%3|+LXJZ3y$T-aGLQD-nfbKx zHhqGc>UwGmN5@7vFhEp{@gD!GBt^2buDI62KZ3@@;xPW#!J?d`-G{zzV>5pYZg_OF zrG9nEiQLu*iPrk~c^L|sa7N!zkK!)B`e^-4& z#@$UC{jknOXLEZvEcI?!>dMB{E>*bNsvY3oKWYh-@)&Tfa2cd_^FhZ&;AolK<)eCf=3U^HN6t&9!YK6(6i2A; z3{Axd-j!o$49~$CzzmkPiU%D89IU|vI=H^eO-V&>AG*|#91Z=UvB1H_*t#C}Tr-=U zOMe8Bmb(Fx0_V?9E z)hRqPM60AMlgv3IV!9YI>8dRfzMsi%IF$AwR!SS#mrxqfj(&AdMp7wurO_{ED|vV$ z_hJz#YlexZQk923O7984eP3q>L!3SGD>5(fSC&ir+H2A;{1<%)EkE{)O&c+IYQr7O zaVz7x^>N8et>Now?5S`@@7(>D?b2y-hdN9qC&}BOzree!EIWG#8jAHW|%F$PsMJP?k~Cfos}dADH;`%%`WIK zxnN0y1S(GNA&x$>1>Y?QFL{62C!|3hLRF!jbsq%^+A*j6Z6lbkFzG@mL?CL1&7xpb zas7ygxMnF1ZV5gNR6R!^gM)rz-te4VEub*qb-VKS*3#CGpOQ^*v;eH!IuF^&NG*vw z(S*;RHB5KH%|~`GwOCdN{E-F&RuguPNV+o;{+(m?>lGaiFOL?wO`Fr0Hiv{vGve!R z!(GfpCArN_|u z$A1>wm{|Zzd2wfX$-#og+E2+f`n{K^9>Z5Y1A0Vwc=)|fBygR)GLZK@AJ((WWHV*pM8F;#!TD#>1Jr5cIyyCoP7#cVI$=;!L1=J^nOnvWp|a5vg3lfznf!Y zHLn+3$`nO4Vh9tnAT!YL?^Yfd#c;2B=kNWUC7ok!Y;doja*Jl>#71q11uw6Xw_$CE z=Z#r@JNcrLZ<>6bhJ609{rE#tP~Pd8Wnz`af&LtVpGCI)alP4``Z^uxgR+rtHMYPv zqUc;_3)?zW>Um#k&*kPv&zYEFSI5fQTYIB|3gAJAuY|(iqU{gB!!y2IZYkOUVKPh{ zv^znj>`Nt0XgJ5H81BU_Mf2rdBM`%JdojmqXEx`Yd&WuL(^a3m7bT$A%-?&8w%g3D ztuA>Ne{u@b<`2MAKZUPzOm=()V43f$>W&{aH#hhXx1+dp1x? zawHHfh`Kyxl&-KIbppV4)6rM$$+Rlz2nYJjBgCpoMh+*|UtwB3YP0T7{E(52{rZ!1 z&gEraf8g-}{JW5Jk$vP(bo|t@QqkM}M_o!dqYfO(H5t~!(+!S*Fu=)wEu7RdHO-%b zCsUzb2LT$m-hZi^q}0}~C7->yUoT00AdoYvssKUQtj*m{;bH~Pj3rU@FyMdVWcKLSg{(uFrI$V)@V`i0wP{>-9Pn0_t3$!$ESJRy1FH)IKlf;L)&#PaZU0OUP9juiHBn zrH=wNeH{viQh`U=1a}kce4Td0$>Xs&TK0UHqBqzApe}kKK3CkGlI*zmWYY6(yyNv0 zrt#U=c$UB9xEKz*kusSMi&=(^-Xj1q{C*G( zur95;{8N02AP2LMjLd_}U>Z$T@E}T!;1dM* zwybo<+pT-+MU^yne{kgFr;BVG20~QQ(vLon(ctM`lvf%u#w_qma$LRBzz~7mLh4?i z{Dyd4Lg9<=2}p}D`XBaUzS!_HiSOA}>a&f0$Sp=NE%eT0YUKyQ+Zrf4&54i@>;%>= zJUJvbhO3=O9G`(Nrn=K=dVM-65lE2`hyaBbD4(^XT)bPa9)OJdfP22FPaSSL`Lw3io_(_Tx!JCRuv-Y(cmz>cw!PrSK;Tf&-E$ zl(*k9KZXx?=mO}9s>p8e2ZI5X_~J+E=R2st0^~nn1kfYGStz(vE#;6Yf)swi1}oIp zV1M=*(oO@;>NBdrrv&MPBG&Bvgpeq}NhhzdjmfXfcx`<#pLR;kH~Cd;wSu;7NzTat zRutr7cVidpA%P+`7^lY zN%C+l>?TtUO8Z9G9wj4r2WkB;N^<>d-s;8N4Ln$r#utxMatI)^T3m4Xquk-Hv3eaE zWZO;rMYyb}!VD}2uz?3pmPwD3jy|Q?f=u_|-OCljt7&s6x;7JSgoF-FUMvkec)2|L zL==^nOUWs1<|2nNMXZ11k$3nti?YtK8F!pG-0PcniK)(V4wu-zUjPLLmmL*aW%pm;wm(2VdIxR&-6{c;bDa7KV?BWx{m_Y)u7l4gL^2r|1=hqef4u;{SC)XK{2 z$1VmRR7A`q{QSB+_poj>0osR5&)#ixIZyeoFYcEt6tyHywTu$j&0DYqlTGEj?ebb~RJ(j)$(z?0Mqy#bm$AxxYxnIi>GXwb z%|G<(M#EP7v|CCpbW)y7wbjb**Vp{$oHnhImA+it<+Zp41T+5sKmTtt@aS@jMa5=! zslp4ybe~`52YP&DIuBBAy;`H?Ex*G~@6G4U`_|%nFRAZgA^(GK|LGc^DxESvjgfd^ zZkpcrJ|w?i6U4vv3R0HjOP0khQu=~j>Q}kNmn%h^TR;09U8QrxMYHa4I0zey^7PtW zXgT1Y04~Y?Pf1iXq9)K)b{Tc1NN_ZTl0|}PDQ04u0pNp5n$^5 zYG1=@s&hV@I?GxbRYF0>)exVe?xah12o(u8)fx~V5ln%(`ZZFBh-BIp&4^9CwTs(N zSS)1QO_r^Vom#-q@14`d&2}mai*Sg9$V-JR3}k&Q?#ex(_F?^IlOVjAH>1+Q?Xh>0 zw;hA;8++d&x4&!UyTzI~m5=lB36k5zV+q6VN57gAtlWm5Jidr1PH;UEyL)a`HND%V zeM`8mAQ3Abb9YV1!&DQ$gweb)F1MIu?J_Q>Fo79(|0Fhv#S!;?*TDFDnNw*c-Q(}& zj(!RtKZNSB2zG~?o07eO{Jw{qBWt&4hWZ}eM#?4X?*6{grnZ`2$-i2}$q@QMs{4++ z-fsRnc1Ep)0||VRO0t~S)*rzbYvZ@T=2sPg>dj{^cOSwLIS5G*k`sx+)_WGCxg?43I-|c1M>iu~*gEAS9&`0A)*)>OdPtyu0 zUUYGjl`NwXIB|=57wOWbgwx(fTYu!2t&G^!z52Mc_0;lZ^)*RqkBi=F2|7%|jplc( zVoe$7(Oew*Vdq7WSQe1e_op?oK1PwU+5GNKST*su*=(x~@s+2xH<+oBaPRS%Un^1V zDYFQvi`8b0{8qtM)OE)So57`7$JN_cUOiC0+_3RwW}3oR2o|P7ZrxF4b^fGF%n8qF z1T=3QRWQ4=ESE92BEhzr?CWFt$&}skXOg9XmKZCuM%cnA5@4wbUym}zK?n|-k{U>4Kc63VbefbNn!tbXNOhFWRMUlnT%!g(JO0%McV zk^J&vdJLg`FVOH(0A+#$rv~5jL)Naeug4b_Q@|^ zlL(^J!kxlcZMFp2-LY(2)4sp+6R|hgDrT}$xc?-KlNauW| z++?GbJ;Jgpy=)Znp*b{!Y92SY-N;_ChCTiE z>eaE2rfZ7#6(%{8X6vKwvP?CaYf9IO1O{0$INmUy(9v_G65L1vbJSteAAI%2K#!`c$cC-mxxiTCc<2k5EL zuJpI|ueWQ)iz?~iotn|?#^)Z{TWjj> z)Qas|zW+s@BJROQS3PK~_u1+LfQ|{dLoYHC|cc+Oc@fzVohT<5nD}k5Q{T`lSdFw-U}WhFSO? z*zD5Q*^F6i^z+Q<|HL21IU@W1x`Iui`8kH7xAv{udY%U~J}#d*Q*aOtAET({wRoLR zX5MuqcWxzVNxiB^eSLlRuM)8P3Ocslr6V+$naNQLQD@;qv)op{G;>PlUo)|~$8Mo8 ze5^u=(vqv5>mC6}PmVN^bqo=oNM1Q+Qo>yE zW^%MmBKGW?I?H^Lm>9f^#4y5PC$bkRg?K8BVspzsoGHMbEm)(+;cy*KSu4X++S)R? zcmELWdaHW4=onc+_-cJ{=R56kTPTh3RTyK_X9@}TLzN%%F!Sw$yv>3n=% zdV1)4tu5q~rOsL()ArBiZTeuJYn6L7ASDD@ z+gyj~FNF=wC;S^l%4c$DSJo&_U-9cpIaXIio#&smRaI0}e89%0Z%?cwTuJMP<5u>f zVX8FqLtJXi;0Vx0zo!LzkT+>;U0!t!ler4Cow`NQVv{u+A|bjq*v z^e+mUpZ32THSWGs2|mGtqia^xYSC;VRvNQ&mp@su-l^wfm9WY#_C+^x^>f+pmK58V z+6JQ1EYT(p_!24!_p=F?;;r%-WUJ5-uaVVv9!t7^MRVL#)iugqw=<{IjAvVqs{ewR zd5(jVSJe2Coi?eoHM|ykSeh(Zns)iO#pjIT;|rOZLdF-P8z$95)`d)_dYm-k;xW)g z7`W0fnH*|~uEgpsl0N+;JL>s-F&$NYOjdn2eI;UK_WL`P; zyxui4ZMq?S7@}1o`qZ{`6kS?~y~0tw*3OU|+8V?D2*YFH%oJfrdX>sl*+ocY($o?N ztH5hu;8!-2Yz1C-k!0m&Z|W=0BVc4IYM_M{uOuAQ)Z1p3&k$Xx+x!mWJ#St{QrWVk zn_n|{QP05q99@rCmo$sGCQJ0ul%)?24OZMceyrYb;^-=+1&sf=-LTk> zGd`fODE&bzVJ(!rp1#cvUf$z-7D){isLW}Cm$&2qe#xj!beb?$x+MN;d&ZKP9EkuyR5w2U8)tK-VLe0dW&6f^gl0G$L|!RY zjFaDMn@)7-sMnVp2*OK6MM^2?q3v?H?CNj7!d}kVdN6Kxxw1t#N4QJgX|TAAOr8?pt)lK(bYQ-ulZ{0_*BYw&5#;(X05NPi9`dB&&@6*_cc|RDGh79up$L z(&UsW6;<(NUCkYypt*A|Pw!zhe{D7WMc=<~pSf#K|6X<%Lvv+ay}t76(n>EPyix?Y z;z@hyUGhVOF57$A*gN%-Qbq7H1`V9y__Z)S|U&Rz15RyUQlnKN9-l0_WN z`tYT{^WNntiDQqm9_&pwG_MUfKpic*#^I^RoGB)EBDqVqELg){dcPhG&6I6&$^(KP zO?^0HlS7tK%X@-bFNrq9h%TviuLx*}fn zsWW<7>`gD#EkwiKN^(>P@yKp+h&fH)l;eH&?&dijEZ!T^m3M>6jzNIActUN ziDq(W0cFQCd=y^;XQA;Cn`RSBxz{G{gQLz50i& zh`{W{@Lo9o%mSaiyOIcMKIM&eA{t@5r0#m!-3*ybp1C_*AKm

G7(p5(sQBomsNnQD2w?kCc8E&+Oyd%$5*8{aNB^j@&*Q(*(!eaRN=;_`Cw zLCpfLZIOB9?x?GBoTDG?_wWeKNV;qO>g1&-NmEDjxb3Cw)fhj*5w->Yl;OIop}eJi zHbVplV#axR*XN(NI>cXipE>RnSN)zJuedLi4`938_j-DI8rcQh6t}r;&c--(ooma* z5v?>QyYF5Nsas@4z%|-KD_f)nuAMX6>F8k195bAxUJPL*+{r55>KsjvLHo*y>-q7G z2qFw1O}$#q_1sqi@ogh6*{soLi08{cIFt_@G0$GEbzpI3RXw_<0`_!TYWX zO&Qawr+%@eXFJy>brH$ux13w81Gg4A`ZWp>jd!*tawsWC>U}bsV|@Es!zr8L_ejoW zvp#&d$H+**{Q$d5&^BFzu1{9xQpQ}N=2BO%gMlXw@$LEGEIL=4^kURkV_UlAmLfL4 z>L`*s8(;V~lX|~}cchEl%iU_91d(s18rL^??!PC|#x(rCBwfG^)?8rQ(D#(NYXOZ$ zdRm;77m55*VeMH@DhdU}ue?{hW|FUT&a;)c$zmJd_jgLP0=9l_7R?&=Q)?K5T0aM~ zta$2E++uceRGd{f z&C~s{hr!U=)pju}~sy7SZ1xv}&`AF_BE)!QXgD|QRY?#Z5Qqwj8?)E&dwFTWi`6E$vW zF#cHO=fs0A2Q-fqmRExJW?^j zUD%K{5a_IMdeHnKi>d15@n2!(*SDrClH9k2$z<_vo!UVtrjtd{SDsbXr??TMh}6ef zyr!eXZOx8dk1ximS72?h8A0t~dR6Z$i?j>#7d5ozT8>dmiqjgOz7;AXN#_?o$)p^| zru1#=R1WoJit6({+IP6i<+Ho!X_u&o8|I~9xgvq04U#Zx%3(P{DSvSpw@Acw-ketY z%s_fZCB&bFQ^?Z1)y`9}@I9#8-;9rScoc1X)vxjI&$?ZdUmg?`bl(V@C~oxNz>gI3 zuZ%sn0>dHTxb%Lk2Jc-$s_FSlxYno8T|iQk+C|&!Ag|j2+Us^<0|}4FFf>R_+#sKn zZ9qH!6X6@?I5TW`V9Ir(Mv#WGkxg*>ivkZ330P0ZNO<6Y; z@!Q93*1cwC#2r`6c1-mQ8)a9!(RZW2D)yE?IUv(u|CBf4Yu8@E=rHX5kj9U0-v(mZ zl3b>9oP5TWHb*F!-QAofGk%ddSCJA_l57?3(BHjSz{;4`E_ov8fM9eW_ET`n)Yg}9EP@9pg z4{m%C>*o5UVX03mKB(*oRi)|bVoJohN9#8n(q(0wyB_u4+5&h~H^%A39U22U{ zxi+0!o9@0@4jCC7r|2Lw9!$0s=}SAkv+K4&5-)A>G~G zoip&A!S}uQ`#tx5&vP$-%*@_r@3mL2wbwr9uwUHb^zz=Khp4tfu&V~C$H6L7F>4?q z2jzT}diOt==E4Mgf3~!!6GQ~I5`jcU);ptZ=X^+J(KopPe~QTC5Z2kERL1Mhe;xnh z^K;bAT`qoQV`Cd5M<)kkeQRvsm#u*XHV@@HO7yp&ASJ7Wxs{W#1MqF7?_?}yY-np_ zOvx&1Y-8$VM#;tTj)PKI82dl7-6nT*bZp7^9K6Ti>yod&P9kZqn4^2Psj;|UK7?xB z_m%iztbei)wM=$CmmAzl9kSg}yi4XT**JR=zPC~>N9dj)M@~3l%*AkiWEU$kd<^m7 zR|=v!`W};biC3qG6SU>iX*{mCYJ@V%h%d()YF;@$Se{7-ol8oX?BpKC@ud9ROE-;s zF{pYi{SA9F@}}}}{I~0n;k+MTAkGbsZ@9VNgO7(=fhRYHq)2J>7p%ehTT`}o zwQ$C?L19W{;VFA^9m?zEAoXVd-mtU+ID*F8UU$f}|3p-smctX?<23aYhv1;GW+SIr zSv@KKPSIom=fr*QM&iUN9eko8EL`mn9bymvynwZys&U0HN!YaIg92X}?LW9EsTJPS4*T51CFY*dv|13bt+E!VKT&y&A85`2Z4{*%1#^)-_s=ab6-^5 z%dYdB#O(SQO2|%^{KG1Ns>ne35J$uJ>Z!AxfMRb0-O{*@_M_<3bj;3ZXTQS4%mJz* zvTW^P^fgo4=7&mG_a}&K7yU+G-4&Ru{Zu*1T3Y&yWn6;qst4K^pG>sQV1ivbhQqm7 z@nN)AxK+$#FeyVCO_YGOZA7}w>8OB6>nm*EDc32=cbTEmQ9J6!M3whewg)e7gy@c@ z=T+G0$*%gmP^SugNhF6=nfS8O$H-~y$CG*ly&OExzdXT=sA?pY&(0Qh;1r74Lv1Vm znZ{g5ckHat=6-Lg9fSAF2*V!N!9CPL$Cm$T+q;1Be8S%Si_uq$395PBPr1UFmrqrT zqExzci_6z!?SJG_^n<=zxA9jnt*0qVv;Gui?oW2-{U*ypBhi4xT)Ji;^p=S+_%V&5 z+wWMGv~YU~fi@hublbJW4(?vF z!wR9b`&_*Ya>`$cL5*!si5eES4GG*K7^=MfCr=xUe z622yHCANfLph@uHbMXzbH@v20OLcxlZzH;%tr_`0xSL6{_Lyz$e`1*{Ly7o6_0CRy z{Es`Pjv~XEBXHN5aa-s&-Zim4zD#iumJo=QXel=j?S-1hL+2!XemmU{FALt{zA?&t ze1FES_o-vAxdkm(f!}v3Mz7Y1lq40GzP^yx7jo*)?tsjiwJU#;ne`xYiL+Rmz1w56 zALg6rwD?fqklr7Cx9=;ai~eVrCdmsCRacUgX-~!vHJN$Nkz3R^ zSa$_Rhj+hNAMrl1%}DZAVE#l+Dce%^8dp9tpm9V?XM|g}swig)P`zu-ea{OlGa4mu zd&Soeca@mNTYyR{#wb4b>ccxJT%;eUf73^2KKp`?demeVKc3_eVouLk^ECN+Hcp;u zM#qP{md>{PFCM5_+Wmw9GALfWivOO*t)iT89|IsTjEcppXQJVIBw@tswO3mVbdM4$ z^CBfh)$0cR$bSsT#MAK&aP*q#YcuoLDq#mFnG=i*N)sve@%p}A!VHkq_J5L;fIFbl zA}FPpNXH--s*?F;KnyRge$mp0@6l^-S)ql;(rru+m_lEAyL@Hlb<40Frd7lbu$K-6 zO1!jOKZyNXLJ;0y{D}c#JhyEq|IHBL}$c88{!9n2`L6_$2jFG5SpmZJT4_o1p*-7SEpXYxc-P=a?f`sp>x&V-@F~&L&b+ ziZ63pI(XBYW)g`t1uM#8f|q0P|fnCQHQ%FOe0=iT+7z8NWJNrNlS&wfYZ(HO@x8#4^on>Z!7J>Ya9K$kutL z>SRs^RGMjRN$xjsPp%j4?*&>b9*3hiA>^+obe%6Vo~a|;H>PJWf_>*l&achpiAY3$ zft=G7*?t<%S3myfvAso@KbTo9UeG%~h}jamULG|4s(|v?&e%U{&|h%7{)qK;&skh_ z@-Dr4cHm#K>dCnSu!L7*`FdU0Hg;2Vsrpjl=J*`N$AZji(Snxw63k(H9n8Sx8ozhK ztnYepMm{_ls&Xl7YaE!w!D}NH&^``^qd>Z^_5~XLDvliKw6n&>oXWXvZ{g%OiC%sT z?wW7H9Db(DC4tz{c>fb+;H2ytSv&k|rqIT&v_{_b-RL@lIQ)EaZUJmEFhX0pb3v&0 zSP5&QF(s-A?T`YFvbvr~1a!NjGhp1dCk~}%q>9TFcgl{@ z55D!*E;17YuEXls^5LR+a>c$U?w3RR$oDdu-=97IIx6V!tE^g;_*el$;6jwf^^k6g zVgwK56eBXbY_8pvS|Y@}X5=@SB)jne;~D*%r?K^mn>=P|5~peNlDIDnW=|}LAN^3| zm$#0}UXs4|jNgp%t^lr>u`6-jGnO}zl-g#LnFjVOkq-(apDjQBpqNNS&&>7IQ2CzH zfMo;J|Izm^V1hS~Y(uKvUr`tO+AXZR%jdN4(&6)4P<|A^HIkac!5Tg%#QwC;+<$-6 z3+~(189fl6_`uYLnDeRrcQQuLo-tcRK#}v^e%cl5g5MFmRmL13)X>-7j>Br(($&rN zdqnU(2xl)KDy?oaIsA||?7OsDL7K;~+3{*%VyTgQK+mq-Iu{#<5KiB0S z{Q59)c+dE$ZFz95>{WF=_M}*A@0u_5*WSq!YI^#u9qIelXoIUZ7%X`IQb6K)Fbzh4p(CO-VgT7!#hSbZtkCUryP-Dp7e zfuVu!#0O+On4zWR68unVZt8<4F4w{~dZtBSLChD2fjESU?QEH-3!*kvCtSuO z?^yY7#-7C{Hbqhf1e0m-tFAjqhIQSim-?;urO`y`_Xg?YZp2~I`)NVCrw@~x^PX~P zSABkvfwl9^q&w$jxgy`reNRu==g3RV56Rrse2=jV^2Vd`?=6Q7zbwdfEpHY{n~Nlx zd&-ksP;jO;B_97_+A3r2yBg3__$s?1oor^HvGg1EE03>b3*vsN++`*dSv|Dlz>6h6 zk?20fHWnob%JeiPv6kr;{esJS9Z-^#vUo_B|olV5O z@-tPH`#zVs=*EYsnAiTGX~lupT0yYHwu(reFdHh{`EOLreTNU`2#*fAI1m>J@f0h# zzR7jzB?9iR$88QJie`?(m}+^JC-Uj|X-4jI6)-Rh2`t*tGm#Pvl^JZ>`M!?-jV;Np zLlEx3@Fw4GACt2=nw6%lGp=80`RQanDPx@qpWkMV+5M5nO}s^BGxgoU6LbWkd3d*qF;BPK3GRMQx{Ogc&8i9pt@CukY3`8{@3rf3o@0 zL~4kwCrz!lqm=Vxy*@1=Qkshee%6{G+q=xGWc5z z|FOq+vaDX(t_i#!{Kv{ltj@C1`q@sSl%~S!>+=tca~;>MBsOV!Xg|5*#qw1VSbN6% zKO{g(uUe(koHepP#3K)7e+VHQW=bygbvV5z$P2A07-<^otlk@Q)VAQ&j`OUVdcY%Z z*GQUqRI9If5p$1_J}H#E0X~v$cJQ&D%~6fOuDQu^Hh1j&xv*MX!`HO?rrCKMOF#G) zEw)dWA+xDh9hw^6bjzrp@~D0HtoPFWb=7 z=WM=HV0$>HH=S@X7TsZR?#wGCHM~`U|CEQ2LXnxcqM>{VU(CZeT&Y`}?p8iuB8I zvJ|@nV3@)J4b5};v_b(5Z#ScmxEd76Tq-YO@P9;sNA;!2)6 zi9PppTTk}juEbl5dt2Kk9}TqQlo=ZrJHr0Zmxz`sQ45sS)RlBRndWWBZM3M-+5ao) z`d(Dt9r9I-?vvl??q`T_gFiQMj(>*4pYXf)>>pm1JR|Q9>|~@Qu`hMBIjEhF3qMH1 z6)Z@*YbLL{{!pq~z^aLrVg&=&T&tJVj|^5m`v4-`=0A#aOcxtW#vvK!zhc#VJAlDB zBvEA{#p1qr`90{xC%pc6HopKy9*w>aOqMQboLZ4c&xE#3nd_9JuR@c5IJcN^HCe{EaLu!SWsHT2_Ab!}cLhq@j>16Z5F(uRhE0 zlYWl5e$2KIJ@1gyKTE+Z-HsM|DGNWqQpp*>Mle1V#+-G0xP9|;b%t*++<7)=We31*D1xsXXy!M z_7rdS;5@sceV(Fm8mz&+pHw36rzot`yUCo?fvfh(%N|~g&C3oy??Q^vz8Pifvy=43 zv_uA3sD$M%6zOYDb#rH zgy5|{<+yan-GQGztxA;YBxY(Y7hQRWYt+fr&J#so`ntT2{DG?+ zpxY9oG4TZ=O#EeZofEIEhzhq4K7)zy5`4s&br{f)hjjxX| zf2C87%ZA*iGVLBC!OAdg$e_~5B+o}3`;Cr29g!7Srwr&~3dbG5hbU=xd|CIJ8R|89^_cEYw~B?hP-Bxb z>HY48IdS!;>I%ZmLKkGqZ=sDR_gRIuhu@*Jt!lASARLojMtbaO1i93SH zTpnx;U66QRieWK!q+WZV77kaL^daP|B54;=D_|NSLGx+@ioLm?PM3FxXk0J(d=Nf0 zJ|2dP8)JP&kD=%LE8iOgXNJ~JhF*KS*EOKL9KG#PUo;TUU7%+eh;x;~p}q(Oyfq?) zu`}0*qeKq%z|`xD>jNpZRu#E4%5Ghl>bnD=$803JMj}U6N~LI+E+0gR&eioDG7{gCEXY zXKKc`a*(8%P#id7)W$``xou2|T>cgf{EA2ZB9a3tj5yyS!2wlgoZ2`+_V6J(KdErm zd;|~;ojfOjQMrdKdsGnw$DV~Z3J{-~S(K3xQ@lgf@gg$30hzQXWy9Q`fs(y3N}FH1 z+&$PpuF~RL?QE>Lr_UI;x>emcoa7ICHJS(CbP?=E3YvLcB~Z*Q)i#{WjD8Mj>$H4~ z|G8PLjqELrlK29`J31%m@5WMR?HWi=T$bF$ZZ2(xXNO4LR*rm0VZ#9iUx+$v<9HQw zz7ZsXY{&DtJn*?b3KF?F_j;lRdU+M*@-n&4u07s$TKT}h^%eb;-ei5Bj3G*cWIO1r zW{PCqyq84~*4O~|XMgc3T`NzUFGS_-?(0cDzfavZxpYK-hU8Ojt?#(*(VFBgxKmIQ^c#|m6 zC1Ul~3mrp+fYE2ScSOt3&soY#ue0vo-sO&yH+pl{FEW37OPc=k38VAWbdG zxqrIjA2=F_tV&jM*14kQziEy!s4L^f$N#yc_{(+kuiyFYv)Jci!#fD>7{1%q=P!A* z&6PnV_YvqK_&eEM?j^i{l6(JJ5(7_)=|ms=gYj7L_gH94B-<_c&sKas#vQ!>09Fh? zS^(ck;~Z#Z8m&LfImHv=vIAbQ8r_h<=5t_c?^C?>=aoxaE3;OeURx+DZT(r>pIi@T zYftY|;%rBJ{yS*+y}Y3KKpw$y)A291gf{%o+5dJXBl^O~&NdBq;Q1iNhisU4kl1&; zq-0lMwSqT|XNVnKjo#V02J#vBQTYh=b7M4^KSVJWqZcbuIIaPt^Xpx#L8o;Mnk;@# z?f{6oMgQb?MQ|Fo7Dpa!CvmL$@Te_TQ{4eLIZsB-ICs)Tv=#kv*TJG^*!N7E^aJp? zFu;T!hLIef?S@Ex(qxW0(Q-<63^W#HSx&Y32vXeqj*5XwLQ0W4pCK5Zbz>}eJiI>{ zKQ|Ro3F5@K1I4_Ppm@0Jdh=-GPl72crPl4J!g}pr=I5&wkw3D$hWxf~0d*-|=5tYnX}I9QBJQFgODnk|^CMTSHoCepZ-Fq1 zxoW>Uyc_bHGVZpGz3gse*}>!m3iG<1V1tj^{~a0hi8v|(IG_R`*gUVZH0&_6s{T=S z+upT5IHSU2&!>;SW%M+aiK0PA^mbkB^1tDVH)oNiuTn#hw@rEcZD+=1{U6$&f-%s1 zGG$;FTDCqdr|!I6JzBetYT5aFswtoAtyuVe^FBSqz|ZXDyyf@PUkYEm8Y3<`xo(?} zD&KtZYRWk3;J$6%0jE5^2&}?hCbT=B50oGwD!S#i?Gojq)e%uAx_XOo?MvcAIx;CC z^pbjbT=?Fb;C74eUbpBH<^&3( z>Rd<-7#5&n>OJ?1qqkFpjFEW?hHBq|*;J(b3i?r|2X_k>cv2J1 zlJDOGO)L9;|ClhnFR(o_0hecMCHr@Q_mC&EGn`g^woeav}D!gtEm zb7`0nXub{ZEYJJb&z=$Sl9<FcnZ1qDyVRu^$L;VtJz&^PeZ*q7$M)wISMUL3X(9+Fpl2)r-j{vDFkjFg^>bb_GB%&Ku!vCI=I^9~rMkE*{9cS&}zX zjHziMG{sr(^nan&S<8xPgWo~UgFQ>si7kE(LY+%}@f+m!-RCTr)ZY%=NxN4)*_Lt% zYhDE3(NrwA(foat+l>6NOXn<;a|Tn)lojE32pWVM>v>!WcCL+#x9cdNU^Z1L5 zbArzzNDJ{C#A(AMwEW!_mFOy2Pr3Jd^`L@>igApnvD6vJ0n;6yb5Nc(ErP&N(Hb#n z=u{K0(NY%oT*%oV1b*t<0i$MFxlIm1k{Z#878+ z?swxa0yxihI_W8UX=cZo=_X(r9B)29wT?Z3(Up*~u@LyI*4A8(@Bp|l#%z?o`MZloWfsnueeLQhAyY*p zAjEW}PHv21yjl^*2^KlB*Fjm(0g&%w3Uqhuj*uX+{~SRH)MGD$9=t-z_YH|$yh$sB zgmu{b`4s76;%N>3!}ww5UX{FTq7>G|nHn(s3VPzTNuk>@@49-!!6l=CxTLSeFib^q z*ba`uS#ozVrfD)d^O^%an4p;R-iU(u%OK+opKRoY*0iKU{uX#**Q8YLI-a@w1lBt& z^f^&=%ht`?;1)1}dfa7h$p&<#ddNqFD(yF8z=4AYH6EqfuI=@`(BmMOY!kn>-vCjlp6afPJ zu?%V{Z0-8vJLen|rdX7Pcg1UohX-qdf<5?z9Wos1vBk{YfCBE8L>qiA{(I2p*0WxzyUAjjNIHD77_6|?Sl)Tz@C|a zN2s5`dxbJieOW9AK}e_l2Y)g|u=Ghxw&@MBxip7$V;gKAm7!3_{{?t~8{p&#fu*bp zL}K}lmZl{YZa|JZD8^y6<8SDE2_2Pbpw8Z#H-dJn?XKAkQH1#j2s19WaFPBaAZVdI z>;Wt(U#p=#<>H`h$mhW1y$|4jERjckM*xQCgn}4>?d5gp6TWtRmKz|SavegeyARW8 zJL}kZ(FCL|0F)5qX2tN0<-&(soa~&bV(%Rg2ihJLQX}|!d^XK;{PBs5a!!gW@u2*-*t8?SVop~ORHk-WbS#xc4y9xraRH(~c5V(8 zezUq@o&FS%6goccfoE>Cn!GQ1;zZQqZcC=47oQsA2w;*QD{R!v+B_h{BDT+ zO;6J>g=!;ONdXn0)JAw*7N%5C-%bO#^}Y(~JfI=8qk+W!r$kMsus^n@9+To|LqgN} zWe<$H*)o&4`@eOVUK-f`cf#9!*q=!s0Zq*Rb`_klq3{}sT0hyBls>rFqUq>EnuM|5{&sww{a^Hw_l{rE>c zz=B(5p-m9DatGb}AMOFo+cE#-hnDNDzMwz$zF#3HnRmU4&O$`zk~vX9!22lLTU(iH za>PRdowszAe}A6MRlAB6UM52LAv!@Po3-Sd0#-<{2(xY-JIih#nY}%XkTpdJ)y#8w zW;RyfAxy1W)J3r4aYDjwatLXjF904pu2qmU8x1u#g!mNvm6L<5(usYB_+n(R)?|3^ zEvT$o3#1rtem^ZtKAT9}{lyYKu=^M$h~R$V5huF@hK>d1%mm8nmeJL|q)<`yg3KB22XcuL$KlPJDl?_z%CB2S+Z9jmzwMxO5lxNHvk>w8%j#oTaRL zOPV;C^egROjWs8360m5C9A;yGf4*-53&xISCTJoR7GN?QYyG_~|fA=&+e0rZPXs%XxbFFVq(9tV`0BowhM2B=ubO3R?VC zchl2OOu~3~;hYxPaI8EGr zM6R{KSFVMJPy&_8p-76;;I_hm<|(sEqYo=<)k(5$?n?B#CfLk^0@s{tJbv~lS+nw0F%g8BUAzVs1;oE)fC7JacB4>N~ zCVGSRJa!LNpd1v%)Gb7zkaT55;9cVtULi6Sx9D7dtb@JRL_U{Xguu`0u1j9~GNDo+ zcQam3AN3vTyxQBT0M~|m)$FlKv*t4>HLTW|YTTI$=FoT6sgG`If^W*%^KcMgv{~7OUdShq&;+1(m$zm#8Etb?ue&%7#==p$I&*ohY)SI```OP z?M=bp2<%ax z6;~$KMA5GN>76ZEIeYq{zcwNLCU32f;Uv+X;ke8_&h*S9kg3m@=Idae;;MT%8`qw= zdzAyf9^YuUUkv>^OYn`&KVZ7K0EJsh*i>G=z^5BkDxVsQkh6a`2HX2KtpB!fe6F17 z@&MzlfCo2bZSM!)vJ;r1nPr6b3wuiNReUE)4)4W`L9g&r_kr<5<@4A+B;)w9wPy-e zw(Rd50|bJ1bi)c>t8r5NZqDCPWqKQLYO+{#K}2l!9Tx`1;3WLIhWzC4Dv^XhcWTe& zJD!u>wiVNfhIJX}JQj{DxctlAFcBq~9%_MV=pf0}?l@DBR`9AfJJ%nByB%$1s`*4! zZV_)w0!dE5byaISh;-m`%ZOkQX^bT)U%8?DA#tDS<{Y%!it;z)YcTH zzwl=-2oD&O2OGSVCGQfA^+Vw;3eWDt6xS0Spx*Ds<>IUTuXddlzj#U~e1TlF!Yx91 zm;dD3n5E12*;b6!$541mw~nM7ooVNGi`!b?^O*u&L&sx-fIMPuC<3n@N2pdSTh?ds zPvSPB@+H;gIzG{0@uFx}TZ1ehzq zfB@NdHWvIEJFP|G=q`cJK?&yM^+{g#E{=`_*abb@V<`P1<-N{W5_jeDt=Yq1=m>1o zQgogRfxXkv1Qyq}+P6P(@IHP5L}Q0RxHO*A`3Es&$QY3?Bk~)zxAzjLD>Q(hJxO`L z$+f7Qb*Et1EvY>ON+7+tlS<9P|4z5Z3a`}NcU9#qTaOZsatvgu7{Z$ELjL7@6YQZ3;gJj`ct_cqJ1J`pZ9KcTj2Cp(7d&;@;(Jgd*T()`gZs}%qQh> z!_H((qT3na#9LIfv^VOLXPl?n#@Y9nhI3|S!hQUm3FH1DpdPa3-B{xgzlaq9`vRm7 z+*csqxQObD@R{pDpY%Hftt|5QacYd5i=&TTj@3>9FKRO(-y3!G&9h<=al3a8l3EHY6!km-S6cU`t9Snbs-AZEY8TIKr$Zd z$oKu&cTRZBkS-dx2tJRMgMxIz7(P)5Fsrw&(ewXtbxxPjY50_gGvAm1?T6)l7oC3y zq~GEDCYVGh#ndc{!VrK&mvfMBdV%0;lC5oC6>C^YJqkBha{4<(j+qnYw9@R63&90< z#u5<%8+YFbt8(JE$|&AwGmtE7p$fu2{$OkCPeujUWq-cf&oOAx2Le+(wKq+-`?1Mt^?__)A);I9P!e*!aB8Wjas+e z(D7G3Y_kN-LoJ2#jH6D)5@2a zsfnvJv-hlA3zXL|86c+hdC>}>$An_slp2}cUEfv3oQc=7Zf1t$nwewOljD+W?|-;q zVTQes^Tc6S$j+%eBfXq4328nmjhm}s+L&~ApPhUfk9ZJ0=6$#fnh-8xvRhG6Inz*QFcd5V%S4i^0w>7us!o zHdp)EqV~|leoTja)%CBt|KtmHud=U`5h$~X!~L1M0&unI5^uv1Oi^<0h22o{4?(=7 zksIs<+-yNtS>b1+Y!JXsm@JW-i>(&nHi;pV5aF|ceDJ{#d4B4NT6ZI{P%h~so)=my zWqeQA?lpTjJ1uo2u9UU}PhW*`1;@@07#C&aX7UOj!$gVPvOjxj?ALp*$n7)C$t4!gY0jNrt}6rA{r$!o3VRnNqDCI zUgfy=O!te_F)O|PjcW6gIx(zY2g9j(ua9B<_jKv!?#>0df4FE6J-3ywWVcnfEW92J zgnWBej{};F|N0fV*}q$~XTplyudZc>RrC)Lvk{&;&AA{gdaa{}f^EiF=V1^OBd5~U;V;tOFJEW;nYA(B z&gqqorAwj{Od5pr&l!;^_aI|(6xVdKmoX%XahGi@tG+Lw^rPG_1v!$@w*oFc*2afh zI)^W0&Qcm&24;-2K^mjDjK{C zOMatv6r;QHGi2s`0{&yOe!vlh%E|q3%wXv4c-R2k2Js^p?KNNN^?hY}vv-nwW}!}! zxm{^~a5#M=r_(xDoWaMF=xsl~naJr3LPMFv;zT%W=e>5^fU zDV?#w3f>N}a=PxR)wZ^*K*Amy4JEkI-y&TU5VsBDnD8!P{(vpdHuNK){B4ajXNQp( zc_sUUXZ3P&2YkXEIa2m~y4YLUUkS+vVSl3|NqnwGSi z>e_d$?s1U9l&d+bfrZ4^fU9LR)SMQf=d-w5#H&P`(C)*hpr}5)Ptb|Y)@57Ha?4(9 z%LYXPWJh-+Per+>@y0adC+k4G?f`6yjRXi(Wht$R?JeM}W`#9}3}XcFf`ts{+Ib*k zfoQuMXtpH{FGP4ya=(jOpD|Lp)_Zez?=n<&$a2zZX7I8m@E$JQtdt=ZvYqdy zq*2NM2Yf!beD2O~XCGYuFAYrkE1O(epO+%)4RtOt zOS3(?@k6R0O||~#BO5Rf3ogtx>G+VHa7UJ_ny6 z<&u^_GGsz?|AYymF{Y!`wQ)K_NnxwrhwVgQOg-Q)#?i0?gav$t?GfkLM73~$Wi#&=0{rBr<>{Z5TWpqdGHN;=MwZJ z4F@-ry;$0xD-o?6BR(xNHhn!Ck5u-$1IUZk_gk}=zWA8kNWl6!nhzYSeko7G?~X(y zFh=h=jlqytMF58&&t)vZf4Z(fX`xQe1640U@l)@kN(o0 zOuq8IO`>b*pr{?i*x#u-Lmq*(-c$Ms7wY@~#oehi2fusPan%11owFRlvZBPTtRUrX z9M&a9Sik>RH)Z~ISq{7DFh8XGqHi;rSqH(SO<>gN;c@RReVE?}?=2FNuEZYw1HXHC zf`>LZ`iOwDgWq-q!Aum-9=@r2Wxfdz z{VRSGrE6IqJnK6&4>mobf*Rk$`*vj4;s?${*9gqN-cx7^j*oBglsRv&SDu-`s|Y!!Np-33Y;;w{0Bs;lC z=_8zYv;|)9l}AY=5)Y7J_tnUCZL;i?oBKUU0nd|!RVSLial$ooOHcwgC0&}#;}O{1 z_IJcU8Aa%TX>7_pp&f1aWe_>04YNsUGNQ`;zWrItLb_UGm;Qra+ZlvXuS@0}~{VBnu`o!d8#lA;4%FZ{{umeXwDUy@g|HbWvEPfjC`vc2-% za!rr^Vs9;gef1ZqHGaV%%;IMIuw%SOAr_#P8lY%j$cw+wVDTApF#>N8nmeeA6{NCR zdA&foM?6uiR$Xj&C@}bylzG)2Q9!TOD>S(|(t7?FYTRs0hUkhcSY-I~7mfZG2w4N` z`p3mtLOf2DCSJ{!=M%*VwMu^jvJ(}80zClhnUj9)psj`2jOd#Ozk2ryQG$7qV-$yu zd*g5@{g(7%S1`rrJuK0CdxHkD_x< zEa}?;Kr_uTEOW+>#aRCO4$@$#Jy?@9@yM=Nfa==|R=<-5z}j-%U`2NmHbHVu5`2R* zkD2!*m^7Eb6_mOyC^0vc1z?kXF`|1mT5Cf|Znn$jU07@U@bb^EpJm?zmt#6f)Y0rI zoNE+St;D#JX*CiOf9qpZnf~io;IZgu(c@2FGn_KrmPjA@$D$TlB?WD=0th8_$*NsQXv z`|5vcGeW;8O;14yn6;fnxVJ$ka+gNG+>paOF2=CKJ>c2e&o;C3+VIP&I$g z+&!@tj9>N9B}Sdckh;Owxhk>}RZuE|+%yEHndI~g{`$>nNDWMDJQhS^W54XrU2xKJjVOBOVXKmVCQU}>Z$QV3k zml}S%Xsnw}&)=Nz!8m=pgS z4WN(GLie&gbb+%Bm%XbIp^i|$EE3W_ zM;Hy>0{C=4ftMf|aIgS{H4^I6v_B|bF$y%@!L;xwDeIeCHb*3^cq2SW;*}y9%!h`% zfBo?CgG`9x*fTbuBZCf-(dT<%l}vEN({dS?FO1m3PBP}Hshj2qk1^mhmV`Z%QXyAP z1+P-`kPd2$#}^@`V$UuDXq)*W*w@%)O2Kjh;|EM}C`#aqw{ZH`IMgOX-xcTsH-&1H ziTTlSily9u3C_nJ;5;iF#~u5Cc&Xq`RmZiazhrL2l}5SXaIf`TSy+>Q~!Hbwybp>wXEOe7_D- z{}qrr(g`m*yms`*Kut`E4U`6wu21sMC{B#az3Y#U_6Sdt(}+R!n&WFKEc-k)TA1*z_3u?m4`efn=Mmyoy z9y9RqX$|qyTrEzNC6U&Uatg388F1^9q0_Oj(v!bMpsa_|6Qgtg@JM&STT%6R}=$Qaz!GquGFSY_al#f@^g zl%G9;z0YVz1&@e>mJ`a%Ep|;T4Gx$R8|sr^tYz^1qfu!47?y`B2|vnUZ&qb8PrVsz zhB}WgLCYV-EA1cXg_oHVFPk`?&V#v&`|~}&0peTXt(@8b$6*Qd#&$hcanG77Sj?>7 z0@v2Zc|X;&NsR zI&v>wDZ+ST@Hn&Gq7$HLFGjACS@t2u*kuG5Q==Nj;d+~M~lDw7-H_?-Jp#(Dn0Dho{;yL7g$wQ@Uv z3a&Hvi7QP>I-v^|UyLg*Kq+Dxx$*hK@166@`uf`8Wyefvw%~|k){yB{kHiOn1L)UG z!BMFtK%;fkUD*TA+G2*C1j@@VEF=3nUm~R?5yZj0d2Q)VmGCcDZWE1XnyRINP-kC3 zA_br#8%qx5`pb>*&>T1CFW^#Uj&r$`IFAj7p5O~-64wvWqk!Sw4b4k}-3v1{OMq!PUsa-%(dUF^`>?+4 zLzqL8aH&#pR6%hvq+p*3RP`iPDO97;Ns2h{V{J+!e7jN1g#=xKM4&b$^y4lhilZ16 zz8}lP>IEnvr3q5rn+-1-tvK;9I;aN($^o7>Jw%X52c4tLK~Iv3{yqj<=UwVdZY0iw zFE2(sUxsN4#tKXN$C!;X0?7Q1S!?R9T}7)t72;BC+?ZS$82)K;qjmv3Tsu^PVO1xERM%F_#y%Z6_JAm(e}Rz>3MDmw4rf+XcEYo0~$sokff z;20!&yeXo9W{0gBL{dO3Er6mzN(&%rNVAo`MZL;e*8&lbksy@yK1;1U2Q=xh6jDy$ z@^gl~s$A(YVz38J{>S`~+wW`(c+|XEc8nwa${Uow%sILvqc?4^63u6@gt_0Nu6?`KDaH&#F30Ap927)M{ z+dj3gP;38W*@32EuKD z6g*b=+zKC_=kAukt@q%~+ed{b~+AF0M>-u0`Ey7nhJPKSoeey;CyKIm6)rh5q zI53*9ONEMv@*l&**uiw&POis=#I@(nt0<9?^$q(o}RDFxilW#6#k4GcE z!&kqWuDzTkz(FYc-F*~Z8`^U|p+~u>LX&s}Y$|XJm-E#l(57?(6A74E5g>R78yJ+o zc?Qjng@D@Zrj3rc;+JW7m3tl_d?6El-{k7f(9XsOwfS`?Vu);>Yl;?g9xUBY+HN1A z(tKq6BMwYpefS0-^s-YW>g_BgdXrtZ2!6)Uw95`^ZIrI*_;Qe&bRPSB+IOW&ylWU+ zP1h!Qfe4sD&K4EYgccMS@tn2iB0tza)-4GV4l!Q=&+L=N{T$*vDm(^PjBLfi&4f?| z(ciScj&-567=Av2IXKJyp|!D~^7!pzIJ+-oBVMm)c@|_9-R=0CG{dHO2~f3nrMPC^ zXvV`Jpzo(Y*chLvMM(D<5TQw}58bMwWY`1!rKVBZ%bz~21GcEsdej7CKy@q@f+|QT zs|;1OFY@^0L3p*#^a~lh^N`F`>g=s6anDux;4d%~!xccO{F~}@DB5aIV3PnsvaOAq z&t5{|=(WA10TzNd6C_k?7MO9{`Nbr27_m(HOO6 z2!`7qCz2DC{B5VvdLi=7QWZ`1CN_TldhowB0taUgGlKm`bOuX#frN1dTslDhzo`4p zsHmEz!4U)$6eOu2NfZ!9KynmBl7N83ArByNkeopVC8!`s925{yf`kEvoM9yA>>xQx z&LBB$kI%l}`<%1q?AgDIKZJX4Raffn>gwuhjwdH;vx>{|mdPKgBC?R|WwS7k-bOht zCj8O|d!(af>$sFLW9p9nb6+#y0Hua3A=obn*CHW*acDni?I`J^m1`s0_Kqpo#jQ2H|}NF%&l5=w5Xmj@A@CHO=!{yB1zF`{zr6=iC?Du&N3V69ND6Bg*W}h zqsu4l>HD$+NU^XVaoX${v{)lOG|_41V;mVU&;HBzy}RXVAs5j zyhHkrrOYe@`spy_I8b@|e4#+h!AAdhpm#TlC8Vb=cOPp5i?Vh6}RF>r5x5PrVrvYg$(8fI66+MG=~OTVqm9IlF+gB)Jj)q{-$VSsQb$abrL? z9p`ySHfY`3fgxW;z~1}P?uQu>@qGTSIwswMF)DlK@AbD=FT>o^YAoO3tY0Z9p^)y%1ap5y@(^9rw+%SUZG?Vcj? zMAfpJd#d8{{_KFFrl)B$&;Ow)gya4PP3Qb&mWS^j;#)waBpN5t!|zP78QdR)o)v9D zCGOd>(o*9m5DZdBX2h@=Pd^9JB@mBZ$;WtH{R;MnmWMm8r}A(O1FSbzC@K{1OMu?Q zb$gAQ8VoZ`abKDYPC^#~J)$JDsz3hbO6hue`lXwv3A6e&B}DrrKI8~YSF&_+%{`zc z-MZi=w!a-Cn4r&?V9=)Gp>xnD{g}QG_)US?R!4;RArglPX!F>=&f%ptvS2+8GdRSV z+4HR08G1j-3kYvvq_Ayc2BiGtj|%OlNkDN=%M2a>smimW$lOM` zc}3?KL$TCug*Tq~Cqx?*Gx$M?v3`PI9rPn1;5=XYOOC$q$-?{U8QmyV;yhB@&gDdD!oBgu?+_ z75?Ajch|MOxQjr~oc&VgH26+?ns-9<(7U`=0Ao&y%A7d)@D_gl((+~Noz1ha+{MCC zp?@bvL+p{>h_MS)R8NVG&y5)m$o=fpr?#r1?v@-aX6@{#MIf$aP1@=1#nJ)>AnwGc zY32{`@*c#zQK?d~B_crw_s7`$)x7`>_A{?gVU%mU$DMf=o$mZg0H72Q$wZ5{76Bxi ziFkHpKp@UwNlEYrek9^Vz`G_R+SV_+Om40#!1*fr1MKCCAMpweN8@h@RUTzs| ztslsq>eQs{{z03uYdS;!;ksR=s^d9u4J^|Z@|mz81mFYpy)FGr`n}b{S_v)AIk+Gj zR{RBNIWOj?g13TP;HZdrF=bEau}!$Uu_Mzz!re7?#cQiPt{bCQc;s5x-Tamv+Ty8j~{4#389_|#LqdNCy2;=?A--zha4Z1kp)a6-oG*8 zGHIaZ=T2q!Hx*rX0r3Komf!J1Z-CaM_Mlr`$=mJWIvYyr-&pY+5Yddm*x8EI;+{Vv z4VdNsH3Jil9FSv=!!sOlnvE)MFv=U#+s)m)qBi#f@5${h8`mFO?cI-whplUoVGCc+ zu=8&*;uSE2;feM5vM_F>X6(nNZ^&`___Vd@Xuo3PfkxwO>pAKm|HZCh!gm@Qjt}$put^ zGoMo2QPzM5SVtIRV?cZ!<&9Oak2U?aO_ZAs-vxuiVInbpD7=mJkr^`E%NEuyiS;;C z*#z$KvUo|}B%#0yi)r~!;q*@%FsoCH)LEH-hr&HDfHS3zjP>R9CsG8^25&)yGV^}U z`8vBP*xwH_$*PxVzfl~A+(m_G)8IWW>0{JEzk9m5EbfunFu=szV_!Iqss z9D-1Wx}&TI@AJYzr17ma&Y_m~dg(deiLx}-Af>y>*F=H$eBtOaTH`HPSze8O5EVl4 zzgJ(S`5m1aFEXQf7QKk@iz8Lt`4PVq7X|p5v;u-=MiQt1jGZCY_Q?4az+S6HG6L zKGS8bmM^dwC;4U|vr+D(eOKifmr}()G|?W&57{2w6VeR7R$6-tnf?tphNFviorJ>GqXM%xoe22HD9axBbmDmIRdAv-317*t zy^nATLwjI2;67dEqs<$8E?}c~|8eR~tlhJ2`XgKi80Dn!oeV6isP+;lXy`MKNJmYW zvHks+JPorw9pW;~$h1KA)@9J$CtC#yS~{Ka+BHPFqw_~|U^ZWmj0XP@Y8;^AkUEcF zlX(*N#F1^(S!>VQUTxQx#qw{xX%htW)MH55Nsm>X-HEfi3ggJ&Hg%X-nb$Wi@v2N_ zPcMeK6oZxF*J7>j&~0=d=qu@!aH9E3$6a0RVOng#+#A3&mtm7t$ni5Fzf`W|$JVi_ zcLBE|@vU;Mqo>PwzglwwlNR&o%{>9NarVzLS|H%|6Jz3eTAB1Z(LV%)VVD@R^`)`= zedp2JBOqxNFrn;?jb4{3G>CUbe9D>b2x5+abISUbVMa*?Hg+|5iNFp3FBld-@%98& z__4?%cR7KeI5%KX$3YJl2y~jWrXM;PpfUQ za6f!R8*CX)-7)K_P>(9?zVrFK|01>@93Q${{&GAIm8WzyijK(k4Se_!HFf+05mnf4 z7})1IKpi33jK56_$hTJp=M0agOB_$Zmh;EPJ3NRDacVMFKWDWaK=(QN^a-icio_aZ zKam0!%SGnW(oxwRbyKJv1YU~Xsz@_qHQ(-!*EsAe{rXB4lTWvMp!41wL?w~Y*5=b|;f_($WUy;Oo&b23><4NGlhOgKcYAlBvL-QT==Qc;O)p!B;1KOoN$#5|vk%dv}#&%hr3!&0aiNC)yw z8RK34UdS%ZAx(fxzs6`({lY&gPpHO;j@C91KK!F-Tkh@+&qmBdGZ+uAg0Q#pkUvd1 zA9R!oI^3AD10-j(I%9df<(3;C2*}Gi0VCokFG1;+)dCBo5I&gewu$ZtI$a>#e}6=w z5orBM6yHu=;JR@cuj=Th6iFuSD7avjC7952Li~i21%30^3rY56*tYTUm|>$Di&Cmk z&(p*dC&kJtum(Tn+6=V&xOU*C-r()~Oz8+rvzxJ!l$>*2Osi7EuetEU5;2ku**t+; zi@ZW3wErsp7nn&XA{B~BYYP&fn5K!E#)vN!8|ywp%lA>lZ_C2^2`UC-D*KJkvV zT9QDlLz%)5^c80f&XNcg${N zPdmsZgwQ8ylVkhGG22z8)02L-i7vN!Qdz0p@NkGoNlK+ARpvF~;V51FtbHAcdouLa zXyVQSqsH^DT#vVK&L)?#ywTl((%(!*3i1vOm>dqDGD*tGcxj{O({h+-yj2CliLSSC z9qXBi5Jn%r$}H&Gf}Wl(a|5^~4>4atun7}$2(sxafa|d?my^zr;cqSP0x!t4;h66%ziHd`{TEoVEVBDt-;ieZuvN zN#D{j)Qyj&Fws6~3rcaIqYvQ7280{C(#u)2)>|++8I>VTm?t#SOI|WW{|d9PH_eGMH+!Y)G*fgbBa8*~PgwHf!4^ztawLbjjGp3& zNkc~c`Vp%238T*%Gq(NJ>-v6&IbBg@jwcBf(2s3krb2AxOWatu9w<%4Z#t+iYqcI7 zfSG`*k1gj;?Hx%2P22sQr960u!Wr=a$_|X{2bN7GYqcisR#PA>mXgi7<3r3MupFgH zjxGFL|Mqvt&_{_JSt-tkVBR>!k+${mf)(rzbnDh8_jriH1r5xk<57wIi85blh09#6 zn7u%=semNYpI~@=h2O5Z*IOFLfqa3Co>RoP-;2OeTtCDS)vLN(uMi+y@lR2ZvOE$! zK$*XsYDZPck668Y-Ib}R9=@!11Iy*1{pD?pS>A#E*z`iw(J{(q*7xloppoAqGr!na zpHJ-EM2Y%b(7%cvs~JX~XH=2+-M*ROg@RbL3dnj8_$kNQ{KmI;t^ZD5h?_+6`Vr28 z2>S+XSG!D5>f2)6pDW_d)cmSIh%{9@^w!69x6#=gF!el-Q*+M=f$JzoF5FJHDpw4r zWiE=ro+65WFJh))JV&TrWB#F|L8JwFxp)|_$N>tG<1yQBEMX57{wmPkM+=08dHUPT zXGn34TWa2_%-XbK1(s4)BUOhP1KS(*@?)Miv`@b8UNvL5jMWUEb}*_$XV^FCx+w^$ z(Kcan<_!cwE}fsA6K@CZ?UlfHV;TI&k#pbSL`;-%dx>gqQ$lSBgNLUXz?>M4js=J2 z4#E&G({w?3i{AyK}Xj@V#vGJQs8#zFI zJmGS|kRnTNBx{6^Zb8v>=Ij)^+@hPmwi_y|JBq51?jR1d*oh23(6M^*i#dK}mHsNL zKE=*DJu;nPV-^dPgn_5dg1PhQ00yPG7S* z?}3hV@^=oK9iUu{BH%JU3M)EI^ana$O4$1&HG4v3KPtyDA3mZ3@x&LBJ{Perzc4&B z>(Q>o)q$@g*VJ%))nF&KJ!m|+_B zJ<0*IrxNts*@n{qVypHkf@cf5dvFmOQ2c^?S*MW|>oXo6Q`Pd6UM;p{eoFn5*a6Fa zzy9+tRY)OamxGc6R0kMFoqu1>sDJk8kJZb^;SVU@!n0cJ4`|aYUs=iD-$wWHmM}V+ z;_g`WZ-&Y%^2XcD4_g?1jE-NS?Yp%me1IcN5v6UwjDd|i*J=J?4ulxZ8>JMhhd0(i zUc&A>u~%@J1Qi8&^<$lT-qj6gUs}E*L0KF13+NBbcJrGY3FXlp^Zg-+!DAi9zAZ+5 zDh6zOsAmvcQN_DE8jEa*pM?wusQnYJ&Fe^_1%BBwdL|CtkH@SGFHHWZfA8OXWqGxH z_~+KX@#;(V_kQ;rzV9Mw-JiO=RE!I4z!b8c3!8N{it{Oc{bnPP6O=DfUyspFV*;35 zsvLwQ)sP>^RwM>1r@XZE^-Plp=7$`ziAF!yM$oMmN~gVo6CvXm&Ml-)+AXo9MjYG; z3#$<_O2egh{TigfVvx0C6DpcmBjye@qXxKQ(4W5BoEN>Esa+g znS%MDj>QAumR%(EDN2avo|m@oUl+2`_^?S40?&HF3r#Qkzea_mE?1hemG}oB& zkjdt}kgdBjPrqe-bs<{M>V?Y_N-W|o;s@w;D@c@MU_Ro5P_YO>RH0aeV$K13AV3rq zb3ps~c6zirI0F${)p6#1lQ-UOMA$A_{HhS$H(8iyZ2e1K27zHYkY2bPnc1KXbhd|n z6sT2SIBd7_;0BFa1-51D8!^@;RDBC7+CXunvne{jQI!^4!~Ooj@zJ}c9$sZ;k>L+9 zj7d*Se-h5`dzIB;2$(|*9srne3_;J66|3h;w{{WbIo!;m=Q`v7lL{VF7ZQK0!V26q ze0`^&O*g!xk}dEliH#ij=#J<3@&hWHx9~QPxrh1$cr>h5N@UimoTJ_F@{h-rAY$x! zs=QZu1vzIgEPvF2dHikTMPjIid2JiJJ-4a5Rwx5MV{*mZYS#p+s9rgl5s8v8`5E*J zWF(z(JyUo|r|w!2^Wjun-vS9lXh_Cp!f-u|HtayxWvJjpssu_2taiaCgDTW zf}xpza^WhOm(fth!(;Id>q-)4^#`K~Wve%Lf4!yrqW*sLkLvk{IkSxJ>)6W2gKscf z(EZc)My|V~EBgNH!D$hJZw%cnPLwq&!O6S!Ym6(NpNTkXXPE33=uju!Zd$r?rFWkE zdPALb%4qL3z^|C$e*G>$MGDTbZM=h5Y{2Sznwnf!h0*FY-~ae_s>g*(9H3HukG+Q1 zP2NTAqv64iC64qwKe7+)eqHilKqJ&+zX#DKdF%3e!4E>X^ecMUhDVR^?o zEawK!yJ?bkYd7BR^;;^G8k9+c$T?TU6l_x@*;c=H_P+RW471){N*pNpPMh>1RCDRn zjEG}S77BC4oK85ukG6_{E5R&`qe%W*1@1%p%7O}+h;Pq+-k(K|`!62@t5I z%i0}+6G*jcd-oYUT)X|HIm51pm2p4yd_$Mm$alSqq}%`e_e-m;c^UR1=N9j0_?rT1<2$jyxU>z!T+lVS`Pu9ygqEmwRIK18{N zw?12Ze(Q#L6DDlCFrI$IO?Idy{AF*W<%_TB86V(TD&S1ycN>H1*&K?dI7(QDr++u@ zEF*T4Jn?7y;3H#1lS!&#bFrXjAn$kF=x9z)tTEF4io~pgTv`WU4F#jr>-cU-h|#&zkREvvjH8ZBgu(4 z!QnaB>xD+u;a(c7%P59G%sQScHAus6eds&y@Urq_ASr!2cA=Z}}t49~;ZbuCnxqI$lRPQjWv z^M4rKW((u8UiR{?$`f?2PR{*e3)J5E2n0m#8l~ASeJB#*k&yO3s=Ti-VRV(5-mY(@ zOj>c2Df_du{>^x;4r%1kn{7&c1|I*^Jjb(_ofCiV30a$W)Ra~$zJp)BSKeyD$);Mx z^Vla}+>uduc$gdBM~KyoH(Ft=`~bpe+X?)cFDd^!;}Xko8ni1%s(tz&#~x&Ru}Aoe4|y10Ck#EAdoL;nE^ z3KqKY2;&gOgIi=O9$rD*8Da3OZn6WEI^8$d;boASjS#2LS0Jg@s<`zcTzkt2CO0m* zhVpQ)uQh%R4+&w&T80gCya*LXri)VwfKXi_XL7eCx(0sgUC=;@t{4zVuNs_x!dUt> zT*=V?&}K^Zmq_-@FKw!%TTtphT7@Rm>!m9%x1e*JwGC$k4Va(D$~euHY}`0T809Hx zK`Y{&?g1NR$U>{@kBrHtZb88T!rtj1pSj9`QlYag=v60E((AzUyR*w<5CtEu9!tNh z8|Qr6ip_ub$y#2qgr=vV#9d?vTnzN9N<(e*U`6_>1X$k?R)UcKb6F(wA&xM;1xwK)j6Hl(z`(*kP2A9%gbeG_iy_dErQrg#tn9;qa0q3ptc#{#p?wf)n{NJr;^1fk-uXpFVk!z9_$xI z&KjPyt5;|FHHDsXUArg6r4&50QQeRGp>r-<=Oek@EFYbFJ}*j{2_-l5@Hs#gA!+ZO z*3f%ekc`y$N+8oo4&#OlYz|PGoe_hzrm6=xxWiV`al!ewppGc$K`>&je7$dApfBtg z*VFxJk@!Se3moj6_RH85K}bIRU{<#3hqy$Yy>x~@mlrXs12JCfai&2tOMPWR( z2FO&pz2SD!PO+N19E=bG13#VasAySj-v{2DCx6U|vmel|HKqw$W1rZLVZKXT&s4az z1y#ihZD}I={?=(yd;r)cm;DJc7>*gTS3=B%0QyJW>xtv84 zti~|rN$<6yE+3%s0K-PJ-5m^^%yDjuAg~jDX-}y%YYL0wpKb3898yD}&31FJb} zQOclRC&BC1Dwrt!LA(%(%q$pV%vIk-XlMD8X%;CoJRCxe39?H$Kp6sBXl_nzhC05_ zbAPZ5@-4Ir7jnr?l&|Wdc9g%p0U~k6!9H+XowbA`kV!{fhg4wrIyG(1?%RdPKPh1gh7PAXA5$MVZ zJ&O$c58W#If1aW`Z#^HwOgKwE+ij@)^%h>S1bhACFpxq*Yih^Q)9a8H-US=oA$%=PFX`nF05>_d$-RZX6w|MxawNw(LkrVTGQWk z3d{Md;VLtnL)c9cFo^t37xxbC9ijTsJL?JeHX3WQ7nKx2QM%ii?sYe{DzB_&FZyH6 zh@_&&)p(18S>kf4Ol8NWSy%$-M%UaI9viBhOs!ZNzXSd74hma`kyL2UJo&<b=Q38M#VXgTstl0e^JwL7Tb+4af%fI8WQ^I0&H0Z5rzhWRVHwenOs82h>V zhCwre;7e_)SPgxpjshlM@(Yt8>H8i!11tbF+DCoS|@AWw|P$0~Bm%g0tRk*R}wD+Qi1IufN5) z<3sb4>uX;b(snIC&$o8T-(5yWOuJ#VE{Ql!bJE0&{F^I0T&z z&mMH>T|gHam$N#z6fVu0EFt~ep(bjlZBCiDGHG)paR%e(C!cs1@??|z3cZB=`bdrSL!tMR)MbA@ z@=mUg&Q*@c)6w5ItDSxs$DwCR7S)t3=rCNm_RzRWYT|e+&v?UjbZ@y?CsdyDrc?eU zGFmQu6S?9PVa=o*YcTWSL|+Z=s_UyV863Q1?-4E3rv5r z6aUuq0;n5BWYXN(a{e{zdlV{=fcG zvGteD`43#*n*p)c|AUm2PHo{?01>{_5t4}bp1o*N59NJ)xw%c~gCFv51`b*32=JwT zumprZ`9F7$Ub+qewWSVdZ+?xMb`!?a`?vj9=qnlE*6RO!S}gRrI~tTF1YjqmS2n*+ zyD3or57r`uBJX#47a*DIFz1-qspq5w*lmfxa4T2B0s_dhaSYAv*8x8;C*69f!$yz( zk_|SG2<|k}cg@q7<0%EfXxf`*U;18<|HD7nQg}@{NY^!g{tgry1b8Sa4pJ0F!AF*M1Tp>|ag`40t^}k-Lhq1dt{-?RH2Q4=I5|p4wDZm9<6O=x~}tCm8H z{+qulz~dsm_gwI!V!&T<;WPOj{J<%=Rz&`{Ew4r!9%+`p%Kgjggiu09M#z6ztx$0F zrv7i+PQ5lfQ0o6_8+z zTU7tW_QtbCsa@q?aG&5hlnMf3(f_4g&q^?6|6kyTF=1APRR1N$siseEor3DG zas1WG#!c1Vf!)2{{%7Dd#hbB?ThZ~qnhuG z_$;q$&w89#?eOYNKEUO{c+^}G73)Vl_&xL=_X5M`o#7Wjo14LK`;{nYY7tt1?eD8= zly8_RkP3hsaF8Sfq$heHRbhYaVVbMKdlmoU(}t<=K(uA#=o21oH*+L2c=H`Qh#z|y9?vGiu9Y)jc7 zLl7WJ`*FL$Hbp0rNn}a^z52x#8g<|B8SHDgXN@~wDyhVW8Wv+i_ zb`*Ud_zp;*<#gG`GIc==U$TeAm7T7~oG}I9cgFhkZhFrT6(AllIGqvfIyh` z(M?g!>c#l2HyJCqv@pH8IlTVw_Xu{efeL)1bUSah7}yKS@8OXnY8Rhk@MkGnBcah@ z3!7yBd|avF_PtK$@7K>>X0W{dbq&;|bUenbGZbo_GUJi^uv#k%ABVA+LLkIL=@@v; zZAlz|+c5GsAHI(>Hr(Z0RjP(S!t!xXT5ZR-LOc&v_#ZpwqRRN0gQ5J;-_+!<>4YARR{eQN!c_ApOc z27o;MKn)5S%3j8!B9Zrx^eCTnr4oWbW`Ua>cwP|b0!BWWhOYjzxMvZW7a*5zwjIIF zDOJR#U`UpfU!2bV$INDgkjP#W7&aP1l(2TR)}uv!fTGBJU^p?3e8=Jdflw)f4eyLb zi7xW)^*fj}hD~S>_2B`Zx8taO=#LAKR=o^RuQK+_QsE1!O*x+I3)pRO_Zta^`~yMY z?IpVJX!up?FE&f7-^MC%SD?Sb4c{j4!<-~)(-`^A5hxQcDffYX|0^a=B4%7kVYNorP7YH4S9|%_X)mYFhfy{+`+asN!7k z6oyT>A&86?v8s}C*Wdylus8WQ3XFqm(w>|^Af0{kqqp=JuO>f#TB@bau5sxA#bGPC zXK|^90OIuJvjiv_N;ntxW%kxEQdf%Pu zi+v@mCfHnCs1+*-SG|Jvx6gTU?E(Z`Xo)Qi5NhweJSZ8vMpBY~WfQ7SIpFi>+XLTU zn%_$aAwf-ABS$)!$*%{hrg~mTTd|FT4Kt<`xfaf?Y2H`S$&UyiLGoYLjz|aJ4}US9 z>l*fNze;lfIft4UGoPBFA@do`SZ%osxyG}$yNm9v5-XA_Yxcd;Ih%5E6UzH+yYx1e z-Jm~L^UGx_HOMQc%iV)|`Ejv5%bh-K7U!4Sb~!JcD7(50`rFhibco{$M&E%RP4rVT zy}*=loi={hTPNP~H{ry0;6sFmWDi^ZHdpc89HEz^h5Vp8dh2F2e3eeB^PZSsT`P7% zh^M3R_EN%p}5ywc98z`?d%hfK1WTo?0)l4m++`~e|tjE zO~{YOl|g?v%y55{Qk&IJEhDBTb2=2)x1ikbcqUVRWzsowdU$+`)u^~E2ziwrMt&GY zUD5`UaYQv}4W+mD!n!#3Jm0FqDD5GT_icOw5lCEoBS;(E(OwnLm{?b(Pk8G^2+>nJ z(>WVJ-%ex1Y9?-daDOvNe+>XgWaj^J^x1X4tKWk8IdAgzs6L9r_1X&v#Mj2BAMPWR z+;aN>wH)j5owxCeI_QuuW)o(S{b-zgD+rNE+A%JYsw7;q26$|j?$jOC2p%?LelBp2 z`qszgNpg@t^5d-(Pg7tjJ$FXIHvgEptK!fvi8m~SkRdg#zX?kq@%?G>9Nh!R;!bR!s7P1&{&rej#V=g2Yjg;AO}wJGou; zy%b|cggSyd?dNl_7cy#VVMZc)=4^MJ8o;5@rM~KzT3%Tb?(fRyAeP%T=}vB_bN=49 zfP)6|YK7*MrOD94J;ygPXXMfNG{}pP2q{TB5uwO=bngNr_UrJ5Nk4jM+u|pC%IHfU zkkT4%GJWIxNakwD9mp&G--~|rP>+&n@qSwlP@tF{9G7|auyX|dF#od5MaZ-F?UUZK zeN#nZZRz7QOX3_vAW3CPZ3mTHUGC4udI|EC1;&e;$ct|I$QJRzX^YJH0JZzlqHwb; ztRkl5CIk|Dx;G}Q=2(*eZfp}*1k{1^`b*|1%d^&h@>G6<_v{PLeRoUHjw?}*tlOMV zTfp&fC?`kGA>lx>9gX}D1oD%kCw27CSo>k3)!iN(|% z3uehp_|_^lV(L?Rmf_YvP$ksQGms(mOd3Gl z12yq2R4W#AIq$&?;b>Web}&&qcviSjZ{ixQ6OG0ZCSGg5@{VbpECbA$K{|s8gLh1USCrFFfWF@;4zw@?pK_DxHXZ_r@rB zV}?*R_3`3}&sXi)24y=G6kDj`Ho0&UL_qr`i@y|`bc-;Tr{>)vrBAUkQ zr?owWwVPG5arm5{U<(7R1wTKnSkbx{+U-7c9Y z1pK-fSEH2|eeF+*x(n~~gX-)MM5d0Mc*)VPoNg*~Q87Szx}Z$d{jB$z^=V*ny?dVR z>4Lts?I1QT7)+6nSDFa-Ze#QxEB6n2mKHj6OWL<7=`Q~o&UP=gN$<;X1GVEUw#u(T zAZL>k<3cJrM$R{Rv%F-Ua;9J4Yrp;YW!siqV8Y`5xrJG!Z|)feH}1Q4g|H!{$5m!J z{s#Khdw4F+*D+;fq&-77TvtPv0NtG(#Fg5gF<~vSl6wQIC!y9Vzde`2+d-raFJ8!VGy_jF0Ge;cF9(QDJP3_8NbGgV!pHAN| zk~SRI{LgoJfoK~vQSKGpFS*3{<;bVdlO8--rdICDp+4vcJO-vv3bG0yMULDmF0^@A-VjyR5`IaZJHty%JZ5w zVn8f3`sO*OjgR%@2xWa-4Binv^tSH|AoXo%o1XD~1ZTseObx~-dN z9xi)-FbK5r2OPUmgqd;QbfUG#HR}cfdf2l@I=WVkA9I`OJ{xS;BP?jXJ*cdAGKz0v z$8EPx%6P3FHI&_#-H=_BeZ0inFY@I~P`@K-t{u@z^?W!ahp52qU2r~LAZyFZ4Z(T+ zi`hvP%jF5fz$O%+uTd_`qg@2$tVIm^_R&H&?H=c71vf=Ug74K9P#EI11Q}^hA)F39 zo|RY7BArN7Rrb`9#M<#QFR-=Cg=STm*NfM)*ZA~CPs>bIy;7haZyo~PB{xmN6J>C? z7jCpps24a3wmd}aQHI;G_~}L__wzVb=uI@W9fP@Q@Z3WFNt!Q%*@gQ6P+SAn(1vc> zA~OXbeYXyk;{xMhwjzr+ zt~TSoIuct~B4W_*(8}obY|?Dz4EGlmh1msGjUzOJh#;cB@-yCCp0@Cz^$d)HxqHn4 z=1}2z;(48*XOYOC{yrUDkruF~E9}$@2a*_$d%%6Uhv>RB9@2&vBXtQzKA5`ZYVt7Q zDdtZ~on-ZP*Vh%Ur+H(#Njew2!gGF>Me7lO;sW6ddK3%iqZ=Z7-%u~;A*jFSHc zUZ$tD;+2fCscSBK2(g;%>d*$XV>nD6Mwpk7L!N!aX4#KuCT)zS(;cR2rW|C@vz5PR zo&P&hf)FoPA8L~|W{`36>_cfw%v!@AWv}!^nLeE+RNwM1*>g_RBz|9we!2M6n**1LZRKZ4jFEjR3ZfE%~Nq-u|HEeUhr zo3sG!xCGpI{shN)TqhwmW^z5q<0zY<22mw*%Y@Nu7g3KcXFmD9L9#$HR@M!FsO)Lu z)r!PhbvLnYxp$SM_cNyOowh@=`pfwabK7;ve=fxtOCF$Ud2WZbjEZ=>TfE#oJR-j8 zKmAeyZ(#K>-}Q+zn|-1nkrqdPp^4M>b-!I#bV0jApim9r;BR6*JCij!cmdPj@#Fv@ z_Cwr-z>Zq4=SG=h@|bDyq*?KJ#VHQ$WT#OT?pqyryf(9!;w;SY3|0<+3xS*?yaRjPe%QtForcnZ_(~?3TmS{Ysm--md=hkRg3m<1^lip6F;No6P zm?3g1pc$f9w6Gu~3$V<3U>}n8{l}*1bh=FDVg(5WT!o>9q($^#7c)!OuVtSHO_-aI`@P&? zS(%rCfqAX^KhRf9n`GCw_{6+}(lhcE%)%R$oB1t53a=P28pfRuO%7S$Y-#O<>Tu4+ z;SFf7ITq``Z8Dg3c?1d9i?im~n`ae>7aHl~^jULlcOUMa8smGQ;aWX_$bAdj3e>aejvjNpD_mC3e3-~fI^$-n=a~ctKxD9|dSr$n9E9+I8(o&H1cr?;uo$y9nFqVnNFQRaX}0vkT;m zH)=i)meG{~)3RBdSVtCZ9jzGcGn~;}K9xa90cr%nn-`FG7L_#D*(?rwJtcSQS ztE&kbkw8E0$h91QvPJ8A{&6{*0DTXd3fc)lOH1Sx=Ka8TDq~$e?{{EI;@3@lE)SGK zT9geM3NlbKGC-;yFWy+sCPuTOU+YSh84MwUp>Fa(05BFXFEQ%N>q~X;TM5|+*}A`A z?2_Kp)<>D@SXvfu7w8nymg9-Cqh84@ASjG36bDvPS&BO zA9MeqB3Q3YuNEq3!Dh(`2zY7`ZlGjncu2zZK6^}u92%vQXrN&!I2yV)!MZJ4%}uIR`8zv^%?(A3^k@Ye?v|HoK0jj=7Gr&TCXFLK*52 zfS=|kSUXVZomAFh#bE{?xVHws9A&Kf9*OwV7^mm+>&rlaw0tI`P_aS}(BkOFXeE`* z^s#8EGcWB}8tL<>%&$nc3~x zGhD&6g?Q2XX5P2db=M8njni$33$SzC);Lwr(6K~Sw3`Lz;E|XJKxNTNXbq^X9XWcUl)JA}BU80J7D+_N)7M>Y4lL`PZC!9Xv1RWZW5Xde8u&c#EL7=VEf)d(B_s2)xXM$jGf44VECJUba z{V~R#U&xs8tN%alwiEl;-F7k#4vucFEQT!n!UEv2CW|rtZaW7zaLt`73m@O#N4$zI zj_yt@{6hFk@ibX@RV^)S%^o{?0jLMypMWqwkEnnU3%>|I4X&;m%sPq3H<}0 zY3b_d?(*Ey6|^Gw&m(OYGY3}|Nl9=a9t*D~xZUnQH{m_Q--;(CMGB~PG)Iu~;akA} zg8%gY?IJ!+#mE2md-(Xpzy*FFXa;glmRkb-CQiq>`A>w z*2WDTMxR_$Fw4F7L$Z7HMSbF>YYmmpes;#(NDRL6oK0cofJ$jKZ+U&=Yt%=&R&$(x ztJO|Q7jbLHme=QuB`;Bi{bR@TTH$$1$y4bLY(zvvC~=O}UKGeK>t@>omuicr4==b??V(cEkTf1iWVjf~xkCrBSJ(XsLI zEbh(Q=j;1BqtIj#+r_bK2Qm6KbQiD`^aRY}dTKv*l$Ru-{F~P^#@F?J)`2>C^aL2v z@^Rg3n=fyKBM7ms_kGw8R=DjQzFjbJ&JTUn<5|cly4fN3$1QtdN{~_PQX}KV@gKxN z5{o_$Hv_Wr0*hu@HfKb=kW#;lXl`2YAXJIp8OJzFT?!Ike0lBCm-pi21PmAX`EZr` zKaFU-Q1-cR*}KX3Gse}rUVj|u3w`?-htxme_?}TF)4j7=5zVK6WYShQt5K3{hdkmF z^Plr`t4iAM3vXV1n!nvRdpa5ucV0Ou!A^c7tX?EH>5b>6n|N1;_EZYvFLSiOB1i3n zf2C#dw5iesPb=NTuIYw`$y;Rlsi#gq!YhTitwLm{SDE^lIbOk}Qwl}BmOVLiyUN*P ztE;Lca%vQo1)Xwji8qKfT&l*q9q$i%Kbt}9iEIoX4WWd-nGn-`)E}sBPIFuKA$A`w z+@ar;23<{cDCDY%+A;NUrazqng2 zmP~N%w0Q(v}my2c=A(<&7hW|}M`OF++Xk>n~p zRqxl^L)H(XUJ+lFc@!83KDb0cFK7Yxch(fY@`cr1*MgihuswC-?qYy~P0fduOC%&q zCEpjL=9j-W+ZyfrX`c@!W*)4Ss?QzUq!)_(5+(YjwHSN0yutEN(`-#aTQL?kNr}5u zLJPTA`pB&5k&Y}ECT*LA;sV*`+QyiKa^yG=QH}095T=1)FpS~$)JA5^JL5CvW zp1t(WBQVWI`R&mCtWT9PpXswd8ORh9kg;h*@~{Pjh3hkO27Hp&QSf4M)F7g~*&7*n zt(tFzkrkq3$1D4M8rz$7j7qemuj@!PI-MR z^H*g5kK6&vOI#q<0fHxDXGh1$3*YD;z4KwXXpWm@`62Tvkl~`}C8ui;k_+SnQ{VxF zp^;_y7Do`Bu(T_0-Wk80y-G#GMP!5Y>H)W*0f*YhGZa*~I+GrCK1TbxV$RNKbH67m zUXc7cRle1x!wETq(RkhaTD^m_6I_q_jH%T=Z0xQG>?HOa?-3*9i?^Tvzm)-C|>|F^R}ZU0pj{uG78WEF>hJ4?M&Zu#^nocd=F(^6M`7A*1vF zB|F0yjn@sW=uD@`K>W+x_i+c^1!a)jv-m_C(IIr;oZCDLiE%2gMySrj-e=*Mcz=br zfeh7)cCG;6{yt0;U}N{p&sBW!n4N>6vp4lKHc!*+se-hyD*C}ri=~HGNT3T3PCl{~U2d&A zqW4&xT9&TRaTCAc^}@cpF6F(WT~i^rdt9ch?ibvkvw~m$C^Kr4ewZ;iyS<@=Io*$x#4CK6!p7=24SBzjsH4gW^Z z5LWqxcE$8tjp9JZyaxGooD%~Hnp-}vHa&iA^mjQr%|KuDQ-(fDB|-OxY68jCY#nxl zReyNk$GELf^?POMSwA~muZ3}G%+;7%lUscai!6TC)YtaX>tY-W3rX;W zi&rK+_*rEyi9L}Oz1Vv#AcH0);3(_X1F!50Q7W}stat9JIi3I689Yb>oRIQR zu~M2iHQgYj`+EE0qZ@x7PYNZyxwKm1VeJsU9@cAa+&#(C)vuL?h|gQP!(XgUT|%LB zl!@XleL7qDBC~Wkc7C2gJcaWp@A!YQ_Kxw9J>CB3#MZ>t#I~);#I|i)6Wg|JJ006e zhZEaQCcgPS=l`60&OI;gxu4J7{bF~o>Rq+Es`l!&7rslgmmlPq6W%h$mCc%-SSB?! zP|JAE|I)QFoZCxvNX}GC>uB^ zn=&8KFA*`3&Nrm*L@wq3Lu3AzBK&VHRNTVa*~IZn#k4kXHW4*3vNQfF<1B4rYxY&R znT?r|{lBY)I%5fVT#nt#YJ>IWOX$(~VO$oe7KqFW;w<>X&XgF5#^qKgH71;ewW&OK zh@8mrBBrhm9ma{>jHnD?_S+CCp;P7L5TE?sq)4p%d3nPHn z5kRQ+$;pBdjGoTYHH7jza?04`rWMNu`=GG6cb#p=NgW!78Tq%W7HS!GA)UJ6L&xP_ zptJaw;+7h+No1Mdjg5&L5vSBwl;R1cKwd*hpHJ4v!Dnhcuf&prO*l z7DS6_oQhP6bqH8_Rq2iu{~a=?=J1qbuj-LL?%;>2>fp^;VZbp+C%SxEHq&%GKA*(F zJ3*c3rkNH}b4L&pdzU;1uHC3TqLu&!l5zu#O=7HfjiPIR-cs%=nD`D~?x#Vzh$`2Oo4@VO*^HpSC4->##M7upW0*%%*AN zmAOqZ&t~8B?C9%W_VGD8L@P5_-Mo@Cs!3f2`LK0J4W3st)O1Ow25cJfsin`$~=FxgT?%pD%KI9IQv*V`LdA z6<*uXv6A|z@yu+0K%>KEwDn=h78kQ~;Sh{J`8reT*96QSYd6rPAjo559*9V32xbLl z5fo-EXCemiOB>i$1jAWxaf@Un!X~2>gwzLV=fJW%{#v7HLByk?zr6_2 zZ~W^7!l(?Qg2jy@{-mULlq28dUb`yPLQE_^9~^e3c@bifY1(|m9byVEl@_}q8t!y5 zuqcbTBx^ufnpznGS0w9iL}TT^OI0LoM->4lh4psVZ$wQhXADX>L*{zd>f#8eyrZnS zeh)_R*N{Wa6A`p>IP>kSS^qoG4D3@^-*D@_07$!aCt3Nuto|RtW%B6O@D95)(=~{= z#l4VSGM&y@EK3gbf>=VS5L|9~y1YpEAzY=sqg?sHPL+8S=H?}obP7eALIF4zlcJq>P%5)5uQK2Gr!}6#>!2vfe|hK!XnOU0gI!u%jS^EVWsPWJkVbes?wT z$+R#h#QQ83&HKHEzeDV-R!&9;*Ht$M|>+2#vSe$Iv28f0|OGNVAt@}Nb^BA&ZhCz4JKeJf0C>2 z5tKntO#}bq)|6=VtL=4law{~o53q|f(z$9$pF_|=;TDvHIV9w<%POW}l?qE1gcHbm4K43D zB7451dG=!`MXAA?VllmR5w++agTtaJSYGp3KpYhxT3t7+#}hMKpGBOD{Iqv+K4RqdNQHDc@| z+AdUZah3FU=n$b~zz{A(H_yoywbGW-7EG{#^lG7j_0X=OuS{PRuOwAWKwkU-6C8e{ zO+Mzl6S|O*3I2mg!~`u$=CnM#L-l>wxC8=3;U7P8-E>9 zlBA|k8Lle#V+WkApGrH`=K->k?Sf4Y%1ZFdR$D?N?Zly_5!kRFN+l2xvSh1;yl)b* z_M^Q6_c0IaL4QhuHDY%OQ+RE2qFARD>fJK^shr=E&HA=Qh{(DydOG4^qYfcr%^~e@ z!so|&Wn_;z_@SLH{pBTyn8dZ^(nr}ICay@evP*$H6P8h)4kR%jq7Fv+d?8(=a&})i zTo}uo6;eBkvQXL1I3#H?RCV1`q#w40l^@s2Nlbu>CFe$b%6)i+2Of-b^IxCu!_8ze|laddH{gp_`3 zgP3a7+z6mo6cGGA3Sy(=nuUb4zs-eZ=WN#9TM{)6^Dt@L(%#uegDSjkfSa6Y}E)E;R zBEg0U68nE~t_BbWV{3qd5U|WczN=AN5M&Jg%E(Bh#aF`#n-u~>S+OAc)wv)TZBOhE zz9S5VjXtppYLVxOCKQ7V-i#8^uL#CO&W23ZeR!r8MkML3A{21V9uC*U(2oO65tB1w z3>#&{oL>k@(zGC$a^D>%7;TsT8+;2?Mt|xFr!0#X8`Ei_E-e!hK{U-cbYA!Ffks)L zRGXTBTzhgE9UdZ5S*S@&6$|s#B;ckab-A2KICy_&(97TlWvypvVV7iKQ9?3x837xP zn$tjC1}-=Hpn9o?k39?;tM62{`dpGQw=+N|0JW1H} z+5-tC<=MqAaGSiZ)I5?fS)5bWn%bDMds zKSppVwKz(Xf67W|B+=gWKJ5?Gsu8&|$(Ag~t&bB%l*R0CH0#hFk)v)nl+%%N?63$) zb*YCYM2JyGfiM>)$c4i9_NSn`($2zV0-)kpT~^$hOUlTEmIRpER(?QT@kBw0z3)y9 zU~(hlxtCbq?FgZBXt0j9Z}X{D1z&6Y;!j0An#Dl}YGONM zt2X$1uC*Tq#`iav+iGKlSUPY4<4cXi7=B^`n99&-6}9^;7zm+cHfup-Nt%dr}<50wRvTTra5SAzMXx(M0h&(KxfFQ zjgOh;LnvSrS7)<);@C6wGhOhAZQO+^lMrn1VkUUj%`*)NNUhy(8IllW4nl&nWaMcn z@F=bGa*OWv#twGaHFO?Z+5Nbbmu5AVbeFgJk`$JMjulUxWz^AX+3of5>|pR+5c0EY z@)vn@MAEUG5e{6D*}2=A?)yvd?h?mC^2lu{dCfB&jq4(Ce|Z|8xw|Z^VBD6>(d{EN zVa?yt+FiG#r7lmt9kQ_qjN^jxc!*fI-HO+3>__W&p5Usv+L@b_<{T#}qb`<})M>Ax zgo$qmpW43$R0pfWEP+( zvp~Q17Pyo;j;|W$J3^OJhX!PimxsDPy9>*@3@zSJmom|X^ba>J@-Mxv7$a`9NO>zq zf$k|V345gvnAci3?&2>pO(m2VWe8Pg#hY22&Up#35hq*1!e%SYlyO*6uA-|+z-0e& z%CBVpGuP}NK|)CC@;4$piQAcP3{lYx_25`S3co{nQ3^j%QJpHAZ8Sa>gS$;=^#qSQ zGu~6O5k~QkkqM%$*t+iFwh#m$flJFg+^1=>FA%D5vTq{5v)GAUKE`(tHYS%JXuad& zSo8XTmx_b9e1LP=(ie@Y%{YAQ%^^*b+b{qc95^@d)Xe>Zj(!oB#Y_c+f!2G%$1^(h znyK?%jFYU5Qc?%2brQwQsMYNA`tp3l&tdj0AHq|<`-;Co$oF_7^aSY$;P>$y9e(8J zyT;e`eB}oC9PfNNax=ON7W2r>Wm$w(tG(M&$aW{LMF8^nhkjsE%)vB7npxS-_;O`d zkC>o(3wuuqoE#r|n{!LVx~e{72)w`T0X9lbaxZ5#`vFs8{(TFel#18Jjz7=873_HW;uzlF$F)KBxF*DuLwJ-1TNUjo;MgAQ?>A&9e>1F4fbZ zphNO4h>!Lw4vKgY4YuTQ+6b)X8lg{KN?t<+tG*0Dx;+yn+(GwO1$g8F2Pi28(v-Nv z?dZoyMu7Zj zB6|BBSDnILzxy}vL8N(JTYz;{&7o5txeKhoQ+NXODf3nb?JH zUz3~PNR$`z9N;?0qPiiVj5_rmxc~mp;dks|N2y#*rm=u0c&)DJY=MB##iH$ww8lfT zExq`Cd_|P}#}d zWmr}zcX=UI_2c>&&j6@X8uc!ry5vLn0;bQ1Y@s@OeX6V(6T5(|0ra3H5Hj=jZ_p`| zyEbc3fHo26CNSnjZj3$mnXRipy-l*9B?6Z+7VDoPXU$)W<_7B@a-A~OpYeymmayXl z&9GMSO$JZM_yRfVDVqj*(RH?F6yaODOfQW2w^jT|<^5SAbZq)P?I3Dm`9-{AdNnvW z&`J-gjNt7{eg~0C3262OJmJy$y9e$dta6H3eaw9f2NI+cuzXW*lN@21Lm2u=tuDV= z`5)6lcS#uF?96i4quxT5X8&9#G8+GNUC42|-7zyou@X;VsItEzjaMaIQw9NwcADDk zapG?jsTfGZ7NW0N2=O|l(ex2j=6M(lEc$5X4#x^Na|Wr-Fyv_tg+69g6Z1r@V)YdF z=w{kISco_*hnMD!`l(|Gb^;z-gxS;)QD(Z<4n?J|TVENL^EaeFi2P+%_SU3fa@X)5 zMo(cdCPsvMyFNOh;l7`Znzd2rBxD_iTi>p`!P%Q|0~&#$4hq0amWG4TJKuyb3N=;y9^F!&41^>Wea;c zCXdBz9{5UN#r^28jHW-)Z==aY;kS9Vs^suXcp}C(_c=x*kv$gfMhIUcG%Od}v-#;M zj_YisOE2;(}Pz1VTudQ|n3y-P1KN zL>^$b{c%Z2tX7`e3b{av?wB$w-!X-bjIpx~L7x=;J@`o3_V>tZ{FS!f@^)Lcf6Nf-Vo-Se{OF;y^&>q-grKd znSl~cFhBzS2z&|XH&MAi7a#Y^zC9HCCwI6$J%v|vsJMSno`%=&yl)=;BlIdFZxAUn z^Ru|K0k7WgKjk)cKa!rk_9>t@b@)Hh^LNN8={euJlA>7AeIN(Bsyi}bZQHMR71EsoI1`#YyE4o{p{7G1m4EDzw-jmMWY zifXQNFAX~+PMx<|hh3V%3%g54X{?eGdFP){ z9L>V5|IQM&wscH40K~MUotc9^5Nu@jvy3u zTm8{jcbD68U{!{|x$Jalg zwqeb7<20JcLzpz7XVaQ;LYm1uz>rEFgpC3ZCie9D}^ zj8VzetygTt?iB+o-WtjdrSb%{XtGGg4i9C`u!OZnr}|^_7&Un&Z1d$6+NNa@GeXim)d(UN28HGHZ%@1#k6@Um#oqWqz7?qKaZ^X}_v(>(t zZdTsBaKT?k%DKL)$R62SfaP@W*_>gp#gElM=kk^3ff~|{pOFkmSMjQ^j=&IKrVS5u zC^-4m-kdLYUCi!S7m*DV*KN0c0MsUMQ0eYStIajxoC8o0h4(8Xy$Ax{$dnCdg2QUX1Slp5IoSQl_#IfO}nrQKc1vlVD8p5M%_2nTUbZuz|I4vAO=n&9fSBJOr*XGXE1Pd2)<4jX&C#NY^01R%-^MFBFkTqkxL^o8dm$786QO@zKljM zEW5aQAzabnQFz@7?QvrW9{z)uhXj?Fg_%6DL|xwRSt97qXr@>~x(Sv_L>&HC#&Y6s zs!`$=JYs=g94i*up{1RK)nZK`&Gpk6hvP1O2nG0M?-B!j-V1@_4re#ikxpAZ?pgL1 zZ#Q6_1z!bn2=TqP|305RCFq$RqN`C;bm?_&N*8(pTduNHR2Ud8)R|rFYkOmC-ru|U z{%B`%uW6B&$&-l3tjIHb;5dwKcklh=mwea;iTdE+?>LT7y3pZ6 z$!JP+1o;^J7pIhTU-*%{D-e}9a4_TiH*XB3)7Q4WXR2U=*d za53McU9S&lz#00wl2ALCW3l}Cy(W07)36#c(t{?3UM0SMBeIH$DypSE-F5xl&k?E@Ex^CNo=La%cPw`GzHKeT`$k33M_Ed-)CTHN|AJw zP5+3(cv$L*nVUKF9tr?ZG;#dOPMPq})btMw{P;3lg#jDso+g#OQesFb&MzSgrVZw6 zaPPTJb@=g5xt6}8-zF8y+SZawfWINPdf5k&1S)nxN=o}CM(4DBavJjXx>4?%%A=LU zR(!!Tj-dh2EQJ;VRl@*@G0)0?o>5ha(-QP6U%@?d!}0UqnqgfRzwCaNqN;LKkH@g( zIGOy3S@w{*d!byvb>kca*j-XvY3>OvJh%v3wI(dsxqhfb@`ZQwR?ic-w9R>RP z^1}9=0DRse8Z(Mmt&?Udl*vwTj~_+D?%v%5IH~bmXC93!?mNzX^}8>R&GmTR0*z8W zPtf1{H|@I&CB{DSI2G^Z96Cb;w1)np)>B(mNN7=WL0eofhI$P0P_lGWQCq=(d%gIL zqi+nZ^$l$-7iyr=_{caEn;mSQAMRZ&Ep94)Fde6Ju|7T8qqC!XdoAauwjOh=X3w2< zS6^QaT!ZIAhUs!#OEAEl%H3~B*zscI>O!UhyxgsIV@tkItKJdzW^<#E8DTXK^!UGg zUUUNA*-*~NxVu}wZCq0)rcG~<#%}oDqz{bAwRiXlscF4221sJw6ZE1j-=#O-xgs8& zY30|d+sxF8T$;}LJ;;dG9zFGS);plR7;HMsoyj2PEw|>^#%>(NRtmo_w`ouutwwB& zz5j5RRYV3+19|$YK3>43Uzof6u0mw4n#dqXJso*bcW>Mx?~nI%@sZw!9Z^k~|75QA zq_!~X9(PE0kDeL0P2eT=*^H2~&kKDue11W+^%!#eP+~TFMsXIQi&vl*siv8njYE_% zKBBdSs}=yrYf0p9a1(CC!ho21HoI@Ns3mjAU})I$4aDu;9D`8WLi0>Rr1w+`xJ zUu9G!ImPUmn)=%`rkexx-!?8QQNP)5RddR^LGh2*au(|X{fiHO%0mvm+rB2 zc&??hJ)AXev#J{Dam!g_c=?a9_SxtEjO6=b5j|4(^Vp%$*2KX!_?3-qF8?IG6|b(Q z=SXUfcE`tyZfVmTFUHvp(ihK-y@g_>32C1c?M-cIP!MDd?hL-~syEXE`AZ}%xTO1s zkKol?L&k#Nzc{O1U%J=Iokwta>X>M2oD0^b=I+@oba6D|K?o2spE@9|ckWPZ1PumL zv}oiETjV0cd>na5K)5KxR+iyaagjLcSLn|AV4+1t@K+Df-TTG^7T@(A4*X>g$;l5@ zsrSaMBkPa>l&WZ^oszRAyJhlyg?%W}VeV4AVJ=Ycc9rFZ+Ua(}6ASK8gDioa6ki1& zUL=jt*#Qxo3@Hrz?iTT!8>Gn-$tPRFB)s{-e*tXaeL+?`aW5)A3H^1FX;sf4$3yS> z(Hb3`L%uMo#I>J`h4vKqK>0}*dtVxrqvv3K_YuIvRQ0=7Z;vPN-oSQ*USFbthO_iWL2H*tIKh!!o zjO3xhd~j$Vqpui(1=g;Wg;ox!Tih!KNP9spWt6b1A6F=W!cP+JI0*Cg{g`A@imL=3 z^G@~J@kkIte7FVkBdV!X5feppA|4t`05<3nWD#a}(GUHj&6QEeHJ!x5S}M6(ZljJ~w*a5h35AAjV3D%2G0 z^YZNXa3QMUN)7_8w^?MHQC*I#K^@Ow?KxIU^J3dBi|lD#NUulGdg5a^jS`%ip}X#l z=en_R5WD(w-{;^86?A$GA&MB)XcQ>q9sqpBB7c9|nb@Nj7}tQmZsRi{YX1f+hkY}R{1{Bx(5jnCweWwo>9i3MjVvq zmRE{SyLr%1#=-sbz+DfQXJ`c@}%+snS}HSfz$WVYJdq`y@ZE5tM03+7Y)tsZpUAle$=hS<%LG}|0` zsi$~PbEpC<=aB=B(yc++KeWcCC8}Px3w2pFITq9C5r5!ts={4YuuXr|V{Qmos-2bx z(wwPJ+Qlpn>$?}j*R)AMuMMz6oluSfI0*yXdClmR>_MK!hSw=5z|L+J z;au#C0cc&H44f>3%oy=~=n3IlhX|VAY$p(go)<5{eo8vlwFS^GN(OzvT3JKxO?8>} z##H1KmO|E;8+?@y3jJ;oI4j?W4RRx@?a;EfRKW%|ZMYAk`+Mk{I|hHtgJ^EtN{0Qm zbzX^sgV!U$K!LgM>2}4P(lvm=H_rY2>6DI|q$Vy(K5J3B(60{pj<;)2rVP`*L^?CL zrxal@lmN@{>WreR921;B_>)ZuOiiY)O%S+c7~A+>+Jo=(Jur;suZLbZ-K0K!O2;j- zKts$yN45x$i>c&Em-RI$+|wRehNk{pPX>?{=rp7rihY(l99cH4$`jN${q&FN<^tqT_F^(KYtQ0X54c?x98}x#rLBxLXieK-G`Dx#^rdRBJIf3 zo`49AYs`K4)2)E|_cFF1K(8h#?p89YA&!K#6+8ney!&&f?KJA$-}|)8{bVoE^@!9J zFK*h$y8~)kW+;}$L+(%c9M|+(&t{gXkSJ^yfC7~{l`@K$(Nc?J!iIg&Ew|i_Q+9?)!M)YfQWfSfHGRryE2z$`T#qK_Nl`lPj zGxM$?aPbM6(|*2D@stghkMLN%QjEZqribw*9?_##3jsI`LM>|;>o}vy#*2-AJrR39 zv)7`%%KX`Ybvl4ov}mj6%p5}mP4(r_SyOcm0XUOhj~#~?qj1^^OeL+6>30y#y{6nJ z5)*A{?Y3edu!wA$72}7bm{(A$P5q9ZT#e#5dECa6R`H3{JNTsNFzCJ|xz(GK;OpZ# zsCn`AJE<->XKF4W7ge>&BGe0WAl{^!@^oRpVamt$k8nJ2g|QDlD{at9p<~CB6_29O zTcZ`mcdFGweSPVA#QdoYTJ(8AQCUoM$QkLD(mcf?UK+8Qgx-Hwr)9HCY^~Qdm#^K#SWICco8MneCJf0t6s=diFr% z+*@4IuhTy}Qmz(;CB((ijXA#b70U;g`hYrRe0fzX^kN%@)BLB~)}ag?0`w-hvHr#W z>88W=wXgpNoemytls!~IVPt@M7UJj#Vn+cL$n9WPQ6W-BAJP_uL1x;Vek8pcDTG=| z=N!7qGt~3T!Kq=fP`jt`b_5rs`zy0%oSmk|IjF!TcQm~A^KVdOV|18x#1?Su@KH!+ zdlOgWb5)C${X$q+h^u&(G;nQ=&&cPjkT`oy4VVfZYqptW)HXxJJwf!f}N<(~_rd22nc3i|(L^0>6YsDJ*+fWw?j1e}fjjWC{Hrj2mb9-vtGNDN09jg&v2<}?cFWSZo!7&6>1bz!u?1)vJ18e|>@)U=LKkt)vp zz6XUvi_+Q@{50UKB!^?FjuoiX3Q@Lj*2o-71Ya!;Grx3~WfJj_qd_P^ zb>n+z=Z*x)F53VfkbARhljJc%2`&p`8)Y_%71Xm0q*Xno(@G|_f6N<}NS1YHk3!?2 zdB{2UVGQujFrOVQGn6@`aJW>yv=zP@V9*`aGG9oWZV5W~+j-T4OWMF$aYfQAq+gq_ zx{3P=zZ`o4^lK&C$j(VDde~9VczzXM1>P9yV7REp%|Fpr8o89Z0t%JI^DGN8K+y&vQ|H75M zAZ*qOHH(qzO~`Ll-b0_|p}EfQ(J-tWQeLe>X2n0eP?@_a5rAHs>Mxe?X?DREwwYPv zNMN{8O-|{o;=jPAS2rw-ek9&_h@E+OZq5>;_KI89*(sZ8|1i~*NPhm!)1N*H<4Wz7 zu<5+hWzK0;UF(|tTD5-25HEWRVL%OE$(6GYD^R(+32)O-GIjK)7R{m=Ad$?2c5f78 zUi-p;*de~@wg^|10?*7`FeR3HG zQZ>)g{G)R-?YG-;%P{1p4bybT#ujDY zE##J2n$90zi>nG?bG!#U7Q|39r}u?LeS0C))ZSOdS4GpofJ`nogeWe1a8kj<7X~%(G?@lFeEP$~G=yllAPE3Lk&GzdIEkpjqVXTjwu9DiFi;vt`P+d$~w9(*O;dGC`bgx-3hjrgetGOL% zPE1q{$ZCm^=ygqNxRmTtbdyuktHa_Uv?8QN zE#>L$!NtjiUYYdo;?iMnug;czsSOc0x&wsj4T^;XlBU`a1+0rH-rk7`?(gS28%z!o z(;ID{w1quS>EGqse+_70J=PzDx#oG}N;N9a<(YOi2Ua!EJ>oo}3dyvnSc0gKSzV0A zRrPEB`bbayWQi1qojvj+;!?R9NhAjww>QL*HZ0j*wEr%a1|O*8UQ`_M^jn)MbF#Oz zsQ6UYj67QTw{>iyQh(}5d>#F;wFUe067ki>ck<{UMntbsGHjJ*7*cgsMd8)~Dn|ts zr#AdVaYaGdx#k}Q5uM{Hli>$db){@S3@WI()KkSR1^Jnti)IA`tQ{!)nnAsGeWoJa zHy`H6S?PYuc20!@Ee6ygG%hSPh=)vc!9T1nbg8l6kEI&d z8kwIQpBvlR(5`QobKeNXb06>e^l%L)Ig8F!b4P0txLpXnwTmbiar2B8O&E@sBUR`| z{5eN8l2jK0G84q4Ya}0kvRxIjs_9aY{Rv=x|1*ABRDFXNC&PQo z>hW$FCj}T?DLTDEnC5*mlO=?@eGI+srV(4~WdPmJ&HZvws8O);3ah#v&Ghi67+<>T zcgj`J;P+I84Wvvr+{12VsLLx%1*0SH1JNPemP6e&8%AwLkEc@%pqFJ8y(O`r-kRP` zElqVLo1KTZPZ>PYXKX+CHgnI#j$Q0K$rt*T>QIsHGajI`TTPeiCy?eHVJ9krfUvSA z76!7KyTyf{Rq3en8)B&?__NtWN$u0l^<(uA2Y>pq-L_% zgzT(k&5`LXO%vay%itQSmp_vnHQ@(mS&TCqG(6#L9%|ag>urjkN)-Nv)Zez*VIIqi z&IQF@#|0o*N0iyMQ6Q;7T~HPD>=g5A>(~jQJRr2++9&Uepgh=+rqUb}TnRBfAf(^g zyOd*#EplilhgR;%qA6_E=@8TuOi>o}7=-ZVjAJ8zwYeva9-gW&d^x10Dcex9N_cQGn{*NaGNAfl^)lL3rW! z2_-W4-Tr@uO8kRz@b6HG{{nu%{x2MW{|0{Wf4~d={{%na_}3^5|7-Arf4~y{&Fud! zuH*j|{D700<3GU<{^Lh8{I9?dn3y>k|1-^vnTeh0D<|&1;vbxML+PWcwQ$tDZ$6!V zdc8h&Z?tw&Wo}H_HjI_Ti#Na!CkdK^2%G1lLU(8CBBULLoD8EG?LpG7V5w;U5pWq> z`dW;oQjDb<=-PKTi$2q_Em%(*WR9}lNNTSBc-ry++TBbqRZSh?Y>hY2DX9;lWuob( z=%B$t{RN4T|8?S>F#iG88dwDi=r-tyYZ>#1lD*Ss1JWprDa=s4>0d-7$qN`dAGt|~R8|``otbAQu(5b=y zbJoB5AZx<0@zLoP)#P`0wp@h#Fa75jeQ2p^l`58-RcRpE{+G2P%2E6FsiI0-=4su+*Q&6$=KVVKqYADoPoq7)Ije#z^f=fo*y}fxnW6% zr#XT4vgp?o+XKf}A5-l!82$ISqnqY^q~lJ#?1l*q>>vJSkZGlfA`i4)N8zO|26RiB zV~6GE)|h`bv8{y`5MK07mWCPaO!qSq&(Zd*&8)WLYZ(M#?-39^ZeM0~J;=^gy)5Rshah6Q9j4XGoIG7GTw>J{( zKSzWWIWnmKapTT1qkPYuJiNem5glFZ(sdwrOLH?wy-P5l%l=Kx=op?mTef!j43az! zl$A_=`}Fh_3W34DEh-G6_LmTMn0yOg2*{;?D58ctIf_KkPSKN=xg`HcINsk>Vl z>h~)A3;P8aD%`zvg^@ge%&VM}6N|H&*OR?IHNjtfp??k!)u4{jQ|F6g^Q$@=P-5gT zUo79~=y%+TMe_@nbO|g3fzH6E8!X>Ah&ufMP@XLDZEE}0@$qqNhLsP7mB%E>EgnXH zv@i_6S$K;_=O=mo_g|y;a1dZQhBCZ;rLtNQ!S&g2K4WPaeN*5@N;3}Kd02U5S$sJZ z&MvN87mthQ;0wa8t}W8!g{I&CLgY?PN~h7335>}aw%*AD*zNk}SpUqzKyia(XXnlh zovp{^vbCk$+e^tm^JXlwwfq>mVK7~`V=n=(3FR_l8@ccXO|%Y2c07v zsI8nJ>sc`3QWnC4S2(BtlQ$aPx3O2=W3@$<|KOXJ0wuGvv8XPuaCk}6H4!_A zYPMZ`zUI%X$oSnYpc7en;`PT8SzJF-AX}oAq~Z@$$|)@otGSkymX6KFfTk!>-{IjQ zwM(+fSS2nFPL{Y^x23Fz@V8l&+{H+DZjfl`!~`0j!t(Ny&2BGmg4~fk6JulfBZOYV zv5AR2$M$WHqiOu@{(BG$sCoG<{SA*iqgK{d-lR@B%72cTh^E%offvIrpS8W;_s% z1o}#4ksDQn#rl?-Uxj4fya7EzU;ug<4dB-u9o<5p86qe{*T%NSeeD+fwq#+6+l0^z zY;KOTaNg6X*xIZ@!9fcjJy z_OJX1mZw+NA3YbHEY;kO#6b5$1u<7IOm1CIPws2&e0gX@#84$gMbLNAa^(OsZYpnn z!Z$XY=#$O7Y=^m(S@TBRCl?&i|Ja!vS!1EM`rYPMRy>~f<^~4DCS{!J;rh{a>O9EM zqPcngAj&EWrQKW+Z~f+cejjg577M(*yk)qmHCk4Sfr%{$fTbR6U&OS?J?G=QN?8@r zt54yZtiUzv>bY-6DrQHE1OiHcg>K)GoR{~|O2genW-%EXo#u{;j*4MjSi!hTHkXP9 zFCg~O*(#4^V(U_)o2nUPc@Y^f!*irvO+^K0b@~JSfY^<6qv5G$Y^8_Xs`RK@i9^b6 zd1=wI!b-bBScOe_RqUg3`6T=(*vb;`PA?6ZAG>-8F#cx#6cGV?dfZ6^73&`&{|X@Q zj>k1y>{EbxZ)tDmVr4~3NmDA7&F1{7sq_B+E~g3e_x11JqT*t%!*imL_bqBQmq>R@ zA!jelL;CoigL^l>k3bTF(E3k&jiui$rf zP!RA`Ddn)Ai&yB?*`6*p)_Z(9Gc(tLm1>n0i|nc2y#6JcP>_jVe8PhX(@h!aMWdng+Vh@b?>qK&@bdx zK|#KQ6&rHKd}grMA_AOJPpw8?=tVC@zrMH*_}X0SZj)492?+8 z+u;g>r;_f16XZ!d;V~EC{SUwkk*%_dFRZ+getXMUZ3Yn_y_ky>;!d4o%isXP-~h>F z1An~Z9Y%`t?|HU<-eJuw>(3Ff4=KJoXcqQsy-wb_K|iaDU}E;LFQKXW^T+qn8T^G% zzeVb1v9Z3=cyF83?o!jd-rk0%^VLGd^1R9B=H}qwU?@bqZ&PL1!aBiH$n)0$g#;3B zt>Z#gBsnNp9o=wBgwnLw*w|?6%~aa-n8Of4`kh{QSD)V(@>Dn=3F~a^KQRwhG4Wj} zJbTZRe~r`~BcD86;eX%%{@X1@K8O7l4)A4mUtazivhnrlYOB-jsz5BVtGoN`?5z4L zdc&{!U&2dmV8-P`3V*)M?~|W#YkIoIXe5S>gJWc9$banUg~}YOi?OCsSw%G@xAHC3 zH^%*FI@`m;Lr}rLQGT+xqN1Xq!Ew1pXWP~D19>Gy=~nn=3;XPkHn3E@5~gj1=a}&2 zSpdY@3FF(n6Xq%AM-`z!yT>8u!}~6dO*H~6Jbwnai>{&>o)p8II73?AUNrD-_&cEg z>ONrS!hxY2?in1SB?7Lwtg^h5bnLU+9*@RvurqjJtL=3F*RAy1CVkrDvX_#&27o^o zQ&UUn3^sV#l9iqpC>5u73?oR8EqfL7=!b1EXjrcVd#-=$7W_GWaGRG$bX-*z>E#94+cs08%7HS<;- z6N91k#AdJe`J8tcRi0M1_?qh4DD57YFWKP!yCVCZst{>k$hR|KpY#~f&?t?y8At51AdX;OU=2ZUvecTs; zbKB;jK;bff^wSo)(OPOC<)7YO)^3arvE3Wobya`TeQBB;87V*)(?jyoR9ByypI4#U zN;@9AFZtvPCh#m%&b4@xTcdMSN%QYAb&g~jp0M*k9QHz79aFQaIb+efnLylQ#%J0~ zmEBOgn`G7u{nNd@kKIu_DnD3bD}S)0u#4y1XJ5GSp4wE2j~8bI2c!URz`@7&FqXkJ zw}7op_V)IM9T7rKyHF1E&%-ex4$!TPg5&-8v43@yMDno3^&k*HAr{cy+4;88U<=(| z_cu3Dk&y*nwM;J{-uGf!k8JRpH&5|A@oQaO;^~5lIf4MtU@TcwY%Bsg;AUVriH_{X z=owtE#;L7l09RxUb*-BouqnEg(>8HAGcn}Vc@Ieu;2B)61>x6I@5+ryWxRD7!^mP) zt{u(!IgP)uXNr#)rcG(opfVbnK;L9^zmN_0^~Xv@#VtC;>N?4!eu2tMh2?+$LVX4*0js#Ts+t;f!ZtQGfe>B08I^MAdz^6~ z*|#rhg(~H96E6tcM+nPjJokdaZg4h^1eWCFaR-~1TwjCA*eR{8t>;7pM_K30(*N-) z|C~8ENM)j;Wi32)Fy!9DGyK}MI^;(mZ4KVMyQE}=+Gzh`VO5Axhex%#V!~GL#6s}e zSoqY`uVxA7mc(5U=jQa9a6@OC&&(l}jKJ4rYd+R6slRFTWm4JUbk6E~GK*%PducA# z*iNW3s;f%nbp80AZM-DZ^=st;U*l8oPYpR;wSH`!izDh22Wg16Ov6B%7dzjDca^#)$&k+}XJ=ljyG_l_=>Z2RI81*Z z!PN^y5R1gUx;oBp3WtshDu;{OcPWsWgS@g=BYLqb1Y{Qo)H(MsKpL91PP7A&Rs%$g z;|i@Y?MVK4wC^BflcrbweFW51Ie&XiYa5#>w7K`V@K16`Icfz74n71Q#4+(+tTv*M zeqv}cq3v|rq;t9u+ikHtZ(?59q_&9a?AX>~#y^PF-B9DY$l9pahBR89+R$pH2Ip*r-6Btmlmi^!*d?zN4+2q@p3$q5J@NHw45A4>NzX=AIZ}FAg&oJEqjT(+t+G-fhqvZG%3o zX9DE+Z`v${c`JJc{AK<1wIqqdS&$}^=G524oI1q&jLre@BpGWAGeD|B+al@uka z8GdL7_YnK19p?o?_RH=B$DQy`x&YfS^_}G&$Bx4rg(1;}sC&aV8=0BJKp?Q5ZaappDL?kh zcP!IdtiTr#QXkGTj3crBZ>69nQNQ|6Jnv+lg zKOfmJx5D~>5wp{~Zx@nCN4U@<)Y^e~yF+)f&srl4L3?zr3OMhXNZ3gcXqsEmZBVs{ zELSi4ZChR+>^=-BAc#N6Ti$;Gk(xr9_^yoR1g5)^=Vgl-)Qan>T4S}6Cq|whD|^bI z4=5Kn!9x}lzyxGGnJ7Ky>)^4uHZZv_hp7}lha|Sok|whX2?;{2$5(1BlVUZ;rACzD z@XroMjg6lu;7m{WKg_c#=M)rBA5w)*zFU=6hGH-}I%R*<1Bz!1nW+n|z&B7QLn&_Y z)dGq`Y2Xb5-F>2%zrD$|Lq-&XamBS5i$_vAgS;|LPVad$2?fQqtO#m!(ZhOoh$XrR zkN}^vHl5$+cXeCV=Vz&01UH@zbo6mUlOmiK(1avD?A2UBX_n8M*7N%)ceyH-(P-oM zItBJY-l>-aSG{lU$B_k`M<0wE9&kfmrvSbAhyizk2JSyToXZZaiwF^n6Hl7Ha<)kq zUZ}q@H9%GkUi(+8EyEi=n4PbQY!%i|FF$MUAu?+~s&(`v~MjdR zsb-;u)PNgM;4{dn7Jcb_ti^H?GGXv5kF&#MPtc-8-ax~?8wl;kzxP_v*vxl(wBw$w z;sf(S0>@wIwl@8ITg&2{rx|%o`GJe|s)O9ULEDh`GyekwH}+-pF9X{~hO`(gcqAu+ z?LfirVcku0VRaD&`_H`YpoWJy{E$pr+Dw)@BVL4T_{7vnO-mcHh|nHL9pw^r_u=jJ zMWU4Rpvba(0Oqm!bJgX;Ln#KDdRe*Mr4eUTiKGi8Z5Mm#_mKiRMAgJHJE_&7DX$#?Y#+VNIYe#h}&P}#=!sw1F?h- zK_yj;smV&_wO$W+yCmhe7=JXjXRe=#kFvWfbeR4M5VdRtI<<=`HF+=`lVItewhj#goeUt?>*@6OuJ4P! zVd8;Ixmg~0ibd;EG2fCfOW{-yC$l4BWyIiOFRQW_lMED*Ra5zXo;=*ok zayqtTXJqnksJ)nnaLQCZX(1(fvCK^lbl}C>Evd79OmI`}F!cuwm`cs8^!R4Wabh@* zrnKaQL4l9om8CM|dCguWO&907_!K~vKy1>+R#j^INAKddwu?JdAg!Sn0N0DQ_C_v# z0}$0J`uG_y@7K)2Z>ALWV1)Soz&zsnPup0Vx5I+xO+JZ$6Qt{xN>Q^q)(DM$p?9B< z3My602rXb%wDmMdG70)e{OT1o<+%EFPsNi5Z{{ zg40^_Wji1l{346X01)O$-xZDo?#|4Y3emrP$Fp;D5;^ytH4xPG`T6-|(ToxE`}eK> z$V(_c8%ajfD>w?q^@m_m-x&2`Z2gBV-yK%WHx`ti9Te2z^iOFqu;|QxwJ2v=8C$e8 zv{`LXThh)y}~TNmqwclD}~TG+C5M?O~R1m?1Of6DzZ53 zla8TYsOyoLvdjMc@%tTZHBbG+Z;tE2nLO^3PrOL0s~#>pA&Up3scSo*huU1W_Zuq$ z5goQfw!t?S(O}P8v30KNje9a2gclL>pyQ)P7s%cOxsB5uh)!(pxry&UScK-}=^Vm(oVN{vX76F>WQ;>> z?7pc=rHHC_Ufk(_luk3m?<>%=woI$$ubJz zsju>(*`?@Mu%)h4eJxTI!q{2sbWslQeK*IeR&Vx2b-y^Ov3Nx%)+P);)BfB{3eQIG zZ)hU|S)Y4_;b2FV=t@b8WHlsV$RUAk<2Sg3pmMLAew7_C-W z3````dIzfvUJOzm{F_e|2%DCiEbMjpbJ1jIAyxBuOV$_J!`=N;C+<@N|AIpf)q|l;JF6TLwMzi&h36@KM6+hd>hN0 z7sGfyglm4j+cvPN#3dbWntx`!gP7HNeVpGdjayj==(}!BhH|#Ul~~LRd6M!5E#|Z# z?U-rExgUvYH_5Mh3u4L%u-Fz`KY6))0e5vw%tAiJ87_XOLEDpw!<}I+tEjlWx`Os( zr*GGyPmy)p==6WtbUdt5ju~BPcwNMwv6yBr)fBlv-I0K{-{_Q8D!pkRcPft&DG@6q#TezZ} zT$1z$MPz1<_ry^I|@2-uKt=1|oj^^DPdD2pn=Xe_q!>h5}nMPzEg&i#K&oTu~ z&(5iNL2kq;!fIUy*Ic;Ay2nwS?(=xdp9$rNMlx3->s~VW9L2ubrX)w6kpDSpU6t)G z`kuXqH=}CdPDY5Kp-OJITfj1+cAIK(8kiyU!k+y%ll0_o% z^+Cd-E|&bo(@aH~TnKZa6GFcHmY-r(z%mo*nAzII)06#M4$LMOWjXR@_Dr8U$dWL3P z|8QSdcJ}u3t5}%FwlOrQH2zx1X|@){}Iwq z2@HnFDu5S1s>6g;R4JD+U0*ZJa504trReZ6jTEKu5cg^fI;YtDoWd)9U_#+yy5%>!=28 z`Oxu~0rC+&O>hlT+&HE`oV*Rfi$sB%y*RixIjK@b9fBlk?1&;&>sl5D2G(~z+kd2g zG7;cKd1Zcbd-=_%wck}S#!Mb3<$pjB?&P4zdTV&d-WOYQ^#a;dBJKC&Pf?luIqnb* zCfIxW*|jU9*!$kTq)hxtdBfbwNB5C1HhAVJUTT6FyT}2=)tmHvo|9oDNp|@1%?fHH zLt%SE9H-C7vds%0tN(AfEg<$NRY%BvBP=2UwJ_xP_#VspfswgFo(?Aqm3_Tgtd~Ym zV>2lLIV&l!twctRCr*)_59`m^1;q}dew`_vxjwSxyHzNUl#K*1K^tuTwhe!IuWUi5 zUzRwMY~HOQ+aRe^Ocl^=@M*B}k5oWeGaeqEO?ctVw>jcUUA4*z1f@j*;t=?ei(3R( z5xfV&jn&gY9`Sm?GqYIl@~^=$F)_R^7;b2#42Lh&ihPBiw5pC8>n6FE3EygOPM~)L zPfm6G$zu>s=2TzOWN=>{JQ|x_UuVURfcFdDQgsX|Ie!e|NzBbv%mIeV0RVu$FYnOf z#J_*z(fv)rH4iKL59_)E<+tEVbn&DKbj}ar3m8KMGJYvrh8PImF6=wWtAa za(A_zpHx&Bv-@b7 zEuUXt6ff3nK;Sf8)2V?RS`f@KyL?d0+bBBEqs&F55BKi6+F4gGRNFWMgl1)CX6EHN zwo_H7K~vu{h9(zB4K17|AJVnK!Zv#O_Jv*?L0N$9A5nI0xBYBbOU`T=Rt z>eG4#)9R1DstmH;>Z+;+5>Kyr~aZ_#;Fb=Q`4)Ic{@Lo;A8_gK>BQ-wV1M3YdohpS< z2Ev_c)lpV8s%lDAe^|e9w9ihOK=M1MHC0qTiP?W5yG|Q6@A`Sfl@Z%kySH1&o)oNB?rlO^7j95H(F`J`70EW@bIh3zvgJB}J4e($*HK zxM{cqcxm@+GPT<3)WL`9xX%5=58KxnX#H?$s91O zHV*Y{oMF&ERf+EMkC};!wj+qEi0TQT(B!{VY0hlxaA7=L!z+Pj`I6b%u_QzBvu`e{ zub7r13@aZ9i#rf&qN6ZFAt-=bSR|poa`En)mAa@5mJn0u<5Brs()MhO^u1oIsZ3X+tD}kp} z$?es5pPNyZxmM5c;yP}Ia20b;juve@bN><~Z;c9KBK1Xq6D6;Y2wPz7G2piuc7!nc zFKJ-op%dcr(&zj19;~G==svIO1o{;}Jc1nf#gMgh?N3~HUbBR_WE&Z+v{XV07j9knt&8(duuAcHp!Ivrx_0 zlDE8nSzLd77M*Q9+O^Bgy6rhzl1^$Wk-S4f-B>)Ch@|{pDeEv{CP$2ZxnD+0`g_Ti z@t!PhYv!)PDG(K!*+}B5Dzj^VQxP!3yJTQ^T$jbg@+{hdormblE^XKv_fv9~TMvE8 zvIL``3tKY{qHeUDJfZwkc08D(0Q86{)8 z)|q)0ob`L(6;bZuo`LUf;~JqdjG^~p8SlUJ_@$59YxD09eD5eLR0997_8%S{w?ybw z?@AZ6Bi3@s@HQFAQRR}`!O^bK)_?AeG zm~p3IoM5KKldQ-ikMA_~Q)#phS;1CuxEpiJm|#`6{gozW%bJI@8hgf3aTJ2mihZ+0 z%a&I6<)5TZZ`GpjSE^DOF$Bn&Kaw+w&9Ig}JO0s?$Fo{UK%?ZtU1jF^SFh%%265TZ z5SUF`K&ZEqe@~bt!&={NvrxwwRk4>kVuhdLVB2bgA2G^2?~rfR%4(U$Y?NTmoW528 zr;R^f;HmRKVMawXZlZ^mY7x&tqbgAFHg0&p(`AtceyfImWXl_r`d9IHwM4mzT327^ zxY6p*^nm}Lxg!SdaUNKrGv~nR`~84@CzK-Mv9)c>vG`w!AbDT^000p{NBd!aW4tug z{XdeldndjN*0@pBR$N?P77xl3HVKf=-tnQgm_?D*f5e4eXwn2FR#p~+5`$1M)}nak z@r)66;9+>Sx{lkQOw!VCQuxM95KU=c?~o;!qj%~k%TV7jfpT`^c9{IeF(jj(9eNdt zruvQ)UwYnioxFtQ{WM2CE;A}^lf1IS>nDzqfr^_%E)e_&Grz>K_OXA3e;c<{>^IN4 z0rbkWTv~1JGK9qJwgBB#b#HkKc7N9Brv@^$g%WICf(XSV9n>3-BBuU1?D}oZes(zt z2LsOxdyOeTd`78d8H(i~m(p@w9_a9yElopH9TpH989g#Gb_{vW%1y{f7~XRlWYvbZ z^V!_w3Lt}b`iP}faA`o_3xhga8rha!ePXfs(DVn~X*GCZ=8Zrecu~iR_)Fxi*VgCF zjEEMa11LC@3HkPW5-4p(`j1v|63C6R)y6ALF|E8O7R~UddbZP@{byH#7ESj%CSM)v z4EQ%D78+&Rgk<71`ANW<)MBgWSVpZX#{1$h#dI*&;gix>@;nHu3h?%*oSGn zBgzoynt*6t+X_@IQ7m2^38a44<8+k_$Xn36*0Ov+k2Fc(DLV^DT`)^FOk$ zwIJ|4(d7*`kVH)qAbI&!an$T-P_tHVGz1>rvpS#dhKsic25yO0PHzSR44ARi?uB84 zYTg@XVl$xOqwHpRkI41I5%HVK5PhIOGjb!W-&013P=|_2_nDH0KZ;Ko5Dmdwq?&%G z#(X7oQ;p!}qvI21UdwGjma}PP_up9e4bcw-} z`3P87bVB1}BWgfGScaC2X?NPBd)?k(EIv6A|D=_m-wOkE)KYtPK1@9{)kHi(10W< zAzvwTzZ4RrJ8qq21>_=no-VccuijVcHJ*Ej#mA2^F(rjVaw+C^jiB zn#2+ZgsjaN3lRY5*9}~_dOV`+af@v0&LcWH5;l&sw)X3UslxmdHA)kVM5WvsI2mT_ zgpBYrJ{quw-^`ftS@2T!nDLHI|A&$EJAK2K#;Vmu3RqazqTZx3tTFX(NO|aGD(1NQ zVV(|4r|0fG;F)Ue3Wgi4k0nJ|e0@t1QI@d}qWX1h~q_%D~?W#2-jKdw2Bz& zEb|H2HP-I-K{oeGipR(xXVdj20?W(F2#jp1@_?U=(pY+e&Z6GgANG81Ps?V%(Cqy1 zBi8`1ev4)c?;sX-24isWsUjI>hjyR-k=e2u-ivf`p-KNatZJ%7n7tQz(Kz&Jld%X!KI1t6Wlu*_moXvP z>LyVU0FM_nG7?d_=JNcVQ{4vht0MA|lKn+uKh`Iw02k({eqE41(9}iNTzl##(28Z% z=T}kk&zY_TJQqL;mc<{ntp4~vs%4!?3D@_C6dR26uy3fjDAdUX`i%VoFo6DLdGX7Q z?Ck8C8g}yZS<8jiPtX{lqB0DfycO3A`PAt#>6XXtaO#AuA2`UO9X)`A5{dT!2pv^w z4j6wK%Fhw<%4B*iE9GAnNGqzuogri7$x87mYHyS-&gWw7j2stwxh(N%r|+VP(nfkSiFjxsbq{zl_eRX!bh65zb5QZ)hhj_1 zq8IX|7K;a}T+C(~HqO)Qw+`R62Qs8K>|VM@TA|0!UF#yg_uiyvG2#1(Y?CH*1LMyo zveI*RhnG<}gE6m`eU}DdVE7(12b=AYJWKLB40uCXiFU%8MgO?L?%u70#lXqXAMmWX zLaqbgyh(&mC-30oJ}|mdg|#E&H|T1 zCKp5LOU<^mEuQD8DJcnG@ZMTLJ`>G&t0Esc1(X*fBS&uMn#JDik@V8bm4_S;%yYzi z2S!IpQvYsaZ}-(psM2m0k>1=1_}_2O*F@ofAXH61rD;=K5*;6Xe4ok0SjNUuWIys_ z{QSwEf${;{_6>EEK7C=%Fh!ZZJ;VQID1jzFKOYmD-bs)_*c9?{oRHj3+X4G><44pP z>7oRsp>k2}Y_q;-MG9(ZtWm4aj!9fcF9LAiRWLrs&ul~sXw+y8{Ooty$F{Bm8ciCs zsD80NzC`9~Z*NZ>%Xr=?;2{l~avcl>zT_<~*snEOzyAJo0la;^Z8`USP$1!Rxld#X zzKx!hy06u)$hb)*y}W#M*d@5pvfD!aA%$`3w7Qi54Wa{%PKQirJen^yYOT)>j1-!Q zvj{z|=B&Plor!swkFFGh0?u|uwW=*F%?*Y3UUzyl^gl^1^(VRFSKf;GZ{K{%0~kce z9TcMw%{su9Br|6q}roh4wBZz9Y(dHHClOPtmVkR)~D-RyZnJ($eF zKto&Ww0}vU$xVZ0gPKNk;Vo4=J5sD4_K}In$su5ZpqfTSC}BW!(LqBy9?_1UmzufV z;CP~ib5QK^!&!?>DTCeNG~H3lZYf~|&q)>AKbEwG*wvtGhg_)rV3naBXIa?jfrV?o zdJl!Gg@LamhVYyH9mA({I<=wh@ zu6nbJ7&JSqC+|75;UuXgI_N{ZkC(_0{U&p+{q|nB(mvCuC1NW*lXYObiWqeLt#Rw7 z0tHr7RK!Qo(M@Qlr)M@g?j&AVRx4VRR=ioSOxJg>&GpF``MW$mwv1KSy<@YVy%vaC zxM=gf+0QpPSv(i^<9g7XvWA+~IFy)ZlltYiPDBKZ49v9n8k>Q>hEaiO)nJI?^I%?> z|I6QKYpxQ7C-TExrE(8Bi%1f!iAkM0{Kx8wcHy-R+p7_gJ?yJ}Jg&94T&>^bau<6F z#NgqE-RSm;}SHdC_P=+&s@BC;hIL?}+F=Q1L4H)$RSghpX#qhiy|_ z69yPL*NNfU=0in`v>@>LU{2oUH1mDhuoJ5r>2>7#db8+2lJ5QF) zre4Amm7=#npUIEWz0#68fif9aIz=?3SmC_}f`77P9S+x#qKne;T!EcI3M-|&>)!M4 zoeT^Nh@OsQ0&a(Vg@g8Mtp}1WD|h8o8$dB8sA;1S5!vl2yC|9HNEnf8A%}JZBtR67 zt1{~By0B9oiLo^ci$!g5A=^hHj|0w`J?tJaJ;HVeotnS_OTNAE;EE*SJjwk1OI{+EYlr z1jB+zgt+#7IK#&GZ@k(TEA=}~D1@#Cl#-;-pZ$ikjN+hL%1zW}>$0p=HeoOBKra-U zl-K4^@D2t4E34Q6LpmmZoU`JI?RIup>HCRZq+ajvGt(uAMbZnXpIRkC+s=y!{fu&r zI*IPAv3VEfz98HlP$REw$H!1>yL{KXQDE#*&de*&$4W0@H<(03a0lT&&T~rAtMVpl zcU*r`xWwCjRMWI9flPmAd-VtBfVYc&b!CWEwi~JHvNC{N7Oc8w3}!f|pZnF=3}TXo z@%o=U1Ku1YcHJi`Z+Evg6kB~kMf$oEvB*RMc9Jp~(F6p%W>=bJ>K<#o_IZ=m)-C$f z_}z-=&|qTlYK8IZLZk=N5&CSYO=*@(_*=yjvOw18a)Y*G!8(~nf9O~L=mh8-mr zb$#Q9K|b8+{xBDmW9vbhCOaZ0E8*$**DvdC;x1&aS4b-dJ(e*|R!&yd6(D0qD?ibm zQUADFEv57ra9kv#Rtn+YTIHadK>RYIyj)rj5js0FU43n&AXBvyL#?gHqVmvh>?9br zT)6ks&m+>e6LL0E^_{p=`bf=?v^Lg>3?`^h-^WHfVOYvA_JFP9tVgF1By|z^AjCuh z2JE7GqixNio$%B`veLP?N})B_u2?}{oG_M*yEm`s=Z^vBk&hwfo4r_6Y3+V-u3kOA z;%_!$a%zm<)`n*ZXp6453wuN%t5S5Z!6wN7L{btydqY*?4QOhINAhs<2oEv1?M+Uy zVp9WquG|*ucV0#xbS9Wt(iS`7lA^~<>Mg3&<(U=`wInh^7xy*;|?M?%g`P#I_JB9G+e6N+7%m?ySrLt zyYPQ!CpQM}}gAIV`-p~w{NSHya4W|N7(;u{@>C9DJ~ z!^tTlSzvSg6Zcs5m!W$Ll6&$bCPt_j`wELdj70E$AxB6o=5>aTl9bV_ni66&RNPEb zW?^9gmy41+P8*;ypon}7G*9X>f-YoS0RI#=iMorWzo!0&??&EN-vIUvR37vM!givhJU2)Ud5$ zAH8a`eAOim!#y`v{ihz z1#(6866D?q+^(=`k1je2d7iJ;JpnLZbQ59bmPikddM|MaNpP^eIMsvlWL$20 zp*hfKtWuZ%HSEb2T8oz|PyCbx@^_gUy_n<3n_TyIUCcN89JF~Ed*|rS4nDl%GDP%% zJb40dZZHrg+MJ)(Om<51?lGJ;>h3STzhU|D#F7Ee!mg5f3X&enkY_1k>P=%wF7v@4p`ML&Ix>M!V7HA94`Da*Ui(!EPkTC=?47Z?t$+5FhFp;#LsyiC+(9DisCt-yK z=(2_QR1r_O14w~N!jVGUf$P|uF4$a{Xs51y&ar>H#p-e{i)03~R*_Y@E`b*l_ z@veqek$(6_&OiRSV`0yVeq>6*uC*2oYqlcEV$DuQj>nOi_e)bKV>^oArcq?k z@dFN-15z*mZvOVSrdvFFmYCG5*6N%+%FljRD zbgo^1g6sUpTr>IF#G z@6yXxc^yztI!1P`)UX{NNmrUom+Ml>7jsaWlT#)AKJYOLo8N>syu^}zZ!e(v%v){L zm)&L2td#N5?Zd@t~rQ9^IiE93&HPqCZ}FPnDnD#getAS)ofniVyJUyrZ<>@&Wwy z8zaxMJYxUx=kPLhCvBNyN%I}EC6%Bsmw&G`_XRn=8e;uH=?ZyiiFM3*(wMV-de}H! zlKM+;#CtITYfkYC+RXjIwH3;Ct*fJ zzIRyZzI8)ONa;oR)gCPnDJ$WD?aUx0$*g8=z>uF|710Z;S2Bq-MlbwfrW7^{?hbN$ zY{bmk=1I5sFk}*7>5$Qk+Y=sj@kH^^fs3!lhz-aSX|dcJ5qXJ&f6No`q^eL?ci9@d zdNhw!S2fg62M#P|jgNL_(cE5(W&*2`LiG@YrUzdnBD6Ed6-19H)O8sn(A&HOs7wCH ztI}fs$Q2^Pa)%4vvn`^HtvLzW|XDP2vYyIVa?ISriwqC6fp>+37Z#FV9#o zO&XwpjMP8-`=@95nZ3|9@z^eqUke5>RmX$jRb}M8E}wbI7uxJaTn9ETmWJDV3TCzo zHeIb2s)7PZK35GyhWn^6`lGynZaS$rnM!|ASk#as-NS~TdK`746D=Z!4^c;V^d#Rl zvBPyo6#_Rw%R0+lz;5n_Zh0BROQQ#obAkyYm^Zmo2&X16lWOJ#WT)pr02{RF;^haW zpQt=^1$OJrazGLa#(Db5z``+w2a=IWoT^+`>9H}u@=Tn&^kJLs9Csv1bc*|$j(0r zF-V;70H1Xn7!?&skyRWbE*yoKf|>V*8zs-Jpi29(nf*!nXUJxiDiRF3DX>vql@VX< z785+ocMx7|ft?VfkfzF)(^sHsBiDrX#==tk-i~tOspTl@0OBRUS@rAJVI5@J=*_~* z^87DnZTdc_-<(-G%nzc$aEI?{hJrm5B_GDht|EO&#o7&2ml>+V`awt4qbW&A3X3lr z2?^Cl=eRP`vpvy))N4^!1%4e7hK#}Y13`L!;1#goduWYMF?++n3LpKxg>9)a?)3&T zq%x#;CnRR~>|DWu+nY{>`z&3TVhf5m{m?Qvd((~2t?@bfB_&Q=1TXVtCmM~UZIzGpw`#$^CQE{V@*8HS_IoFNDE} z#oF7^KoruOy)x!YFra*qdCki1S4vDaT-8K1<0tg@$N*1hncnm(b<`OZJnWVEyTZDn zbgx`3b^Tx(+#oOF&?0T-iIK5ZQooFq^)tRMB&FteU{3~Jn*X#`QGAm-g9Hb~Ebzcy zxvi|?D&xgzPX2$e_&CKU7;*;15;C zg#ER4A{T+a^@lipcnKw0`OIc79cX>Pe?J)bYv>o0r=7?X!iYVsICV4ek@S%aW&iGB z9taok{v0h-C32zdMtk|hbO1VZH4QbTQqveSHL$Sub&5qy3JE+PDe(9y< z;Z&=kugnM-L&2}ip zmr8S-1?!n-vgkO5e@-1?_b-eXtUL|59q9V@MMZG8r8zlByz1fNy=^JW9f+gBkjJGZ zW^-O0SolCi)&Ji}KG1D#YXjcY zB3^E|vuXCdTUf)I@3+aW&{<^K&k zb|YUc-#j&PyEVv}m&2qO4&K~RjD0Cr^&@J}?WfEvz2oC!r}V;~{~J>?E6abUW>i+^ zO3EA;c>m0ae6zJXIy{;esV<7Bg}m6^Y^<*v)-Swks?wUgrGmZf0f~r+l$BY(S-~YU z&fh46l>Kh_^GCna&wC=f1uAVEd>8w_$p*txYt9>)Z|G4ZbKKxQkW3cEt(l2!5D1+Q z#bij~{Qd5I^kWYfHDKZp+YI9Q*H!JK>&mKvxDvb3$ipYI*=VAA(bvQo;6f^}rtv(f$N&SXo=^K6X;I|^!0npfl^-D?aBm*j(%0(c`kxX-2~ zPq>fh@9XN3zLdg&h-3Cg*+4!!F-^RV>!0^5*vO6(qmmcm(OZfg$grT2$^VYMqh!OJ z09&sK?F)4a`}(^3ZZJ-nQS)HzlBfM)?yvl|>VSruk?@?Y-o_s_0it@$)eB-qdR@0q z2RgP3Vr_eiHVw=RVoH#=u+#}we_uJPp5n%F$hX&s`PRVs)?1Kn+MDOeWW~Z$#X^6@ z{r7rb2UoYh24n_*S)onQIS{b1GJmGv(y}$C>E`)C6^!dZ;M7IH!*QeiYGuz75(Xg9 z^iM-$LsOHGMfX^EPEHOBOC@v%@E89-D<5+jQMcOWO8`I$K;Kl$wVk{{IEyCk$y#L}L3C^bS=A9$BQvuwv#>rTrs`Poo2d&l z-A`fC>gnx0AtA0fvQaZrlaPS#+jDA`hd^r|d9%ofiJ?Xx#^F+hF$G%Swc2!{-QhDn zl2VRNCOEd|!f-BwGkJV$GlUfURYKp|&h8IodvaT2Bd@S9H76&hpkO9SQdSmfEp%fe zV!ZiH{fx7k0CQyGBH@sby!?C$S_f+^L5u06<>YQ|Z*}V}S&VlE6bRT5Qd3h`ik4tI zVN^p~19e+lTUFJTyQ+a;XU(r)f2=p(t%1;=xZ8tYo%f!ke@7rr|L-K*B^trKoE+;A zQ+oM(W;@DPIm%D`G*B^Wlfv5dr27;gwt;apLEEV@}abel;zvO5O3> zFk@)njCT+*$WwKfHWw$SVZc)yb13*a4HUEiZD#_JkT;t(VvKvU3OEO$gZ;;BW?bLfEMoVZ_XOspe{56_Phsj!QH ztzN8+=#k%?1bBFbn0tF;MpcQmL67lGYyP&gC9Yi_%k_tNJL7!GuBxg>^l(Uumee!u z3mRwkmpnW80owe9_>OpM^Q>cG zW+qnkPZi4!WS9d$BkE~@*h&ygKM;9EMa@(m!maMYogI=`8V0nB`-_Wax6RigIZiJr z3>uBO7VZP!`U@*-iZm}=Eio@`16Xw<6FQV`WvfmzO%kpei9ZpVXvvvW8h_;a@w>cC zfD@&Pg%ntq4=QY^B=-sVA6KVX36c;Ea#ZqhRMPhdu+260FwzOqH%wx!?D$Z|#RiNY zdh6%vF}R-*Dz)l+xQ$01>D1nten{QZrbaO!;ry`X4XS!pN05< z1Lg(+h!zb3?6c;(%^B5fo6v>^m+-$~d)YsgKhO@{TM0!E8r{e7_g6<792`acDdsOA z^HnQbQZA*SwRJDURS|&jXfSkageY2mV)1>1nR%vb2lQShR5D%AQPWa4DXXTYe9l1% zveA=b2K$H3#HlejC`jV{w$GX$!Jw;*3^G5Gm4M4%$b{tMK-)RKPWjxZ)ju#@=CJa_ zH?yy~xbWGecC0t{9y&V2(n}N~8$IVLT>CX1EKZv8!3@?n2UBJQ&kjd_nPDlfIT{G) z1kvVy3_F#vr9asI2GC?5VYDjo?cI8r$~ta{$f3jisCb305X%kL%^Acum;55K?dhyME%tyCW_IZv%U zq@TTD&@euAhNUa>DkucBw$>8etTr}5?O>1V@MkfxCm(3rc?bM)U2FsF3V&GehMt#b z=ff`|rEtP!AJ{egAc2xrqV78-h){&Lw_VSwmFa)lu)yFVFCX?s=4UqYvsDc&y6+)j zW5XN-RpbnXyEF`mT3T8%jHQ@9FlJ;b?#@|~K=?U1@yZC0U*Sk>ug(Ss2fv+%qeWn+ zG#gias(lD{6V7AeJo=V^`5KZvV>|wbKj7}I&fa+DGfN+V(p$Dlm-!W_IPpxZcg9+@ zGhG(GhX8xJrC{$c=(U2q$#F<#ss8~H z4D&Y<{QzsHSy#|ro}af}77oM#PQb9VfRh!m{Pjie+gnaTz%t2Q`pWKlW!ufd?bmD< z?1#m;SK!cj^uQLb5W%@?DtJ~0b7_-%xM_olS&J!mcCl;AfWU`r3)pevA*IWL>9$y; z7Z-h7A;H0N^t3+A@e;;i`*gpKj`v`P*yhyphH>jGLjMUk=t94K{VEWq`^xq9?b9vL z?BSv(VSmgB2`#6`$IA-=9D1J9hu`dF0Ju3g@^L11z`*v;%kVeN+oP*z*!5tASS&4+SmypZtoZky(00awDW&~?KMrS1(Y{k$-VC%jD zPSufH)exJPrKdnuHZ1Y+329k`=#RNa^PzE_5a*jZ&d=y@Zvo+*)mCPGN0T~x+76nP zkAi~JV!$7I!XokOT?auiTPJ>&Ysm1C6EXj7#tG5LhU$*Bx%Z$=`nU5paUVEAcY{Ti zFqI!W$WuljkgLt@^vWR4zKL|eA0JeN2-w?O|RHE0U@Zt$BQ2HAcw9w(50857~YxgFeT9~=uL7hA% zSzW%;SFsMBW0XIG4USzG;m#VTl?LVdXOsFa3nMAVA0!{vG&AOJ_zRNaiAJxtv1>V8yTi(bt8 zsW1hG#2g*hpdA~0wO;lp2N-%N<`x!c^x-FwwbK6;Kzn6)7E}{g;vHF3RF+$sHpIJP zM6dT@;eB?4gQJU{{@l&Yk(d!R_W9cI;ApG$8f2ZPRY-;7u!CVf$NFF^>DY)uaCTti9IC9>m-pHNwy29Dq&bCM;az`a@}LXK!E>c!Zd}6v z{K4}_4lO{-c(!1V7_`V>on!{5zUgzFX^knjQ8~9+!TJ0972kju$a(+Rq8uGHJm`@5 zGYStYD`Kx3o8S&XN`w_@80C1`!Fzk<$&S}QRRBc&u1HQP$ua(3m@$Y4g`}nBOTg67 zM#ej^2qW>RVW&-&V0bWg;@_d9;`ceQKcZd_2UC`k@TXWT;toeUp3C*^frL<-VCV<} z9cN4Mx7G4$9RU3t6r{%5b?jfN3kq9S!x4Eu-k=ovin{XG`}q4ld6twIf<=O?KKIWv zcZ!`1WXDoHa*Sm0FtlgS)6qG)BmZwr-r|$6Cw#}z?$sYDntb$N3F0hOTE@v3S3=-j zD~;A)qe1d-E64JQ>sh-+Ij#v4>~D)(prDE!l~913nelG$tm_0i+3^bBhq|mwB;LZj zdH=&+fK81l9cz_61Js^7iTk!*$mU{+CRo!E;|qO$;YTlrbx|9J;;O|jW<`Y=zy_Jq zrU26IhwS)FQII)Lte`WfwJ*`V;byJKFJD8(l#Zyc!#Vcdd#6^Tm-Lx`OeQT!JNJCj zD7?vev; z5?6niowo8h*+K?0Ef^akao4GCZudHKsks9iHvcAi*+y1LJ?>2eR}{jMKd=YIC1`f& zaARDx8Jcydnu%(_b1pvZgHLH`aT4M9-{H%m@TYko;Q6Np?C}wi$rlT|uGJ3!V%1dF z{Et_g)`NX+j|69%LgHMzUTZP}Ae#f7Dqk0mqBS5=KQ<&?d20)sOiG$_XKn zDa2+|J_p_N;qvoJNEyI;jY&HU`oG!-0*Gj7_q;1@7VVn_ZS=+%pOm>78MGG zU8N{>?o+$AGb6@+E-x)f;F6P*lfDa(l=WK}uqHcbqli}nGM__~eN~5IA2nXaqMe6! z<@!AtP%36iv+laRUcsNMH>}@GTTqz} zgtEEpEr`mnaV+_TT&Tg zO%q@MGqlOu2IlPO*i)S?aesmn;_O^btF14Bi1ZxzqQyPwQ{0sxO~U;zPvzk;w`uWFWkwPgVYqN?)4 ziO$)Ui+~7->bFVy>k#53{^0@th0M8ySNouL3qJTyG|BhK;8kz7RX&qPls-EFgoe(v znseXK%U~0HOhwL?uun;zp4?bhiDMYl7B4FkgdQ)PpiJLC)pYTIsQ)gpH;)?)t2C>7 z*ep>j)jS?$byqi?pbSC`bf1*Rd^dy%T)!))V^@duv5{WAGtSbftTP#la)cV=o3Zg4 z)Y*3soxz67GIcqi2HoGwC?UqD?>LNRE@S<>Im)D(ANUT9$F6sKwZtv5zOQ0_@G8QH~x__ZipjOe~Y@m)#m@u*% zi<`e7koJ9pOo)Tc7bR6jPMDG{!9UHQWVT!0LC+mOlJm!#w@C)m4zofr(m|KL4xEx5 zMO}w9Rno3})Oa~z-{(DKs377-R8A>*Yeb+AZzvkob9j3$35{Lb61s9Ccg=ZqCD|Rq zzxQpG)LUAhx>d%ESj6_~)LB=+JgG=iM#y3c^%y8_UQt?Zzu@_V9$I;~R57(o4=Oi) zYvqAv&bT%)2Ulk2ox;`FRTzv+*0jdI06so0&J{^spvCs3y9vgA!d43{e{WwY=ZyZI z$!2mEO&ni~jS}uK&t{!7R`La<1k)JUw5rQal(=hOWAdR`yW3dJie;EL1Vul^k&1|T z5cPW)!fxb3vSi}`gg@Y2U;iZFzrV=19Ea&4fdSre8T;AZO!@D?jllXEa6vAxAh)T2 z?&+p8yWbQ&Qmv$HBh0KH|Fa#njL&OyTFi9DscWpRHg}Jo50~Vznvt%a_sva_LaI(glMf<~ zN|3mj%l^BPC6`p=(xRp%mm+Sluj{Z96AvVcO#A9T>Ubteg(Yd zrx0=_&OW(58ba}Rbm?pv?W<&h3rWL3n9!6ZL##%L{8v>ka(I5yBzu~RMSwbg9Dd=o zWKdqhrpNMolmFwyZCeNK1xBxz7)*-?a4^7I7a>0VQO0|{(soxJQ>e6+U725B4f2b@ zQ0}VmPzQ|yky``J-rCUvLVjw63T-F5h)<5`<1~TeEa;c-zgV%igmJ$_I(R>XI^YBN zYC-Q)`>U7a-l-GZfm8iqGy3Br(Au+8srzQ-3QxdM>XHNZasAip1DP==pyAEkI`2u7 zIXu8oJVK$nH)(BB;)xeGAmI8HxlOj=ikfmc@*_}qvIM~~gw_K}d*??KF1qYI)D+K^ z@jDo{padYmS8J77qSUa~-<+N%kb;0W_*-(mI$0DQ{f#9+`un^9?i_y};QA`=VLz$3 zuGE_PyRhfW_gW!Ez=!!rdQLZY19%ho3Hb!-UneYwM8I=MnljPJ@QpkRfE}2n#r;C7 z0gb%E?>MeovGvbX<5Lp%^E1daa3^7M-(r`p%0QRM2g&A0rF!2wU0q_@=tVGSzB|Vt z6_xJm$im_#hoBxQRdRP9g?CZ)*s^3Pb0ZE={Q7AmVAV(bnnzjEX5YiO;@fQ>rBlu0 zmf(TaR|{7zcPIL-(9F2LFXv7o1%--&qtnig;I}T+lnxV39t4__1o;DIu9S9MDvxLp z&u22e4HA)Cznblzw%=IZw^aHO1j2i>Hw@HWG{~K@sZ`W4art3Qk@UtcP0r8z=gcJC z3?f{hzTizGiaS=f%6B-YE0Mmayuml!?(PGuM%~=sI1N4Klg#{8^k#1YH3ruNFVR-X z3Oj@P$k&jAabOyX4)BG2uL61nqYrmrI6=ho=0tVZnZ(=o(u!3Rp`j=Vl5iqpiLp2D z^QM0nD#AATg+Tt&2V=6Va5DWKEw5oZ6^Gn@m4f-N<#}mxfY$)*gd|O- zT{u2Qu9-xa$w9(6_&)?wib7W`0TC{*GVW=~Wz5J-4)$0<+$1lFHRhE6wRK{+!v&Dh zrJXueQ0m|a1Nrd$p>XV4Eyzy)Z%4EHS9xW-6-;N!Tn@^|DY72=4`d7?R+P&~V;yov z(OsOVV_6i7@;9z5t!u0XSof0fBcYanwR}<>_~9%Wqvq81X_f-5eJ56u{W7DA3mgp_ z6BFq@bi@qyg$PN9y0Wq|M1?-!BzxxS{2T!9L=;2^)Ka)Kn3ayIFD~RJq~P2}Py3gb zf4@ zz2+@oT%0!^Fd+lq|1GnKRs0ccTD3)u*C{$S86Yeb1*&6^wxlcvR$<$zfedG57f--U zaQr42Sez<%p+UsAd5E+vZom(Y1r9%yoZ}N3vN+<|dQAsG_8{XOAzUNr{j%aK?tF%n z-mi5LL#}wko`ueiC8aKQa}@Oh-fxkeR+%YGZd2dBj*Y1!Ha{>5*rk$t;H5vP)7X#0 zppP{qs(z6Z9{Zj^`cDI9hIU`vP3g9fE+l1`knp?#$+$lDP3PQIbLZ~j@~g^E^tHEf zP5KbbWJBaS6t_krgIf9Cchx~-f35NHBs}Bh&D(-qwfQ#kkllN`#HYHIQ*ZbGGJG=Q zbk-XTud&EEkW9{qVwi5t)Sb(nD;wcs2&(@+i1u79iqE_gWp#Cj-Rz=&6Zdh`jdKGJ zUCF>h0=tzrsV>9FeXFz4vU7;=YuM5Zgfd61ST5(yFSGcN0g^ej!tN(E)=qEl(^nQm zopEKsXvCVFa8I>YnH)4{z(~5QH--L{;zDl3ck@Lt5BPsSZ{jzccwakNV-KW$;=-VQA@`ZH0A{Y#ox>CTHnOWN*9bmD=D>Wsw*hYcWyjc}~6OPPtlT z_DmDto3tz|K%UvRb~j}J)vvX~|NUud;v^#LIswqi3#_#-DZXXIy^bHB*?RDv&VSV~ zP6f%V(0tycb^W}kD5{^Q9fN;v__UY)zPgEr5I>bf@OH4b9mm4$^sr!>th>YjExXc0 zLY*sNsV-nDe^E*pQ?H-bpvTWlGE(8k(qU=aH;cR1%za>o2|S=ukpPkErlDIUtG>W3 zuY!2`v)E!;P>p|P_wE;`Pw(?&%Zr=3(E2p@n~nQOTLI~Ec1slR{FUm=AzFB+oM;^Hxk$!{H4#G zkYf>6xnS~|`SsW9p2hwP4))C894!2iKf|HGU*-ExW=8F1fOBt>#DDC}8a8(jw~{xq zccPX}pNh3{AGH2!L7b~fc*{$-oB53LdRz#ope&p^9 zFD|Pzje+ygCy4=%D^fX|uULLByBhJ6JJE|%ym(3a1bNf~!_E;Eez4sXQK_B~-Mi8m zdx2$-2@qs6@;cjZ.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°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 K;X%AwpFG59$h^!ij^RK=N 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" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# IBM Q setup\n", - "This tutorial will walk you through the configuration for your IBM Q Experience account so that, in the future, you are able to run your Quantum Programs in both online simulators as well as real Quantum Computers.\n", - "\n", - "We assume you have installed Qiskit if not please look at [qiskit.org](http://www.qiskit.org) or the install [documentation](https://github.com/qiskit/qiskit-tutorial/blob/master/INSTALL.md). \n", - "\n", - "To test this run the following commands" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import qiskit" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Execute on a Real Device (IBM Q Experience)\n", - "\n", - "You can use Qiskit to run your circuits on real quantum computers using the IBMQ provider. They are small and noisy but are advancing at a fast pace. In the future, more information will be given regarding this environment, but for now lets go ahead and set it up!\n", - "\n", - "To access IBMQ devices, you'll need an API token. For the public Quantum Experience devices, you can generate an API token [here](https://quantumexperience.ng.bluemix.net/qx/account/advanced) (create an account if you don't already have one). For Q Network devices, login to the q-console, click your hub, group, and project, and expand \"Get Access\" to generate your API token and access url." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit import IBMQ # requires qiskit version >= 0.6" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After generating your API token, call:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "IBMQ.save_account(\"MY_TOKEN\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For Q Network users, you'll also need to include your access url:\n", - "\n", - "`IBMQ.save_account('MY_TOKEN', 'URL')`\n", - "\n", - "This will store your IBMQ credentials in a local file. Unless your registration information has changed, you only need to do this once. \n", - "\n", - "You may now (or in any other exercise) load your accounts by calling:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "IBMQ.load_accounts()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Which Backends are available right now?\n", - "A backend is either an online Quantum simulator or a Quantum Computer.\n", - "\n", - "This is how you can list them by name:" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "ibmqx4\n", - "ibmqx5\n", - "ibmqx2\n", - "ibmq_16_melbourne\n", - "ibmq_qasm_simulator\n" - ] - } - ], - "source": [ - "for backend in IBMQ.backends():\n", - " print(backend)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Additionally, you can get all of their configurations, like so:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'local': False, 'name': 'ibmqx4', 'version': '1.2.0', 'description': '5 qubit transmon bowtie chip 3', 'gate_set': 'SU2+CNOT', 'basis_gates': 'u1,u2,u3,cx,id', 'online_date': '2017-09-18T00:00:00.000Z', 'chip_name': 'Raven', 'deleted': False, 'url': 'https://ibm.biz/qiskit-ibmqx4', 'internal_id': '5ae875670f020500393162b3', 'simulator': False, 'allow_q_object': False, 'n_qubits': 5, 'coupling_map': [[1, 0], [2, 0], [2, 1], [3, 2], [3, 4], [4, 2]]}\n" - ] - } - ], - "source": [ - "backend_0 = IBMQ.backends()[0] # retrieve the Backend at index 0\n", - "print(backend_0.configuration())" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Go check its specification at https://ibm.biz/qiskit-ibmqx4\n" - ] - } - ], - "source": [ - "print(\"Go check its specification at %s\" % backend_0.configuration()[\"url\"])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "That's it for this week, if you have reached this point your local machine is now ready for the next steps 💪" - ] - } - ], - "metadata": { - "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.6.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index f6524f95a..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,49 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Overview\n", - "\n", - "For this week, there are some boring tasks:\n", - " * Install Python (and pip)\n", - " * Install Jupyter\n", - " * Install QSKit\n", - " * Create an account on IBM Q Experience\n", - " \n", - "As well as some interesting tasks:\n", - " * Checkout the community for QSKit\n", - " * Follow this week's Jupyter Notebook (local setup of IBM Q account)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/IBMQ_setup.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/IBMQ_setup.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_1-Quantum_Tools/exercises/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 77cc398ad..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,54 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Week 2 - Quantum Information Science\n", - "\n", - " * Quantum Information Science\n", - " * Classical bits/egisters\n", - " * Quantum bits/registers\n", - " * Hands-on on Qskit\n", - " * Visualizing circuits\n", - " * Qasm language\n", - " \n", - "# Exercises\n", - " * [QSKit basics and circuit visualization](exercises/w2_01.ipynb)\n", - " * Run a Qasm specification on IBM Q Experience, and on a Real Processor (see slides for instructions)\n", - " \n", - "## Resources\n", - " * [PDF slides](slides.pdf)\n", - " * [slides src](latex/main.tex) Latex files and image resources used in the presentation (useful for PR on slide typos and such)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/.ipynb_checkpoints/README-checkpoint.md b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/.ipynb_checkpoints/README-checkpoint.md deleted file mode 100755 index 83057c0cc..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/.ipynb_checkpoints/README-checkpoint.md +++ /dev/null @@ -1,16 +0,0 @@ -# Week 2 - Quantum Information Science - - * Quantum Information Science - * Classical bits/egisters - * Quantum bits/registers - * Hands-on on Qskit - * Visualizing circuits - * Qasm language - -# Exercises - * [QSKit basics and circuit visualization](exercises/w2_01.ipynb) - * Run a Qasm specification on IBM Q Experience, and on a Real Processor (see slides for instructions) - -## Resources - * [PDF slides](slides.pdf) - * [slides src](latex/) Latex files and image resources used in the presentation (useful for PR on slide typos and such) diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 0a8d7d45b..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,41 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exercises\n", - " * [QSKit basics and circuit visualization](w2_01.ipynb)\n", - " * Run a Qasm specification on IBM Q Experience, and on a Real Processor (see slides for instructions)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/.ipynb_checkpoints/w2_01-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/.ipynb_checkpoints/w2_01-checkpoint.ipynb deleted file mode 100755 index e6d3486ea..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/.ipynb_checkpoints/w2_01-checkpoint.ipynb +++ /dev/null @@ -1,216 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Classical and Quantum Registers in Qiskit" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit import ClassicalRegister\n", - "# Create a Classical Register with 2 bits.\n", - "c = ClassicalRegister(2)" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit import QuantumRegister\n", - "# Create a Quantum Register with 2 qubits.\n", - "q = QuantumRegister(2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Quantum Circuits in Qiskit" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit import QuantumCircuit\n", - "# Create a Quantum Circuit\n", - "qc = QuantumCircuit(q, c)\n", - "# perform a measurement of our qubits into our bits\n", - "qc.measure(q, c); # ; hides the output" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Visualization\n", - "There are two options:\n", - " * [matplotlib](https://matplotlib.org/) which is a python module (`pip install matplotlib`)\n", - " * LaTeX visualization, which requires some more configuration, check the [official instructions](https://github.com/Qiskit/qiskit-tutorial/blob/master/INSTALL.md#5-visualizing-circuits-with-latex) for configuration. This was an old feature and is therefore less important to us." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Matplotlib" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "# Jupyter command to activate matplotlib and allow the preview of our circuit\n", - "%matplotlib inline" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from qiskit.tools.visualization import matplotlib_circuit_drawer as draw\n", - "draw(qc) # visualize quantum circuit" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Try both and use the one you like best\n", - "from qiskit.tools.visualization import circuit_drawer as draw2\n", - "draw2(qc) # visualize quantum circuit" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "# if you want to save it to a file\n", - "from qiskit.tools.visualization import circuit_drawer\n", - "diagram = circuit_drawer(qc, filename=\"my_first_quantum_circuit.png\")" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "diagram.show() # or even open it on an external program (no need to save first)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Open Quantum Assembly Language (QASM)\n", - "To learn more about this standard, check [the original paper](https://arxiv.org/abs/1707.03429), the [github repo](https://github.com/Qiskit/openqasm), the [language documentation](https://github.com/Qiskit/openqasm/blob/master/spec/qasm2.rst) and the [wikipedia entry](https://en.wikipedia.org/wiki/OpenQASM)." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "OPENQASM 2.0;\n", - "include \"qelib1.inc\";\n", - "qreg q0[2];\n", - "creg c0[2];\n", - "measure q0[0] -> c0[0];\n", - "measure q0[1] -> c0[1];\n", - "\n" - ] - } - ], - "source": [ - "# get the QASM representation of our circuit\n", - "print(qc.qasm())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Suggested exercises\n", - "\n", - "* Change the number of bits in the classical register to a negative number.\n", - "\n", - "`That is your first QiskitError error and they are usually easy to interpret.`\n", - "* Change the number of bits in the quantum register to a positive number not equal to 2 (5 for example) and run the blocks until you get an error, try to understand it.\n", - "\n", - "`This is because you cannot read 5 qubits into 2 bits without losing information!`\n", - "* Now, update the number of bits accordingly and visualize your circuit.\n", - "\n", - "`Guarantee that the changes in the circuit diagram make sense`\n", - "* You can keep on trying to tweek with some settings, for instance, you can *name* your registers, like `c = ClassicalRegister(2, name=\"class\")` and this will reflect in the diagram.\n", - "* Checkout more [configuration options](https://github.com/Qiskit/qiskit-tutorial/blob/master/qiskit/basics/circuit_drawing.ipynb#Visualize%20Circuit) for the layout of your diagrams" - ] - } - ], - "metadata": { - "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.6.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/w2_01.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_2-Quantum_Information_Science/exercises/w2_01.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 34988414e..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,56 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Week 3 - Quantum Gates\n", - "\n", - " * Algebra reminders: Conjugate Transpose, Hermitian, Unitary operators\n", - " * Quantum Gates\n", - " * one qubit gates: Hadamard, Pauli gates (X, Y, Z)\n", - " * \\>1 qubit gates: Controlled gates, CNOT\n", - " * Preview of other gates\n", - " * Qiskit examples\n", - " * Circuit representation of gates\n", - "\n", - "# Exercises\n", - " * Pen and paper exercises for testing unitary transformations [slides](slides.pdf)\n", - " * [Jupyter notebook with exercises](exercises/w3_01.ipynb): implementing gates, visualizing, executing locally and in remote machines, implement some simple circuits, discussion on practical setups\n", - " * [Jupyter notebook with solutions](exercises/w3_01_s.ipynb)\n", - "\n", - "## Resources\n", - " * [PDF slides](slides.pdf)\n", - " * [slides src](latex/main.tex) Latex files and image resources used in the presentation (useful for PR on slide typos and such)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/.ipynb_checkpoints/README-checkpoint.md b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/.ipynb_checkpoints/README-checkpoint.md deleted file mode 100755 index c7d9d48e9..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/.ipynb_checkpoints/README-checkpoint.md +++ /dev/null @@ -1,18 +0,0 @@ -# Week 3 - Quantum Gates - - * Algebra reminders: Conjugate Transpose, Hermitian, Unitary operators - * Quantum Gates - * one qubit gates: Hadamard, Pauli gates (X, Y, Z) - * \>1 qubit gates: Controlled gates, CNOT - * Preview of other gates - * Qiskit examples - * Circuit representation of gates - -# Exercises - * Pen and paper exercises for testing unitary transformations [slides](slides.pdf) - * [Jupyter notebook with exercises](exercises/w3_01.ipynb): implementing gates, visualizing, executing locally and in remote machines, implement some simple circuits, discussion on practical setups - * [Jupyter notebook with solutions](exercises/w3_01_s.ipynb) - -## Resources - * [PDF slides](slides.pdf) - * [slides src](latex/) Latex files and image resources used in the presentation (useful for PR on slide typos and such) diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 0e046deef..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,42 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exercises\n", - " * Pen and paper exercises for testing unitary transformations [slides](../slides.pdf)\n", - " * [Jupyter notebook with exercises](w3_01.ipynb): implementing gates, visualizing, executing locally and in remote machines, implement some simple circuits, discussion on practical setups\n", - " * [Jupyter notebook with solutions](w3_01_s.ipynb)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/w3_01.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/w3_01.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/w3_01_s.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_3-Quantum_Gates/exercises/w3_01_s.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 65826ab36..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Week 4 - Quantum Facts\n", - "\n", - " * Universal Classical Gates\n", - " * Universal Quantum Gates\n", - " * How unitary transformations allow for cyclic basis conversion\n", - " * Entanglement\n", - " * Big O Notation\n", - " * BQP\n", - "\n", - "# Exercises\n", - " * Pen and paper exercises for basis conversion using single qubit gates [slides](slides.pdf)\n", - " * [Jupyter notebook with exercises](exercises/w4_01.ipynb): implementing and understanding entanglement, observing entanglement in lab settings\n", - " * [Jupyter notebook with solutions](exercises/w4_01_s.ipynb)\n", - "\n", - "## Resources\n", - " * [PDF slides](slides.pdf)\n", - " * [slides src](latex/main.tex) Latex files and image resources used in the presentation (useful for PR on slide typos and such)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/.ipynb_checkpoints/README-checkpoint.md b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/.ipynb_checkpoints/README-checkpoint.md deleted file mode 100755 index a4a1b7646..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/.ipynb_checkpoints/README-checkpoint.md +++ /dev/null @@ -1,17 +0,0 @@ -# Week 4 - Quantum Facts - - * Universal Classical Gates - * Universal Quantum Gates - * How unitary transformations allow for cyclic basis conversion - * Entanglement - * Big O Notation - * BQP - -# Exercises - * Pen and paper exercises for basis conversion using single qubit gates [slides](slides.pdf) - * [Jupyter notebook with exercises](exercises/w4_01.ipynb): implementing and understanding entanglement, observing entanglement in lab settings - * [Jupyter notebook with solutions](exercises/w4_01_s.ipynb) - -## Resources - * [PDF slides](slides.pdf) - * [slides src](latex/) Latex files and image resources used in the presentation (useful for PR on slide typos and such) diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index f3fad80cd..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,42 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exercises\n", - " * Pen and paper exercises for basis conversion using single qubit gates [../slides](slides.pdf)\n", - " * [Jupyter notebook with exercises](w4_01.ipynb): implementing and understanding entanglement, observing entanglement in lab settings\n", - " * [Jupyter notebook with solutions](w4_01_s.ipynb)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/.ipynb_checkpoints/w4_01_s-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/.ipynb_checkpoints/w4_01_s-checkpoint.ipynb deleted file mode 100755 index 3b56ddfa9..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/.ipynb_checkpoints/w4_01_s-checkpoint.ipynb +++ /dev/null @@ -1,789 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Quantum Facts in Qiskit\n", - "Here some useful topics will be covered and others recalled to make you more familiar with quantum terms and concepts.\n", - "\n", - "Start by some typical setup and definition of useful functions, which you are encouraged to look at.\n", - "\n", - "Then, head to the [exercises start](#Exercises-Start-Here) to start coding!" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit import QuantumCircuit, ClassicalRegister, QuantumRegister\n", - "from qiskit import execute" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "# Choose the drawer you like best:\n", - "from qiskit.tools.visualization import matplotlib_circuit_drawer as draw\n", - "#from qiskit.tools.visualization import circuit_drawer as draw" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit import IBMQ\n", - "IBMQ.load_accounts() # make sure you have setup your token locally to use this" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "%matplotlib inline" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Utils for visualizing experimental results" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "\n", - "def show_results(D):\n", - " # D is a dictionary with classical bits as keys and count as value\n", - " # example: D = {'000': 497, '001': 527}\n", - " plt.bar(range(len(D)), list(D.values()), align='center')\n", - " plt.xticks(range(len(D)), list(D.keys()))\n", - " plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Utils for executing circuits" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Aer backends: [, , , , , ]\n" - ] - } - ], - "source": [ - "from qiskit import Aer\n", - "# See a list of available local simulators\n", - "print(\"Aer backends: \", Aer.backends())" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "IBMQ Backends: [, , , , ]\n" - ] - } - ], - "source": [ - "# see a list of available remote backends (these are freely given by IBM)\n", - "print(\"IBMQ Backends: \", IBMQ.backends())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Execute locally" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "# execute circuit and either display a histogram of the results\n", - "def execute_locally(qc, draw_circuit=False):\n", - " # Compile and run the Quantum circuit on a simulator backend\n", - " backend_sim = Aer.get_backend('qasm_simulator')\n", - " job_sim = execute(qc, backend_sim)\n", - " result_sim = job_sim.result()\n", - " result_counts = result_sim.get_counts(qc)\n", - " \n", - " # Print the results\n", - " print(\"simulation: \", result_sim, result_counts)\n", - " \n", - " if draw_circuit: # draw the circuit\n", - " draw(qc)\n", - " else: # or show the results\n", - " show_results(result_counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Execute remotely" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit.backends.ibmq import least_busy\n", - "import time\n", - "# Compile and run on a real device backend\n", - "def execute_remotely(qc, draw_circuit=False):\n", - " if draw_circuit: # draw the circuit\n", - " draw(qc)\n", - " try:\n", - " # select least busy available device and execute.\n", - " least_busy_device = least_busy(IBMQ.backends(simulator=False))\n", - " print(\"Running on current least busy device: \", least_busy_device)\n", - "\n", - " # running the job\n", - " job_exp = execute(qc, backend=least_busy_device, shots=1024, max_credits=10)\n", - "\n", - " lapse, interval = 0, 10\n", - " while job_exp.status().name != 'DONE':\n", - " print('Status @ {} seconds'.format(interval * lapse))\n", - " print(job_exp.status())\n", - " time.sleep(interval)\n", - " lapse += 1\n", - " print(job_exp.status())\n", - " exp_result = job_exp.result()\n", - " result_counts = exp_result.get_counts(qc)\n", - "\n", - " # Show the results\n", - " print(\"experiment: \", exp_result, result_counts)\n", - " if not draw_circuit: # show the results\n", - " show_results(result_counts)\n", - " except:\n", - " print(\"All devices are currently unavailable.\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Building the circuit" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "def new_circuit(size):\n", - " # Create a Quantum Register with size qubits\n", - " qr = QuantumRegister(size)\n", - "\n", - " # Create a Classical Register with size bits\n", - " cr = ClassicalRegister(size)\n", - "\n", - " # Create a Quantum Circuit acting on the qr and cr register\n", - " return qr, cr, QuantumCircuit(qr, cr)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---\n", - "

Exercises Start Here

\n", - "\n", - "Make sure you ran all the above cells in order, as the following exercises use functions defined and imported above." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Creating Entanglement\n", - "Although, you have already entangled qubits on the previous week, you were not aware of it.\n", - "\n", - "Naturally, we will redo some of those tasks and focus on interpreting their results." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Hadamard + CNOT\n", - "\n", - "**TASK:** Create a new circuit with 2 qubits using `new_circuit` (very useful to reconstruct your circuit in Jupyter)" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "qr, cr, circuit = new_circuit(2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Add a Hadamard on qubit 0" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "# H gate on qubit 0\n", - "circuit.h(qr[0]);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Add a CX (CNOT) gate on control qubit 0 and target qubit 1" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "circuit.cx(qr[0], qr[1]);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Perform a measurement" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "# measure the qubits\n", - "circuit.measure(qr, cr);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** check the result using `execute_locally` test both `True` and `False` for the `draw_circuit` option" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "simulation: COMPLETED {'00': 504, '11': 520}\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Try both commands:\n", - "execute_locally(circuit,draw_circuit=True)\n", - "# execute_locally(circuit,draw_circuit=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The result should be something like `COMPLETED {'00': 506, '11': 518}`.\n", - "\n", - "**TASK:** What does this mean?" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "> Given two qubits, we could end up with the measurements `00`, `01`, `10` and `11` (4 possibilities)\n", - "> \n", - "> However, we got only `00` and `11` (2 cases)! This is due to the fact that our qubits are **entangled**!\n", - ">\n", - "> The state of qubit 1 is correlated to that of qubit 0 (control bit). Correlation means the implication is true in both directions.\n", - ">\n", - "> By making them entangled, we have ensured that `00` and `11` are the only possible states: if qubit 0 measures to 1 the other qubit, according to our circuit, could never have been 0, as it will be flipped from a starting state of 0.\n", - ">\n", - "> Furthermore, we could apply the gates, take both qubits elsewhere (apart from each other) without destroying any superposition, perform the measurements and the result would not change... curious, right?\n", - ">\n", - "> This particular disposition of entangled qubits describes what is known as a [Bell state](https://en.wikipedia.org/wiki/Bell_state). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Bell state in IBMQ\n", - "**TASK:** Get the QASM specification for your code and use it on [IBMQ QASM editor](https://quantumexperience.ng.bluemix.net/qx/qasm)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "OPENQASM 2.0;\n", - "include \"qelib1.inc\";\n", - "qreg q0[2];\n", - "creg c0[2];\n", - "h q0[0];\n", - "cx q0[0],q0[1];\n", - "measure q0[0] -> c0[0];\n", - "measure q0[1] -> c0[1];\n", - "\n" - ] - } - ], - "source": [ - "print(circuit.qasm())" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "> You will probably get an error for trying to execute this QASM, like:\n", - ">\n", - "> `Error in line 6: CX gate between q2[0], q2[1] is not allowed in this topology`\n", - ">\n", - "> To sort it, simply apply the Hadamard to `q2[1]` and change the CNOT to `cx q2[1] q2[0]`:\n", - "```qasm\n", - "OPENQASM 2.0;\n", - "include \"qelib1.inc\";\n", - "qreg q2[2];\n", - "creg c2[2];\n", - "h q2[1];\n", - "cx q2[1],q2[0];\n", - "measure q2[0] -> c2[0];\n", - "measure q2[1] -> c2[1];\n", - "```\n", - "> This is exactly the same circuit, but the norm seems to prefer this orientation rather than our original one (With the control qubit on the CNOT underneath the target qubit)." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---\n", - "### More entanglement\n", - "**TASK:** Repeat the previous circuit, but add a bit-flip on the target qubit" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "# create the circuit\n", - "qr, cr, circuit = new_circuit(2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Add a Hadamard on qubit 0" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [], - "source": [ - "# H gate on qubit 0\n", - "circuit.h(qr[0]);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Add an X gate on qubit 1" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "# X gate on qubit 1\n", - "circuit.x(qr[1]);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Add a CX (CNOT) gate on control qubit 0 and target qubit 1" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "circuit.cx(qr[0], qr[1]);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Perform a measurement" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [], - "source": [ - "# measure the qubits\n", - "circuit.measure(qr, cr);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** check the result using `execute_locally` test both `True` and `False` for the `draw_circuit` option" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "simulation: COMPLETED {'01': 513, '10': 511}\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Try both commands:\n", - "execute_locally(circuit,draw_circuit=True)\n", - "# execute_locally(circuit,draw_circuit=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Observe the results" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "> The same phenomena happened, however the states now were `01` and `10`, only 2 out of 4 possibilities!" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Quantum measurement in different basis\n", - "Given any of our previous circuits, we are going to measure them on both the zero-one basis as well as on the plus-minus basis." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Reconstruct one of the previous circuits (do not apply the measurement yet)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "# create the circuit\n", - "qr, cr, circuit = new_circuit(2)\n", - "circuit.h(qr[0])\n", - "circuit.cx(qr[0], qr[1]);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Add a Hadamard after each qubit" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "circuit.h(qr);" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** perform the measurement now and execute" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "simulation: COMPLETED {'00': 517, '11': 507}\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "circuit.measure(qr, cr)\n", - "execute_locally(circuit,draw_circuit=True)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Why is this measurement different from the previous one?" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "> Since we applied the Hadamard gate on our qubits, their superposition was shifted accordingly, meaning the $\\alpha$ and $\\beta$ on the superposition were rotated by 45º. Once we measure, now, the result should be interpreted in the plus-minus basis, meaning that 1 is |+> and 0 is |->." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Free flow\n", - "Take a look at the following explanation of Entanglement, taken from the [qiskit-tutorial](https://github.com/Qiskit/qiskit-tutorial/blob/master/community/terra/qis_intro/entanglement_introduction.ipynb)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Entanglement\n", - "\n", - "The core idea behind the second Principle is *entanglement*. Upon reading the Principle, one might be inclined to think that entanglement is simply strong correlation between two entitities -- but entanglement goes well beyond mere perfect (classical) correlation. If you and I read the same paper, we will have learned the same information. If a third person comes along and reads the same paper they also will have learned this information. All three persons in this case are perfectly correlated, and they will remain correlated even if they are separated from each other. \n", - "\n", - "The situation with quantum entanglement is a bit more subtle. In the quantum world, you and I could read the same quantum paper, and yet we will not learn what information is actually contained in the paper until we get together and share our information. However, when we are together, we find that we can unlock more information from the paper than we initially thought possible. Thus, quantum entanglement goes much further than perfect correlation.\n", - "\n", - "To demonstrate this, we will define the controlled-NOT (CNOT) gate and the composition of two systems. The convention we use Qiskit is to label states by writing the first qubit's name in the rightmost position, thereby allowing us to easily convert from binary to decimal. As a result, we define the tensor product between operators $q_0$ and $q_1$ by $q_1\\otimes q_0$. \n", - "\n", - "Taking $q_0$ as the control and $q_1$ as the target, the CNOT with this representation is given by\n", - "\n", - "$$ CNOT =\\begin{pmatrix} 1 & 0 & 0 & 0\\\\ 0 & 0 & 0 & 1\\\\0& 0& 1 & 0\\\\0 & 1 & 0 & 0 \\end{pmatrix},$$\n", - "\n", - "which is non-standard in the quantum community, but more easily connects to classical computing, where the least significant bit (LSB) is typically on the right. An entangled state of the two qubits can be made via an $H$ gate on the control qubit, followed by the CNOT gate. This generates a particular maximally entangled two-qubit state known as a Bell state, named after John Stewart Bell ([learn more about Bell and his contributions to quantum physics and entanglement](https://en.wikipedia.org/wiki/John_Stewart_Bell)). \n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "---" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Entanglement on a real device\n", - "**TASK:** Create a simple entanglement and execute it on a real device." - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "qr, cr, circuit = new_circuit(2)\n", - "circuit.h(qr[0])\n", - "circuit.cx(qr[0], qr[1])\n", - "circuit.h(qr)\n", - "circuit.measure(qr, cr);" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Running on current least busy device: ibmq_16_melbourne\n", - "Status @ 0 seconds\n", - "JobStatus.INITIALIZING\n", - "Status @ 10 seconds\n", - "JobStatus.QUEUED\n", - "Status @ 20 seconds\n", - "JobStatus.QUEUED\n", - "Status @ 30 seconds\n", - "JobStatus.QUEUED\n", - "Status @ 40 seconds\n", - "JobStatus.QUEUED\n", - "Status @ 50 seconds\n", - "JobStatus.RUNNING\n", - "Status @ 60 seconds\n", - "JobStatus.RUNNING\n", - "JobStatus.DONE\n", - "experiment: COMPLETED {'00': 455, '01': 41, '10': 51, '11': 477}\n" - ] - }, - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "execute_remotely(circuit)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "**TASK:** Comment on the results" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "> \n", - "**Important:** Once you get the results, you may see that, in fact, most of the iterations resulted in `00` and `11`. The remaining options `01` and `10` are due to the immense difficulty with which quantum entanglement is preserved in nowadays labs' conditions. Nonetheless, these are still extraordinary results!" - ] - } - ], - "metadata": { - "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.6.4" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/w4_01.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/w4_01.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/w4_01_s.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_4-Quantum_Facts/exercises/w4_01_s.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 17bd989b1..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,56 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Week 5 - Quantum Algorithms (Introdution)\n", - "\n", - " * Quantum Oracles\n", - " * Quantum Reversible Computation\n", - " * Deutsch-Jozsa Problem Formulation\n", - " * Deutsch's Problem Formulation\n", - " * Deutsch's Algorithm\n", - " * Deutsch-Jozsa Algorithm\n", - " * Deutsch/Deutsch-Jozsa in Qiskit\n", - "\n", - "# Exercises\n", - " * Pen and paper verificatio of the math in the description of Deutsch's Algorithm [slides](slides.pdf)\n", - " * [Jupyter notebook with exercises](exercises/w5_01.ipynb): implementing Deutsch's Algorithm in Qiskit\n", - " * [Jupyter notebook with solutions](exercises/w5_01_s.ipynb)\n", - "\n", - "## Resources\n", - " * [PDF slides](slides.pdf)\n", - " * [slides src](latex/main.tex) Latex files and image resources used in the presentation (useful for PR on slide typos and such)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/.ipynb_checkpoints/README-checkpoint.md b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/.ipynb_checkpoints/README-checkpoint.md deleted file mode 100755 index 491d34f91..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/.ipynb_checkpoints/README-checkpoint.md +++ /dev/null @@ -1,18 +0,0 @@ -# Week 5 - Quantum Algorithms (Introdution) - - * Quantum Oracles - * Quantum Reversible Computation - * Deutsch-Jozsa Problem Formulation - * Deutsch's Problem Formulation - * Deutsch's Algorithm - * Deutsch-Jozsa Algorithm - * Deutsch/Deutsch-Jozsa in Qiskit - -# Exercises - * Pen and paper verificatio of the math in the description of Deutsch's Algorithm [slides](slides.pdf) - * [Jupyter notebook with exercises](exercises/w5_01.ipynb): implementing Deutsch's Algorithm in Qiskit - * [Jupyter notebook with solutions](exercises/w5_01_s.ipynb) - -## Resources - * [PDF slides](slides.pdf) - * [slides src](latex/) Latex files and image resources used in the presentation (useful for PR on slide typos and such) diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index f7e1efa94..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,43 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "# Exercises\n", - " * Pen and paper verificatio of the math in the description of Deutsch's Algorithm [slides](../slides.pdf)\n", - " * [Jupyter notebook with exercises](w5_01.ipynb): implementing Deutsch's Algorithm in Qiskit\n", - " * [Jupyter notebook with solutions](w5_01_s.ipynb)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/w5_01.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/w5_01.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/w5_01_s.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_5-Quantum_Algorithms/exercises/w5_01_s.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index aae390012..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,53 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Week 6 - Quantum Search (Grover's Algorithm)\n", - "\n", - " * The Search Problem\n", - " * SAT Problem\n", - " * Grover's Algorithm Overview\n", - " * Phase Inversion\n", - " * Inversion about the Mean\n", - " * Quadratic speedup\n", - "\n", - "# Exercises\n", - " * [Jupyter notebook with tutorial](exercises/w6_01.ipynb): implementing Grover's Algorithm and solving a SAT problem of dimension 3, using local and remote (IBMQ) quantum devices\n", - "\n", - "## Resources\n", - " * [PDF slides](slides.pdf)\n", - " * [slides src](latex/main.tex) Latex files and image resources used in the presentation (useful for PR on slide typos and such)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/.ipynb_checkpoints/README-checkpoint.md b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/.ipynb_checkpoints/README-checkpoint.md deleted file mode 100755 index cca3f2df7..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/.ipynb_checkpoints/README-checkpoint.md +++ /dev/null @@ -1,15 +0,0 @@ -# Week 6 - Quantum Search (Grover's Algorithm) - - * The Search Problem - * SAT Problem - * Grover's Algorithm Overview - * Phase Inversion - * Inversion about the Mean - * Quadratic speedup - -# Exercises - * [Jupyter notebook with tutorial](exercises/w6_01.ipynb): implementing Grover's Algorithm and solving a SAT problem of dimension 3, using local and remote (IBMQ) quantum devices - -## Resources - * [PDF slides](slides.pdf) - * [slides src](latex/) Latex files and image resources used in the presentation (useful for PR on slide typos and such) diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/exercises/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/exercises/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 18c4c6c76..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/exercises/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,40 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exercises\n", - " * [Jupyter notebook with tutorial](w6_01.ipynb): implementing Grover's Algorithm and solving a SAT problem of dimension 3, using local and remote (IBMQ) quantum devices\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/exercises/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/exercises/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/exercises/w6_01.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_6-Quantum_Search/exercises/w6_01.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 918b5d4ab..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Week 7 - Quantum Factorization (Shor's Algorithm)\n", - "\n", - " * The Prime Factorization Problem\n", - " * Cryptography Considerations\n", - " * Grover's Algorithm Overview\n", - " * Shor's Algorithm\n", - " * From Factorization to Period Finding\n", - " * Quantum Fourier Transform\n", - " * From Period to Factors\n", - "\n", - "# Exercises\n", - " * [Jupyter notebook 1 with tutorial](exercises/w7_01.ipynb): understanding the Quantum Fourier Transform on its own (this one is optional as it is very math-heavy for some students)\n", - " * [Jupyter notebook 2 with tutorial](exercises/w7_02.ipynb): understanding Shor's Algorithm step by step\n", - "\n", - "## Resources\n", - " * [PDF slides](slides.pdf)\n", - " * [slides src](latex/main.tex) Latex files and image resources used in the presentation (useful for PR on slide typos and such)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/.ipynb_checkpoints/README-checkpoint.md b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/.ipynb_checkpoints/README-checkpoint.md deleted file mode 100755 index 79d8c6cec..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/.ipynb_checkpoints/README-checkpoint.md +++ /dev/null @@ -1,17 +0,0 @@ -# Week 7 - Quantum Factorization (Shor's Algorithm) - - * The Prime Factorization Problem - * Cryptography Considerations - * Grover's Algorithm Overview - * Shor's Algorithm - * From Factorization to Period Finding - * Quantum Fourier Transform - * From Period to Factors - -# Exercises - * [Jupyter notebook 1 with tutorial](exercises/w7_01.ipynb): understanding the Quantum Fourier Transform on its own (this one is optional as it is very math-heavy for some students) - * [Jupyter notebook 2 with tutorial](exercises/w7_02.ipynb): understanding Shor's Algorithm step by step - -## Resources - * [PDF slides](slides.pdf) - * [slides src](latex/) Latex files and image resources used in the presentation (useful for PR on slide typos and such) diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index dd5c4ea95..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,41 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exercises\n", - " * [Jupyter notebook 1 with tutorial](w7_01.ipynb): understanding the Quantum Fourier Transform on its own (this one is optional as it is very math-heavy for some students)\n", - " * [Jupyter notebook 2 with tutorial](w7_02.ipynb): understanding Shor's Algorithm step by step\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/w7_01.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/w7_01.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/w7_02.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_7-Quantum_Factorization/exercises/w7_02.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 265d84712..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,58 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Week 8 - High Level Quantum Programming (qiskit-aqua)\n", - "\n", - " * Qiskit Aqua\n", - " * Quantum Supremacy\n", - " * Troubleshooting Qiskit Aqua\n", - " * High Level Grover's algorithm\n", - " * AI problems with aqua\n", - " * Optimization problems with aqua (MaxCut, Traveling Salesman)\n", - " * Chemistry with aqua\n", - "\n", - "# Exercises\n", - " * [Jupyter notebook 1 with tutorial](exercises/w8_01.ipynb): Grover's algorithm (High Level Quantum)\n", - " * [Jupyter notebook 2 with tutorial](exercises/w8_02.ipynb): Support Vector Machine for classification of Breast Cancer datapoints (AI)\n", - " * [Jupyter notebook 3 with tutorial](exercises/w8_03.ipynb): Maximum Cut problem (Optimization)\n", - " * [Jupyter notebook 4 with tutorial](exercises/w8_04.ipynb): Traveling Salesman problem (Optimization)\n", - " * [Jupyter notebook 5 with tutorial](exercises/w8_05.ipynb): Ground state oh H2 Molecule (Chemistry)\n", - "\n", - "## Resources\n", - " * [PDF slides](slides.pdf)\n", - " * [slides src](latex/main.tex) Latex files and image resources used in the presentation (useful for PR on slide typos and such)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/.ipynb_checkpoints/README-checkpoint.md b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/.ipynb_checkpoints/README-checkpoint.md deleted file mode 100755 index 997bb7b80..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/.ipynb_checkpoints/README-checkpoint.md +++ /dev/null @@ -1,20 +0,0 @@ -# Week 8 - High Level Quantum Programming (qiskit-aqua) - - * Qiskit Aqua - * Quantum Supremacy - * Troubleshooting Qiskit Aqua - * High Level Grover's algorithm - * AI problems with aqua - * Optimization problems with aqua (MaxCut, Traveling Salesman) - * Chemistry with aqua - -# Exercises - * [Jupyter notebook 1 with tutorial](exercises/w8_01.ipynb): Grover's algorithm (High Level Quantum) - * [Jupyter notebook 2 with tutorial](exercises/w8_02.ipynb): Support Vector Machine for classification of Breast Cancer datapoints (AI) - * [Jupyter notebook 3 with tutorial](exercises/w8_03.ipynb): Maximum Cut problem (Optimization) - * [Jupyter notebook 4 with tutorial](exercises/w8_04.ipynb): Traveling Salesman problem (Optimization) - * [Jupyter notebook 5 with tutorial](exercises/w8_05.ipynb): Ground state oh H2 Molecule (Chemistry) - -## Resources - * [PDF slides](slides.pdf) - * [slides src](latex/) Latex files and image resources used in the presentation (useful for PR on slide typos and such) diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 6c7a5f67f..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,44 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Exercises\n", - " * [Jupyter notebook 1 with tutorial](w8_01.ipynb): Grover's algorithm (High Level Quantum)\n", - " * [Jupyter notebook 2 with tutorial](w8_02.ipynb): Support Vector Machine for classification of Breast Cancer datapoints (AI)\n", - " * [Jupyter notebook 3 with tutorial](w8_03.ipynb): Maximum Cut problem (Optimization)\n", - " * [Jupyter notebook 4 with tutorial](w8_04.ipynb): Traveling Salesman problem (Optimization)\n", - " * [Jupyter notebook 5 with tutorial](w8_05.ipynb): Ground state oh H2 Molecule (Chemistry)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_01.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_01.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_02.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_02.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_03.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_03.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_04.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_04.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_05.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_8-High_Level_Quantum_Programming/exercises/w8_05.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/.ipynb_checkpoints/README-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/.ipynb_checkpoints/README-checkpoint.ipynb deleted file mode 100755 index 9a4ad49d6..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/.ipynb_checkpoints/README-checkpoint.ipynb +++ /dev/null @@ -1,55 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Week 9 - State of the Quantum Art\n", - "\n", - " * Models of Quantum Computation\n", - " * Quantum Circuit\n", - " * Adiabatic Quantum Computation\n", - " * Measurement Based Quantum Computer\n", - " * Topological Quantum Computer\n", - " * Building Quantum Computers\n", - " * Implementing a Qubit\n", - " * Quantum Decoherence\n", - " * Quantum Error Correction\n", - " * Industrial Standpoint - Race for Quantum\n", - " * Closing Remarks\n", - "\n", - "## Resources\n", - " * [PDF slides](slides.pdf)\n", - " * [slides src](latex/main.tex) Latex files and image resources used in the presentation (useful for PR on slide typos and such)\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.6.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/.ipynb_checkpoints/README-checkpoint.md b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/.ipynb_checkpoints/README-checkpoint.md deleted file mode 100755 index 224942fb4..000000000 --- a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/.ipynb_checkpoints/README-checkpoint.md +++ /dev/null @@ -1,17 +0,0 @@ -# Week 9 - State of the Quantum Art - - * Models of Quantum Computation - * Quantum Circuit - * Adiabatic Quantum Computation - * Measurement Based Quantum Computer - * Topological Quantum Computer - * Building Quantum Computers - * Implementing a Qubit - * Quantum Decoherence - * Quantum Error Correction - * Industrial Standpoint - Race for Quantum - * Closing Remarks - -## Resources - * [PDF slides](slides.pdf) - * [slides src](latex/) Latex files and image resources used in the presentation (useful for PR on slide typos and such) diff --git a/community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/README.ipynb b/community/awards/teach_me_quantum_2018/TeachMeQ/Week_9-State_of_the_Quantum_Art/README.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/basic_intro2qc/QuantumComputingIntroduction.ipynb b/community/awards/teach_me_quantum_2018/basic_intro2qc/QuantumComputingIntroduction.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/.ipynb_checkpoints/B88_Grovers_Search_Solutions-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/.ipynb_checkpoints/B88_Grovers_Search_Solutions-checkpoint.ipynb deleted file mode 100755 index ad8e00410..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/.ipynb_checkpoints/B88_Grovers_Search_Solutions-checkpoint.ipynb +++ /dev/null @@ -1,793 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 10, 2018\n", - "
\n", - "
I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
\n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Solutions for Grover's Search

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "

Task 1

\n", - "\n", - "Design a quantum circuit with 4 qubits.\n", - "\n", - "Apply Hadamard to each qubit.\n", - "\n", - "Execute your circuit 1600 times.\n", - "\n", - "You should observe each basis state around 100 times.\n", - "\n", - "Reexecute your circuit 16000 times." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Solution

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# import all necessary objects and methods for quantum circuits\n", - "from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - "from qiskit.tools.visualization import matplotlib_circuit_drawer as drawer\n", - "\n", - "qreg = QuantumRegister(4) # quantum register with 4 qubits\n", - "creg = ClassicalRegister(4) # classical register with 4 bits\n", - "mycircuit = QuantumCircuit(qreg,creg) # quantum circuit with quantum and classical registers\n", - "\n", - "# apply h-gate (Hadamard) to each qubit\n", - "for i in range(4):\n", - " mycircuit.h(qreg[i])\n", - "\n", - "# measure both qubits\n", - "mycircuit.measure(qreg,creg)\n", - " \n", - "# execute the circuit 1600 times, and print the outcomes\n", - "job = execute(mycircuit,Aer.get_backend('qasm_simulator'),shots=1600)\n", - "counts = job.result().get_counts(mycircuit)\n", - "for outcome in counts:\n", - " reverse_outcome = ''\n", - " for i in outcome:\n", - " reverse_outcome = i + reverse_outcome\n", - " print(reverse_outcome,\"is observed\",counts[outcome],\"times\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Task 2: Emulating Grover's search

\n", - "\n", - "For this task, you can use the methods given in notebook B80_Reflections.\n", - "\n", - "Set the value of $ k $ to 4. Then, the size of list is $ 2^k = 16 $.\n", - "\n", - "Pick the value of $ m $ as 3, the number of the marked elements.\n", - "\n", - "As described above, $ \\ket{u} = \\sqrt{\\frac{3}{16}} \\ket{u_{marked}} + \\sqrt{\\frac{13}{16}} \\ket{u_{unmarked}} $.\n", - "\n", - "Create a quantum circuit with single qubit.\n", - "\n", - "States $ \\ket{1} $ and $ \\ket{0} $ represents the quantum state $ \\ket{u_{marked}} $ and $ \\ket{u_{unmarked}}$, respectively.\n", - "\n", - "Then, $ \\ket{u} = \\sqrt{\\frac{13}{16}} \\ket{0} + \\sqrt{\\frac{3}{16}} \\ket{1} $.\n", - "\n", - "Determine the angle $ \\theta $, the angle between $ \\ket{u} $ and $ \\ket{0} $.\n", - "\n", - "Iterate Grover's search algorithm once by using your quantum circuit.\n", - "\n", - "For each reflection, use ry-gate (rotation).\n", - "
    \n", - "
  • Define a list to store all quantum states (with their labels) that will be visited.
  • \n", - "
  • Implement the first reflection on your qubit
  • \n", - "
  • Read the current quantum state and store it on your list
  • \n", - "
  • Implement the second reflection on your qubit
  • \n", - "
  • Read the current quantum state and store it on your list\n", - "
  • Draw all visited quantum states with their labels
  • \n", - "
  • Execute your circuit 100 times
  • \n", - "
\n", - "\n", - "Is this single iteration enough to observe state $ \\ket{1} $ more than state $ \\ket{0} $? " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Solution

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Find angle theta ($\\theta$)

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# find the angle theta\n", - "\n", - "u2 = [(13/16)**0.5,(3/16)**0.5]\n", - "print(u2)\n", - "\n", - "from math import acos # acos is the inverse of function cosine\n", - "from math import pi \n", - "\n", - "def angle_between_two_quantum_states(quantum_state1,quantum_state2):\n", - " inner_product = quantum_state1[0] * quantum_state2[0] + quantum_state1[1] * quantum_state2[1]\n", - " return acos(inner_product) \n", - "\n", - "# angle between |u> and |0> \n", - "theta2 = angle_between_two_quantum_states(u2,[1,0])\n", - "print(theta2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

The previously used functions

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# COPY-PASTE the functions from the notebook \"B80_Reflections\"\n", - "\n", - "def amplitudes_of_a_quantum_state(quantum_circuit):\n", - " # import all necessary objects and methods for quantum circuits\n", - " from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - " \n", - " # the following code is used to get the quantum state of a quantum circuit\n", - " job = execute(quantum_circuit,Aer.get_backend('statevector_simulator'))\n", - " current_quantum_state=job.result().get_statevector(quantum_circuit) \n", - " \n", - " # now we read the real parts of the amplitudes\n", - " the_first_amplitude = current_quantum_state[0].real # amplitude of |0>\n", - " the_second_amplitude = current_quantum_state[1].real # amplitude of |1>\n", - " \n", - " return[the_first_amplitude,the_second_amplitude]\n", - "# end of function\n", - "\n", - "def visualize_quantum_states(quantum_states):\n", - " # import the useful tool for drawing figures in pythpn\n", - " from matplotlib.pyplot import plot, show, figure, Circle, axis, gca, annotate, arrow, text\n", - " # import the constant pi\n", - " from math import pi\n", - " \n", - " figure(figsize=(6,6), dpi=80) # size of the figure\n", - " gca().add_patch( Circle((0,0),1,color='black',fill=False) ) # draw the circle\n", - " # auxiliary points\n", - " plot(-1.3,0)\n", - " plot(1.3,0)\n", - " plot(0,1.3)\n", - " plot(0,-1.3)\n", - " # axes\n", - " arrow(0,0,1.1,0,head_width=0.04, head_length=0.08)\n", - " arrow(0,0,-1.1,0,head_width=0.04, head_length=0.08)\n", - " arrow(0,0,0,-1.1,head_width=0.04, head_length=0.08)\n", - " arrow(0,0,0,1.1,head_width=0.04, head_length=0.08)\n", - " \n", - " # draw all quantum states\n", - "\n", - " for quantum_state in quantum_states:\n", - " # show the quantum state as an arrow on the diagram\n", - " state_name = quantum_state[0] # label of the quantum state \n", - " x_value = quantum_state[1] # amplitude of |0>\n", - " y_value = quantum_state[2] # amplitude of |1>\n", - " # draw the arrow\n", - " arrow(0,0,x_value,y_value,head_width=0.04, head_length=0.04,color='blue')\n", - "\n", - " # the following code is used to write the name of quantum states\n", - " if x_value<0: text_x_value=x_value-0.1\n", - " else: text_x_value=x_value+0.05\n", - " if y_value<0: text_y_value=y_value-0.1\n", - " else: text_y_value=y_value+0.05 \n", - " text(text_x_value,text_y_value,state_name)\n", - "\n", - " show() # show the diagram\n", - "# end of function" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

One iteration of Grover's search algorithm

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# import all necessary objects and methods for quantum circuits\n", - "from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - "from qiskit.tools.visualization import matplotlib_circuit_drawer as drawer\n", - "\n", - "\n", - "all_visited_quantum_states2 =[]\n", - "\n", - "\n", - "qreg2 = QuantumRegister(1) # quantum register with 1 qubit\n", - "creg2 = ClassicalRegister(1) # classical register with 1 bit\n", - "mycircuit2 = QuantumCircuit(qreg2,creg2) # quantum circuit with quantum and classical registers\n", - "\n", - "\n", - "# set the qubit to |u>\n", - "# rotate by theta2\n", - "# do not forget to multiply it by 2\n", - "mycircuit2.ry(2*theta2,qreg2[0])\n", - "\n", - "# read and store the current quantum state\n", - "[x,y] = amplitudes_of_a_quantum_state(mycircuit2)\n", - "all_visited_quantum_states2.append(['u',x,y])\n", - "\n", - "\n", - "# this is (-2*theta2) in the first iteration\n", - "rotation_angle_for_the_first_reflection2 = -2 * theta2\n", - "# this is always (2*theta2) more than (-1*rotation_angle_for_the_first_reflection2)\n", - "rotation_angle_for_the_second_reflection2 = (2*theta2) + (-1*rotation_angle_for_the_first_reflection2)\n", - "\n", - "# the first reflection: rotate by rotation_angle_for_the_first_reflection2\n", - "mycircuit2.ry(2*rotation_angle_for_the_first_reflection2,qreg2[0])\n", - "# read and store the current quantum state\n", - "[x,y] = amplitudes_of_a_quantum_state(mycircuit2)\n", - "all_visited_quantum_states2.append(['r',x,y]) # the label is r (reflected state)\n", - "\n", - "# the second reflection: rotate by rotation_angle_for_the_second_reflection2\n", - "mycircuit2.ry(2*rotation_angle_for_the_second_reflection2,qreg2[0])\n", - "# read and store the current quantum state\n", - "[x,y] = amplitudes_of_a_quantum_state(mycircuit2)\n", - "all_visited_quantum_states2.append(['n',x,y]) # the label is n (new state)\n", - " \n", - " \n", - "visualize_quantum_states(all_visited_quantum_states2)\n", - " \n", - " \n", - "# measure both qubits\n", - "mycircuit2.measure(qreg2,creg2)\n", - " \n", - " \n", - "# execute the circuit 100 times, and print the outcomes\n", - "job = execute(mycircuit2,Aer.get_backend('qasm_simulator'),shots=100)\n", - "counts2 = job.result().get_counts(mycircuit2)\n", - "for outcome in counts2:\n", - " reverse_outcome = ''\n", - " for i in outcome:\n", - " reverse_outcome = i + reverse_outcome\n", - " print(reverse_outcome,\"is observed\",counts2[outcome],\"times\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(all_visited_quantum_states2)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "\n", - "

Taks 3

\n", - "\n", - "For this task, you can use the methods given in notebook B80_Reflections .\n", - "\n", - "Set the value of $ k $ to 6. Then, the size of list is $ 2^k = 64 $.\n", - "\n", - "Pick the value of $ m $ as 1, the number of the marked elements.\n", - "\n", - "As described above, $ \\ket{u} = \\sqrt{\\frac{1}{64}} \\ket{u_{marked}} + \\sqrt{\\frac{63}{64}} \\ket{u_{unmarked}} $.\n", - "\n", - "Create a quantum circuit with single qubit.\n", - "\n", - "States $ \\ket{1} $ and $ \\ket{0} $ represents the quantum state $ \\ket{u_{marked}} $ and $ \\ket{u_{unmarked}}$, respectively.\n", - "\n", - "Then, $ \\ket{u} = \\sqrt{\\frac{63}{64}} \\ket{0} + \\sqrt{\\frac{1}{64}} \\ket{1} $.\n", - "\n", - "Determine the angle $ \\theta $, the angle between $ \\ket{u} $ and $ \\ket{0} $.\n", - "\n", - "Iterate Grover's search algorithm three times by using your quantum circuit.\n", - "\n", - "For each reflection, use ry-gate (rotation).\n", - "
    \n", - "
  • Define a list to store all quantum states (with their labels) that will be visited.
  • \n", - "
  • Iterate 3 times:\n", - "
      \n", - "
    • Implement the first reflection on your qubit
    • \n", - "
    • Read the current quantum state and store it on your list
    • \n", - "
    • Implement the second reflection on your qubit
    • \n", - "
    • Read the current quantum state and store it on your list
    • \n", - "
  • \n", - "
  • Draw all visited quantum states with their labels
  • \n", - "
  • Execute your circuit 100 times
  • \n", - "
\n", - "\n", - "Is 3 iterations enough to observe state $ \\ket{1} $ more than state $ \\ket{0} $?\n", - "\n", - "Try 4, 5, 6, 7, 8, 9, and 10 iterations.\n", - "\n", - "What is the best iteration number?" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Solution

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Find angle theta ($\\theta$)

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# find the angle theta\n", - "\n", - "u3 = [(63/64)**0.5,(1/64)**0.5]\n", - "print(u3)\n", - "\n", - "from math import acos # acos is the inverse of function cosine\n", - "from math import pi \n", - "\n", - "def angle_between_two_quantum_states(quantum_state1,quantum_state2):\n", - " inner_product = quantum_state1[0] * quantum_state2[0] + quantum_state1[1] * quantum_state2[1]\n", - " return acos(inner_product) \n", - "\n", - "# angle between |u> and |0> \n", - "theta3 = angle_between_two_quantum_states(u3,[1,0])\n", - "print(theta3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

The previously used functions

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# COPY-PASTE the functions from the notebook \"B80_Reflections\"\n", - "\n", - "def amplitudes_of_a_quantum_state(quantum_circuit):\n", - " # import all necessary objects and methods for quantum circuits\n", - " from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - " \n", - " # the following code is used to get the quantum state of a quantum circuit\n", - " job = execute(quantum_circuit,Aer.get_backend('statevector_simulator'))\n", - " current_quantum_state=job.result().get_statevector(quantum_circuit) \n", - " \n", - " # now we read the real parts of the amplitudes\n", - " the_first_amplitude = current_quantum_state[0].real # amplitude of |0>\n", - " the_second_amplitude = current_quantum_state[1].real # amplitude of |1>\n", - " \n", - " return[the_first_amplitude,the_second_amplitude]\n", - "# end of function\n", - "\n", - "def visualize_quantum_states(quantum_states):\n", - " # import the useful tool for drawing figures in pythpn\n", - " from matplotlib.pyplot import plot, show, figure, Circle, axis, gca, annotate, arrow, text\n", - " # import the constant pi\n", - " from math import pi\n", - " \n", - " figure(figsize=(6,6), dpi=80) # size of the figure\n", - " gca().add_patch( Circle((0,0),1,color='black',fill=False) ) # draw the circle\n", - " # auxiliary points\n", - " plot(-1.3,0)\n", - " plot(1.3,0)\n", - " plot(0,1.3)\n", - " plot(0,-1.3)\n", - " # axes\n", - " arrow(0,0,1.1,0,head_width=0.04, head_length=0.08)\n", - " arrow(0,0,-1.1,0,head_width=0.04, head_length=0.08)\n", - " arrow(0,0,0,-1.1,head_width=0.04, head_length=0.08)\n", - " arrow(0,0,0,1.1,head_width=0.04, head_length=0.08)\n", - " \n", - " # draw all quantum states\n", - "\n", - " for quantum_state in quantum_states:\n", - " # show the quantum state as an arrow on the diagram\n", - " state_name = quantum_state[0] # label of the quantum state \n", - " x_value = quantum_state[1] # amplitude of |0>\n", - " y_value = quantum_state[2] # amplitude of |1>\n", - " # draw the arrow\n", - " arrow(0,0,x_value,y_value,head_width=0.04, head_length=0.04,color='blue')\n", - "\n", - " # the following code is used to write the name of quantum states\n", - " if x_value<0: text_x_value=x_value-0.1\n", - " else: text_x_value=x_value+0.05\n", - " if y_value<0: text_y_value=y_value-0.1\n", - " else: text_y_value=y_value+0.05 \n", - " text(text_x_value,text_y_value,state_name)\n", - "\n", - " show() # show the diagram\n", - "# end of function" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Five iterations of Grover's search algorithm

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# import all necessary objects and methods for quantum circuits\n", - "from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - "from qiskit.tools.visualization import matplotlib_circuit_drawer as drawer\n", - "\n", - "\n", - "all_visited_quantum_states3 =[]\n", - "\n", - "\n", - "qreg3 = QuantumRegister(1) # quantum register with 1 qubit\n", - "creg3 = ClassicalRegister(1) # classical register with 1 bit\n", - "mycircuit3 = QuantumCircuit(qreg3,creg3) # quantum circuit with quantum and classical registers\n", - "\n", - "# set the qubit to |u>\n", - "# rotate by theta3\n", - "# do not forget to multiply it by 2\n", - "mycircuit3.ry(2*theta3,qreg3[0])\n", - "\n", - "# read and store the current quantum state\n", - "[x,y] = amplitudes_of_a_quantum_state(mycircuit3)\n", - "all_visited_quantum_states3.append(['u',x,y])\n", - "\n", - "# this is -2 * theta3 in the first iteration\n", - "rotation_angle_for_the_first_reflection3 = -2 * theta3\n", - "# this is always (2*theta3) more than (-1*rotation_angle_for_the_first_reflection3)\n", - "rotation_angle_for_the_second_reflection3 = (2*theta3) + (-1*rotation_angle_for_the_first_reflection3)\n", - "\n", - "for i in range(3): # three iterations # later check 4, 5, 6, 7, 8, 9, and 10\n", - "\n", - " # the first reflection: rotate by rotation_angle_for_the_first_reflection3\n", - " mycircuit3.ry(2*rotation_angle_for_the_first_reflection3,qreg3[0])\n", - " # read and store the current quantum state\n", - " [x,y] = amplitudes_of_a_quantum_state(mycircuit3)\n", - " all_visited_quantum_states3.append(['r'+str(i+1),x,y]) # the labels are r1, r2, ... (reflected states)\n", - "\n", - " # the second reflection: rotate by rotation_angle_for_the_second_reflection3\n", - " mycircuit3.ry(2*rotation_angle_for_the_second_reflection3,qreg3[0])\n", - " # read and store the current quantum state\n", - " [x,y] = amplitudes_of_a_quantum_state(mycircuit3)\n", - " all_visited_quantum_states3.append(['n'+str(i+1),x,y]) # the labels are n1, n2, ... (new states)\n", - " \n", - " # this will be increased by (-4*theta2) after each iteration\n", - " rotation_angle_for_the_first_reflection3 = rotation_angle_for_the_first_reflection3 -4* theta3\n", - " # this is always (2*theta2) more than (-1*rotation_angle_for_the_first_reflection3)\n", - " rotation_angle_for_the_second_reflection3 = (2*theta3) + (-1*rotation_angle_for_the_first_reflection3)\n", - "# end of iterations\n", - "\n", - "visualize_quantum_states(all_visited_quantum_states3)\n", - " \n", - "# measure both qubits\n", - "mycircuit3.measure(qreg3,creg3)\n", - " \n", - "# execute the circuit 100 times, and print the outcomes\n", - "job = execute(mycircuit3,Aer.get_backend('qasm_simulator'),shots=100)\n", - "counts3 = job.result().get_counts(mycircuit3)\n", - "for outcome in counts3:\n", - " reverse_outcome = ''\n", - " for i in outcome:\n", - " reverse_outcome = i + reverse_outcome\n", - " print(reverse_outcome,\"is observed\",counts3[outcome],\"times\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "print(all_visited_quantum_states3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "\n", - "

Task 4

\n", - "\n", - "Repeat Task 3 for $ k = 8 $ and $ m = 1 $, but algorithmically find the best iteration number, say $B$. \n", - "\n", - "You may execute your circuit 1000 times to have more reliable results.\n", - "
\n", - " Hint:\n", - "\n", - "For each iteration number, you may check how many times the state $ \\ket{1} $ is observed. \n", - "

\n", - "This value should be at least 500.\n", - "\n", - "And, when this value starts to decrease, you may announce the previous iteration number as the best. \n", - "
\n", - "
\n", - "Our solution outputs $ B $ as 12 in every execution." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Solution

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Find angle theta ($\\theta$)

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# find the angle theta\n", - "# k=8, 2^k = 256\n", - "\n", - "u4 = [(255/256)**0.5,(1/256)**0.5]\n", - "print(u4)\n", - "\n", - "from math import acos # acos is the inverse of function cosine\n", - "from math import pi \n", - "\n", - "def angle_between_two_quantum_states(quantum_state1,quantum_state2):\n", - " inner_product = quantum_state1[0] * quantum_state2[0] + quantum_state1[1] * quantum_state2[1]\n", - " return acos(inner_product) \n", - "\n", - "# angle between |u> and |0> \n", - "theta4 = angle_between_two_quantum_states(u4,[1,0])\n", - "print(theta4)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

The previously used functions

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# COPY-PASTE the functions from the notebook \"B80_Reflections\"\n", - "\n", - "def amplitudes_of_a_quantum_state(quantum_circuit):\n", - " # import all necessary objects and methods for quantum circuits\n", - " from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - " \n", - " # the following code is used to get the quantum state of a quantum circuit\n", - " job = execute(quantum_circuit,Aer.get_backend('statevector_simulator'))\n", - " current_quantum_state=job.result().get_statevector(quantum_circuit) \n", - " \n", - " # now we read the real parts of the amplitudes\n", - " the_first_amplitude = current_quantum_state[0].real # amplitude of |0>\n", - " the_second_amplitude = current_quantum_state[1].real # amplitude of |1>\n", - " \n", - " return[the_first_amplitude,the_second_amplitude]\n", - "# end of function\n", - "\n", - "def visualize_quantum_states(quantum_states):\n", - " # import the useful tool for drawing figures in pythpn\n", - " from matplotlib.pyplot import plot, show, figure, Circle, axis, gca, annotate, arrow, text\n", - " # import the constant pi\n", - " from math import pi\n", - " \n", - " figure(figsize=(6,6), dpi=80) # size of the figure\n", - " gca().add_patch( Circle((0,0),1,color='black',fill=False) ) # draw the circle\n", - " # auxiliary points\n", - " plot(-1.3,0)\n", - " plot(1.3,0)\n", - " plot(0,1.3)\n", - " plot(0,-1.3)\n", - " # axes\n", - " arrow(0,0,1.1,0,head_width=0.04, head_length=0.08)\n", - " arrow(0,0,-1.1,0,head_width=0.04, head_length=0.08)\n", - " arrow(0,0,0,-1.1,head_width=0.04, head_length=0.08)\n", - " arrow(0,0,0,1.1,head_width=0.04, head_length=0.08)\n", - " \n", - " # draw all quantum states\n", - "\n", - " for quantum_state in quantum_states:\n", - " # show the quantum state as an arrow on the diagram\n", - " state_name = quantum_state[0] # label of the quantum state \n", - " x_value = quantum_state[1] # amplitude of |0>\n", - " y_value = quantum_state[2] # amplitude of |1>\n", - " # draw the arrow\n", - " arrow(0,0,x_value,y_value,head_width=0.04, head_length=0.04,color='blue')\n", - "\n", - " # the following code is used to write the name of quantum states\n", - " if x_value<0: text_x_value=x_value-0.1\n", - " else: text_x_value=x_value+0.05\n", - " if y_value<0: text_y_value=y_value-0.1\n", - " else: text_y_value=y_value+0.05 \n", - " text(text_x_value,text_y_value,state_name)\n", - "\n", - " show() # show the diagram\n", - "# end of function" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Five iterations of Grover's search algorithm

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# import all necessary objects and methods for quantum circuits\n", - "from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - "from qiskit.tools.visualization import matplotlib_circuit_drawer as drawer\n", - "\n", - "\n", - "how_many_times_state_one_observed = 0\n", - "\n", - "decrease = False\n", - "\n", - "number_of_iteration = 1\n", - "\n", - "while decrease == False:\n", - "\n", - " qreg4 = QuantumRegister(1) # quantum register with 1 qubit\n", - " creg4 = ClassicalRegister(1) # classical register with 1 bit\n", - " mycircuit4 = QuantumCircuit(qreg4,creg4) # quantum circuit with quantum and classical registers\n", - "\n", - " # set the qubit to |u>\n", - " # rotate by theta4\n", - " # do not forget to multiply it by 2\n", - " mycircuit4.ry(2*theta4,qreg4[0])\n", - "\n", - "\n", - " # this is -2 * theta4 in the first iteration\n", - " rotation_angle_for_the_first_reflection4 = -2 * theta4\n", - " # this is always (2*theta4) more than (-1*rotation_angle_for_the_first_reflection4)\n", - " rotation_angle_for_the_second_reflection4 = (2*theta4) + (-1*rotation_angle_for_the_first_reflection4)\n", - "\n", - " for i in range(number_of_iteration):\n", - " \n", - " # the first reflection: rotate by rotation_angle_for_the_first_reflection4\n", - " mycircuit4.ry(2*rotation_angle_for_the_first_reflection4,qreg4[0])\n", - "\n", - " # the second reflection: rotate by rotation_angle_for_the_second_reflcetion4\n", - " mycircuit4.ry(2*rotation_angle_for_the_second_reflection4,qreg4[0])\n", - " \n", - " # this will be increased by (-4*theta4) after each iteration\n", - " rotation_angle_for_the_first_reflection4 = rotation_angle_for_the_first_reflection4 -4* theta4\n", - " # this is always (2*theta4) more than (-1*rotation_angle_for_the_first_reflection4)\n", - " rotation_angle_for_the_second_reflection4 = (2*theta4) + (-1*rotation_angle_for_the_first_reflection4)\n", - " # end of iterations\n", - "\n", - " \n", - " # measure both qubits\n", - " mycircuit4.measure(qreg4,creg4)\n", - " \n", - " # execute the circuit 1000 times, and print the outcomes\n", - " job = execute(mycircuit4,Aer.get_backend('qasm_simulator'),shots=1000)\n", - " counts4 = job.result().get_counts(mycircuit4)\n", - " print(number_of_iteration,counts4) # print the outcomes\n", - " for outcome in counts4:\n", - " if outcome == '1': \n", - " # how_many_times_state_one_observed is more than 500 and has a less value than the previous one\n", - " # then it is time to STOP\n", - " if how_many_times_state_one_observed> 500 and how_many_times_state_one_observed > counts4[outcome]: \n", - " print(\"B is\",number_of_iteration-1)\n", - " decrease = True\n", - " else: # we should continue\n", - " how_many_times_state_one_observed = counts4[outcome] # update how_many_times_state_one_observed\n", - " number_of_iteration = number_of_iteration + 1 # increase number_of_iteration" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B08_Python_Basics_Variables_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B08_Python_Basics_Variables_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B10_Python_Basics_Loops_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B10_Python_Basics_Loops_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B12_Python_Basics_Conditionals_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B12_Python_Basics_Conditionals_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B14_Python_Basics_Lists_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B14_Python_Basics_Lists_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B16_Python_Lists_Vectors_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B16_Python_Lists_Vectors_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B18_Python_Lists_Inner_Product_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B18_Python_Lists_Inner_Product_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B20_Python_Lists_Matrices_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B20_Python_Lists_Matrices_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B22_Python_Lists_Tensor_Product_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B22_Python_Lists_Tensor_Product_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B24_One_Bit_Solution.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B24_One_Bit_Solution.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B26_Coin_Flip_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B26_Coin_Flip_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B28_Coin_Flip_Game_Solution.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B28_Coin_Flip_Game_Solution.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B32_Probabilistic_States_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B32_Probabilistic_States_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B36_Probabilistic_Operators_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B36_Probabilistic_Operators_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B42_Hadamard_Solution.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B42_Hadamard_Solution.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B46_Quantum_State_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B46_Quantum_State_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B48_Superposition_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B48_Superposition_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B56_Two_Qubits_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B56_Two_Qubits_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B60_Superdense_Coding_Solution.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B60_Superdense_Coding_Solution.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B64_Phase_Kickback_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B64_Phase_Kickback_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B88_Grovers_Search_Solutions.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze-solutions/B88_Grovers_Search_Solutions.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B01_ Acknowledgements-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B01_ Acknowledgements-checkpoint.ipynb deleted file mode 100755 index 9180dc446..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B01_ Acknowledgements-checkpoint.ipynb +++ /dev/null @@ -1,63 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Acknowledgements

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "

QuSoft@Riga: Bronze

\n", - "\n", - "

\"Your First Step to Quantum Programming\"

\n", - "\n", - "QuSoft Riga has been preparing tutorials to teach programming quantum computers. \n", - "\n", - "Our first tutorial is Bronze. \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We thank to Katrina Kizenbaha from Riga TechGirls for her revisions on our notebooks on python.\n", - "\n", - "We thank to Martins Kalis (QuSoft@Riga) for his technical comments on python, qiskit, and our notebooks.\n", - "\n", - "We thank to Maksims Dimitrijevs (QuSoft@Riga) for his careful reading and corrections on our notebooks.\n", - "\n", - "We thank to QuSoft members Martins Kalis, Maksims Dimitrijevs, Aleksejs Naumovs Andis Draguns, and Matiss Apinis for their help and support.\n", - "\n", - "We thank to the students (DF@LU) attending QuSoft's meetings on each Friday (Fall 2018) for their comments while working with our notebooks.\n", - "
" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B02_cells_in_notebook-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B02_cells_in_notebook-checkpoint.ipynb deleted file mode 100755 index 8b0c28a7c..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B02_cells_in_notebook-checkpoint.ipynb +++ /dev/null @@ -1,144 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# A jupyter notebook is composed by one or more cells.\n", - "# A cell is used to write and execute your codes.\n", - "# A cell is also used to write descriptions, notes, formulas, etc.\n", - "# You can format your descriptions by using HTML or LaTex codes.\n", - "# During this tutorial, you are expected to write only python codes.\n", - "# Interested readers may also use HTML and LaTex, but it is not necesary to complete this tutorial. \n", - "\n", - "#\n", - "# We explain basic usage of cells in Jupyter notebooks here\n", - "#\n", - "\n", - "# This is the first cell in this notebook.\n", - "# You can write Python code here, \n", - "# and then EXECUTE/RUN it by\n", - "# 1) pressing SHIFT+ENTER\n", - "# 2) clicking \"Run\" on the menu\n", - "\n", - "\n", - "# here is a few lines of python codes\n", - "\n", - "print(\"hello world\")\n", - "str=\"*\"\n", - "for i in range(5):\n", - " print(str)\n", - " str+=\"*\"\n", - "\n", - "# after executing this cell, you will see the outcomes immedeately after this cell\n", - "# you may change the range above and re-run this cell\n", - "\n", - "# after executing this cell, you can continue with the next cell" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# This is the second cell.\n", - "#\n", - "# When you double click after the last cell, a new cell appears automatically.\n", - "# It automatically happens when you execute the last cell as well. \n", - "#\n", - "# By using menu item \"Insert\", you may also add a new cell before or after the selected cell.\n", - "# When a cell is selected, you may delete it by using menu item \"Edit\".\n", - "#\n", - "# As you may notice, there are other editing options under \"Edit\",\n", - "# for example, copy/cut-paste cells and split-merge cells." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This is the third cell.
\n", - "There are four types of cells.
\n", - "The first type is called \"Code\", which is the default type, as the above two cells.
\n", - "This is a second type cell called \"Markdown\", which is used for explanatory texts.
\n", - "The type of any cell is shown on the toolbar under the menu bar (right-side). You can change the type of a cell from this pulldown menu.
\n", - "You can also determine the type by clicking on the menu item \"Cell\", and then the subitem \"Cell Type\".
\n", - "\n", - "You can write HTML and LaTex code here.
\n", - "Here we have very basic HTML codes: making the texts bold, italic, or underline, and inserting line breaks.\n", - "\n", - "By double clicking on this cell, you can see the code.
\n", - "By execucting this cell, you see the result text." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " This is the fourth cell.\n", - "
\n", - "Its type is also \"Markdown\".\n", - "\n", - "LaTex is used to show mathematical expressions, formulas, etc. \n", - "\n", - "For example, $ x^2 + y ^ 2 = \\frac{4}{9} $, $ \\sum_{i=1}^n (i+2)^{3} $, or $ \\left( \\begin{array}{rr} 1 & 0 & -1 \\\\ 2 & -2 & 0 \\\\ 3 & -1 & -2 \\end{array} \\right) $.\n", - "\n", - "By double clicking on this cell, you can see the code.
\n", - "By executing/running this cell, you can see the result text." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Self Practice

\n", - "
    \n", - "
  1. Please insert a new cell between this first and second cells. \n", - "
      \n", - "
    • Change its type to \"Markdown\".
    • \n", - "
    • Write down \"This is the 1.5th cell\" and some random text (Hello world, your name and surname, etc.).
    • \n", - "
    • Run it and check the result.
    • \n", - "
    \n", - "
  2. \n", - "
  3. Please insert a new cell between two markdown cells above.\n", - "
      \n", - "
    • Write as a comment \"# This is the 3.5th cell\".\n", - "
    • Use it as a \"Code\" cell. (By default, it is a code cell.)
    • \n", - "
    • Write a single line python code, e.g., print(\"hello world :-\")
    • \n", - "
    • Run your code.
    • \n", - "
    \n", - "
  4. \n", - "
  5. Cut the cell having the text \"This is the 1.5th cell\", and insert (paste) it after the cell having the text \"This is the 3.5th cell\".
  6. \n", - "
  7. Cut these two cells (\"1.5th and 3.5th\") together, and insert (paste) them as the top cells.
  8. \n", - "
  9. Delete the cell having the text \"This is the 1.5th cell\".
  10. \n", - "
  11. Reposition the cell having the text \"This is the 3.5th cell\" to its previous place.
  12. \n", - "
\n", - " " - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B04_hello_from_quantum_world-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B04_hello_from_quantum_world-checkpoint.ipynb deleted file mode 100755 index 2840b4698..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B04_hello_from_quantum_world-checkpoint.ipynb +++ /dev/null @@ -1,535 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 02, 2018\n", - "
\n", - "
I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
\n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Hello From Quantum World

\n", - "\n", - "This is our test file. \n", - "\n", - "Please run each cell one by one." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Sqaure brackets on the left sides of the code cells

\n", - "\n", - "
    \n", - "
  • Each pair of the brackets shows the execution counter of the cell.
  • \n", - "
  • If the cell has not been executed, the inside of the brackets is empty.
  • \n", - "
  • When the code cell is still running, there appears a single star inside the brackets [*].
  • \n", - "
  • When the execution is finished, there appears a number inside the brackets [number].
  • \n", - "
  • A cell can be executed many times. Each time it takes a new number (in increasing order).
  • \n", - "
\n", - "\n", - "The execution of a cell may take a few miliseconds, a few seconds, a few minutes, or much longer time.\n", - "\n", - " Therefore, you may not see any outcome until [*] is changed to [number]." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Python Test

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# I am a comment in python\n", - "\n", - "print(\"Hello From Quantum World :-)\")\n", - "\n", - "# please run me" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Quantum Circuit Test

\n", - "\n", - "Our quantum programs are designed as quantum curcits. \n", - "\n", - "Explanations will appear in the main tutorial.\n", - "\n", - "

We create a very simple quantum circuit

\n", - "\n", - "Please run the cell below, and wait until the execution is completed.\n", - "\n", - "Remark that we call a function or an object from a module in python as\n", - " \n", - "from module-name import function-name\n", - " \n", - "from module-name import object-name\n", - "" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - "from random import randrange\n", - "\n", - "# Create my circuit and register objects\n", - "qreg = QuantumRegister(2) # my quantum register\n", - "creg = ClassicalRegister(2) # my classical register \n", - "circuit = QuantumCircuit(qreg,creg) # my quantum circuit\n", - "\n", - "# let's apply a Hadamard gate to the first qubit\n", - "\n", - "circuit.h(qreg[0])\n", - "\n", - "# let's set the second qubit to |1>\n", - "circuit.x(qreg[1])\n", - "\n", - "# let's apply CNOT(first_qubit,second_qubit)\n", - "circuit.cx(qreg[0],qreg[1])\n", - "\n", - "# let's measure the both qubits\n", - "circuit.measure(qreg,creg)\n", - "\n", - "print(\"The execution was completed, and the circuit was created :)\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

We execute the circuit (our program) 1024 times in the local simulator

\n", - "\n", - "Each execution may have a different outcome (?).\n", - "\n", - "In our simple program, we expect to observe either 01 or 10 as the outcome in a single execution. \n", - "\n", - "We print the measurement results. \n", - "\n", - "Thus, we will see how many times '01' is observed and how many times '10' is observed.\n", - "\n", - "You may execute this cell a few times, and check the outcomes in each case." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "## execute the circuit 100 times\n", - "job = execute(circuit,Aer.get_backend('qasm_simulator'),shots=1024)\n", - "# get the result\n", - "counts = job.result().get_counts(circuit)\n", - "print(counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Draw the circuit

\n", - "\n", - "We can draw our circuit. \n", - "\n", - "If the circuit does not appear in the first run, please re-run the cell." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit.tools.visualization import matplotlib_circuit_drawer as drawer\n", - "# draw the overall circuit \n", - "drawer(circuit)\n", - "# re-execute me if you DO NOT see the circuit diagram" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

IBMQ Test

\n", - "\n", - " The remaining part requires internet connection.\n", - "\n", - "We will execute our test circuit on IBM simulator, and then on one of IBM real qauntum computers.\n", - "\n", - " Please wait the execution of each cell to be completed, before executing the next cell." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Save your API on the disk

\n", - "\n", - "Please write YOUR IBM API TOKEN in the following cell, and then run the cell.\n", - "\n", - "(The instruction is given at the end of section \"Testing: First Program\" in the file bronze-start.html\n", - "\n", - "Once your YOUR IBM API TOKEN is saved on the disk, it can be directly used later." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit import IBMQ\n", - "\n", - "IBMQ.save_account('write YOUR IBM API TOKEN here')\n", - "\n", - "# Then, execute this cell" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

See the stored account(s)

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "IBMQ.stored_accounts()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Load our account(s)

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "IBMQ.load_accounts()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

See the active account(s)

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "IBMQ.active_accounts()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

See available backends

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "IBMQ.backends()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

See the currently operational real quantum computer(s)

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "IBMQ.backends(operational=True, simulator=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

See the least busy real quantum computer

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit.backends.ibmq import least_busy\n", - "least_busy(IBMQ.backends(simulator=False))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

IBMQ simulator

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Use the simulator as backend

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "backend = least_busy(IBMQ.backends(simulator=True))\n", - "\n", - "backend.name()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Create a job for the backend

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from qiskit import compile\n", - "\n", - "qobj = compile(circuit, backend=backend, shots=1024)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Execute this job on the simulator

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "job = backend.run(qobj)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Check the result

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "result = job.result()\n", - "counts = result.get_counts()\n", - "print(counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

IBMQ real quantum computers (Optional)

\n", - "\n", - "Please read the following part to see IBM's policy for usage for the prototype real quantum computers. [accessed on October 28, 2018]\n", - "

\n", - "
\n", - " Frequently Asked Questions\n", - "
\n", - "https://quantumexperience.ng.bluemix.net/proxy/tutorial/full-user-guide/000-FAQ/000-Frequently_Asked_Questions.html\n", - "\n", - "How many experiments can I run?\n", - "\n", - "You can run as many experiments as you have Units to run; each experiment execution requires between 3 and 5 Units. No Units are required to perform simulations or to recall results of an experiment that was run previously.\n", - "\n", - "What happens when I run out of Units?\n", - "\n", - "You can still run simulations or recall the result of the experiments that have been run previously, but you must wait for the Units to replenish, which happens either once your execution has run off the queue, or 24 hours, whichever is greater.\n", - "
\n", - "\n", - "You can check your Units in your IBM Q Experience account (My Account > Advanced). " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Use the least busy real machine as backend

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "backend_real = least_busy(IBMQ.backends(simulator=False))\n", - "\n", - "backend_real.name()\n", - "\n", - "backend_real.status()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Execute the same job on a real machine

\n", - "\n", - "Depending on the number of pending jobs, it might take for a while to execute our job on the real machine.\n", - "\n", - " If you do not have enough Units, you should wait for 24 hours to execute your quantum program on a real machine. \n", - "\n", - " But, this would not be a problem to complete Bronze, because we use the local simulator for our tasks. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "qobj_real = compile(circuit, backend=backend_real, shots=1024)\n", - "\n", - "job_real = backend_real.run(qobj_real)\n", - "\n", - "job_real.queue_position()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Check the result

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "result_real = job_real.result()\n", - "counts_real = result_real.get_counts()\n", - "print(counts_real)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " You may finish this notebook before getting the outcomes, if it seems to take long time.\n", - "\n", - "You may observe more than two outcomes, different than the simulators. \n", - "\n", - "The expected outcomes '01' and '10' can still be observed more frequently, but we may also observe the unexpected outcomes '00' and '11'. Because, even after a single operation, the prototype quantum computers introduce some errors." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B06_Python_Quick_Reference-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B06_Python_Quick_Reference-checkpoint.ipynb deleted file mode 100755 index 51d166c53..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B06_Python_Quick_Reference-checkpoint.ipynb +++ /dev/null @@ -1,789 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 09, 2018\n", - "
\n", - "
I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
\n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Python: Quick Reference

\n", - "
\n", - "\n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Variables

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "number = 5 # integer\n", - "real = -3.4 # float\n", - "\n", - "name = 'Asja' # string\n", - "surname = \"Sarkana\" # string\n", - "\n", - "boolean1 = True # Boolean \n", - "boolean1 = False # Boolean " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Arithmetic operators

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Basic operators

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "a = 13\n", - "b = 5\n", - "print(\"a =\",a)\n", - "print(\"b =\",b)\n", - "print()\n", - "\n", - "# basics operators\n", - "print(\"a + b =\",a+b)\n", - "print(\"a - b =\",a-b)\n", - "print(\"a * b =\",a*b)\n", - "print(\"a / b =\",a/b)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Integer division and modulus operators

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "a = 13\n", - "b = 5\n", - "print(\"a =\",a)\n", - "print(\"b =\",b)\n", - "print()\n", - "\n", - "# integer division\n", - "print(\"a//b =\",a//b)\n", - "\n", - "# modulus operator\n", - "print(\"a mod b =\",a % b)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Exponent operator

\n", - "\n", - "number\\*\\*exponent" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "b = 5\n", - "print(\"b =\",b)\n", - "print()\n", - "\n", - "print(\"b*b =\",b**2)\n", - "print(\"b*b*b =\",b**3)\n", - "print(\"sqrt(b)=\",b**0.5)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Objects

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Lists

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# list\n", - "mylist = [10,8,6,4,2] \n", - "\n", - "print(mylist)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Tuple

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# tuple\n", - "mytuple=(1,4,5,'Asja') \n", - "\n", - "print(mytuple)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Dictionary

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# dictionary\n", - "mydictionary = {\n", - " 'name' : \"Asja\",\n", - " 'surname':'Sarkane',\n", - " 'age': 23\n", - "}\n", - "\n", - "print(mydictionary)\n", - "\n", - "print(mydictionary['surname'])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

List of the other objects or variables

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# list of the other objects or variables\n", - "list_of_other_objects =[\n", - " mylist,\n", - " mytuple,\n", - " 3,\n", - " \"Asja\",\n", - " mydictionary\n", - "]\n", - "\n", - "print(list_of_other_objects)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Size of an object

\n", - "\n", - "We use the method \"len()\" that takes an object as the input." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# length of a string\n", - "print(len(\"Asja Sarkane\"))\n", - "\n", - "# size of a list\n", - "print(len([1,2,3,4]))\n", - "\n", - "# size of a dictionary\n", - "mydictionary = { 'name' : \"Asja\", 'surname':'Sarkane', 'age': 23}\n", - "print(len(mydictionary))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Loops

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

While-loop

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "i = 10\n", - "while i>0: # while condition(s):\n", - " print(i)\n", - " i = i - 1 " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

For-loop

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for i in range(10): # i is in [0,1,...,9]\n", - " print(i)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for i in range(-5,6): # i is in [-5,-4,...,0,...,4,5]\n", - " print(i)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for i in range(0,23,4): # i is in [0,4,8,12,16,20]\n", - " print(i)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for i in [3,8,-5,11]: \n", - " print(i)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for i in \"Sarkane\":\n", - " print(i)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# dictionary\n", - "mydictionary = {\n", - " 'name' : \"Asja\",\n", - " 'surname':'Sarkane',\n", - " 'age': 23,\n", - "}\n", - "\n", - "for key in mydictionary:\n", - " print(\"key is\",key,\"and its value is\",mydictionary[key])" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Conditionals

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "for a in range(4,7):\n", - " \n", - " # if condition(s)\n", - " if a<5: \n", - " print(a,\"is less than 5\")\n", - " \n", - " # elif conditions(s)\n", - " elif a==5: \n", - " print(a,\"is equal to 5\")\n", - " \n", - " # else\n", - " else:\n", - " print(a,\"is greater than 5\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Logical and Boolean operators

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Logical operator \"and\"

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Logical operator \"and\"\n", - "i = -3\n", - "j = 4\n", - "if i<0 and j > 0: \n", - " print(i,\"is negative AND\",j,\"is positive\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Logical operator \"or\"

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Logical operator \"or\"\n", - "i = -2\n", - "j = 2\n", - "if i==2 or j == 2: \n", - " print(\"i OR j is 2: (\",i,\",\",j,\")\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Logical operator \"not\"

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Logical operator \"not\"\n", - "i = 3\n", - "if not (i==2):\n", - " print(i,\"is NOT equal to 2\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Operator \"equal to\"

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Operator \"equal to\"\n", - "i = -1\n", - "if i == -1:\n", - " print(i,\"is EQUAL TO -1\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Operator \"not equal to\"

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Operator \"not equal to\"\n", - "i = 4\n", - "if i != 3:\n", - " print(i,\"is NOT EQUAL TO 3\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Operator \"less than or equal to\"

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Operator \"not equal to\"\n", - "i = 2\n", - "if i <= 5:\n", - " print(i,\"is LESS THAN OR EQUAL TO 5\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Operator \"greater than or equal to\"

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Operator \"not equal to\"\n", - "i = 5\n", - "if i >= 1:\n", - " print(i,\"is GREATER THAN OR EQUAL TO 3\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Double list

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "A =[\n", - " [1,2,3],\n", - " [-2,-4,-6],\n", - " [3,6,9]\n", - "]\n", - "\n", - "# print all\n", - "print(A)\n", - "print()\n", - "\n", - "# print list by list\n", - "for list in A:\n", - " print(list)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

List operations

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Concatenation of two lists

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "list1 = [1,2,3]\n", - "list2 = [4,5,6]\n", - "\n", - "#concatenation of two lists\n", - "\n", - "list3 = list1 + list2\n", - "print(list3)\n", - "\n", - "list4 = list2 + list1\n", - "print(list4)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Appending a new element

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "list = [0,1,2]\n", - "\n", - "list.append(3)\n", - "print(list)\n", - "\n", - "list = list + [4]\n", - "print(list)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Functions

" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def summation_of_integers(n):\n", - " summation = 0\n", - " for integer in range(n+1):\n", - " summation = summation + integer\n", - " return summation\n", - "\n", - "print(summation_of_integers(10))\n", - "print(summation_of_integers(20))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "\n", - "

Random number

\n", - "\n", - "We can use method \"randrange()\"." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from random import randrange\n", - "\n", - "print(randrange(10),\"is picked randomly between 0 and 9\")\n", - " \n", - "print(randrange(-9,10),\"is picked randomly between -9 and 9\")\n", - "\n", - "print(randrange(0,20,3),\"is picked randomly from the list [0,3,6,9,12,15,18]\")" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B24_One_Bit-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B24_One_Bit-checkpoint.ipynb deleted file mode 100755 index f95288289..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B24_One_Bit-checkpoint.ipynb +++ /dev/null @@ -1,539 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 07, 2018\n", - "
\n", - "
I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
\n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

One Bit

\n", - "\n", - "In daily life, we use decimal number system. It is also called base-10 system, because we have 10 digits:\n", - "\n", - "$ 0,~1,~2,~3,~4,~5,~6,~7,~8, \\mbox{ and } 9 $.\n", - "\n", - "In computer science, on the other hand, the widely used system is binary, which has only two digits:\n", - "\n", - "$ 0 $ and $ 1 $.\n", - "\n", - "One bit (or binary digit) is the basic unit of information used in computer science. \n", - "\n", - "It can also be seen as the smallest \"useful\" memory unit, which has two states named 0 and 1. \n", - "\n", - "One bit can be in (or store) either 0 or 1." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Four operators

\n", - "\n", - "How many different operators can be defined on a single bit?\n", - "\n", - "An operator, depending on the current state of the bit, updates the state of bit (the result may be the same state). \n", - "\n", - "We can apply four different operators to a single bit:\n", - "
    \n", - "
  1. Identity: $ I(0) = 0 $ and $ I(1) = 1 $
  2. \n", - "
  3. Negation: $ NOT(0) = 1 $ and $ NOT(1) = 0 $
  4. \n", - "
  5. Constant (Zero): $ ZERO(0) = 0 $ and $ ZERO(1) = 0 $
  6. \n", - "
  7. Constant (One): $ ONE(0) = 1 $ and $ ONE(1) = 1 $
  8. \n", - "
\n", - "The first operator is called IDENTITY, because it does not change the content/value of the bit.\n", - "\n", - "The second operator is named NOT, bacause it negates (flips) the value of bit. \n", - "\n", - "Remark that 0 and 1 also refers to Boolean values False and True, respectively, and, False is the negation of True, and True is the negation of False.\n", - "\n", - "The third (resp., fourth) operator returns a constant value 0 (resp., 1), whatever the input is." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Table representation

\n", - "\n", - "Let's represent the transition of each operator by a table. \n", - "\n", - "In each table,\n", - "
    \n", - "
  • the header (first row) representing the initial values,
  • \n", - "
  • the first column representing the final values,
  • \n", - "
  • we use 1 if there is a transition between two values, and,
  • \n", - "
  • we use 0 if there is no transition between two values.
  • \n", - "
\n", - "\n", - "The table representation of the identity operator is given below:\n", - "\n", - "$\n", - "I = \\begin{array}{c|cc} & \\mathbf{0} & \\mathbf{1} \\\\ \\hline \\mathbf{0} & 1 & 0 \\\\ \\mathbf{1} & 0 & 1 \\end{array}\n", - "$\n", - "\n", - "The values in bold are the initial and final values of the bits. The non-bold values represent the transitions.\n", - "
    \n", - "
  • The top-left non-bold 1 represents the transtion $ 0 \\rightarrow 0 $.
  • \n", - "
  • The bottom-right non-bold 1 represents the transtion $ 1 \\rightarrow 1 $.
  • \n", - "
  • The top-right non-bold 0 means that there is no transition from 1 to 0.
  • \n", - "
  • The bottom-left non-bold 0 means that there is no transition from 0 to 1.
  • \n", - "
\n", - "The reader may think the values 0 and 1 representing the transitions as True (On) and False (Off), respectively. \n", - "\n", - "Similarly, we can represent the other operators as below:\n", - "\n", - "$\n", - "NOT = \\begin{array}{c|cc} & \\mathbf{0} & \\mathbf{1} \\\\ \\hline \\mathbf{0} & 0 & 1 \\\\ \\mathbf{1} & 1 & 0 \\end{array}\n", - "~~~~~~~~\n", - "ZERO = \\begin{array}{c|cc} & \\mathbf{0} & \\mathbf{1} \\\\ \\hline \\mathbf{0} & 1 & 1 \\\\ \\mathbf{1} & 0 & 0 \\end{array}\n", - "~~~~~~~~\n", - "ONE = \\begin{array}{c|cc} & \\mathbf{0} & \\mathbf{1} \\\\ \\hline \\mathbf{0} & 0 & 0 \\\\ \\mathbf{1} & 1 & 1 \\end{array}\n", - ".\n", - "$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Task 1

\n", - "\n", - "Convience yourself with the correctness of each table." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Reversibility and Irreversibility

\n", - "\n", - "After applying Identity or NOT operatotor, we can easily determine the initial value by checking the final value. \n", - "
    \n", - "
  • In the case of Identity operator, we simply say the same value.
  • \n", - "
  • In the case of NOT operator, we simply say the other value, i.e., if the final value is 0 (resp., 1), then we say 1 (resp., 0).
  • \n", - "
\n", - "\n", - "However, we cannot know the initial value by checking the final value after applying ZERO or ONE operator. \n", - "\n", - "Based on this observation, we can classify the operators into two types: Reversible and Irreversible.\n", - "
    \n", - "
  • If we can recover the initial value(s) from the final value(s), then the operator is called reversible like Identity and NOT operators.
  • \n", - "
  • If we cannot know the initial value(s) from the final value(s), then the operator is called irreversible like ZERO and ONE operators.
  • \n", - "
\n", - "\n", - " This classification is important, because, as will be seen later, the quantum evolution operators are reversible. \n", - "\n", - "The identity operator does not have any affect on the computation, and so it is not interesting.\n", - "\n", - "But we will widely use NOT operator in our quantum algortihms. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Our first quantum circuit

\n", - "\n", - "For our quantum programs, we will design quantum circuits.\n", - "\n", - "As a warm-up example, here we design a circuit with a single quantum bit.\n", - "\n", - "We also highlight the details on designing quantum circuits along with our codes." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# \n", - "# A quantum circuit is composed by quantum and classical bits.\n", - "#\n", - "\n", - "# here are the objects that we use to create a quantum circuit\n", - "from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit\n", - "\n", - "# we use a quantum register to keep our quantum bits.\n", - "qreg = QuantumRegister(1) # in this example we will use a single quantum bit\n", - "\n", - "# To get an information from a quantum bit, it must be measured. (More details will appear.)\n", - "# The measurement result is stored classically.\n", - "# Therefore, we also use a classical regiser with classical bits\n", - "creg = ClassicalRegister(1) # in this example we will use a single classical bit\n", - "\n", - "# now we can define our quantum circuit\n", - "# it is composed by a quantum and a classical register\n", - "mycircuit = QuantumCircuit(qreg,creg)\n", - "\n", - "# we apply operators on quantum bits\n", - "# operators are also called as gates\n", - "# we apply NOT operator represented as \"x\"\n", - "# operator is a part of the circuit, and we should specify the quantum bit as the parameter\n", - "mycircuit.x(qreg[0]) # (quantum) bits are enumerated starting from 0\n", - "# NOT operator or x-gate is applied to the first qubit of the quantum register\n", - "\n", - "# let's run our codes until now, and then draw our circuit\n", - "print(\"Everything looks fine, let's continue ...\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# we use matplotlib_circuit_drawer\n", - "# we shortly refer it as \"drawer\" in our codes\n", - "from qiskit.tools.visualization import matplotlib_circuit_drawer as drawer\n", - "\n", - "# let's draw our circuit now \n", - "drawer(mycircuit)\n", - "# re-execute me if you DO NOT see the circuit diagram" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Congratulations! if you see your diagram :-)\n", - "\n", - " Remak: Qiskit has its own counters to enumerate the objects ($ q2_0 $, $ c2_0 $, etc.). \n", - "
    \n", - "
  • They might be useful for debugging, but currently you can simply discard this part.\n", - "
  • You may also notice that when you re-run the same codes, the index of objects will be increased.\n", - "
\n", - "\n", - "The value of the quantum bit is 0 at the beginning. Technically, we denote is as $ \\ket{0} $, called ket-notation.\n", - "\n", - "The value of the classical bit is also 0 at the beginning. \n", - "\n", - "Classical or quantum, each bit is represented as a straight line. You may think of it as a wire.\n", - "\n", - "The x-gate is shown as a square.\n", - "\n", - "The value of the quantum bit is expected to be $ \\ket{1} $ after the operator.\n", - "\n", - "Let's measure the first qubit (define a mesurement operator), and then execute our circuit and see the result." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# measurement is defined by associating a quantum bit to a classical bit\n", - "mycircuit.measure(qreg[0],creg[0])\n", - "# the result will be stored in the classical bit\n", - "\n", - "print(\"Everything looks fine, let's continue ...\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# let's draw the circuit again to see how the measurement is defined\n", - "drawer(mycircuit)\n", - "# reexecute me if you DO NOT see the circuit diagram" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# we are done with design of our circuit\n", - "# now we can execute it\n", - "# we execute quantum circuits many times (WHY?)\n", - "\n", - "# we use method \"execute\" and object \"Aer\" from qiskit library\n", - "from qiskit import execute, Aer\n", - "\n", - "# we create a job object for execution of the circuit\n", - "# there are three parameters\n", - "# 1. mycircuit\n", - "# 2. beckend on which it will be executed: we will use local simulator\n", - "# 3. how_many_times will it be executed, let's pick it as 1024\n", - "job = execute(mycircuit,Aer.get_backend('qasm_simulator'),shots=1024)\n", - "\n", - "# we can get the result of the outcome as follows\n", - "counts = job.result().get_counts(mycircuit)\n", - "print(counts)\n", - "\n", - "# usually quantum programs produce probabilistic outcomes " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We expect to see 1 in each execution, and so the output should be $ \\{\\mbox{'1'}:~1024\\} $. \n", - "\n", - "That is, the outcome 1 is measured 1024 times.\n", - "\n", - "The output is composed by pairs, and each pair showing the measurement outcome and how many times it was measured. \n", - "
\n", - "For example, if the output is $ \\{\\mbox{'0': 500, '1': 524}\\} $, then we know that the outcome 0 is measured 500 times and the outcome 1 is measured 524 times. \n", - "\n", - " Quantum programs usually give probabilistic outcomes. \n", - " \n", - "Therefore, we should execute them many times to get more reliable outcomes. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

My second quantum circuit

\n", - "\n", - "Let's create a quantum circuit with four quantum bits. \n", - "\n", - "We use almost the same code with small modifications. \n", - "\n", - "Our comments explain only the modifications." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# \n", - "# My second quantum circuit\n", - "#\n", - "\n", - "# we import all at once\n", - "from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - "from qiskit.tools.visualization import matplotlib_circuit_drawer as drawer\n", - "\n", - "# we will use 4 quantum bits and 4 classical bits\n", - "qreg2 = QuantumRegister(4)\n", - "creg2 = ClassicalRegister(4)\n", - "\n", - "mycircuit2 = QuantumCircuit(qreg2,creg2)\n", - "\n", - "# I will apply x-gate to the first quantum bit twice\n", - "mycircuit2.x(qreg2[0])\n", - "mycircuit2.x(qreg2[0])\n", - "\n", - "# I will apply x-gate to the fourth quantum bit once\n", - "mycircuit2.x(qreg2[3])\n", - "\n", - "# I will apply x-gate to the third quantum bit three times\n", - "mycircuit2.x(qreg2[2])\n", - "mycircuit2.x(qreg2[2])\n", - "mycircuit2.x(qreg2[2])\n", - "\n", - "# I will apply x-gate to the second quantum bit four times\n", - "mycircuit2.x(qreg2[1])\n", - "mycircuit2.x(qreg2[1])\n", - "mycircuit2.x(qreg2[1])\n", - "mycircuit2.x(qreg2[1])\n", - "\n", - "# if the size of quantum and classical registers are the same, we can define measurements with a single line code\n", - "mycircuit2.measure(qreg2,creg2)\n", - "# then each quantum bit and classical bit is associated with respect to their indices\n", - "\n", - "# let's run our codes until now, and then draw our circuit\n", - "\n", - "print(\"Everything looks fine, let's continue ...\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "drawer(mycircuit2)\n", - "# re-execute me if you DO NOT see the circuit diagram" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Task 2

\n", - "\n", - "Guess the outcome by checking the circuit.\n", - "\n", - "Then, compare your guess with the result obtained after executing our circuit 500 times." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "job = execute(mycircuit2,Aer.get_backend('qasm_simulator'),shots=500)\n", - "counts = job.result().get_counts(mycircuit2)\n", - "print(counts)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

An important technical note:

\n", - "\n", - "In Qiskit the outcomes are read from the classical register bottom to top \n", - "$$ creg[3],~creg[2],~creg[1],~creg[0] $$\n", - "and so, we see the reverse of what we expected. \n", - "\n", - "If you think the overall output as a single number, then it is assumed that the upper bits are the least significant bits." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Reverse the output

\n", - "\n", - "Let's write a method to print the reverse the outcomes as we expected.\n", - "\n", - "You may use this method later." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "def print_outcomes(counts): # takes a dictionary variable\n", - " for outcome in counts: # for each key-value in dictionary\n", - " reverse_outcome = ''\n", - " for i in outcome: # each string can be considered as a list of characters\n", - " reverse_outcome = i + reverse_outcome # each new symbol comes before the old symbol(s)\n", - " print(reverse_outcome,\"is observed\",counts[outcome],\"times\")\n", - "\n", - "job = execute(mycircuit2,Aer.get_backend('qasm_simulator'),shots=1024)\n", - "counts = job.result().get_counts(mycircuit2) # counts is a dictionary object in python\n", - "print_outcomes(counts)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Pick a random number

\n", - "\n", - "In your first circuit design task, you will be asked to apply x-gate randomly.\n", - "\n", - "Here is one of the method to pick a random number in python." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from random import randrange\n", - "n = 20\n", - "r=randrange(n) # pick a number from the list {0,1,...,n-1}\n", - "print(r)\n", - "\n", - "# test this method by using a loop\n", - "for i in range(10):\n", - " print(randrange(n))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Task 3

\n", - "\n", - "Design a quantum circuit with 10 quantum bits and 10 classical bits.\n", - "\n", - "For each quantum bit, flip a coin, and apply x-gate if the outcome is head.\n", - "\n", - "Measure your quantum bits.\n", - "\n", - "Execute your circuit 128 times.\n", - "\n", - "Repeat this task as mush as you want, and enjoy your random choices." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#\n", - "# your solution is here\n", - "#\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B26_Coin_Flip-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B26_Coin_Flip-checkpoint.ipynb deleted file mode 100755 index a124c87b4..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B26_Coin_Flip-checkpoint.ipynb +++ /dev/null @@ -1,212 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 07, 2018\n", - "
\n", - "
I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
\n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Coin Flip: A Probabilistic Bit

\n", - "\n", - "

A fair coin

\n", - "\n", - "A coin has two sides: Head and Tail.\n", - "\n", - "After flipping a coin, we can get a Head or Tail. We can represent these two cases by a single bit:\n", - "
    \n", - "
  • 0 represents Head
  • \n", - "
  • 1 represents Tail
  • \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Flipping a fair coin

\n", - "\n", - "If our coin is fair, then the probability of obtaining a Head or Tail is equal:\n", - "\n", - "$ p= \\dfrac{1}{2} = 0.5 $.\n", - "\n", - "Coin-flipping can be defined as an operator:\n", - "
    \n", - "
  • $ FairCoin(Head) = \\frac{1}{2} Head + \\frac{1}{2}Tail $
  • \n", - "
  • $ FairCoin(Tail) = \\frac{1}{2} Head + \\frac{1}{2}Tail $
  • \n", - "
\n", - "$\n", - "FairCoin = \\begin{array}{c|cc} & \\mathbf{Head} & \\mathbf{Tail} \\\\ \\hline \\mathbf{Head} & \\dfrac{1}{2} & \\dfrac{1}{2} \\\\ \\mathbf{Tail} & \\dfrac{1}{2} & \\dfrac{1}{2} \\end{array}\n", - "$\n", - "\n", - "Or, by using 0 and 1:\n", - "\n", - "$\n", - "FairCoin = \\begin{array}{c|cc} & \\mathbf{0} & \\mathbf{1} \\\\ \\hline \\mathbf{0} & \\dfrac{1}{2} & \\dfrac{1}{2} \\\\ \\mathbf{1} & \\dfrac{1}{2} & \\dfrac{1}{2} \\end{array}\n", - "$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Task 1: Simulating FairCoin in Python

\n", - "\n", - "Flip a fair coin 100 times. Calcuate the total number of heads and tails, and then compare them.\n", - "\n", - "Do the same experiment 1000 times.\n", - "\n", - "Do the same experiment 10,000 times.\n", - "\n", - "Do the same experiment 100,000 times.\n", - "\n", - "Do your results get close to the ideal case (the numbers of heads and tails are the same)?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# first we import a procedure for picking a random number\n", - "from random import randrange\n", - "# randrange(m) returns a number randomly from the list {0,1,...,m-1}\n", - "# randrange(10) returns a number randomly from the list {0,1,...,9}\n", - "# here is an example\n", - "r=randrange(5)\n", - "print(\"I picked a random number between 0 and 4, which is \",r)\n", - "\n", - "#\n", - "# your solution is here\n", - "#\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Flipping a biased coin

\n", - "\n", - "Our coin may have a bias. \n", - "\n", - "For example, the probability of getting head is greater than the probability of getting tail.\n", - "\n", - "Here is an example:\n", - "\n", - "$\n", - "BiasedCoin = \\begin{array}{c|cc} & \\mathbf{Head} & \\mathbf{Tail} \\\\ \\hline \\mathbf{Head} & 0.6 & 0.6 \\\\ \\mathbf{Tail} & 0.4 & 0.4 \\end{array}\n", - "$\n", - "\n", - "Or, by using 0 and 1 as the states:\n", - "\n", - "$\n", - "BiasedCoin = \\begin{array}{c|cc} & \\mathbf{0} & \\mathbf{1} \\\\ \\hline \\mathbf{0} & 0.6 & 0.6\\\\ \\mathbf{1} & 0.4 & 0.4 \\end{array}\n", - "$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Task 2: Simulating BiasedCoin in Python

\n", - "\n", - "Flip the following biased coin 100 times. Calcuate the total number of heads and tails, and then compare them.\n", - "\n", - "$\n", - "BiasedCoin = \\begin{array}{c|cc} & \\mathbf{Head} & \\mathbf{Tail} \\\\ \\hline \\mathbf{Head} & 0.6 & 0.6 \\\\ \\mathbf{Tail} & 0.4 & 0.4 \\end{array}\n", - "$\n", - "\n", - "\n", - "Do the same experiment 1000 times.\n", - "\n", - "Do the same experiment 10,000 times.\n", - "\n", - "Do the same experiment 100,000 times.\n", - "\n", - "Do your results get close to the ideal case $ \\mypar{ \\dfrac{ \\mbox{# of heads} }{ \\mbox{# of tails} } = \\dfrac{0.6}{0.4} = 1.50000000 } $?" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# first we import a procedure for picking a random number\n", - "from random import randrange\n", - "#\n", - "# your solution is here\n", - "#\n" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B28_Coin_Flip_Game-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B28_Coin_Flip_Game-checkpoint.ipynb deleted file mode 100755 index a882167c3..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B28_Coin_Flip_Game-checkpoint.ipynb +++ /dev/null @@ -1,221 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 07, 2018\n", - "
\n", - "
I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
\n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

A Game with two biased coins

\n", - "\n", - "Your friend Asja has one euro and one cent. \n", - "\n", - "Both coins are biased, and the probabilities of getting heads and tails are as follows:\n", - "
    \n", - "
  • one euro: head with probability $ 0.6 $ and tail with probability $ 0.4 $.
  • \n", - "
  • one cent: head with probability $ 0.3 $ and tail with probability $ 0.7 $.
  • \n", - "
\n", - "\n", - "Asja flips her coins based on the following protocol: \n", - "
    \n", - "
  1. she starts with flipping one euro,
  2. \n", - "
  3. whenever she gets a head, she flips one euro, and
  4. \n", - "
  5. whenever she gets a tail, she flips one cent.
  6. \n", - "
\n", - "\n", - "By using a single bit, we summarize all possible transitions of this game as follows:\n", - "\n", - "$\n", - "GameCoins = \\begin{array}{c|cc} & \\mathbf{Head} & \\mathbf{Tail} \\\\ \\hline \\mathbf{Head} & 0.6 & 0.3\\\\ \\mathbf{Tail} & 0.4 & 0.7 \\end{array} = \\begin{array}{c|cc} & \\mathbf{0} & \\mathbf{1} \\\\ \\hline \\mathbf{0} & 0.6 & 0.3 \\\\ \\mathbf{1} & 0.4 & 0.7 \\end{array}\n", - "$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Task 1: Convience yourself

\n", - "\n", - "Please convience yourself about the correctness of transitions given in the table.\n", - "\n", - " Remark that there is no difference between getting head from one euro or getting head from one cent.\n", - " \n", - "Therefore, one bit is enough to represent all transitions.\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Tracing Asja's three coin tosses

\n", - "\n", - "Suppose that Asja secretly tosses her coins based on the defined protocol.\n", - "\n", - "By using python, we can calculate the probabilities of Asja getting head and tail after three coin tosses.\n", - "\n", - "Remark: In the previous two tasks, the ideal ratio was easy to calculate. We did our experiments and compared our results with the ideal ratio. \n", - "\n", - "Here we will calculate the exact probabilities (the ideal ratio) by using python. (We will not do experiment.)\n", - "\n", - "\n", - "We present our solution step by step." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#\n", - "# OUR SOLUTION\n", - "#\n", - "\n", - "# initial case\n", - "# We assume that the probability of getting head is 1 at the beginning,\n", - "# because Asja will start with one euro.\n", - "prob_head = 1\n", - "prob_tail = 0\n", - "\n", - "\n", - "#\n", - "# first coin-flip\n", - "#\n", - "\n", - "# if the last result was head\n", - "new_prob_head_from_head = prob_head * 0.6\n", - "new_prob_tail_from_head = prob_head * 0.4\n", - "\n", - "# if the last result was tail\n", - "# we know that prob_tail is 0 at the beginning \n", - "# but we still keep these two lines to have the same code for each iteration\n", - "new_prob_head_from_tail = prob_tail * 0.3\n", - "new_prob_tail_from_tail = prob_tail * 0.7\n", - "\n", - "# update the probabilities at the end of coin toss\n", - "prob_head = new_prob_head_from_head + new_prob_head_from_tail\n", - "prob_tail = new_prob_tail_from_head + new_prob_tail_from_tail\n", - "\n", - "#\n", - "# second coin-flip\n", - "#\n", - "# we do the same calculations\n", - "\n", - "new_prob_head_from_head = prob_head * 0.6\n", - "new_prob_tail_from_head = prob_head * 0.4\n", - "\n", - "new_prob_head_from_tail = prob_tail * 0.3\n", - "new_prob_tail_from_tail = prob_tail * 0.7\n", - "\n", - "prob_head = new_prob_head_from_head + new_prob_head_from_tail\n", - "prob_tail = new_prob_tail_from_head + new_prob_tail_from_tail\n", - "\n", - "#\n", - "# third coin-flip\n", - "#\n", - "# we do the same calculations\n", - "\n", - "new_prob_head_from_head = prob_head * 0.6\n", - "new_prob_tail_from_head = prob_head * 0.4\n", - "\n", - "new_prob_head_from_tail = prob_tail * 0.3\n", - "new_prob_tail_from_tail = prob_tail * 0.7\n", - "\n", - "prob_head = new_prob_head_from_head + new_prob_head_from_tail\n", - "prob_tail = new_prob_tail_from_head + new_prob_tail_from_tail\n", - "\n", - "# print prob_head and prob_tail\n", - "print(\"the probability of getting head\",prob_head)\n", - "print(\"the probability of getting tail\",prob_tail)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Task 2: Tracing ten biased coin tosses

\n", - "\n", - "By using python, calculate the probabilities of Asja getting head and tail after 10 coin tosses.\n", - "\n", - "$\n", - "GameCoins = \\begin{array}{c|cc} & \\mathbf{Head} & \\mathbf{Tail} \\\\ \\hline \\mathbf{Head} & 0.6 & 0.3\\\\ \\mathbf{Tail} & 0.4 & 0.7 \\end{array} = \\begin{array}{c|cc} & \\mathbf{0} & \\mathbf{1} \\\\ \\hline \\mathbf{0} & 0.6 & 0.3 \\\\ \\mathbf{1} & 0.4 & 0.7 \\end{array}\n", - "$\n", - "\n", - "Please use a loop in your solution." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#\n", - "# your solution is here\n", - "#\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B32_Probabilistic_States-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B32_Probabilistic_States-checkpoint.ipynb deleted file mode 100755 index 895dbba0c..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B32_Probabilistic_States-checkpoint.ipynb +++ /dev/null @@ -1,260 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
\n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 07, 2018\n", - "
\n", - "
I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
\n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Probabilistic States

" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Suppose that Asja flips a fair coin secretly.\n", - "\n", - "Because we do not see the result, our information about the outcome will be probabilistic:\n", - "\n", - "$\\rightarrow$ The result is Head with probability $0.5$ and the result is Tail with probability $0.5$.\n", - "\n", - "If the coin has a bias $ \\dfrac{Pr(Head)}{Pr(Tail)} = \\dfrac{3}{1}$, then our information about the outcome is as follows:\n", - "\n", - "$\\rightarrow$ The result is Head with probability $ 0.75 $ and the result is Tail with probability $ 0.25 $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Solution: The probability of getting Head is three times of the probability of getting Tail.\n", - "
    \n", - "
  • The total probability is 1.
  • \n", - "
  • We divide 1 into four parts (three parts for Head and one part is for Tail),\n", - "
  • $ \\dfrac{1}{4} = 0.25$,
  • \n", - "
  • and then give three parts for Head ($0.75$) and one part for Tail ($0.25$).
  • \n", - "
" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Listing probabilities as a column

\n", - "\n", - "We have two different outcomes: Head (0) and Tail (1).\n", - "\n", - "Then, we can use a column of size 2 to hold the probabilities of getting Head and getting Tail.\n", - "\n", - "For the fair coin, our information after the coin-flip is $ \\myvector{0.5 \\\\ 0.5} $. \n", - "\n", - "For the biased coin, it is $ \\myvector{0.75 \\\\ 0.25} $.\n", - "\n", - "The first entry refers to the probability of getting Head, and the second entry refers to the probability of getting Tail.\n", - "\n", - " $ \\myvector{0.5 \\\\ 0.5} $ and $ \\myvector{0.75 \\\\ 0.25} $ are examples of 2-dimensional (column) vectors." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Task 1

\n", - "\n", - "Suppose that Balvis secretly flips a coin having bias $ \\dfrac{Pr(Head)}{Pr(Tail)} = \\dfrac{1}{4}$.\n", - "\n", - "Represent your information about the outcome as a column vector." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Task 2

\n", - "\n", - "Suppose that Fyodor secretly rolls a loaded (tricky) dice with the bias \n", - "\n", - "$$ Pr(1):Pr(2):Pr(3):Pr(4):Pr(5):Pr(6) = 7:5:4:2:6:1 . $$\n", - "\n", - "Represent your information on the result as a column vector. Remark that the size of your column should be 6.\n", - "\n", - "You may use python for your calculations." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#\n", - "# You may use python for your calculations.\n", - "#\n", - "all_portions = [7,5,4,2,6,1];\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

Vector representation

\n", - "\n", - "Suppose that we have a system with 4 distiguishable states: $ s_1 $, $s_2 $, $s_3$, and $s_4$. \n", - "\n", - "We expect the system to be in one of them at any moment. \n", - "\n", - "By using the language of probability, we can also say that the system is in one of the states with probability 1, and in any other state with probabilty 0. \n", - "\n", - "Then, by using our column representation, we can show each state as a column vector:\n", - "\n", - "$$\n", - " s_1 = \\myvector{1\\\\ 0 \\\\ 0 \\\\ 0}, s_2 = \\myvector{0 \\\\ 1 \\\\ 0 \\\\ 0}, s_3 = \\myvector{0 \\\\ 0 \\\\ 1 \\\\ 0}, \n", - " \\mbox{ and } s_4 = \\myvector{0 \\\\ 0 \\\\ 0 \\\\ 1}.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This representation helps us to represent our knowledge on a system when it is in more than one state with certain probabilities. \n", - "\n", - "Remember the case in which the coins are tossed secretly. \n", - "\n", - "For example, suppose that the system is in state $ s_1 $, $ s_2 $, $ s_3 $, and $ s_4 $ with probabilities $ 0.20 $, $ 0.25 $, $ 0.40 $, and $ 0.15 $, respectively. \n", - "\n", - "(The total probability should be 1, i.e. $ 0.20+0.25+0.40+0.15 = 1.00 $)\n", - "\n", - "Then, we can say that the system is in the following probabilistic state:\n", - "$$\n", - " \\myvector{ 0.20 \\\\ 0.25 \\\\ 0.40 \\\\ 0.15 },\n", - "$$\n", - "where the summation of entries must be 1." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " Thus, we can show all information as a single object. \n", - "\n", - "Nicely, this probabilistic state can also be written as the following summation:\n", - "\n", - "$$\n", - " 0.20 \\cdot \\myvector{1\\\\ 0 \\\\ 0 \\\\ 0} + 0.25 \\cdot \\myvector{0\\\\ 1 \\\\ 0 \\\\ 0} + 0.40 \\cdot \\myvector{0\\\\ 0 \\\\ 1 \\\\ 0} + 0.15 \\cdot \\myvector{0\\\\ 0 \\\\ 0 \\\\ 1} = \\myvector{0.20\\\\ 0 \\\\ 0 \\\\ 0} + \\myvector{0\\\\ 0.25 \\\\ 0 \\\\ 0} + \\myvector{0\\\\ 0 \\\\0.40 \\\\ 0} + \\myvector{0\\\\ 0 \\\\ 0 \\\\ 0.15 } = \\myvector{ 0.20 \\\\ 0.25 \\\\ 0.40 \\\\ 0.15 }.\n", - "$$\n", - "\n", - "Here we use two basic arithmetic rules about the vectors:\n", - "
    \n", - "
  1. when a vector is multiplied with a number, then each entry of the vector is multiplied with this number, and,
  2. \n", - "
  3. when two or more vectors are added up, the summation is done on the same entries." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 3

    \n", - "\n", - "Verify the following equality.\n", - "\n", - "$$\n", - " 2 \\cdot \\mymatrix{r}{1\\\\-2\\\\3\\\\0} - 3 \\cdot \\mymatrix{r}{0\\\\4\\\\1\\\\-1} = \\mymatrix{r}{2 \\\\ -16 \\\\ 3 \\\\ 3}\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 4

    \n", - "\n", - "For a system with 4 states, randomly create a probabilistic state, and print its entries, e.g., $ 0.16~~0.17~~0.02~~0.65 $.\n", - "\n", - "You may pick your random numbers between 0 and 100 (or 1000), and then divide each by 100 (or 1000) to represent it as a probability." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "from random import randrange\n", - "\n", - "#\n", - "# your solution is here\n", - "#\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B46_Quantum_State-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B46_Quantum_State-checkpoint.ipynb deleted file mode 100755 index 1f84b1b25..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B46_Quantum_State-checkpoint.ipynb +++ /dev/null @@ -1,212 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
    \n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 07, 2018\n", - "
    \n", - "
    I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
    \n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Quantum State

    \n", - "\n", - "The overall probability must be 1 when we observe a quantum system.\n", - "\n", - "For example, the following vectors cannot be a valid quantum state:\n", - "\n", - "$$\n", - " \\myvector{ \\frac{1}{2} \\\\ \\frac{1}{2} } \n", - " \\mbox{ and }\n", - " \\myvector{ \\frac{\\sqrt{3}}{2} \\\\ \\frac{1}{\\sqrt{2}} }.\n", - "$$\n", - "\n", - "For the first vector: the probabilities of observing the states $\\ket{0} $ and $ \\ket{1} $ are $ \\frac{1}{4} $. \n", - "\n", - "So, the overall probability of getting a result is $ \\frac{1}{4} + \\frac{1}{4} = \\frac{1}{2} $, which is less than 1.\n", - "\n", - "For the second vector: the probabilities of observing the states $\\ket{0} $ and $ \\ket{1} $ are respectively $ \\frac{3}{4} $ and $ \\frac{1}{2} $. \n", - "\n", - "So, the overall probability of getting a result is $ \\frac{3}{4} + \\frac{1}{2} = \\frac{5}{4} $, which is greater than 1." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The summation of amplitude squares must be 1 for a valid quantum state." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In other words, a quantum state can be represented by a vector having length 1, and vice versa.\n", - "\n", - "The summation of amplitude squares gives the square of the length of vector.\n", - "\n", - "But, this summation is 1, and its sqaure root is also 1. So, we directly use the term length in the defintion.\n", - "\n", - "We represent a quantum state as $ \\ket{u} $ instead of $ u $.\n", - "\n", - "Remember the relation between the length and inner product: $ \\norm{u} = \\sqrt{\\inner{u}{u}} $.\n", - "\n", - "In quantum computation, we use almost the same notation for the inner product: $ \\braket{u}{u}$.\n", - "\n", - "$ \\norm{ \\ket{u} } = \\sqrt{ \\braket{u}{u} } = 1 $, or equivalently $ \\braket{u}{u} = 1 $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 1

    \n", - "\n", - "Let $a$ and $b$ be real numbers.\n", - "\n", - "If the folllowing vectors are valid quantum states, then what can be the values of $a$ and $b$?\n", - "\n", - "$$\n", - " \\ket{v} = \\myrvector{a \\\\ -0.1 \\\\ -0.3 \\\\ 0.4 \\\\ 0.5}\n", - " ~~~~~ \\mbox{and} ~~~~~\n", - " \\ket{u} = \\myrvector{ \\frac{1}{\\sqrt{2}} \\\\ \\frac{1}{\\sqrt{b}} \\\\ -\\frac{1}{\\sqrt{3}} }.\n", - "$$" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#\n", - "# your code is here or you may find the values by hand (in mind)\n", - "#\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Quantum Operators

    \n", - "\n", - "Once the quantum state is defined, the definition of quantum operator is very easy.\n", - "\n", - "Any length preserving matrix is a quantum operator, and vice versa." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 2

    \n", - "\n", - "Remember Hadamard operator:\n", - "\n", - "$$\n", - " H = \\hadamard.\n", - "$$\n", - "\n", - "Let's randomly create a 2-dimensional quantum state, and test whether Hadamard operator preserves the length or not.\n", - "\n", - "Write a function that returns a randomly created 2-dimensional quantum state:\n", - "
      \n", - "
    • Pick a random value between 0 and 100
    • \n", - "
    • Divide it by 100
    • \n", - "
    • Take sqaure root of it
    • \n", - "
    • Randomly determine its sign ($+$ or $-$)
    • \n", - "
    • This is the first entry of the vector
    • \n", - "
    • Find an appropriate value for the second entry
    • \n", - "
    • Randomly determine its sign ($+$ or $-$)
    • \n", - "
    \n", - "\n", - "Write a function that determines whether a given vector is a valid quantum state or not.\n", - "\n", - "(Due to precision problem, the summation of squares may not be exactly 1 but very close to 1, e.g., 0.9999999999999998.)\n", - "\n", - "Repeat 10 times:\n", - "
      \n", - "
    • Randomly create a quantum state
    • \n", - "
    • Multiply Hadamard matrix with the randomly created quantum state
    • \n", - "
    • Check whether the result quantum state is valid
    • \n", - "
    " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#\n", - "# your solution is here\n", - "#\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B48_Superposition-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B48_Superposition-checkpoint.ipynb deleted file mode 100755 index 6c416fd35..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B48_Superposition-checkpoint.ipynb +++ /dev/null @@ -1,391 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
    \n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 07, 2018\n", - "
    \n", - "
    I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
    \n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Superposition

    \n", - "\n", - "There is no classical counterpart of the concept \"superposition\".\n", - "\n", - "But, we can still use a classical analogy that might help us to give some intuitions.\n", - "\n", - "

    Probability distribution

    \n", - "\n", - "Suppose that Asja starts in $ \\myvector{1\\\\0} $ and secretly applies the probabilistic operator $ \\mymatrix{cc}{ 0.3 & 0.6 \\\\ 0.7 & 0.4 } $.\n", - "\n", - "Because she applies her operator secretly, our information about her state is probabilistic, which is calculated as\n", - "\n", - "$$\n", - " \\myvector{0.3 \\\\ 0.7} = \\mymatrix{cc}{ 0.3 & 0.6 \\\\ 0.7 & 0.4 } \\myvector{1\\\\0}.\n", - "$$\n", - "\n", - "Asja is either in state 0 or in state 1.\n", - "\n", - "However, from our point of view, Asja is in state 0 and state 1 with probabilities $ 0.3 $ and $ 0.7 $, respectively.\n", - "\n", - "We can say that Asja in a probability distribution of states 0 and 1, being in both states at the same time.\n", - "\n", - "On the other hand, if we observe Asja's state, then our information about Asja becomes deterministic: either $ \\myvector{1 \\\\ 0} $ or $ \\myvector{0 \\\\ 1} $.\n", - "\n", - "We can say that after measurement the probabilistic state $ \\myvector{0.3 \\\\ 0.7} $ collapses to either $ \\myvector{1 \\\\ 0} $ or $ \\myvector{0 \\\\ 1} $.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    The third experiment

    \n", - "\n", - "Now, we can explain the following experiment.\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " The initial Step \n", - "\n", - "The photon is in state $ \\ket{v_0} = \\vzero $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " The first step \n", - "\n", - "Hadamard is applied:\n", - "\n", - "$ \\ket{v_1} = \\hadamard \\vzero = \\vhadamardzero $.\n", - "\n", - "At this point, the photon is in a superposition of state $ \\ket{0} $ and state $ \\ket{1} $, being in both states with the amplitudes $ \\frac{1}{\\sqrt{2}} $ and $ \\frac{1}{\\sqrt{2}} $, respectively.\n", - "\n", - "The state of photon is $ \\ket{v_1} = \\vhadamardzero $, and we can represent it also as follows:\n", - "\n", - "$ \\ket{v_1} = \\frac{1}{\\sqrt{2}} \\ket{0} + \\frac{1}{\\sqrt{2}} \\ket{1} $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " The second step \n", - "\n", - "Hadamard is applied again:\n", - "\n", - "We write the affect of Hadamard on states $ \\ket{0} $ and $ \\ket{1} $ as follows:\n", - "\n", - "$ H \\ket{0} = \\frac{1}{\\sqrt{2}} \\ket{0} + \\frac{1}{\\sqrt{2}} \\ket{1} $\n", - "\n", - "$ H \\ket{1} = \\frac{1}{\\sqrt{2}} \\ket{0} - \\frac{1}{\\sqrt{2}} \\ket{1} $\n", - "\n", - "This representation helps us to see clearly why the state $ \\ket{1} $ disappears.\n", - "\n", - "Now, let's see the affect of Hadamard on the quantum state $ \\ket{v_1} = \\frac{1}{\\sqrt{2}} \\ket{0} + \\frac{1}{\\sqrt{2}} \\ket{1} $:\n", - "\n", - "$ \\ket{v_2} = H \\ket{v_1} = H \\mybigpar{ \\frac{1}{\\sqrt{2}} \\ket{0} + \\frac{1}{\\sqrt{2}} \\ket{1} } = \\frac{1}{\\sqrt{2}} H \\ket{0} + \\frac{1}{\\sqrt{2}} H \\ket{1} $\n", - "\n", - "We can replace $ H\\ket{0} $ and $ H\\ket{1} $ as described above.\n", - "\n", - "$ \\ket{v_2} $ is formed by the summation of the following terms:\n", - "\n", - "$ \\frac{1}{\\sqrt{2}} H \\ket{0} = \\frac{1}{2} \\ket{0} + \\frac{1}{2} \\ket{1} $\n", - "\n", - "$ \\frac{1}{\\sqrt{2}} H \\ket{1} = \\frac{1}{2} \\ket{0} - \\frac{1}{2} \\ket{1} $\n", - "\n", - "The amplitude of $ \\ket{0} $ becomes 1, but the amplitude of $ \\ket{1} $ becomes 0 because of cancellation.\n", - "\n", - "$ \\ket{v_2} = 1 \\cdot \\ket{0} + 0 \\cdot \\ket{1} = \\ket{0} $.\n", - "\n", - "The photon was in both states at the same time with certain amplitudes.\n", - "\n", - "After the second Hadamard, the results are interfered with each other.\n", - "\n", - "The interference can be constructive or destructive.\n", - "\n", - "In our examples, the resulting $ \\ket{0} $s are interfered constructively, but the resulting $ \\ket{1} $s are interfered destructively." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Observations

    \n", - "\n", - "Probabilistic systems: If there is a nonzero transition to a state, then it contributes to the probability of this state positively. \n", - "\n", - "Quantum systems: If there is a nonzero transition to a state, then we cannot make such an interpretation without knowing the other transtions to this state.\n", - "\n", - "If it is the only transition, then it contributes to the amplitude (and probability) of the state, and it does not matter whether the sign of the transition is positive or negative.\n", - "\n", - "If there is more than one transition, then depending on the summation of all transitions, we can determine whether a specific transition contributes or not.\n", - "\n", - "As a simple rule, if the final amplitude of the state and nonzero transition have the same sign, then it is a positive contribution; and, if they have the opposite signs, then it is a negative contribution." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 1

    \n", - "\n", - "[on paper]\n", - "\n", - "Start in state $ \\ket{u_0} = \\ket{1} $.\n", - "\n", - "Apply Hadamard operator to $ \\ket{u_0} $, i.e, find $ \\ket{u_1} = H \\ket{u_0} $.\n", - "\n", - "Apply Hadamard operator to $\\ket{u_1}$, i.e, find $ \\ket{u_2} = H \\ket{u_1} $.\n", - "\n", - "Observe the constructive and destructive interferences, when calculating $ \\ket{u_2} $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Being in a superposition

    \n", - "\n", - "A quantum system can be in more than one state with nonzero amplitudes.\n", - "\n", - "Then, we say that our system is in a superposition of these states.\n", - "\n", - "When evolving from a superposition, the resulting transitions may affect each other constructively and destructively. \n", - "\n", - "This can happen only because of having both negative or positive amplitudes. \n", - "\n", - "Otherwise, all nonzero transitions are added up to each other as in probababilistic systems." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Measurement

    \n", - "\n", - "We can measure a quantum system, and then the system is observed in one of its states.\n", - "\n", - "This is the most basic measurement in quantum computing. \n", - "\n", - "(There are more generic measurement operators, but we will not cover them.)\n", - "\n", - "The probability of the system to be observed in a specified state is the square value of its amplitude.\n", - "
      \n", - "
    • If the amplitude of a state is zero, then this state cannot be observed.
    • \n", - "
    • If the amplitude of a state is nonzero, then this state can be observed.
    • \n", - "
    \n", - "\n", - "For example, if the system is in quantum state \n", - "\n", - "$$\n", - " \\myrvector{ -\\frac{\\sqrt{2}}{\\sqrt{3}} \\\\ \\frac{1}{\\sqrt{3}} },\n", - "$$\n", - "\n", - "then, after a measurement, we can observe the system in state $\\ket{0} $ with probability $ \\frac{2}{3} $ and in state $\\ket{1}$ with probability $ \\frac{1}{3} $.\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Collapsing

    \n", - "\n", - "After the measurement, the system collapses to the observed state, and so the system is no longer in a superposition.\n", - "\n", - "Thus, the information kept in a superposition is lost. \n", - "\n", - "In the above example, when the system is observed in state $\\ket{0}$, then the new state becomes $ \\myvector{1 \\\\ 0} $. \n", - "\n", - "If it is observed in state $\\ket{1}$, then the new state becomes $ \\myvector{0 \\\\ 1} $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 2

    \n", - "\n", - "We have a quantum system with four states: $\\ket{00}$, $ \\ket{01} $, $\\ket{10}$, and $ \\ket{11} $.\n", - "\n", - "We can also say that our system has two qubits.\n", - "\n", - "\n", - "Suppose that the system is in the following state:\n", - "\n", - "$ \\myrvector{ \\dfrac{ 1 }{ \\sqrt{3} - \\sqrt{ 5 + 2\\sqrt{6}} } \\\\ \\\\ \\dfrac{1}{ \\sqrt{3} - \\sqrt{ 7 + 2\\sqrt{12} } } \\\\ \\\\\n", - " \\dfrac{ 1 }{ \\sqrt{5} - \\sqrt{ 13 + 2\\sqrt{40} } } \\\\ \\\\ \\dfrac{1}{ \\sqrt{ 7 } - \\sqrt{ 15 + 2 \\sqrt{56} } } }. $\n", - " \n", - " Find the probability of observing the system in state $\\ket{00}$, $ \\ket{01} $, $\\ket{10}$, or $ \\ket{11} $.\n", - " \n", - " You may write a function to calculate the dominator of each fraction automatically, where its value is determined by three values $a$, $ b$, and $ c $ by assuming the form $ \\sqrt{a} - \\sqrt{b + 2 \\sqrt{c} } $.\n", - " \n", - " Verify that the total probability is 1 (or almost 1)." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#\n", - "# your solution is here\n", - "#\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Z-gate (operator)

    \n", - "\n", - "The indentity operator $ I = \\mymatrix{cc}{1 & 0 \\\\ 0 & 1} $ does not affect the computation.\n", - "\n", - "What about the following operator?\n", - "\n", - "$ Z = \\Z $.\n", - "\n", - "It is very similar to the identity operator.\n", - "\n", - "Consider the quantum state $ \\ket{u} = \\myvector{ \\frac{3}{5} \\\\ \\frac{4}{5} } $.\n", - "\n", - "Let's calculate the new quantum state after appying $ Z $ to $ \\ket{u} $:\n", - "\n", - "$ \\ket{u'} = Z \\ket{u} = \\Z \\myvector{ \\frac{3}{5} \\\\ \\frac{4}{5} } = \\myrvector{ \\frac{3}{5} \\\\ -\\frac{4}{5} } $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The quantum states $ \\ket{u} $ and $ \\ket{u'} $ look similar. \n", - "\n", - "The probabilities of observing the state 0 and state 1 are the same when the system is in $ \\ket{u} $ or $ \\ket{u'} $.\n", - "\n", - "On the other hand, they are far away from each other as shown below: \n", - "\n", - "\n", - "\n", - "For example, by applying Hadamard to each of them, the probability of observing the state 0 and state 1 may change (?)\n", - "\n", - "To observe this, we can do a simple experiment. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 3

    \n", - "\n", - "Create a quantum ciruit with 5 qubits.\n", - "\n", - "Apply h-gate (Hadamard operator) to each qubit.\n", - "\n", - "Apply z-gate ($Z$ operator) to randomly picked qubits. (e.g., $ mycircuit.z(qreg[i]) $)\n", - "\n", - "Apply h-gate to each qubit \n", - "\n", - "Measure each qubit.\n", - "\n", - "Execute your program 1000 times.\n", - "\n", - "Compare the outcomes of the qubits affected by z-gates, and the outcomes of the qubits not affected by z-gates.\n", - "\n", - "Does z-gate change the outcome?\n", - "\n", - "Why?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# let's import all necessary objects and methods for quantum circuits\n", - "from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - "from qiskit.tools.visualization import matplotlib_circuit_drawer as drawer\n", - "# let's import randrange for random choices\n", - "from random import randrange\n", - "\n", - "#\n", - "# your code is here\n", - "#\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B60_Superdense_Coding-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B60_Superdense_Coding-checkpoint.ipynb deleted file mode 100755 index 4e0a54891..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B60_Superdense_Coding-checkpoint.ipynb +++ /dev/null @@ -1,224 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
    \n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 07, 2018\n", - "
    \n", - "
    I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
    \n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Superdense Coding

    \n", - "\n", - "Asja has a qubit, initially set to $ \\ket{0} $.\n", - "\n", - "Balvis has a qubit, initially set to $ \\ket{0} $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Entanglement

    \n", - " \n", - "Asja applies Hadamard operator to her qubit. \n", - "\n", - "The quantum state of Asja's qubit is $ \\vhadamardzero $.\n", - "\n", - "Then, Asja and Balvis combine their qubits. Their quantum state is\n", - "\n", - "$ \\vhadamardzero \\otimes \\vzero = \\myvector{ \\frac{1}{\\sqrt{2}} \\\\ 0 \\\\ \\frac{1}{\\sqrt{2}} \\\\ 0 } $.\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Asja and Balvis apply CNOT operator on two qubits.\n", - "\n", - "The new quantum state is\n", - "\n", - "$ \\CNOT \\myvector{ \\frac{1}{\\sqrt{2}} \\\\ 0 \\\\ \\frac{1}{\\sqrt{2}} \\\\ 0 } = \\myvector{ \\frac{1}{\\sqrt{2}} \\\\ 0 \\\\0 \\\\ \\frac{1}{\\sqrt{2}} } = \\frac{1}{\\sqrt{2}}\\ket{00} + \\frac{1}{\\sqrt{2}}\\ket{11} $.\n", - "\n", - "At this moment, Asja's and Balvis' qubits are correlated to each other.\n", - "\n", - "If we measure both qubits, we can observe either state $ \\ket{00} $ or state $ \\ket{11} $. \n", - "\n", - "Suppose that Asja observes her qubit secretly. \n", - "
      \n", - "
    • When Asja sees the result $ \\ket{0} $, then Balvis' qubit also collapses to state $ \\ket{0} $. Balvis cannot observe state $ \\ket{1} $.
    • \n", - "
    • When Asja sees the result $ \\ket{1} $, then Balvis' qubit also collapses to state $ \\ket{1} $. Balvis cannot observe state $ \\ket{0} $.
    • \n", - "
    \n", - " \n", - "Experimental results have confirmed that this happens even if there is a physical distance between Asja's and Balvis' qubits. \n", - "\n", - "It seems correlated quantum particales can affect each other instantly, even if they are in the different part of the universe. \n", - "\n", - "If two qubits are correlated in this way, then we say that they are entangled.\n", - "\n", - " Technical note: \n", - " \n", - "If the quantum state of two qubits can be written as $ \\ket{u} \\otimes \\ket{v} $, then two qubits are not correlated, where $ \\ket{u} $ and $ \\ket{v} $ are the quantum states of the first and second qubits.\n", - "\n", - "On the other hand, if the quantum state of two qubits cannot be written as $ \\ket{u} \\otimes \\ket{v} $, then there is an entanglement between the qubits.\n", - "\n", - "\n", - " Entangled qubits can be useful " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    The quantum commmunication

    \n", - "\n", - "After having the entanglement, Balvis takes his qubit and goes away.\n", - "\n", - "Asja will send two bits of information by only sending her qubit.\n", - "\n", - "Now, we describe this protocol." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Asja has two bits of classical information: $ a,b \\in \\{0,1\\} $. \n", - "\n", - "There are four possible values for the pair $ (a,b) $: $ (0,0), (0,1), (1,0),\\mbox{ or } (1,1) $. \n", - "\n", - "If $a$ is 1, then Asja applies z-gate, i.e., $ Z = \\Z $, to her qubit.\n", - "\n", - "If $b$ is 1, then Asja applies x-gate (NOT operator) to her qubit.\n", - "\n", - "Then, Asja sends her qubit to Balvis." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    After the communication

    \n", - "\n", - "Balvis has both qubits.\n", - "\n", - "Balvis applies cx-gate (CNOT operator), where Asja's qubit is the controller.\n", - "\n", - "Then, Balvis applies h-gate (Hadamard operator) to Asja's qubit.\n", - "\n", - "Balvis measures both qubits. \n", - "\n", - "The measurement result will be exactly $ (a,b) $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 1

    \n", - "\n", - "Verify the correctness of the above protocol.\n", - "\n", - "For each pair of $ (a,b) \\in \\left\\{ (0,0), (0,1), (1,0),(1,1) \\right\\} $:\n", - "
      \n", - "
    • Create a quantum curcuit with two qubits: Asja's and Balvis' qubits.
    • \n", - "
    • Both are initially set to $ \\ket{0} $.
    • \n", - "
    • Apply h-gate (Hadamard) to the first qubit.
    • \n", - "
    • Apply cx-gate (CNOT) with parameters first-qubit and second-qubit.
    • \n", - "
    \n", - "\n", - "They are separated now.\n", - "\n", - "
      \n", - "
    • If $ a $ is 1, then apply z-gate to the first qubit.
    • \n", - "
    • If $ b $ is 1, then apply x-gate (NOT) to the first qubit.
    • \n", - "
    \n", - "\n", - "Asja sends her qubit to Balvis.\n", - "\n", - "
      \n", - "
    • Apply cx-gate (CNOT) with parameters first-qubit and second-qubit.
    • \n", - "
    • Apply h-gate (Hadamard) to the first qubit.
    • \n", - "
    • Measure both qubits, and compare the results with pair $ (a,b) $.
    • \n", - "
    " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# import all necessary objects and methods for quantum circuits\n", - "from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - "from qiskit.tools.visualization import matplotlib_circuit_drawer as drawer\n", - "\n", - "all_pairs = ['00','01','10','11']\n", - "\n", - "for pair in all_pairs:\n", - " #\n", - " # your code is here\n", - " #\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B88_Grovers_Search-checkpoint.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B88_Grovers_Search-checkpoint.ipynb deleted file mode 100755 index b965fe882..000000000 --- a/community/awards/teach_me_quantum_2018/bronze/bronze/.ipynb_checkpoints/B88_Grovers_Search-checkpoint.ipynb +++ /dev/null @@ -1,548 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "
    \n", - "\tprepared by Abuzer Yakaryilmaz (QuSoft@Riga) | November 10, 2018\n", - "
    \n", - "
    I have some macros here. If there is a problem with displaying mathematical formulas, please run me to load these macros.
    \n", - "$ \\newcommand{\\bra}[1]{\\langle #1|} $\n", - "$ \\newcommand{\\ket}[1]{|#1\\rangle} $\n", - "$ \\newcommand{\\braket}[2]{\\langle #1|#2\\rangle} $\n", - "$ \\newcommand{\\inner}[2]{\\langle #1,#2\\rangle} $\n", - "$ \\newcommand{\\biginner}[2]{\\left\\langle #1,#2\\right\\rangle} $\n", - "$ \\newcommand{\\mymatrix}[2]{\\left( \\begin{array}{#1} #2\\end{array} \\right)} $\n", - "$ \\newcommand{\\myvector}[1]{\\mymatrix{c}{#1}} $\n", - "$ \\newcommand{\\myrvector}[1]{\\mymatrix{r}{#1}} $\n", - "$ \\newcommand{\\mypar}[1]{\\left( #1 \\right)} $\n", - "$ \\newcommand{\\mybigpar}[1]{ \\Big( #1 \\Big)} $\n", - "$ \\newcommand{\\sqrttwo}{\\frac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\dsqrttwo}{\\dfrac{1}{\\sqrt{2}}} $\n", - "$ \\newcommand{\\onehalf}{\\frac{1}{2}} $\n", - "$ \\newcommand{\\donehalf}{\\dfrac{1}{2}} $\n", - "$ \\newcommand{\\hadamard}{ \\mymatrix{rr}{ \\sqrttwo & \\sqrttwo \\\\ \\sqrttwo & -\\sqrttwo }} $\n", - "$ \\newcommand{\\vzero}{\\myvector{1\\\\0}} $\n", - "$ \\newcommand{\\vone}{\\myvector{0\\\\1}} $\n", - "$ \\newcommand{\\vhadamardzero}{\\myvector{ \\sqrttwo \\\\ \\sqrttwo } } $\n", - "$ \\newcommand{\\vhadamardone}{ \\myrvector{ \\sqrttwo \\\\ -\\sqrttwo } } $\n", - "$ \\newcommand{\\myarray}[2]{ \\begin{array}{#1}#2\\end{array}} $\n", - "$ \\newcommand{\\X}{ \\mymatrix{cc}{0 & 1 \\\\ 1 & 0} } $\n", - "$ \\newcommand{\\Z}{ \\mymatrix{rr}{1 & 0 \\\\ 0 & -1} } $\n", - "$ \\newcommand{\\Htwo}{ \\mymatrix{rrrr}{ \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} & \\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} \\\\ \\frac{1}{2} & -\\frac{1}{2} & -\\frac{1}{2} & \\frac{1}{2} } } $\n", - "$ \\newcommand{\\CNOT}{ \\mymatrix{cccc}{1 & 0 & 0 & 0 \\\\ 0 & 1 & 0 & 0 \\\\ 0 & 0 & 0 & 1 \\\\ 0 & 0 & 1 & 0} } $\n", - "$ \\newcommand{\\norm}[1]{ \\left\\lVert #1 \\right\\rVert } $" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Grover's Search

    \n", - "\n", - "Grover's search algorithm is one of the well-known quantum algorithms.\n", - "\n", - "It finds a marked element in an unsorted list quadratically better than the classical algorithms.\n", - "\n", - "Grover's search algorithm iteratively applies two reflections.\n", - "\n", - "Its implementation is complicated, but its explanation is easy.\n", - "\n", - "Here, we describe Grover's search algorithm, and then emulate it on the unit circle. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Representation of data

    \n", - "\n", - "Suppose that we have 16 elements in our list.\n", - "\n", - "The list has marked and unmarked elements. (A marked element refers to a searching item.)\n", - "\n", - "Each quantum state will be associated with a different index of the list.\n", - "\n", - "Four qubits have 16 different states ($ \\ket{0000}, \\ldots, \\ket{1111} $), and so we use 4 qubits.\n", - "\n", - "We assume that when we keep the whole list \"quantumly\", we can check whether an item is marked or not in a single step by using its index.\n", - "\n", - "For example, if the element associated with the state $ \\ket{1101} $ is marked, then we can detect this by changing the sign of this state.\n", - "\n", - "We remind that changing the sign of a quantum state is one of the basic opearations.\n", - "\n", - "In general, if we have a list of size $ 2^k $, then we can use $ k $ qubits and associate each state with one of the item in the list." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Search in parallel

    \n", - "\n", - "We can access each element in the list with one of the basis states.\n", - "\n", - "We start in state $ \\ket{0000} $.\n", - "\n", - "Then, we apply Hadamard to each qubit.\n", - "\n", - "Remember that $ \\ket{0000} = \\ket{0} \\otimes \\ket{0} \\otimes \\ket{0} \\otimes \\ket{0} $, or equivalently $ \\ket{0000} = \\ket{0}\\ket{0}\\ket{0}\\ket{0} $ by omitting tensor symbol.\n", - "\n", - "After Hadamard operator, our quantum state is\n", - "\n", - "$ \\ket{u} = H\\ket{0} \\otimes H\\ket{0} \\otimes H\\ket{0} \\otimes H\\ket{0} $, which is\n", - "\n", - "$$\n", - " \\ket{u} =\n", - " \\mypar{ \\frac{1}{\\sqrt{2}} \\ket{0} + \\frac{1}{\\sqrt{2}} \\ket{1} } \\otimes\n", - " \\mypar{ \\frac{1}{\\sqrt{2}} \\ket{0} + \\frac{1}{\\sqrt{2}} \\ket{1} } \\otimes\n", - " \\mypar{ \\frac{1}{\\sqrt{2}} \\ket{0} + \\frac{1}{\\sqrt{2}} \\ket{1} } \\otimes\n", - " \\mypar{ \\frac{1}{\\sqrt{2}} \\ket{0} + \\frac{1}{\\sqrt{2}} \\ket{1} }.\n", - "$$" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "From this tensor product, we can get every basis state of 4 qubits having the amplitude $ \\frac{1}{4} $:\n", - "\n", - "\n", - "$$\n", - " \\ket{u}= \\frac{1}{4} \\ket{0000} + \\frac{1}{4} \\ket{0001} + \\frac{1}{4} \\ket{0010} + \\frac{1}{4} \\ket{0011} \n", - " + \\cdots \\cdots + \\frac{1}{4} \\ket{1101} + \\frac{1}{4} \\ket{1110} + \\frac{1}{4} \\ket{1111}.\n", - "$$\n", - " " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Thus, after Hadamard, we can access each index in parallel, \n", - "
         \n", - "because we are in a superposition of all basis states, or in a superposition of all indices of the list.\n", - "\n", - "However, the probability of observing any basis state at this moment is exponentially small: $ \\frac{1}{16} $. \n", - "\n", - "(It is $ \\frac{1}{2^k} $ if there are $ 2^k $ elements.)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 1

    \n", - "\n", - "Design a quantum circuit with 4 qubits.\n", - "\n", - "Apply Hadamard to each qubit.\n", - "\n", - "Execute your circuit 1600 times.\n", - "\n", - "You should observe each basis state around 100 times.\n", - "\n", - "Reexecute your circuit 16000 times." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# import all necessary objects and methods for quantum circuits\n", - "from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit, execute, Aer\n", - "from qiskit.tools.visualization import matplotlib_circuit_drawer as drawer\n", - "\n", - "#\n", - "# your solution is here\n", - "#\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Unit circle representation

    \n", - "\n", - "For representing quantum state $ \\ket{u} $, we need 16-dimensional space.\n", - "\n", - "But, we can map $\\ket{u} $ to 2-dimensional space.\n", - "\n", - "We have marked elements and unmarket elements. \n", - "\n", - "We can group the states associated with marked elements and the state associated with unmarked elements.\n", - "\n", - "Then, we can represent $ \\ket{u} $ as a summation of two quantum states $ \\ket{u} = a \\ket{u_{marked}} + b \\ket{u_{unmarked}} $.\n", - "\n", - "The states in $ \\ket{u_{marked}} $ and $ \\ket{u_{unmarked}} $ are different from each other.\n", - "\n", - "Therefore, they are orthogonal to each other. We can represent $ \\ket{u} = a \\ket{u_{marked}} + b \\ket{u_{unmarked}} $ in 2-dimension as below:" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Remark that if all elements are marked, then $ \\ket{u} = \\ket{u_{marked}} $, and if all elements are unmarked, then $ \\ket{u} = \\ket{u_{unmarked}}$.\n", - "\n", - "For example, if we have 3 marked elements in our example, then we can find our parameters as follows.\n", - "\n", - "Let the marked states be $ \\ket{marked1} , \\ket{marked2} , \\ket{marked3} $.\n", - "\n", - "Let the unmarked states be $ \\ket{unmarked1} , \\ket{unmarked2} , \\ldots, \\ket{unmarked13} $.\n", - "\n", - "In $ \\ket{u} $, each of this state has the amplitude $ \\frac{1}{\\sqrt{16}} $:\n", - "\n", - "$$\n", - " \\ket{u} = \\frac{1}{\\sqrt{16}} \\mypar{ \\ket{marked1} + \\ket{marked2} + \\ket{marked3} } +\n", - " \\frac{1}{\\sqrt{16}} \\mypar{ \\ket{unmarked1} + \\ket{unmarked2} + \\cdots + \\ket{unmarked13} }\n", - "$$\n", - "\n", - "Then, our parameters are\n", - "
      \n", - "
    • $ \\ket{u_{marked}} = \\frac{1}{\\sqrt{3}} \\mypar{ \\ket{marked1} + \\ket{marked2} + \\ket{marked3} } $ and
    • \n", - "
    • $ a = \\frac{\\sqrt{3}}{\\sqrt{16}} $; and,
    • \n", - "
    • $ \\ket{u_{unmarked}} = \\frac{1}{\\sqrt{13}} \\mypar{ \\ket{unmarked1} + \\ket{unmarked2} + \\cdots + \\ket{unmarked13} } $ and
    • \n", - "
    • $ b = \\frac{\\sqrt{13}}{\\sqrt{16}} $.
    • \n", - "
    " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The idea here is to select $ \\ket{u_{marked}} $ and $\\ket{u_{unmarked}} $ as quantum states, i.e., their lengths should be 1. \n", - "\n", - "In this way, we can also keep the ratio of $ \\frac{3}{13} $ as ratio of\n", - "
      \n", - "
    • the probability of observing a state in $ \\ket{u_{marked}} $ and
    • \n", - "
    • the probability of observing a state in $ \\ket{u_{unmarked}} $.
    • \n", - "
    \n", - "\n", - "Remark that the first probability is $ a^2 = \\frac{3}{16} $ and the second probability if $ b^2 = \\frac{13}{16} $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " So, in general, if we have $ 2^k $ elements and $ m $ of them are marked, then $ a = \\frac{\\sqrt{m}}{\\sqrt{2^k}} $ and $ b= \\frac{\\sqrt{2^k - m}}{\\sqrt{2^k}} $. " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    The idea behind Grover's search

    \n", - "\n", - "The idea behind Grover's search algorithm is that \n", - "
      \n", - "
    • the amplitudes of the marked elements can be quickly amplified,
    • \n", - "
    • and so the probability of observing one of the marked element quickly approches to 1.
    • \n", - "
    \n", - "\n", - "For \"quick\" amplification, we iteratively applies two reflections to our quantum states. \n", - "\n", - "The first reflection is a clockwise rotation, and the second rotation is counterclockwise. \n", - "\n", - "The second rotation always rotates twice of the first rotation. \n", - "\n", - "Therefore, our quantum state moves counterclockwise direction after two reflections." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "As an analogy, we consider the rotation on the unit circle with angle $ \\frac{\\pi}{8} $ that starts in $ \\ket{0} $. \n", - "
      \n", - "
    • After every 4 rotations, we visit in order $ \\ket{1} $, $ -\\ket{0} $, $ -\\ket{1} $, again $ \\ket{0} $, and so on.
    • \n", - "
    • Remark that the probability of observing the state $ \\ket{1} $ oscillates between increasing and decreasing while rotating.
    • \n", - "
    \n", - "\n", - "Similarly, when iterating Grover's search algorithm, we should be careful when to stop. \n", - "
      \n", - "
    • Because, after hitting a maximum value, these amplitudes are quickly decreased, and after hitting a minimum value, they are amplified again, and so on.
    • \n", - "
    " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    One iteration of the algorithm

    \n", - "\n", - "Once we have the unit circle representation, then we can describe the algorithm very easily.\n", - "\n", - "Grover's search algorithm simply iterates two reflection, which can be implemented as two rotations.\n", - "\n", - "The axis of the first reflection is the quantum state $ \\ket{u_{unmarked}} $.\n", - "\n", - "The axis of the second reflection is the first quantum state after Hadamard operators: $ \\ket{u} $.\n", - "\n", - "During all iterations, these axes are fixed. \n", - "\n", - "Remark that both of them depend on only the list and marked/unmarked elements." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - " Grover's search algorithm: \n", - "\n", - "Start in $ \\ket{u} $.\n", - "\n", - "Iteratively:\n", - "
      \n", - "
    1. Reflection over the first axis: Flip the sign of the states associated with the marked elements.\n", - "
    2. \n", - "
    3. Reflection over the second axis: Then, reflect the resulting quantum state over the $\\ket{u}$-axis.\n", - "
    4. \n", - "
    " - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After the first reflection: the current quantum state rotates with angle $ -2 \\theta $.\n", - "\n", - "" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After the second reflection: the reflected state rotates with angle $ 4 \\theta $.\n", - "\n", - "\n", - "\n", - "Then, the angle of the new quantum state is $ 3 \\theta $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The second iteration:\n", - "
      \n", - "
    • The angle of the new quantum state is $ 3 \\theta $.
    • \n", - "
    • After the first reflection (rotation by $ -6 \\theta $): The reflected quantum state has angle $ -3 \\theta $.
    • \n", - "
    • The angle between the reflected quantum state and the second reflection axis is $ 4 \\theta $.\n", - "
    • With the second reflection, the reflected quantum state rotates $ 8 \\theta $.
    • \n", - "
    • Thus, the angle of the newest state will be $ 5\\theta $.
    • \n", - "
    \n", - "\n", - "Hence after each iteration the angle of the quantum state will be increased by $ 2 \\theta $." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "In this way, the quantum state iteratively approaches to $ \\ket{u_{marked}} $.\n", - "\n", - "If we do not stop the iterations, then it passes $ \\ket{u_{marked}} $, and starts to approaches $ - \\ket{u_{unmarked}} $.\n", - "\n", - "If the quantum state is sufficiently close to $ \\ket{u_{marked}} $ and we make a measurement, we can observe a marked element with high probability.\n", - "\n", - "This is also the place to stop the iterations." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 2: Emulating Grover's search

    \n", - "\n", - "For this task, you can use the methods given in notebook B80_Reflections.\n", - "\n", - "Set the value of $ k $ to 4. Then, the size of list is $ 2^k = 16 $.\n", - "\n", - "Pick the value of $ m $ as 3, the number of the marked elements.\n", - "\n", - "As described above, $ \\ket{u} = \\sqrt{\\frac{3}{16}} \\ket{u_{marked}} + \\sqrt{\\frac{13}{16}} \\ket{u_{unmarked}} $.\n", - "\n", - "Create a quantum circuit with single qubit.\n", - "\n", - "States $ \\ket{1} $ and $ \\ket{0} $ represents the quantum state $ \\ket{u_{marked}} $ and $ \\ket{u_{unmarked}}$, respectively.\n", - "\n", - "Then, $ \\ket{u} = \\sqrt{\\frac{13}{16}} \\ket{0} + \\sqrt{\\frac{3}{16}} \\ket{1} $.\n", - "\n", - "Determine the angle $ \\theta $, the angle between $ \\ket{u} $ and $ \\ket{0} $.\n", - "\n", - "Iterate Grover's search algorithm once by using your quantum circuit.\n", - "\n", - "For each reflection, use ry-gate (rotation).\n", - "
      \n", - "
    • Define a list to store all quantum states (with their labels) that will be visited.
    • \n", - "
    • Implement the first reflection on your qubit
    • \n", - "
    • Read the current quantum state and store it on your list
    • \n", - "
    • Implement the second reflection on your qubit
    • \n", - "
    • Read the current quantum state and store it on your list
    • \n", - "
    • Draw all visited quantum states with their labels
    • \n", - "
    • Execute your circuit 100 times
    • \n", - "
    \n", - "\n", - "Is this single iteration enough to observe state $ \\ket{1} $ more than state $ \\ket{0} $? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#\n", - "# your solution\n", - "#\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Taks 3

    \n", - "\n", - "For this task, you can use the methods given in notebook B80_Reflections .\n", - "\n", - "Set the value of $ k $ to 6. Then, the size of list is $ 2^k = 64 $.\n", - "\n", - "Pick the value of $ m $ as 1, the number of the marked elements.\n", - "\n", - "As described above, $ \\ket{u} = \\sqrt{\\frac{1}{64}} \\ket{u_{marked}} + \\sqrt{\\frac{63}{64}} \\ket{u_{unmarked}} $.\n", - "\n", - "Create a quantum circuit with single qubit.\n", - "\n", - "States $ \\ket{1} $ and $ \\ket{0} $ represents the quantum state $ \\ket{u_{marked}} $ and $ \\ket{u_{unmarked}}$, respectively.\n", - "\n", - "Then, $ \\ket{u} = \\sqrt{\\frac{63}{64}} \\ket{0} + \\sqrt{\\frac{1}{64}} \\ket{1} $.\n", - "\n", - "Determine the angle $ \\theta $, the angle between $ \\ket{u} $ and $ \\ket{0} $.\n", - "\n", - "Iterate Grover's search algorithm three times by using your quantum circuit.\n", - "\n", - "For each reflection, use ry-gate (rotation).\n", - "
      \n", - "
    • Define a list to store all quantum states (with their labels) that will be visited.
    • \n", - "
    • Iterate 3 times:\n", - "
        \n", - "
      • Implement the first reflection on your qubit
      • \n", - "
      • Read the current quantum state and store it on your list
      • \n", - "
      • Implement the second reflection on your qubit
      • \n", - "
      • Read the current quantum state and store it on your list
      • \n", - "
    • \n", - "
    • Draw all visited quantum states with their labels
    • \n", - "
    • Execute your circuit 100 times
    • \n", - "
    \n", - "\n", - "Is 3 iterations enough to observe state $ \\ket{1} $ more than state $ \\ket{0} $?\n", - "\n", - "Try 4, 5, 6, 7, 8, 9, and 10 iterations.\n", - "\n", - "What is the best iteration number?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "#\n", - "# your code is here\n", - "#\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "

    Task 4

    \n", - "\n", - "Repeat Task 3 for $ k = 8 $ and $ m = 1 $, but algorithmically find the best iteration number, say $B$. \n", - "\n", - "You may execute your circuit 1000 times to have more reliable results.\n", - "
    \n", - " Hint:\n", - "\n", - "For each iteration number, you may check how many times the state $ \\ket{1} $ is observed. \n", - "

    \n", - "This value should be at least 500.\n", - "\n", - "And, when this value starts to decrease, you may announce the previous iteration number as the best. \n", - "
    \n", - "
    \n", - "Our solution outputs $ B $ as 12 in every execution." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "click for our solution" - ] - } - ], - "metadata": { - "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.7.1" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B01_ Acknowledgements.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B01_ Acknowledgements.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B02_cells_in_notebook.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B02_cells_in_notebook.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B04_hello_from_quantum_world.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B04_hello_from_quantum_world.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B06_Python_Quick_Reference.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B06_Python_Quick_Reference.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B08_Python_Basics_Variables.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B08_Python_Basics_Variables.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B10_Python_Basics_Loops.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B10_Python_Basics_Loops.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B12_Python_Basics_Conditionals.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B12_Python_Basics_Conditionals.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B14_Python_Basics_Lists.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B14_Python_Basics_Lists.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B16_Lists_Vectors.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B16_Lists_Vectors.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B18_Lists_Inner_Product.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B18_Lists_Inner_Product.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B20_Lists_Matrices.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B20_Lists_Matrices.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B22_Lists_Tensor_Product.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B22_Lists_Tensor_Product.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B24_One_Bit.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B24_One_Bit.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B26_Coin_Flip.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B26_Coin_Flip.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B28_Coin_Flip_Game.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B28_Coin_Flip_Game.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B32_Probabilistic_States.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B32_Probabilistic_States.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B36_Probabilistic_Operators.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B36_Probabilistic_Operators.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B40_Quantum_Coin_flipping.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B40_Quantum_Coin_flipping.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B42_Hadamard.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B42_Hadamard.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B44_One_Qubit.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B44_One_Qubit.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B46_Quantum_State.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B46_Quantum_State.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B48_Superposition.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B48_Superposition.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B56_Two_Qubits.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B56_Two_Qubits.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B60_Superdense_Coding.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B60_Superdense_Coding.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B64_Phase_Kickback.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B64_Phase_Kickback.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B72_Rotations.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B72_Rotations.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B80_Reflections.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B80_Reflections.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze/B88_Grovers_Search.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze/B88_Grovers_Search.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/bronze/bronze_getting_started.ipynb b/community/awards/teach_me_quantum_2018/bronze/bronze_getting_started.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/intro2qc/1.Introduction.ipynb b/community/awards/teach_me_quantum_2018/intro2qc/1.Introduction.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/intro2qc/10.Quantum error correction.ipynb b/community/awards/teach_me_quantum_2018/intro2qc/10.Quantum error correction.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/intro2qc/2.Linear algebra.ipynb b/community/awards/teach_me_quantum_2018/intro2qc/2.Linear algebra.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/intro2qc/3.Quantum mechanics.ipynb b/community/awards/teach_me_quantum_2018/intro2qc/3.Quantum mechanics.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/intro2qc/4.Quantum computation.ipynb b/community/awards/teach_me_quantum_2018/intro2qc/4.Quantum computation.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/intro2qc/5. Writing a quantum program with QISKit.ipynb b/community/awards/teach_me_quantum_2018/intro2qc/5. Writing a quantum program with QISKit.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/intro2qc/6.First quantum algorithms.ipynb b/community/awards/teach_me_quantum_2018/intro2qc/6.First quantum algorithms.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/intro2qc/7.Quantum teleportation.ipynb b/community/awards/teach_me_quantum_2018/intro2qc/7.Quantum teleportation.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/intro2qc/8.Shor's algorithm.ipynb b/community/awards/teach_me_quantum_2018/intro2qc/8.Shor's algorithm.ipynb old mode 100755 new mode 100644 diff --git a/community/awards/teach_me_quantum_2018/intro2qc/9.Quantum criptography.ipynb b/community/awards/teach_me_quantum_2018/intro2qc/9.Quantum criptography.ipynb old mode 100755 new mode 100644 From 05c478bf899fbc34d6c698c0897e789a5f78ffef Mon Sep 17 00:00:00 2001 From: Ewout van den Berg Date: Wed, 10 Apr 2019 21:19:20 -0400 Subject: [PATCH 04/21] Update dissociation_profile_of_molecule.ipynb (#586) Fixed typo in the title --- qiskit/aqua/chemistry/dissociation_profile_of_molecule.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qiskit/aqua/chemistry/dissociation_profile_of_molecule.ipynb b/qiskit/aqua/chemistry/dissociation_profile_of_molecule.ipynb index 231637f09..af14e6663 100644 --- a/qiskit/aqua/chemistry/dissociation_profile_of_molecule.ipynb +++ b/qiskit/aqua/chemistry/dissociation_profile_of_molecule.ipynb @@ -11,7 +11,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# _*Qiskit Chemistry: Compiuting a Molecule's Dissociation Profile Using the Variational Quantum Eigensolver (VQE) Algorithm*_ \n", + "# _*Qiskit Chemistry: Computing a Molecule's Dissociation Profile Using the Variational Quantum Eigensolver (VQE) Algorithm*_ \n", "\n", "The latest version of this notebook is available on https://github.com/qiskit/qiskit-tutorials.\n", "\n", From 721f9c6b9701c6effb0b8add464d6b1642ab1064 Mon Sep 17 00:00:00 2001 From: James Wootton Date: Thu, 11 Apr 2019 03:21:30 +0200 Subject: [PATCH 05/21] Add keyword index to index.ipynb (#570) * add indexer and index games folder * add markdown file for index --- community/games/Hello_Qiskit.ipynb | 4 +- .../battleships_with_partial_NOT_gates.ipynb | 16 +++ community/games/quantum_awesomeness.ipynb | 4 +- .../quantum_counterfeit_coin_problem.ipynb | 4 +- community/games/quantum_slot_machine.ipynb | 6 +- community/games/quantum_tic_tac_toe.ipynb | 11 +- .../games/random_terrain_generation.ipynb | 9 ++ index.ipynb | 116 +++++++++++++++++- index.md | 78 ++++++++++++ indexer.py | 34 +++++ 10 files changed, 271 insertions(+), 11 deletions(-) create mode 100644 index.md create mode 100644 indexer.py diff --git a/community/games/Hello_Qiskit.ipynb b/community/games/Hello_Qiskit.ipynb index 971a054f6..71688e37b 100644 --- a/community/games/Hello_Qiskit.ipynb +++ b/community/games/Hello_Qiskit.ipynb @@ -1889,7 +1889,9 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "keywords = {'Topics': ['Games', 'Bell inequality'], 'Commands': ['`x`', '`z`', '`h`', '`cx`']}" + ] } ], "metadata": { diff --git a/community/games/battleships_with_partial_NOT_gates.ipynb b/community/games/battleships_with_partial_NOT_gates.ipynb index a3f5fa5d7..28a862631 100644 --- a/community/games/battleships_with_partial_NOT_gates.ipynb +++ b/community/games/battleships_with_partial_NOT_gates.ipynb @@ -779,6 +779,22 @@ "
    \n", "If you are reading this while running the game, you might be wondering where all the action has gone. Try clicking on the white space to the left of the output in the cell above to open it up." ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "keywords = {'Topics': ['Games', 'NOT gates'], 'Commands': ['`u3`']}" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/community/games/quantum_awesomeness.ipynb b/community/games/quantum_awesomeness.ipynb index 8f901b396..7028ad2cf 100644 --- a/community/games/quantum_awesomeness.ipynb +++ b/community/games/quantum_awesomeness.ipynb @@ -693,7 +693,9 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "keywords = {'Topics': ['Games', 'Hardware', 'Entanglement'], 'Commands': ['`rx`', '`cx`']}" + ] } ], "metadata": { diff --git a/community/games/quantum_counterfeit_coin_problem.ipynb b/community/games/quantum_counterfeit_coin_problem.ipynb index 1f6248c77..d591a911d 100644 --- a/community/games/quantum_counterfeit_coin_problem.ipynb +++ b/community/games/quantum_counterfeit_coin_problem.ipynb @@ -370,7 +370,9 @@ "collapsed": true }, "outputs": [], - "source": [] + "source": [ + "keywords = {'Topics': ['Counterfeit coin problem'], 'Commands': ['`h`']}" + ] } ], "metadata": { diff --git a/community/games/quantum_slot_machine.ipynb b/community/games/quantum_slot_machine.ipynb index fc63c9574..8e30132e4 100644 --- a/community/games/quantum_slot_machine.ipynb +++ b/community/games/quantum_slot_machine.ipynb @@ -95,7 +95,9 @@ "execution_count": null, "metadata": {}, "outputs": [], - "source": [] + "source": [ + "keywords = {'Topics': ['Games','Random number generation'], 'Commands': ['`h`','`shots=1`']}" + ] } ], "metadata": { @@ -115,7 +117,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.1" + "version": "3.7.0" } }, "nbformat": 4, diff --git a/community/games/quantum_tic_tac_toe.ipynb b/community/games/quantum_tic_tac_toe.ipynb index 20794c5c5..8376fb05e 100644 --- a/community/games/quantum_tic_tac_toe.ipynb +++ b/community/games/quantum_tic_tac_toe.ipynb @@ -327,6 +327,15 @@ "\n", "`B.run()`" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "keywords = {'Topics': ['Games','Superposition','Entanglement'], 'Commands': ['Custom gates']}" + ] } ], "metadata": { @@ -345,7 +354,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.2" + "version": "3.7.0" } }, "nbformat": 4, diff --git a/community/games/random_terrain_generation.ipynb b/community/games/random_terrain_generation.ipynb index ae321d222..e6469cc7d 100644 --- a/community/games/random_terrain_generation.ipynb +++ b/community/games/random_terrain_generation.ipynb @@ -769,6 +769,15 @@ "\n", "For another example of generation images using qubits, see the [Quantum Animations](quantum_animations.ipynb) notebook." ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "keywords = {'Topics': ['Games','Procedural generation','Entanglement'], 'Commands': ['`ry`','`noise_model`','`basic_device_noise_model`']}" + ] } ], "metadata": { diff --git a/index.ipynb b/index.ipynb index ba1a853d0..d03034999 100644 --- a/index.ipynb +++ b/index.ipynb @@ -105,7 +105,115 @@ "* [Teach Me Qiskit 2018](community/awards/teach_me_qiskit_2018/index.ipynb)\n", "* [Teach Me Quantum 2018](community/awards/teach_me_quantum_2018/index.ipynb)\n", "\n", - "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "text/markdown": [ + "The following lists show notebooks in the Qiskit tutorials that are relevant for various keywords. Note that these lists only include notebooks for which these keywords have been added.\n", + "\n", + "\n", + "## Index by Commands\n", + "\n", + "### Custom gates\n", + "* [quantum tic tac toe](community/games/quantum_tic_tac_toe.ipynb)\n", + "\n", + "### `basic_device_noise_model`\n", + "* [random terrain generation](community/games/random_terrain_generation.ipynb)\n", + "\n", + "### `cx`\n", + "* [Hello Qiskit](community/games/Hello_Qiskit.ipynb)\n", + "* [quantum awesomeness](community/games/quantum_awesomeness.ipynb)\n", + "\n", + "### `h`\n", + "* [Hello Qiskit](community/games/Hello_Qiskit.ipynb)\n", + "* [quantum counterfeit coin problem](community/games/quantum_counterfeit_coin_problem.ipynb)\n", + "* [quantum slot machine](community/games/quantum_slot_machine.ipynb)\n", + "\n", + "### `noise_model`\n", + "* [random terrain generation](community/games/random_terrain_generation.ipynb)\n", + "\n", + "### `rx`\n", + "* [quantum awesomeness](community/games/quantum_awesomeness.ipynb)\n", + "\n", + "### `ry`\n", + "* [random terrain generation](community/games/random_terrain_generation.ipynb)\n", + "\n", + "### `shots=1`\n", + "* [quantum slot machine](community/games/quantum_slot_machine.ipynb)\n", + "\n", + "### `u3`\n", + "* [battleships with partial NOT gates](community/games/battleships_with_partial_NOT_gates.ipynb)\n", + "\n", + "### `x`\n", + "* [Hello Qiskit](community/games/Hello_Qiskit.ipynb)\n", + "\n", + "### `z`\n", + "* [Hello Qiskit](community/games/Hello_Qiskit.ipynb)\n", + "\n", + "\n", + "## Index by Topics\n", + "\n", + "### Bell inequality\n", + "* [Hello Qiskit](community/games/Hello_Qiskit.ipynb)\n", + "\n", + "### Counterfeit coin problem\n", + "* [quantum counterfeit coin problem](community/games/quantum_counterfeit_coin_problem.ipynb)\n", + "\n", + "### Entanglement\n", + "* [quantum awesomeness](community/games/quantum_awesomeness.ipynb)\n", + "* [quantum tic tac toe](community/games/quantum_tic_tac_toe.ipynb)\n", + "* [random terrain generation](community/games/random_terrain_generation.ipynb)\n", + "\n", + "### Games\n", + "* [Hello Qiskit](community/games/Hello_Qiskit.ipynb)\n", + "* [battleships with partial NOT gates](community/games/battleships_with_partial_NOT_gates.ipynb)\n", + "* [quantum awesomeness](community/games/quantum_awesomeness.ipynb)\n", + "* [quantum slot machine](community/games/quantum_slot_machine.ipynb)\n", + "* [quantum tic tac toe](community/games/quantum_tic_tac_toe.ipynb)\n", + "* [random terrain generation](community/games/random_terrain_generation.ipynb)\n", + "\n", + "### Hardware\n", + "* [quantum awesomeness](community/games/quantum_awesomeness.ipynb)\n", + "\n", + "### NOT gates\n", + "* [battleships with partial NOT gates](community/games/battleships_with_partial_NOT_gates.ipynb)\n", + "\n", + "### Procedural generation\n", + "* [random terrain generation](community/games/random_terrain_generation.ipynb)\n", + "\n", + "### Random number generation\n", + "* [quantum slot machine](community/games/quantum_slot_machine.ipynb)\n", + "\n", + "### Superposition\n", + "* [quantum tic tac toe](community/games/quantum_tic_tac_toe.ipynb)\n", + "\n" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import display, Markdown\n", + "with open('index.md', 'r') as readme: content = readme.read(); display(Markdown(content))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ "*** \n", "\n", "## License\n", @@ -115,9 +223,7 @@ { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -139,7 +245,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.7.0" } }, "nbformat": 4, diff --git a/index.md b/index.md new file mode 100644 index 000000000..15f493256 --- /dev/null +++ b/index.md @@ -0,0 +1,78 @@ +The following lists show notebooks in the Qiskit tutorials that are relevant for various keywords. Note that these lists only include notebooks for which these keywords have been added. + + +## Index by Commands + +### Custom gates +* [quantum tic tac toe](community/games/quantum_tic_tac_toe.ipynb) + +### `basic_device_noise_model` +* [random terrain generation](community/games/random_terrain_generation.ipynb) + +### `cx` +* [Hello Qiskit](community/games/Hello_Qiskit.ipynb) +* [quantum awesomeness](community/games/quantum_awesomeness.ipynb) + +### `h` +* [Hello Qiskit](community/games/Hello_Qiskit.ipynb) +* [quantum counterfeit coin problem](community/games/quantum_counterfeit_coin_problem.ipynb) +* [quantum slot machine](community/games/quantum_slot_machine.ipynb) + +### `noise_model` +* [random terrain generation](community/games/random_terrain_generation.ipynb) + +### `rx` +* [quantum awesomeness](community/games/quantum_awesomeness.ipynb) + +### `ry` +* [random terrain generation](community/games/random_terrain_generation.ipynb) + +### `shots=1` +* [quantum slot machine](community/games/quantum_slot_machine.ipynb) + +### `u3` +* [battleships with partial NOT gates](community/games/battleships_with_partial_NOT_gates.ipynb) + +### `x` +* [Hello Qiskit](community/games/Hello_Qiskit.ipynb) + +### `z` +* [Hello Qiskit](community/games/Hello_Qiskit.ipynb) + + +## Index by Topics + +### Bell inequality +* [Hello Qiskit](community/games/Hello_Qiskit.ipynb) + +### Counterfeit coin problem +* [quantum counterfeit coin problem](community/games/quantum_counterfeit_coin_problem.ipynb) + +### Entanglement +* [quantum awesomeness](community/games/quantum_awesomeness.ipynb) +* [quantum tic tac toe](community/games/quantum_tic_tac_toe.ipynb) +* [random terrain generation](community/games/random_terrain_generation.ipynb) + +### Games +* [Hello Qiskit](community/games/Hello_Qiskit.ipynb) +* [battleships with partial NOT gates](community/games/battleships_with_partial_NOT_gates.ipynb) +* [quantum awesomeness](community/games/quantum_awesomeness.ipynb) +* [quantum slot machine](community/games/quantum_slot_machine.ipynb) +* [quantum tic tac toe](community/games/quantum_tic_tac_toe.ipynb) +* [random terrain generation](community/games/random_terrain_generation.ipynb) + +### Hardware +* [quantum awesomeness](community/games/quantum_awesomeness.ipynb) + +### NOT gates +* [battleships with partial NOT gates](community/games/battleships_with_partial_NOT_gates.ipynb) + +### Procedural generation +* [random terrain generation](community/games/random_terrain_generation.ipynb) + +### Random number generation +* [quantum slot machine](community/games/quantum_slot_machine.ipynb) + +### Superposition +* [quantum tic tac toe](community/games/quantum_tic_tac_toe.ipynb) + diff --git a/indexer.py b/indexer.py new file mode 100644 index 000000000..9110e9aa0 --- /dev/null +++ b/indexer.py @@ -0,0 +1,34 @@ +import os +import json + +index = {'Topics':{},'Commands':{}} +for path, dirs, files in os.walk(os.getcwd()): + for file in files: + if file[-6:]=='.ipynb': + with open(path+'/'+file) as json_file: + data = str(json.load(json_file)) + start = data.find('keywords = ') + if (file!='indexer.ipynb') and('checkpoint' not in file) and start!=-1: + data = data[(start+11):] + end = data.find("}") + data = data[:(end+1)] + keywords = eval(data) + rpath = (path+'/'+file).split('qiskit-tutorials/')[1] + for kw_type in index: + for topic in keywords[kw_type]: + try: + index[kw_type][topic].append(rpath) + except: + index[kw_type][topic] = [rpath] + +md = 'The following lists show notebooks in the Qiskit tutorials that are relevant for various keywords. Note that these lists only include notebooks for which these keywords have been added.\n\n' +for kw_type in ['Commands','Topics']: + md += '\n## Index by '+kw_type+'\n\n' + for kw in sorted(index[kw_type]): + entry = '### ' + kw + for rpath in sorted(index[kw_type][kw]): + entry += '\n* [' + rpath.split('/')[-1].split('.')[0].replace('_',' ') + '](' + rpath + ')' + md += entry+'\n\n' + +with open('index.md','w') as file: + file.write(md) From 46e2b7b675caed2bd533d799f7d95a59f8392190 Mon Sep 17 00:00:00 2001 From: efviodo Date: Wed, 10 Apr 2019 22:22:52 -0300 Subject: [PATCH 06/21] Change in cell description, the qubits limit description from "have more than 10 qubits" to "have at most 5 qubits" in order to make sense with the condition in source code at the belowing cell. (#569) --- qiskit/basics/the_ibmq_provider.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qiskit/basics/the_ibmq_provider.ipynb b/qiskit/basics/the_ibmq_provider.ipynb index 290223bf5..87a727fb0 100644 --- a/qiskit/basics/the_ibmq_provider.ipynb +++ b/qiskit/basics/the_ibmq_provider.ipynb @@ -543,7 +543,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "only return backends that are real devices, have more than 10 qubits and are operational" + "only return backends that are real devices, have at most 5 qubits and are operational" ] }, { From 4cb90c301b6f59e964bd8c50bf314133ab7a2e87 Mon Sep 17 00:00:00 2001 From: Ryosuke Satoh Date: Thu, 11 Apr 2019 10:23:33 +0900 Subject: [PATCH 07/21] Implementation of quantum walk in qiskitcamp 2019 (#573) * add quantum_walk * modify image * modified notebook * removed notebook --- .../terra/images/quantum_walk/8_white.jpg | Bin 0 -> 52529 bytes .../terra/images/quantum_walk/8_white.png | Bin 0 -> 68000 bytes .../images/quantum_walk/executiontime.png | Bin 0 -> 10267 bytes community/terra/images/quantum_walk/fast.gif | Bin 0 -> 124268 bytes .../images/quantum_walk/implement_toffoli.png | Bin 0 -> 35944 bytes .../terra/images/quantum_walk/random_walk.jpg | Bin 0 -> 43688 bytes .../terra/images/quantum_walk/random_walk.png | Bin 0 -> 35144 bytes .../terra/images/quantum_walk/result.gif | Bin 0 -> 94931 bytes .../terra/images/quantum_walk/toffoli.png | Bin 0 -> 9967 bytes .../images/quantum_walk/whole_circuit.jpg | Bin 0 -> 85018 bytes community/terra/qis_adv/README.md | 1 + community/terra/qis_adv/quantum_walk.ipynb | 508 ++++++++++++++++++ 12 files changed, 509 insertions(+) create mode 100644 community/terra/images/quantum_walk/8_white.jpg create mode 100644 community/terra/images/quantum_walk/8_white.png create mode 100644 community/terra/images/quantum_walk/executiontime.png create mode 100644 community/terra/images/quantum_walk/fast.gif create mode 100644 community/terra/images/quantum_walk/implement_toffoli.png create mode 100644 community/terra/images/quantum_walk/random_walk.jpg create mode 100644 community/terra/images/quantum_walk/random_walk.png create mode 100644 community/terra/images/quantum_walk/result.gif create mode 100644 community/terra/images/quantum_walk/toffoli.png create mode 100644 community/terra/images/quantum_walk/whole_circuit.jpg create mode 100644 community/terra/qis_adv/quantum_walk.ipynb diff --git a/community/terra/images/quantum_walk/8_white.jpg b/community/terra/images/quantum_walk/8_white.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3454d12a271d637bcb0c2c0ab26a6387e3e93862 GIT binary patch literal 52529 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
    %ehY1oqE`A>aVAB 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 literal 0 HcmV?d00001 diff --git a/community/terra/images/quantum_walk/executiontime.png b/community/terra/images/quantum_walk/executiontime.png new file mode 100644 index 0000000000000000000000000000000000000000..415ac101e5649d1945653f08bc55a7b9d448c846 GIT binary patch literal 10267 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�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�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 *ILlc03;_3O|=~eufA8L;fW}U_!YtNK>o~gS- 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

    +=MF1|iXC+at~i)-<~e+AsPt8a>cV08+Tm)EXkm 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 adv)A-J0A6U=k0tpuRCwot27}F25SIa$kWXL literal 0 HcmV?d00001 diff --git a/community/terra/images/quantum_walk/implement_toffoli.png b/community/terra/images/quantum_walk/implement_toffoli.png new file mode 100644 index 0000000000000000000000000000000000000000..cb303f7f4d58b484facc554b50c10c23e7e82b6b GIT binary patch literal 35944 zcmeEuWmFv7wk{AnxVr~;cXxsX2=4Cg?(Xgchu|8V5L`nbc#z=k(&#I)_c`~R`~JRP zZ*0csRCia^sx{}D`hBYtsiYu<2#*I31_p*GBQ5>`4D8J;7#KJSEHv>SI*f+O2v(l<2N{b%rQ(oPahe|`A>YYhr7>+nC=!&6 z-oui)VQE6mGm;h5>{UiY*FYsS7uL8cA3c4F7#(fbsQYw52{rfgwClF((%1PkpKbTC z%;cnt4Qy}rqWA~DDt3U6OdvfeYYGPoL$1UD1Z-~r5i`sjf49zPTzovZQrO8$3fKH6 zjug5Y*&6%Zm(P1}Ax?r|()|6I5IjP}zn{R?OMEJ-z`zQbW|zn56KKy(A`nfOMIuUM zbE*e{e<}vmXtRqUk@`EpNM=0vH95hS7?h@Hx6H+ej;z<5m}g73)kzGZg};%?be8@W9khRX4{Aj z;){G@0$=}2yGBY%0DR_&6Ir1$7O?-0WyW7gxL3q1>IcYJxIPAdek(4cjF+eDlSk`s9HAY8=5~P+uO!G~R*n_OOs}KM z=O#lfGdCOUD*ILxoxPi>#Pb}_JBM~WTJ@lslrtHd(#q$&0OAYD&qt4{CK5rJT&ldx zZ}`}?lQ2vWECFx&z}`}?4@1s~AfdG0a^CjoA7sMzzF|#34Cz%X!o84In~+}TK*b0a zB1MA$)#;a8eT0So^gL7d(bpA9vvN^1Rf^FA!BH>*+ViYcbo(7{Tp9$CNbFtqo==7~ z5y5Diy{k=mW>sRs&Cz)-I>ECJCMrW3A|>TEPnrwE+nq6l~{3sVkOi84OuCgf8 zrX8#uzbtjF6Idq=@`KFT|Dnn1*is%a5N7X38cnwmk2iAR;C%Z=7(}StQ>w?Jwgwa8 zd19|SVhsiX6&xHK{yaC(Ywqnz24Es6XrfX$5pYJ43#5z@Fu$WANjIbsk^+iJaiuxQ zL@(SsKmkV7h#bNb%HA&Q2hk1F7VL1j zL1sm4-;J6ubi+P=a@}KWf)j|#ldAocyT{f<{3Ziyu)m5~eH?q!z)^!YEp(*LQ-kMY z1^8sOOAOhaV*IQzi+Xztiu(N|F-#VMx)_uk|WvKt{eayrsDzH#I_$Egoq zkT{}Bl%}M>{y;(#*H4a_Fe-g0(;+P-lP>eC*xiJo;oV{|frtW?-0-_C*$agW)CgOP;X{!aa%$tZTy2|!vax4j!OtOMnVp?+DV%(x{q7=%OXTkQn-Sg~X zPegv^*B;v}7lCnxk%ozevByGPawN-frj8krGmkUVCGTZ$VjJqR zv_(^Y`Sf1HwDutM1ju5YJku8M1z|A*0v<)Mz5P zFw=yR1*h0;Hym-CBD3`NWpJ`JuW*F_lJMC!5D z-qQNL0fw{cczKfYL{VOR3t_IH*Y@5_kx++c+jg6+YsY5Iso-Q+f7j2alJG{DwW7hz zN~&LMea_wH(Yw(sjK(3xoN;aY17~=r*Inw_^Hlc4_L=TQ?(y-}ieZY?Q;7O+);!iq zy3HS9{XY3!J|Tg+Zf|dx&ejfJ)B~)A?RqBz%8UsI;fL%9moY5}hu^LcEa3LTkHX%w zl(Q|+W?<`JKQi}Iila0zY{4x@=6+ip@FP0FqJ1lXa-X(2l{vuvTVQ1iFY3IE+jB$>k zFLmYT^;^07xp_LcG$3n~y(vt{|d)}i!q7ad<#J1rWY2<(gSpD8vc1Bont_8!S81u4+DTa~(=D^=Xz&(%&0Z^p z35&^2|96|oQ_|FS(1kOm9cC&far#Ai-ow|Y@JeFnbW;Xv{gW=AP59sNBT5T(GJH~)i&`f^hX9~EWZ7cZy2ksFoivdKrR^X15yqZz3w$UGjG zxtF7_&fU9NQ{MUZ?dz@^y{CFT#1^-9_U(Jl_1j5nC3A80gi?$!`htG%jz;a(+tjD@ zqr2uD1wi)`_{sJzs~9UjUUa8((aWK&Femh1%hwRB@IN@eQc@J3DiNZ5ntpnJZ&T2Eq}U~7ozEw@ z_M$$lk9|*hJ6Jv zlHf;Qr~BD^p8LyRUmw4U&?pY7*g`RLf3Knk)3bvK$b$ykL|YMh{~`ZUHK=^5los+C z{bN3q+HXW*@=lu8!yIF z?+0qx+PN5dFxWYh z|24?J#t}DlHg>XfaIv(vBY7Ry(8%7^MSzU#^+Ess`)i)29+v;}Bs=H7#R3FmdOgF$ z!pO|@@3Dbf`Cq@~RkHLjwb2l_v^BMJ2A(0v!_Cb9=lcKa%>O*`Kkn50pF3H(x&QOd z|2Xsao%~F%0{n+Se`)K_w}83?;rW^Vt$IOtq?PC&z-ka!iYuxDM~K&@0sazz7xmvq z;5}=UtzP#AaQrAEE~4rIew6F}U2OmqfbFe*Wb`eJEJ{{cN%d#}KT^4y>q6dJD9sOyWxxB^SN}en7y#XjF7n^k z11GJ37l5$-ufc%po&VSP|6KoXbpm?-f25zlFoXm9o+nP9XV9**o*aF>xQ6ot z$2X@jhWTEpVZSl+d|#|pufyuIU+!z6-M$ZD+v)m(^j%j!4C@E5#{80B$p2b>i-g{I zp=X?Vf;k>Np~o|^y_qsa9rrXHr;)n5-_hX`*t+cW4Z~!J&(Ldt>0qSxR%tehCXwp< zKe^sLKb&s%Bw`OE=?$ZrM94#+Q6s%h3t8xq`F%F0?WFZ~sydSKU<@3-eW#<`NGCAh z#vr~uLcZUbCKb%ANpJ0{x(Qm$ZpV1_Lm)>t7)mg=9AC0-BHjS zNShpU8st@9en(B$M;qBB0~%G50fQkBDNqyyQFK1tEGwrOsFE`!5YkmQeb6vXRVzgJ zs%#Ei7bQ|a8jMGJ-jA+0?unX9#AT}ltvg3rzR*Whny+IG09S)P80*ndyg6-|1YVy+Zf z@Q$SOcGY_W&^IEGX#5_z4zaD#psx=;*AnS}u4%W@X>_1$v_tikJ^Yy4v%36_BoK)z zKrniffoH>^pHytPPW*JBfHIkFzumgJ`C|(CFfuFCbnryy(V5Kp5R*Wl4x&{ELTx6S zd6*QjFFXIkQ6o!bY+(>KGE|9vkDuY?1Q#;7R2%}nO`XX5P??}m>N|$k6*N6R&^EOL z=b}k+-56s>$n(=fy5BnFUw%G;PC^#@gU|Q=>TEq2dC>LXdR{+%dOwe5&4#D1eAS{T zw$RzVKLXY8>3W_kv=L-@28XsM4YBuydwbRAa-w_}4b}@VzoOOXWF%0Z0L?ajQ5MN; zX|^3+%d%a^9akn(^(yOPBJ8SvN)>YP^n9;>W}FDP9W7V{xHCHowf~7&^d=BAtnw6aPW+UIs_TT*-f?_CIPu3{VDqipe3dP7av% zz5Rtv*{x?o;Lv~b29r*-i``R>I!uL$Oz27f=!~RAt&pTy1w6U0H}K8o zi>6IE6~_xh;BVC4j2#ZZcN~TY-TRNy%JThq6MlWb<^G*Fng$_L?A4g=m2KMs_i)W6tm(mn!SC`me2fep3T>(N=p90@8MzDlUaFdKMM6MKxdT`ckx*Ss% zd*{U{9m~Oct+8?-_ieAG1ek1$|9t^0;FEf-FO{3%q#cUl5_AU~e> zpxi=fb5YwY)08*uwS*dlOpA@ASQ0IG}wAEYD!Vldn+Y`^U(;SGBL&#ep zz)yg7^NGpd6uXdX&ihwA&B53p!;0lqRIKvld{k38^qb}ml^vqleNODySmc{<%# z^*%+c?Yhx&Ir|v>e(Kb{&aDAC$u)Y`9>E5fhLQ~g_d4uNLCLbWDS?fn z#;G_<79hH~T&=4F&|?zHNf;_we2G`Z<#)mG`m`sv*6mB4x|`?CsN??2wO$%`SE*4w z*4O&5s&TUK(~f=WYn}^?qY#GNA7ko45Knu4+!Y$?0dZM>B##w{7cXHc_XmyX4>rk@ zzmHA05XU*Z22jFJEL7ohXnba58B(;8(%l`?47qU9qML?#|@8I}RmO0ZEb& zEfU)&dhqt4h$Tf?Re^WEnAz)U&tnS~N|zQtYC_XI7jx=~e?8z$VHr|UW}~2Gam*%^ ziQ)~mz7Hy0;3*Ju98YDooq=%hr}(KOfvA!{$~W_EKkIw@?HjVtN&;DqAIvB->bo1^ z=bP4^*ySvxB#ugS(w8*hbJ)6)^CUUO$aWg3Z)hl1{RIjpEh|oA8qweanZ7@ZgO&lg zCrK0JM!BHbD^{rKcXON--oFTLr>GRd5R(R8C@*q9BtMkjcLB;9oOOUtFPU|y*#zJ6 z5&CiUWm3=T#snDQPeN`+6Fz^Zi%!MBA*d9SZHY69^WEfQuHXIsbX|*u8JoCoE#y)@ z*#4^j{Y-vg-k6_NT%>KOZOft=iwZ_CU;(Xh=4xD*{A+aJa950hI#Ef@O9iE(+~yiZ zcS?z=!`DF6B#y`5)77a4*;Zsg`TzCYf?L>PXXB28@Q|11+aAPY-<-9wcYXb7?@|oo zLi>kX0Ph^2I2&i1>OWW=Mvd7A5jLtTPA&Egf0W#U8FU@}UbTz6N*B0F)(eOI)S+PZ z+kV*wq77%ZS^=c6tBL+eGNOL>VVFD~As7bvWY|$0Odm)~^|U5ZZoSA1uhB&euHdc^ zZ1a0D5iGPD9bU5tHy#>PunPTqkR6m-K55_$MK28pL2@X;Cp#s!{ne|4ad}qmL}CmY z^05KRK(}`Ro4Xmtagj&`Zci~?Pi;;t<&9BE^+O1uMGe%rqw=(RX=*7k@Kxfa`W_ph zUv6W~>*m{4K37;N-QKX@-U8yGWypgKq+`RgRIE|=V+`A@M^#qu86?rsB*ezx7QyvSo4*_+CJKo!^eV8w2R9l$Axdb*ZkZ0H_Knd0zw!f zapq%rw-d;-?Ylj>ufB^J_apyGwoq}@0Qn|vDk{KeMaEWt~oIbV=SXAoNTb*S)%G+i$cyob$wqB zEKUj%m)%@1CP8q{P1->PLBb(WHhJ})fYQ%5Rzal@km;F+c zrLv!n=XNT~%)9F^AHU&+>r{62rb#Q*lAf82x|8j%y@o5_c8o~PqZcipYBeSe(Guj1 zf{}Faa)cEKV-6~4C^0gkrc0($j8ju&31g{ZDUXEbzuzlz)Mpnp{azqq2t@I$WL7CW zqK8UikM%%@^8xIkTjxhCBL3C*@Aa=%2=rwK@6P75?FW*{hZEX?y0$2A0{17z&v7g2 zUUrO~Ci^T`WU2EARPx_TX;vX70^bhN5`=fr3+gt2xQ#*Nxs`Yp@Bc`iXFe6lepFqm z##YG#6+q3-5!mv}ZQ0{!)vn_hi*v={+hn*gGKG>Tgs+0Y^{l4qgy3F5@bA?vEu2{^ zC91%0L>51c7R>uVvq!m-3nWU+F)Ve;lFa2G9vTYES{BLM>ef{}>LrIhII0lCZ(#$s zl-s3gQ%3@S^_79*V4IoL=-SEU)8|0K9O5P9cAQ!IP=VoGeZgC?N{~9hNkQ12zg@9WzuKQ%O7)!2jIss(o;BmC-b15kw?KaFj@KWn~xH-lTL%>Bt61-dYFu`&S z{O)Y~DmN-n>nK2&?u=)$piLyI7Y{3Sf*bY=Ci*?yhX%fZ87#kq#~i;f&&pS7~=f zP@rn!3Ho@bMpc~I0u9Be1WAb>`kf&Y2PCu-YwAec9zgh3pb>bJO~;+3O3OyL;;O;-vb;HrVlEf0BVqWytjF4AY0JaD}&wg z!xh+vew(6LPIw?$bL_`Ri#WJR+c4^GN%V;ZY3OT z{MiD*GN-pQLN>WUrZ^JA;Wa8SLg0)KqYyaGntGhH?f#BlN0sU>eE9Gd))-GW{Wz5X z6m>*GmmJhJj5$@yG~Zd@IzXOat=wSdh??5HUz%Om5ZsFk^k)27Ap*;QgS^_Ma3dsh zn&+pxq;44&`NH=yxRT0)3xfreUD+7&F_s9{DaI=7*@WP0Oo5YB0h_S`v%`ovPLLtx zka0)7Uj_?^_&prhiz6kCRaL$x7@L5ErgBdnc?^(8Q_LZxC!b3R6Vf3l%sVeMG>8v53o~5FAFhuo$!}uU&|Md8f2@QC;6C zU9AoQ>mNf1fRt4f4*hbaA`FIRkr8lFWa!eZ3_&OX2$a=DR%}>?o!TZpa8mAg`%U)G znju1}Mpy@IF#tB?14k{i6Fm@(MosYAqxUJ-iT&-YAQUCiJY)o6Z)UWB*1`U{^l>ge-D=u3{0G0(}w9?fygnz-#C;BFo#L7 zO;ex}patKSQWIY#2^2;7UclJTyae~h0EdGE;2nuneM=!nMT9}hagHtNXx|Imkp2d< zSOHy{2b?zm#-9p|PfKQ>AWRBtp@eOOa~$%Q3?hIG$d!UB5Zfex3`5+@a&Q((d@z64 zUATa%*m^yH>abiE7#}l{OS%9BP{Lc57&p;Barxp^NEo$znm{KMCBGEooZ}MUeD0gS z)rbH=+mCC|Ne>RE`mW%yJZc!9LJ1Zq2|{rs`AGkicAl?723Jm{2=l;F3yrc&-h2Sg zPyRUvXbu|C5CXGaS^#7vnv$QY#15X5z+zXDT|mQO1O-65l7>wy{N=+$fRL932W;<@kbq@! zifQah`42oQ;Z;L#V$uO*q7oQi4b?Lk5?(|&xE=k=WS22iEG^?kTO1h5_-4X^!@Z${A!b3fKLzwu_jvIKpvyuvG#&*Pi~8tLhI zd45=ElfcrXpl{nsa*ShD^kitB{a^^7cZdK2y>A2NcV7vaK|Wl~)O|DZw(f_UL3OJPkl7G% zXNmpp3^O=wmvZKTs*7MS1{a-k)nhZwZx8^HSXMkXV>f0Lg%HKUkr3ZNBftXiuiK+j z(-k(TE{-ywFnDGgs4BDBs50|k=>lPp$X(%HRm+l~X6^g9~%Vs`_kneLLlfyR-zO`_FSWCP+{EDXEUms$dB03KN zBGC446F!XQHKug}>fC6a*Lyo9^y1?I+D3pXnZ1Q$mig@63{c3+kOlu0nSopT|y3_yV*->E4rg5TA%eoqK z-kD&R6K?C3I=Me?T|-jjKkv`Mp5Axd91I0oKd-#0;jJO({w*obfo$>Oh{N|@g(2d> zA2m%=ad0bRa0LJ6O(Mcjr(P@n1%Q?+B4wXqx)9xmHK0Hxyt~_sFG^wq@a^)w^$1S@ zt!72EB4C5nh_QxbbdINnaGv@|05OcCN8e!5{)z=VZkV2LU+-kw55CB~W!7ZIndOGg zB<9x5AP4v%ukjd`AF4TR%8H7r5r?1DI=x3+MBPQg>RKp3fg-UgaeFvUVMja&2Y}Tw zjUwkbbu!nr#eKD%p8;9A4rzu5S0LUGA1U!HcdfEydt=CjqI`WruHw#s;CM zm4}|zg9BwQ=&$W2JOla@pg=^x4{TzPHns=8iPJ(W7ff)i@y8JGuzI;fLYG94Di3Pg zwY~HD#N4Uu;0|;o7Lcy)U-L(0No)l&cwMb>r~vQqQ1yxsPl^jCrz-I&bK(Etsjg*N zQoe4}{PUwB&;`fE;l5eNRV(#LCK@CV zVLYxMA~JmC0{|#i!Q~M%JWik@6(|R*i=#Z(06)cd#dgU6xB{UA=3(SHoWePPtLZ9X z-NqNo;xJpNGgR)`Sd*-b=8?jhrQ03~+M9j$r$JA=_W4mP<0vpxu5ie6uQzo~;9Kh? z@QM^0ugAYvhwucjr6l1RXxFIsn=sHfDAfRK zS068)@Jj43XGs6tl4Ax)o$|dFw4kYj_YlNBXCgT&0Doq%f_HW`qbPOyPLzX&ahy$S zyGO+g($W)Px)c`-!wLJav~5t?h`%uXTFz8`oQ(vNWm0};GK|Qzf>QcE6AfD*V}pIr z(y#co_?aoPQWhbdILgln1VCHKfy1P4QKP66_nvhvTaJu-FUQh@TpY0Q z5DozT!g^Bgs7VS!0w*3rxd>g6pT*0Eu-6G)*w7Q`)%ySnj`#$KBN_MKe8k|$et#(# zdO@-m9 zgj1;cSU=o}z4ksa`#s*359j$@j7)EiJ+S!MY?BK|5y~QpUjL3}ic5TRqwHKgw;waz zPlQ(pC63~E{aJrNx*0WOGGCEfRT^2W<`F>l5N=nT6$>2TklMAhSt~UoWI%!d>h^7t z@07q)W3-^+T61-N5omq*ydUwNt}H*}ZTbUj>5xsi)_nTt+K3zK9L|;$JWesJ`?l}1 z&U+wF>KS;0(l_jkf&mG&!^ds7}Q;#R(9>9qdrlV>$XHASt0*qXXoSN&h?61 z^0%k!d084V1P80%QtKtaslGD527ye&UQ5pBgFYyG%=* z?-s@J(lRO(t7vW&d6SG?p;rhMU!Y|UPK&0!xr8LI%o`*yiA#*SZOnh7hu65-M{jF! zWdv`)SXhqG0f>}mG(yG-93z1)SxJrxqoXcS(!q|{AR9Vlpp(3aaWz$>@nARX3(43H zVpW93fcL4E<)0D_L%}ufz`NK4B5*u-Foia)f4&fQGSD-(IZCt|KT(dwT<5svvfJ0p z&-`#l(hgbT@gbIZ+Uc-N7N&!}+OM1wh^E%%B`Zw}{}`>*xW2At^!t_Xa?F2&{>6M0 z9n~U+{0A$Llpgm&$x5;#CsCy^FbWKrQ6nk-V!CGKQgjgWwIn}#+!m9u(5rGAEf}v^ zhz(N)TVCx=Piu;u<7n@q8PrRFO#L3OYyD%r%MO);=)5N%NshBspcCX^2wjw_*0nw3 zg|M@M5LZ9cYJQqDJ^ry#j%Mve=cOymvPZPQ>QiA3QS$^%jB9 z!-z%En=Q^l69tJ&lO+&g`j8w0lf&GJ((u@U3ZBiMCev%gOlm+wVSK0qfk7)`#>`dI zeSe_wsWo#o0WIuXBGg?7xBiqzvSFS{Wr^`;J`5?0IAg+18=XXtkvza+DlKpq8 zSAqc7ROpwa5MyDIE0d}8EgU(X!$6wjoq<7^u0YX`wp&_2;Es>bN_P}Ci)0pkUVbZ% zLjw%D6TYHr41qwWrchB8YR!GkcaueHA2;`k%Ufs<-GBLjO1MPoMlm@|N{a|ul{`v;wH&qX z=+s;;XsF?*5Yh2Xoa$39NF;3>sJvEZrQQ#OW)SDF2G}&Dh6}4>segIA7&8u!=h?}~ zs8-5bO|LB*DNyj{%=bE|NE7Z=?pX7C7;qhQuFwu@A}1<*w6M#ld&^A&8)x%UeDi@V z_Fj&AWQ4b(c5ZxA_CYU7{PuLIdu*)*5K#s+7(khdAB>00^mdk}EC)@6a`9pO z(?M!%7wSqlRa940ahP+Aa%I?vYn-@|VUZE{{GwcJ&~hXLoW^s@PsM=W#yIjvU#UI^ zR=H|wef?L-7nq;!eD#(} zTwGSgYoE4A3@TQ}d$KJ(=#|}2>Mot{*e`9?mLDKLgdto8cg>nKv(G5`EM7)@g9^fI7GEL?oeLRfU39hE$3>K8u08ip|EG zT-JAok>c`RnRe*6_56zl$;MhRH zB(1C@3(`#`+Wx1F>usMl)lT}))VTVTWHU!a1wXi^3~H}|N}N~S{85Srwz$xP+s5w8 zMi@5}UMvxb0Zl;bYppS@D?!UW7b|ezGWjlmfV3e*2Y1c23U66FL1sAH3;*(su@^uB zIgY`<5@Xf;kO^#9@93sHsDkekrHCSju9O~=cnM?e2){a*W#g-L&(s&-&2DEZzGfr5 z;H+xws@>U!UXia}dbN{7T9eUa;{>U)s7t}ff(u#H6NvGrHLo1`gt(MvH9x0yzVA(@ zvkev|qa_VT4%8vAcOe?HXQo~=)mwAMGl6Wumo&2!(nx?U3WeBhpJuM)?Zkq^4VCqPR(ZR z2Jee@4c;RY^0M>Vz|q?@j8G0hnA&4W3xn!~`PE*MIkHa)+R9GAYD@OUI4R`267-hh?<;+;3(R_i3-`S zGC)Q(l6D*et#=+H-is z(uZBmk2x7#+n?Gd?d31lAXJ8op+vBO?@B}pnHCTtjRrI81`<hh4GZ`a6Uu23M$73^lA48AoC>!ljZ?Tw74?*p4@@cYA zW#y3ja>T0;<>0T~T*-0k!b_s8J*!1!Bx2t!9flE!1^EeFzKgIl#vNg?73@e=f0<7q zuEy1N;e)WR+J!vOm>PMn^WAGwOTLtDko}P7EB~Bx-0r}n!@qin`y3$SHKN?ZK58Lz z*ZwRRtTXIugux3AFRDGerv&mBau^FVrz9dYhfrCeX$2nVUtDZ#0lES=sbrK#ZIo?W z8OvofPhTe)T4cdMFJ+~$7Pq8|sc|>6ea7iH2U(mrA~X^KP7$;jzv_>J$NbDU;wgIj zOCMQHM^l6oNpqMUvkxErr+~I{{}<5z7D0>)(p3hQUY4cu2t;DOtkL!l5O0F6QNro1 zVWHXgS8WW98SC=#2qS!RFRi(45=jAUB;xQbunmGg5C*|^jzrrNpgXkK=Bnm#rmEJe zw)ecNcExKP9j<*T547>dfN*J1G8hZhSPl*;k1kHyD0?)lq;Sk!&ABuSyevBih=r&+vkRLgl z_^nUusDgK{cr*gBqd-)ro2B;1F$r~#u{g&_NreOxH%KL&1YF3Nx-rdwd$Z|XM`#uc zB<)J!N0}xaAvz%~zEzsN8%GOR>)U)w_@Wi-(3w#(J^+=FfMj*@F<`_vrhr^xVaoP7I#0rHc7Pl=4{^Q;DV*o2E;^=EY5H z3c+3>itiEuppa>CPRJ<4IGoNj8V=+)`1X`PI~LzYE144Gzm$?dp@y>WLIPsaH*l+I zM9e&rxF$1DQGd%(i5<#rJDbUWW-qmHLIbZYhCOtkS?w%umZI%%PNLoMtuTXWe>?UvjeBz`?`PY!(=cik>m-Rv%)%nq z$wLSLn}6y~5x>z$phSE?Z|>g7vMvOF3Kx1LO&FBxSB5I1`fBvTXF9&V;0^R`n?~bP zvmRgW4?Y)(Jaw!+F-{`?c*z7dx|E~v!O+4LS4&b~;`|gJscAo`v{1@-`5~k1XCRGE z@?BY5rX~kio(tUDraWVfvTK4@lt<|4YG(5m)ja*sQ*d)#r30?1Swwzo59o#C^{9T7 zN&g}_?wI>+`RmtJ87qo31g8YW;^+84d1byy9;%Ytm*>-$!hmKR30$-OPG6I_Vk0pV zPGr-^qBVIPdB%H@{ig%A8vs zp;4Zb=9?vuGF`>o3f1YH!xhanI>2624g?9j-Iq|ai?Xj<>`7%P`ItBwO*)~c9t{9J z4m^1!0SrUjTuXAhQbk*%=YqQc0oXRJ$18;QPCX77)yq9+`&UQjlkG1^Jl1lV+Ja#X zuX>?CwqMj2CdtAbs7k#p%MnfUyN-TM^BzshWx(-&eZD%0818WQd{}OWV>eN143A(x zx-#ndRI%_&>8YX%mfB$1nt$ndhFfUKR($F35;*>^&tC5QTmLhKjAuI1$@oy2o+tm-%Odw7>D8{W<+V9^fbPr=6~asjfM_Xr zvs`G$Bcuh{P!R9vhv8zNJ_`jc397zYlQ(>M{72df3Z5H1AYI;HVAW^42jNq+J$Cki5Oe z*_9H3X_5Hlh9cCvf&hlS-j;Ih$#|?l`aR&{e{W#FY_iB88xmmU`xI# z3g&kf5^2^1H3Nf)BtvO2JPL%-Bx=T|b)$2U`47E`BnYr*?_l8(9C3sZB1objkc@go z%rW{2n8zL-qgqS7vmREKTRSHAXMVnDeLme^_HFO;KW(%wt85=HQ%up6McKm%bnm{* zZKM*|moW`d^!bf$UY6%&HB>b5JuX`KZu3jT@%+<9{8QnrqZIx#H>1&mtN)#`ju*_S zUE?rq)onyEl1^<6dlDw71iT3m9BOy?c+53h~Ocde~jGxx&Y&< zrEQ!r!T}GK=R6GrYF#c`%XD2Iacsa*Q`VVOS%@ur)tMAI312nkBMYNp@a-3mvSuC# zmhxSVE!{F$@m@FC1<7yl{_GG9Ggf`X|8@7!mk`9&&EL6mJFxu)dB%zExnwBd%QS}g zh;)zBu)_+U;rw0x>+Vf7PLKF#cdcx4lwhwoiB;DqK!E?6!t{UL9V55!j{yIyz<(Ox zKPL2#6aN#1{yz(&z<=S=^YYL$^$e7ZemAu*_qC0{>m}>y6euEv83=WbA69R>7oGDi zb1t?4=#``68GygfVq*oLR;Hd-7O{Q4Vvl!U$@RG0r0RoG8^`o+8sx23IpgG^S-#2+ z?!?21elM02JNHeVv{jO^hu7K~h8}n5RU{We0yB+`Cli_jvkekjZ1KT;@H|SjryABu zKK+1jFp_L>%jW^?M4nm&oGY5H+u?^rfSzWsVr!?}bdy-sPy4$qsxJ{nW z>|*!Y-P_t`T%8+;=IY%Sso71fwglM-MnS1D6U68t1v2SjzaJ=bmkW|s5e|kE5i>Rd z@+JKUz((`HG5Q@Ei6Z1Y3M_%(Ct4EVSv2k>u z-s6?L(-Lc(Eb_iCss7G5NX-66$tO^^3>8;-F;_6JlgS%1?)9=nVweD@7(gd+;B!bT z?Z9;AE*JRLPQX6P*F>|FQ%NN~^Im;L_H(#tNbj<_IdSjlz?p?q9#h>bLV3u40p&0H zKMwh)EO+lk1E7Rw{;j9flS%cdbtSqKchLxeSzz+hp+1i6Ds*5f>Rv9BH%Ga5`VbwPgWU=(L?W?vXpiS+*GwZs3)5!R=ESuH zq>&PFtn$eMN}w+)zgWEU-aQwEvtM@^?A2sCOZja|J=>8oO2i`$)Xp^Cer_J-urIDT zp?!@MP=noD#5fIw!5&4g<9g+Y&G(RIUS0}F6kvBhUX=+6G#VDl+tSN}UY+pbrDOHF zW>F>YB4u&cXL5Jk?@G$w#qBbCt&@Jgu5H7V(K+*C>D`Z8(OTU;eqR9|h^{kokg_T4 zqOyJuD7%Np`yx4CXRAN{aX5b5&aE*U6Lby&tYy0x-KnJP$6JB;!jbNnOKO6PCxSqn zS!enSI}*qni8F*(We`U^Rpz>`xclF_H@<#me9^XkOiJ%G zkpzDZB)$t=l(+YqSycD^sXo!YCD&c-(_#(p$aHn^Sih9LaordH0+@_CfrFd>bGZLq z_@dC$j1VU71z*o4Un6$cp2Ps@Z9+J|$&J9;rNDMdGSkZiQ@-yxw!dQ{DS>lWir$_l zhQN(!j?_lN>F(c!?;FxOrXce@MG8O@va?#Gw-m%I3Z zf}70Eo9CmcXPX=Ro^yPO^RB03d!ddK*II3i-($KbPTT!KOb-oA*`7RI0YNrmeKd5# z9g?+^#Q9yst2Gxzu8Jk0^W)Tu&&>w1zsJpVyq}9?7<1_eG7=wazwZ`|r$Y&yZUxTt7R)Yw@cm);$)VZW zef1h|$I{Q5k2NNvrcB<8zk53%iwV6Nqpx&eR()}Ic^8fj?TwU9>9(Z^Zk2+!<6)bvMEAx#i_@veKhb0&a4?=Nihgr zDd+Dk0Dcb?9qlMjiX~FW%vM+8`!KE?pqKLdHIe1}UaR|Gzl*wLT_cS7?U8>1-!&+< z^@BkoP6sdk)5|iZU)3d4c=kKe9fXD=-tA#nXE+{!4HxPZysl8h1O?W1-&psw;EZh{ zm=ogmvACyx)-k=2U%QfTwAR_gYqWnHw9nB6jjA(_$%!%)VJf53ut)IvA48ACi0{9TOBxr-l1arFH|=bK?Z@{ZlN7YcHm4G;EJ>}aJ zM=9TExjdlf--#=yNEBd9Q%0RP*ZLkeOlr+$k=tjU#!0#?@VSNReJgahSR$8Fh?_uJ zJAxO=V&a}34t})^TCeb16L9jZDiWb#7_aaqyGvN}Ux#|P?MA}dtfG?4!!JAb&t^CC z{!jDU0*m7IiN63X7UBOYAJiA6`MsiR zt0|uywztUq7m4vXxd31dgU6XdE*twW#j~4})OEHeCDeY@7bRt+R67W+vMc99>O?^{ zk+CD}x%RNC9%CuXJdmE`{qwV4^DvBZu|)7vsR{67U^mCP1yyN`NHhjfwHbcgc?4@G zDO~~&0v-$_nw$pX;ZmBEiW%!=9ErFXxxk7`a+tSe_`BJ=Pj86tgr@~Mhv@RGp__K| zX7UKmh0O7Sm+tazn#wS92TH@{+vl1YN0Jg{wk0?dNfE4j9Falixoe=@5`}9xl%pWS zUs-t%m8Y=}7^TfvK(w<9G&<^K=1!#sjavly?;g{-_j{8(Y{o zeL>fp#;V8q73}MMaN%uhTDNe~a?u>8h4Hn6Xz}a0HR9YF{4)0mTR9jul1ALd7T$an zoOT(!ob0eW5N7MSLZR3Fek%>fpmH5(iUaNa{eZ%5l-NY>(oGg{gVPJ!;z0JKkm$;3 zAHRxRnP3~la#?iS!1YVC8~AN<8AX!* zNSg#jU)oiEkPtkMq)6*GXrW{>Zk+#%!UdAk_27t)&b3jg%iU<%_E-`0H!nd3z!gY( zJTC?~z2+Oo%iuRGv1w<;W-*fMiV^NAEXguoVEQOE&U(Q4Dkivhl~%;7%wwTQ=6j&C z>i`oZ!l9lB*s13iOYfLwwa45Lx9ePS;|p-1`=hn^w^H4e6z#+A4>t%QkBdfxfCrp! zQE{?P;JhM&ainw2!{v1d%MG7uOE!$RMcjhxI4B z)xxe!Z3s`O!2rSMJeEM7*4bm~$Zfw_f;bCW+Y%0e3snRkPy3Z=;p4f3-h_8s-SR19 ztPIp^>vJ;~62(vnijm6rqcumRbu~NHQcD~{dA7|vRX?~(dhts_F+1>E-5Gb>4Y%W6 z-`?Kr15RXJ%UKEdsEram0hRynQ(C8VZnD$Ywyqt!eq^`$il$-&`yPm!SoTI8q8rW| zK8}{+B&p!zZk36x82R{|0rP)1xU8F>{;7Fh#k<)8#)b4 zRIf5H_MqST?A?Yu7L`wlFB;#8wh$f$)-;wJXpK4Ooi$sJFzuB_0O;mf zMIV#87!Xh~y5>5RLoApdnT{U!pGvinA5>maj=eul`&w`NsO^nOvQCQ+?iLRiFUqFR zj20%{ll#Ijbsp?J8qZrppP%Ac$DT7ibBk-7&&fU|WycGsrhYm|o?EU_<_yGAMfL%S zqmLjTzHh;iiOy7idQ2Nd5|}p^#}>*A*V18XmdZ9$^^f1hvMxN9fJqvM_zvVxwxAPK zen~1oC}&NzY1cH%1I&7-x5e!y!8&Z^r^_`GFi@n%ukPvxn;dMK(CnmNF}y-`O#-aL znc{Ry+){aHtT5tGo#!Q2-*Dq{HvlUw*{UzQUW9!~Y$*=-t%c$wU=y&s+$qZSXBML| zmo+rIgIn&K`d|Rd4~^da_rqGhS--i45{!?Y5Icw})*eNGuv+W}i$D8Gj?j?T{pw_t zqAznW44fs-2V8@W|G!)Vmkb4mHiW}0&{_ok*KOY+4WiUql4Y_PM8#TLoCQ0E|1|`; z&736>S1zfn4kz=`@0X&@Kh{?EDF}{1K1WtF1rfR|Tem()@2y=`(n7J-t}=;55&mcm z9IhHvBr;fW(#6$ML0mz(Otqkm@N|tyR*V6RCXyA9xCb&y}(%w z#EQPj{DW?u1hEg2+`&tTT{0bDzZ#OPmEtMA&3Brtx&4m1`a-91Q1O(2Km)a8rnD6? zS@Tc0%;DXQ?q9zsHc^;buzN|!gwnfb zL-Jhfl}2xYPJ;E5KOU04o$t`i2H!23sH1&A(pnu6`%}cfdc;uzua{W@sx%whsr$Id z!%#E+EHUitvsrZLTdK-(ZG7F!4Kwd`Gw6x`(w=SrM<=+qlw&dzbAK)0;7z2cYww6u zq-dJ36TN4!oGvS-ST5tsB@Lq{C_u+tF>`0#lz zgY5iVw!;%R-y5DPXoE?1FcL&F9|O#bq~U(;+%j1lW7kn9?_#SoDPHm(3DH&Ilw^m`=y%V0a|hd##IQEZ zr^!A<5cA--bw~Qy5nPWI98#u?_bt8x22a@7{jv{Az~1+HxQV;^(Z2x`lG9Z8{vzu0 zJXS1!K%JA`Xjo{K9Fs1*-ii1JeCvkyqV}H+eMdhHVfD^e`1Lk@dLcX_Pf{$YT}qNV z{sn4dDU>vbiebNYTeqNDsSJOSLR3jdj8NGb6*xPo(NE5prRijjp%Yn}Sf7e&I+;>| zuYt)2OhnPaFBJ1j_zclsYia>|ec8YE`dcO<;Y3}5xMZY*N9ct|d@nsTw!xz)CCz7l z!@Cs3=#2D^2R15OQA&phB?(A$s;DFfu_yanG;Iik%+KP62JCLAT-qPq{*7xn&G9#7 z#mv@7(&K+nYL1BBe_iKW)J^dYdE)8QTy|=lx zq1$vZlc)3QUba%~vU+Nw`U-vx;<W1Y-+dsuXD3~D12KtIpOVFpsjezWUJ;WP@{ zR}L^N_>u;8Ulo(d$H(xb*0)5X?mRW~IX4U8A`nuD&v9mTG#1nbe44ykEQ&^S(%j_B=#FNwhGL;q2Gak$?z!S7mLyuR;G=9IL!a4;M#~PIHZPK z%TAo?QfaLF?&7fXZM!C21%14;0nCP-pjeU$V5x4M1u|GIR|B@Xt{4wtnze6iKCdZ{|@vGoAeJn_7EJp9}`#T(XshgB@ z>bR}=15E0J`+j2!7j3QmpDu_XnTJ^^5Aaj)zbv`M1>!x5vgy0azkYWv;>r@gH zx$Uq-xXHX!8Zqx$49PgRyqblk-jp6Nt|UI>Mf^@jsTp{VFGvvp3n&z0P8PUD$2YG> zCo70kTEg!~CqsElF8tC|0kX5%j3cXbdi>S=_QzD z?OOphl%o=z93?i08mWh8f?|fVx&wl4frca6v)|}_0>DDmVjmZ5_i9v*R+2BKfu^9W z&Ed1O;)MbqxsUOl;0OYSP)iTSAerOkxxA;%CQU!V{C7&<33x}ZiYxTALvjVXss)G- z-ykKEhuL;Bm$7ixC-Lsr_$dFCKIM@Ad{w88Dgkv{24Dj99#5^Qc+M_aT*G5ASkJog zkoS3&bgrL~>#m4x4;t!8yb0PVp+i$qEiO+by^{4o5}ME`7y-;digWwZ6%cEr5-1?S zPhyl(S#X-2D0Z%-8IeNFv6V^@Q)Hy?)!t+d)^tG>5Ki8s4lksE&+4SAXd zD{}&9vCvYCN@?R7cWciXxit^?1f)l$s>)zUn1dZd$U$JKPeqB2yPop07|2?jdgWV( ztT?)x-y(WpqB~@3m(+5HU}0j!aJ~>{zH~|UgpAzSQ=sMrSf7pMEQ5jUSS$}Z7i1Q^ukQmdqFZuAdS0bx<3Fv91 z6i;tDCySz#+o<<-o=<~V1nK2(R6P0F<#lEpawsym+sk?M@iYP1ueuNWt*|@GK+&^V zu^6gIRfyy7jB8>2kgE19mi)A+^}2{H0dv&Jgg1zv=|eU#udBi~twiWTLXI`WV@T5v zHO7KFScYvBT#({as_RLk>dA8Kg%efMazMXlG>iN^rO18Z}@Aw+4AA&A_D?GcTq8qLtee*gNnSE0PI z&P=BkTgz5Si(uS|6kDe<9KrAWQ}k$Ds-_Y@GQY97<&jOp5*NS9BD>pc zmtI>Jc&M^&DbACOx6StKzve`T@96qg!>MPw4`F@DT4ApHeG)#t}m24XP^zM_CdoW?U3k08CmAu$;I=g zG+W`FtH7Ex~UyJ03uR?(SG%-rYMx!Y7ne6H)vem?0qO%##XkDX-7xp%GbaOOb)<<*ySf>n`Q3?L*1$rf&rlsF3 zit=Rb@%!Wb5N-LRU*A+E;qll`E(?K%0;7<{<5*Txl+a)cyMeoD{IA2Fo1$b5eUs%$o^ zb=-IL4PMGR@p_Xb)>A$kJqn5Nkm;j+pb#L{or@)_sf&FXNp`NEj->I-d@IP!GkR3Y z`=CV3?b7 zi`!b^+x9naW10|m`|6{dc~6$@ZWNGt80{CkX|lIJ;Glv zIDv|?`{M{_x}koETB*{o^7H61)FJvL;<}3Y_3^LT`-sv9J<2CI&j$JU`w}SZWpgD7 zB;=uL3j&@~@cGOKfU{KeD)w;xs-PvoMA^pcf-R6((opcXXSM)C0b!f@Dd<;zUx=a1 zzLgT9=h|a@0}%C-SI=BTQo=iI=Z>?^Yi+dXs(Rj%Uq69gAHVH%e<++%JN8Rv!z_^J zt$rv<9)ruS%@?llY_}Bj#OX|2gtxoRAskk%mh~5%9|FJlyzy(G=k802;;HQ(Yy=>a zwO)elfBU5)DoRs|QEGw=2jt!tar+UMb&gOpd|r}D$n(Tp`^<}Ggn`Kf&8-)q zf)jV7pKIwFI;wc}A?lQZdW1*bLK}-wrOIC)b**O=^sJaPx!gT;N3JM-rAOgt=m{vE zkxaJZY{4yAd~|G9p)*CV*k4~y=Oh9`jbzHUFA>HJMYqlt$0q7$&8p>#>jEtKLPU4M z=oY=NksXhwiw|yE4jNad8FV>vas%eR?gH~5KQ7iu@GoPTl$>Rn4cnn8XGZVnO%G$pI5;&5=zYH{qJONwelb#(gqsRBTC0_k2>Ht>1!t zObmyPDfSuj=%HNid^)K`L5CuK*6Z0G!zecjzCR5TjpYvCtQzPvoxW|uX-M5H^AYE@ zb+~ZmP7RuVJGm)tv_RF?v_yX08bqVL-fH&|NcHu$bx*`BMB05b^RW|xhi1e+5@^tG zE|xF7D0Z->7V4KY4!TYbH4>x{>gMt2xb#6Y`Pbdk4Ih^a4*S)4 zHL_K(YoP&8+G%?+{&GyU4RucDO7K@)k`M1GH*nx^c&^kTNKtOxvf31bOD(dm^0KjU zs(u}qFnQONCtN+P(#?;O_pa$LvWeiBnOF6@?&As{(UalYEsoPmr3V{wW`I1i%-`V| z47w;XAaIt~0_7|>fqN%(FC8J{pNe`` zvSxO}Iv5*&raP4mKxi~#tDop!i(UhA29KG3iNrmi;YQ^LQdc$B4;4s2>{&3!b;q3L zyTd%8yDe%%Dv?jWS#on$vw`F7f0OQcLy}udI9Su1daP>A#Fpp%W`b2#+@Ov>SZ<7* z5pyc!rFT^s3v8)Jp>Lm7;psi>dmVTTl{%GJhDl9Yk6DhlhaA9K`tZPy7rbi^&)RV1X@&Nq4mKUiRa304y(P2TS^N8Onmr*N| zi#Y2zMBgND@Sd)x=b+nuXjh5Qi4N{euXU7E(W;F#qDTo8{1b0l)P>P98nb0@G_BM^VQNLD*f%!U5F50k zMu-37IZ~2A|L>NgFk5YOi-Vn96Q>du33) zN3z#dL@#9gnJmR&J$%)w5Ux;t#pvfAz2T^QW#AShGw{e> zt=*behVeHpy|(4{_=`lQF{vOg`7RYrAkbS2&=-iVOe^03W&cE#=^kpjtuaKd%KgLlo{8fbIKuhrTYh z0RIPMiAI-v;eQUqEc4&@~__}K&JIyI8H~2Sr*18!8K5{j0$uh-^ z@Ze4+0C&-4q}Rp69xgB;^re?89fU(M@%;O#HQ(l2Z78U!hK^!rQfyAgjpf+NA>omS zFfkMTE@LrY0#GBBd=>@oeVm{DJGflFCye&=00G}pywS~?ZynHMXW5Z@T}ipcYXWre z^TKv27-K*3Ozv2yH);hZE05RNdGD%h)?hFmC*8jR9tHF{-^Ps1iqpxbFH^EAj3iix z8Cj%x#UF$$h+@T|Qqh)jjpXY4&UKBr^<97C40v-`AL9v-r2G?4KEtv-oXAotTG?${ zRzzZlZ+IzwC+@)(g!Pr%lwFQ;n3J@*O=Ub;iMQYS`ZaZ>U61GWn!0*#c%S_m$_7cT zUf^iWyd@S)7Ko+1)U!Kly}=uj7a}-L3O_MEn;Z%(ZLMV+chcdVybqNfnzh;Ex-YNK zq>KP@?2u;pmmN~J7@r1z0wsqKhg@1qZ9vtC<(yN{^xAPEG>k4!gdR?+9+@jP33jC) z)&b_SXS_+TN{Zf0QOhfFkZhO$o$(HSMDyul`E=W>Bf^zC#u{~(p7f^{EO<`i8z;X` zM6D4AIpa{dUTBBt~ zl~#E;>|E2!iR$EaMVt--Gpx_3m1F}nguDRmv6X=&lG<(Fp@rGbEbU}SsI{A8 zCh?lGqcfPx(ZG{62cU#7{09L0f^OZ5T}FWvTsJ1>Hejh+C6@b=T}l$5F3Jo37CPW9P(e{wkx^R#(5DRc$yp*#O7m-nc9B zfir^5_7UkcN&TcgsFRb6c0(F5qwR!?YGtjL;&i`MuFO4IZAt6O?~y#((6Un9JlL$f z0)GTQ*)*w*?;aV>Ofpy9X5+@M%VZn%I#cPTp8j0A*Q0T|S=M0oJt2p+dYEGT7DCVh?`^-v9^Tm?M}{XZ(dPP3gca6K3#4y`z6}@Z-`+M z$Pe=SjAxOm!jd|E&N?OsPV6;i>RL}nvCi*8FdU}?6t2H*=ROrjDymDKMGBv5@;L!4SaSWh=%7# z;YQPCqf>Yn)wyO)FgZpf|FJcHCQpNrzQ1a5D8F)dX`fjVjAwc^{W=3ztU7JPSZi*J zZTK2~R<})-e1vSLRer01g{yy&THF1jK*-&{_Kp{}wy!=S0TY%%soa+e{FGV<#=S+` z>{f}ul2o@1Q_cGs>9)Lsq925g)`ri>Chl_)Wzz6j8;*Qu)7jw~b-U^6>=C zp}tjH+;Mi0djJoQo3p%oXmBjP%ZGlTc0_ldbOuL)Ux<-_(?GwBN$y=|`gGMU;e>or zlfs@FI|b@czWW?*mcv4FUAWmEHEK9VYokJLS6s}H#Wt5&(3)tfSCSU=INd-1at`X) z0Qvv25mbB4*2^Tr4FPpPIqBLd*7B04iLG(Lo}gLzFx{l^s?nRr~5-L4ZBG zWK|FNoa$_zLs^4(>!i>l)tZ;+D>4XACk-ib&PoCD3-&vc@|Ntu1V^jv=(o>ffn@Sq z&A&#MU|iK#voqcFjiUY$tzb?%bEr1vG6WkRtg#L9nlc=*?Z>FSbFv)_G9e zv%U7p(Q7W1dUR**M|Y0P9Qc~cKQ&Nt7-hnQZUn9A&Uyi&-pE&3=Cx^suqW40WJx9?(7bWVl}_6MwonwTq0Sc^ei#pb37Xu;O^Zu*AjCUA5Au2= zF26gFgmq)yt@g*PtxwYrRaK=QbsNxKN%TZOt#!1FNz1+GV$dT~eq(*{5?pM@T*q%> z=^RZ=oml)7vSJKUv)Vp+Jrqj-BCci0|Ik}6qR;5ZJB;kR@<{hjUV{_@>13LkXlSI) zmN5!xKv;5$^w6=&4a6MZ<3%(s zMcC}$FOeAC1n~Ivrm6y5HwOjr{)QFEg^O~|RKtqqy$%VY&_0K-E7i$Z$dhMLQ;2lRW)m`igUh7|hK~V%71-B=@vU>BjDrQNo zlUE?;LXRWAm6%XVg4hW< zSvo32F7z+$_P@RumBk;Kw23Y%%D(5K8qiX$0kXTsV|LG?Mmf`B7~P97RB(}=-9j&} z`Brj9lEa*k4dRFCN=eD)Rq}nXZIS)Hy-phP1q;SWnZX>wkT4A5@1yexX+3HIo`Six z2D*;V)@hK>Kepc+ojxtz+cx8HB=|kqPLH0a-g-SjtsL0)=Sn0)%U|BYDp_vvq%%&Jd=iNKJ=0bc+4ZF;x|&7D^rPQB<5N%1$;|K!&`Q?k8f7 z{d4o=?`34^C&hJBxnF3!^*!0=Mex|2@vL40HC6 z14Tw)%;Xu#q*~treRD32&^G=^tqp&mF6;a5H=4+qoyI|CDU|*UZK%mC9Mm2&>7^Jv zCj{5_Eq3W&`+ri;wntwI(}Wcx_kAA^VT$PeR(QAgm}UgvA!P-|>6;Sh+tzk7>~mql z0Twc92iKo`!>cKfH}3$jpca5 zc~CgkW@ChDUPmwYy`*JSaZEI9g5FL$CKug%Z=V)o(cwF2r7sBkFZKNTsrfBnwO$Ec zSEy}AHj}ASrp1J0X6Ire{#whvl>Unislk&g;s@qJF_=2t#FO>IrFm6}SAGquUPYl9 zodPks$}wbJK@!{w_==pN(UD)5f;p;PmDOIE1-_=~!4l^rEtvVZF9gg)k|HrnaZ=Ol zRUZ2Z&Y9@=d7dgm;W2I|j{!(>AdaimzdgHo19Htud?q$L^3h?l5p*YeKON;3(!v0x z)le5z8oPLU&EJAE5^4o6d0{0`!^Ha&kAenRMPmC7sUn)Wr&8(epmav9WzmZ<`pBGF zCiR>e0~W`-oH5G#f)yTUc#ZVG&fr@1o9&qtibg#=RTq zORl`fGMI?IP>5726#Hg%OO>ebAB3{@mdk$AzGH%}ZW116m=-aog5&YMwl5&i(?{X3 zbfzjg)tN%EI?yx{?l6InPthfQpZSOQJu6zaKA8$Pomhwo9y7ljPh?cd_)!VH`fXS9 znW}k?4hB9-)!9HOF$!B?h#{S?+Yd#Pu%eALmaxSlSYqaY`L`*nL`~%uf|C|_5?uDm zMioJC^u$3lp`8s+5V%uklT-cIx(Q=d3-is?5oh`?2xUV3n z3Eu$mPI}km<^hucYJF)z<01ZjIW|(x5gzkd+#1;@ius=5@ZFZ)_{`IB-a^9`Z9Q4d zlSV&I>JtwSq#%V|kpf3z=mEs=+aiT4#rS4mExOf+>5xzs!F?!2SK=2elloj&sNhY% z*XA}US|!W|t$giCDMx3c2?8>~;p84>t-#d#?Yh5R>v;mDzwkhQO!M!*Yg8H89^ode zZs7+2#DwFByiIxQ zn|sT>|9M<8V>&-caezp6NyCIK{&)r3$D&m`27eqmAo{+*l>`je61H?toIVP4#|^*{ z)C_+3`ij*KOL!i*n>{>-(&r9uU1q4{i@!AV2nB5|rI_taoy zSod}h2cgc3(Ron<@5j&WXGsS$;*W*W(#3@m_p(wph=**i9z}buDWirZc?_hsNP)2 zzj8L+M9AOhG3}dD@O#h1|i2 zKKulxY^-SVFJihsiB3`NfA9-K5Mz{{^4@9Sm#eO{-UeF zRIlRcskW=PvjEaszTH0I!YE<@@ZV;hfP$qL&$V8VqCsEw{xOk_s zom<#fQ{r6k8v?cJc2!zwC{h6uEnost<};{Cci|P^e4&zI(MxWg$K3f4SlD)1kOpo%OXe# zSCAY+H>S*p8N%hMe75U5(BE6LB<^OsrzT#I2PSDmZI}5>{8h@k=@%HSH{oZ*JI)h4 zdDOJ_9b`ZMu+F{58yk!bx9#b`JDboc$ZIca9E@OQVeB536&gB9oG~axubafgWLa4Oq(I2w$}uQos%pB7`~4H zHaC)hNqUnpJJN}+|Eep=z!KqDmT=yv2CeRr6uy{aEKK`CXA2CwE4prUGqY__b#UZ<6RR zp@0sL+TO7&XF8i(TYT(#-_s5d@7W*4&#STD)w|IVMMJh2vpJ1~i^j=8?13M7^!cHm zk00Bllm;fuWt~Eq)P^r&jvMs#Oa2$1sA3@Jp zwJ})pA*0IY->blM-It%Q_kjgFpppFWn{1I@PXoz5}a^rHlJLU$IvS2D74#9M_I1kN1Eyy3xtFa857ziG0cw&~1}R zw6G~oZ9h{fXm2W&!{wd)wsvl_@6G9HXc~j)QGP!suU;QI47&AZrPyhsAqh~ZFUmIT zsgyxpq=J2=xLJSVraGg9RL`x!Y*E-dE#qkWaWo8am>T@Nf@rq{9v-PmS^Cz#3x0&u?MaSh-+S>733?iIlekzc?|P zXk{_U6niIVW0IbJGz62c7yn}v<;$>V1HaYAg?ZpEnYb}b?|k?=F96yU2j0}@wH>MZ z7`X{%KaqxJ)sMgRU(CCE3q-7nIDHM~ZkQrgS$jh8i4;Wa7-|%0%=r6ydb31i@*F{lT2158(DaKc|3Z6@eme=5gS z>F?Vl2Nd_bUiimckz}HoeBKKsYkif%&B+-WY;(Kq2LzBotCdd{3BF2LuMuig_9ejc zD*e35i~kJhZM9tsradk8sy#2xqgb1o<%PoXe^einqi-+T5r@!F%3(~+7No6j?>{ZdM@c{~800`U< zxy66AWj9M8(h{GwrOJwd*{i_MP*nmPf50rBkjU;D3V>Lqh}_YCF>dr7|NG?k;1{gi zd9m)bbWb>(BA%2<*reEX5txis%kG@tc(qj^s}&gWKMz>HITEiV13K$=QBzz@V3A~v zA_WuI^-Raqo{fY;yJI>)H*D}MgwRqpEK;{GohHb2&&4Ecv#@-krh*t5-GUCms62Op z3|BoG^cwr5|D`3Z3v{yuUi~aoy=y=fNhY9RCm7%r$+R@bGjOuc1{e&37Cro%j!epi zxe+cM0)0F6m7mu0MJ+o^^F7jq%w3{zMrLV}6>?@ALxM;9S}Qq_-_fWZNhAeE%$jpr9ikfsO12w z$T}QYC22EnFPi+#l^v_G^UldX%PcGpk$VvNxqo(4c6sySneh7;&wby&dH(&=zkYBG z0X730$s}Lo|MR#1`pEB}z^#zJT^J|%_s9SD-!42p3&^Oc{{Ouq@DXMzpp_|5jLQl2 z|6TM`9kA$rY&C(#f4Ca-VBl)VM`RcN!=l5Cz@m-R)+l)Y;c7&ItNEW>{GX@zA6(;q g9QFT?SUh}qf~Pp1lwr0<@C5jh1j~t)is*m;Ulb1mYybcN literal 0 HcmV?d00001 diff --git a/community/terra/images/quantum_walk/random_walk.jpg b/community/terra/images/quantum_walk/random_walk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c7584e6017759bde5d091a9fb2455a01d3958d6e GIT binary patch literal 43688 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 literal 0 HcmV?d00001 diff --git a/community/terra/images/quantum_walk/random_walk.png b/community/terra/images/quantum_walk/random_walk.png new file mode 100644 index 0000000000000000000000000000000000000000..a2aa3914184aeecb55d4a63b220722667ea1f4e9 GIT binary patch literal 35144 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 literal 0 HcmV?d00001 diff --git a/community/terra/images/quantum_walk/result.gif b/community/terra/images/quantum_walk/result.gif new file mode 100644 index 0000000000000000000000000000000000000000..e61d6979d8f84327aa2ce719755fd0ce6ff26425 GIT binary patch literal 94931 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�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

    upJpz_#_rG4QOPwrdAmjJTN^LP(awRw!Y+Se+ei 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 bafiYgJFtU&emMO1?+H~U4aEj|i?II%&^s_B literal 0 HcmV?d00001 diff --git a/community/terra/images/quantum_walk/whole_circuit.jpg b/community/terra/images/quantum_walk/whole_circuit.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a4bd1e576f1c7fe5b14cc15b8e75f8fc2c391f14 GIT binary patch literal 85018 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 literal 0 HcmV?d00001 diff --git a/community/terra/qis_adv/README.md b/community/terra/qis_adv/README.md index ec46b24c4..78ca75f6a 100644 --- a/community/terra/qis_adv/README.md +++ b/community/terra/qis_adv/README.md @@ -31,6 +31,7 @@ which consists quantum operators that can be efficiently simulated (in polynomial time) using a classical computer. In addition, the Clifford group is used for Randomized Benchmarking. +* [Quantum Walk](quantum_walk.ipynb):an example of quantum walk on circle graph with 2^N(N: number of qubits) lattice points. Quantum walker moves around circle in accordance with unitary coin(In this example Hadamard). This quantum walk is simpler than topological quantum walk(above one). ## Contributing We welcome more examples in this folder, in particular, experimenting with the latest results in quantum information science. diff --git a/community/terra/qis_adv/quantum_walk.ipynb b/community/terra/qis_adv/quantum_walk.ipynb new file mode 100644 index 000000000..3fdbe0626 --- /dev/null +++ b/community/terra/qis_adv/quantum_walk.ipynb @@ -0,0 +1,508 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "colab": {}, + "colab_type": "code", + "id": "yWabJ-GfTENP" + }, + "source": [ + "\"Note: Trusted Notebook\" width=\"500 px\" align=\"left\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Implementation of Quantum Walks on graph for IBM Q\n", + "This notebook is based on the paper of B L Douglas and J B Wang, \"Efficient quantum circuit implementation of quantum walks\", arXiv:0706.0304 [quant-ph]." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Contributors\n", + "Jordan Kemp(University of Chicago), Shin Nishio(Keio University), Ryosuke Satoh(Keio University), Desiree Vogt-Lee(University of Queensland), and Tanisha Bassan(The Knowledge Society)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Introduction: challenges in implementing quantum walk\n", + "\n", + "There are so many types of quantum walks. Walker can walk on n-dimensional space or any limited graphs. First we talk about the concept and dynamics of Quantum and Classical random walk. After that we show the implementation of Quantum Walk on cycle graph." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Random walk \n", + "Random walk is a dynamics which is randomly time evolving system. Figure shows a simple type of random walk. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" width=\"500 px\" align=\"center\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The dynamics can be regarded as a simple algorithm as shown.\n", + "1. There is a $n$-dimension(in this case, one for simple) space and a walker start at the point $x=0$\n", + "2. take a step either forward (toward $+x$) or backward(toward $-x$) \n", + "in 2., the choice is to be made randomly(ex: coin-flip). We call this \"Coin Operator\". \n", + "\n", + "In this system, $p+q = 1$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Quantum walk \n", + "Quantum walk is \"quantum version\" of random walk. This means the coin function can be Unitary gate($U(2)$) which is non-random and reversible. \n", + "\n", + "$$p+q = U ∈ U(2)$$\n", + "\n", + "In this experiments, we use Hadamard gate for coin function since it puts our qubits in a state of superposition simulating the coin based probability, \n", + "$$H=\\frac{1}{\\sqrt{2}}\\left [{\\begin{array}{rr}1 & 1 \\\\ 1 & -1\\\\ \\end{array}}\\right]$$\n", + "\n", + "There are continuous and discrete quantum walks, in our experiment we use the discrete framework. In the discrete, unitary operations are made of coin and shift operators U = SC which work in a state space.\n", + "An arbitrary undirected graph $G(V,E)$ where $V = {v_1, v_2, ..v_n}$ as nodes on the graph and $E = {(v_x, v_y) , ( v_i, v_j) …}$ as edges that combine different nodes together.\n", + "The quantum walk extends into a position space where each node vi with a certain valency di is split into di subnodes. The shifting operator then acts as $S (v_i, a_i) = (v_j, a_j)$ and coin operator are unitary gates which combine the probability amplitudes with individual subnodes under each node.\n", + "A unitary of $v_i$ with valency $d_i$ can be represented as $(d_i \\times d_i)$. The total states of system is defined by the hilbert space $$H = H_c + H_p$$, respectively coin hilbert space and position hilbert space. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "## Coin function\n", + "The first step in a quantum random walk is the coin operator. The operation works by an arbitrary unitary transformation in the coin space which creates a rotation similar to “coin-flip” in random walk. This is mainly the hadamard gate which models the balanced unitary coin. \n", + "$$H=\\frac{1}{\\sqrt{2}}\\left [{\\begin{array}{rr}1 & 1 \\\\ 1 & -1\\\\ \\end{array}}\\right]$$" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The coin register will continue interfering with it’s position state until measured after all intermediate steps. The results are very different from random walks, it doesn’t converge to a gaussian distribution but to evolves into an asymmetric probability distribution. This happens because the hadamard coin operator treats each basis vectors |↑> and |↓> differently. The rightwards path interferes more destructively as it’s multiplied but -1 but leftwards path is constructive interference. System tends to take steps towards the left. To reach symmetric results, both base vectors will start in superposition states of both |↑> and |↓>. Another way to reach symmetry is use a different coin operator which doesn’t bias the coin towards a certain base vector. \n", + "$$Y=\\frac{1}{\\sqrt{2}}\\left [{\\begin{array}{rr}1 & i \\\\ i & 1\\\\ \\end{array}}\\right]$$\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Quantum walk on cycle graph\n", + "Our experiment is conducting a quantum random walk on circular graph which is efficiently and simply implemented on the quantum circuit. The graph has 8 nodes with 2 attached edges which act as the subnodes on the circuit. \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" width=\"500 px\" align=\"center\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The operations propagate systemically around the graph as each node is a seperate bit-string value in lexicographic order. For 2n graph, n qubits required to encode problem and 1 ancilla qubit for subnode(coin). " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" width=\"700 px\" align=\"center\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This circuits shows whole process(for 2 flip) of Quantum Walk on cycle graph with $2^3$nodes. \n", + "Gray square frame is a set of Coin operator and shift operator. \n", + "In this circuit, q[0] to q[2] represents the state (position) of quantum walker, and q[3] represents Coin Operator.\n", + "\n", + "In this style, programmer can insert initial position of walker as 3-qubits state. For example, if the input is $110$, the position is $6$.\n", + "\n", + "Coin operator decide whether walker go Clockwise or Counterclockwise.\n", + "\n", + "INC is gates that increment the state of walker which is equal to Clockwise rotation in the cycle graph. \n", + "DEC is gates that decrement the state of walker which is equal to Counterclockwise rotation in cycle graph.\n", + "\n", + "After repeating of the coin operator and the shift operator, measure the qubits other than the coin qubit, it is possible to know the position of the walker.\n", + "\n", + "## $n$-qubit Toffoli" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"center\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Toffoli gate is CCNOT(CCX) gate.\n", + "By using Toffoli, X gates executed on Q2 if Q0 and Q1 is 1.\n", + "In quantum walk implementation, we need more connection for expanding quantum walk implementation.\n", + "For example, CCX can be written as below by using only available gate set of IBMQ devices.\n", + "\n", + "Thus, more than 4 qubits, we can implement many qubits of CX gate (\"C$N$X gate\") with this way.\n", + "Reference is shown [here](\"https://journals.aps.org/pra/abstract/10.1103/PhysRevA.52.3457\").\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"center\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "C$N$X can be represented using C($N-1$)X as shown." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "def cnx(qc,*qubits):\n", + " if len(qubits) >= 3:\n", + " last = qubits[-1]\n", + " #A matrix: (made up of a and Y rotation, lemma4.3)\n", + " qc.crz(np.pi/2, qubits[-2], qubits[-1])\n", + " #cry\n", + " qc.cu3(np.pi/2, 0, 0, qubits[-2],qubits[-1])\n", + " \n", + " #Control not gate\n", + " cnx(qc,*qubits[:-2],qubits[-1])\n", + " \n", + " #B matrix (cry again, but opposite angle)\n", + " qc.cu3(-np.pi/2, 0, 0, qubits[-2], qubits[-1])\n", + " \n", + " #Control\n", + " cnx(qc,*qubits[:-2],qubits[-1])\n", + " \n", + " #C matrix (final rotation)\n", + " qc.crz(-np.pi/2,qubits[-2],qubits[-1])\n", + " elif len(qubits)==3:\n", + " qc.ccx(*qubits)\n", + " elif len(qubits)==2:\n", + " qc.cx(*qubits)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Decide the number of qubits $n$ for represent walker's state. (Whole circuits requires $n+1$ qubits)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "colab": {}, + "colab_type": "code", + "id": "lHI4G7fgT9Wn" + }, + "outputs": [], + "source": [ + "import numpy as np\n", + "from qiskit import IBMQ, QuantumCircuit, ClassicalRegister, QuantumRegister, execute\n", + "from qiskit.tools.visualization import plot_histogram,plot_state_city\n", + "\n", + "n=3" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 85 + }, + "colab_type": "code", + "id": "kLSxVQxerGyo", + "outputId": "b319f1d1-b5aa-4113-e12b-eecbf993a362" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "[,\n", + " ,\n", + " ]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "IBMQ.load_accounts(hub=None)\n", + "IBMQ.backends()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Increment gate and decrement gate are the shift operator for walk.\n", + "Both of them including the C$N$X gates and change the position of the walker based on the coin operator." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "colab": {}, + "colab_type": "code", + "id": "ysx7VXO2a95V" + }, + "outputs": [], + "source": [ + "#IN/DECREMENT GATES FOR N=3\n", + "\n", + "def increment_gate(qwc, q, subnode):\n", + " \n", + " cnx(qwc, subnode[0], q[2], q[1], q[0])\n", + " cnx(qwc, subnode[0], q[2], q[1])\n", + " cnx(qwc, subnode[0], q[2])\n", + " qwc.barrier()\n", + " return qwc\n", + "\n", + "def decrement_gate(qwc, q, subnode):\n", + " \n", + " qwc.x(subnode[0])\n", + " qwc.x(q[2])\n", + " qwc.x(q[1])\n", + " cnx(qwc, subnode[0], q[2], q[1], q[0])\n", + " qwc.x(q[1])\n", + " cnx(qwc, subnode[0], q[2], q[1])\n", + " qwc.x(q[2])\n", + " cnx(qwc, subnode[0], q[2])\n", + " qwc.x(subnode[0])\n", + " return qwc\n", + " \n", + "def ibmsim(circ):\n", + " ibmqBE = IBMQ.get_backend('ibmq_qasm_simulator')\n", + " return execute(circ,ibmqBE, shots=1000).result().get_counts(circ) " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Repeat coin operator and shift operator for any steps(in this case 15)." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 408 + }, + "colab_type": "code", + "id": "PUUoi5T69zvX", + "outputId": "11b916d3-4cc9-40d2-9017-dc072de02630" + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'0 100': 505, '0 111': 495}\n" + ] + } + ], + "source": [ + "qnodes = QuantumRegister(n,'qc')\n", + "qsubnodes = QuantumRegister(1,'qanc')\n", + "csubnodes = ClassicalRegister(1,'canc')\n", + "cnodes = ClassicalRegister(n,'cr')\n", + "\n", + "qwc = QuantumCircuit(qnodes, qsubnodes, cnodes, csubnodes)\n", + "\n", + "\n", + "def runQWC(qwc, times):\n", + " for i in range(times):\n", + " qwc.h(qsubnodes[0])\n", + " increment_gate(qwc, qnodes, qsubnodes[0])\n", + " decrement_gate(qwc,qnodes,qsubnodes[0])\n", + " qwc.measure(qnodes, cnodes)\n", + "\n", + " return qwc\n", + "\n", + "\n", + "import matplotlib as mpl\n", + "step = 1\n", + "qwc = runQWC(qwc, step)\n", + "qwc.draw(output=\"mpl\")\n", + "# print(qwc)\n", + "result = ibmsim(qwc)\n", + "print(result)" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": { + "colab": {}, + "colab_type": "code", + "id": "LprBkgB9AGVr" + }, + "outputs": [], + "source": [ + "def runQWC(qwc, times):\n", + " for i in range(times):\n", + " qwc.h(qsubnodes[0])\n", + " increment_gate(qwc, qnodes, qsubnodes[0])\n", + " decrement_gate(qwc,qnodes,qsubnodes[0])\n", + " qwc.measure(qnodes, cnodes)\n", + "\n", + " return qwc" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The first qubit which is always 0 is the coin qubit.\n", + "Second to fourth is the position of the walker(binary).\n", + "You can also see the distribution using plot_histogram." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "

    " + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "result = ibmsim(qwc)\n", + "plot_histogram(result)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Results\n", + "This is the example of whole iteration. The size of each node represents probability of existing quantum walker. " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"center\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Required Resources\n", + "In this algorithm, we need $n+1$ qubits for a cycle graph with $2^n$ nodes. As you can see in the circuit, time complexity increases linearly. We take $7$ data points of steps($1, 10, 20, 30, 40, 50, 100$). This is the result of relation between execution time on 'qasm_simulator' and the number of steps." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" align=\"center\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\n", + "32 qubits 2^31 nodes ← cost time....(execution) \n", + "Limitations \n", + "\n", + "## Discussion about Future Work and Applications\n", + "\n", + "_Many particle quantum random walk_\n", + "\n", + "Simulation evolution of spatial entanglement in many-body physics problems. The graph is a 1D lattice with a particle on each node as initial state. Each particle has separate position and coin hilbert space H = (Hc ⊗ Hp)⊗M. The particles independantly evolve and don't interact. 3-particle system graph are easily implemented in quantum walk but more particles increase number of steps in quantum walk and measurement of entanglement become difficult. More efficient methods of quantum walk implementation will help increase the number of particle systems studied in evolution. \n", + "\n", + "_Expansion of number of nodes on graph_ \n", + "\n", + "The graph implemented in this project is 3 qubits for 8 nodes and 1 qubit for coin operation. In total only 4 qubits are used for evolution. The total time for iterating through coin and shift operator is 16 seconds for 100 flips. \n", + "We look at a real world problem that can be applied in quantum random walk on graphs with more nodes. Mapping enzymes as nodes on a graph to understand their evolution when in contact with mutagens only requires 33 nodes which can be mapped out on 7 qubit circuit. This will increase total time to 49 seconds for 100 flips. This is a scalable model which can continue to grow to map more complex graphs to problems. \n", + "\n", + "Time complexity for classcal computer (QC-simulator) get approximately $({\\frac{m+1}{n+1}})^2$ if the number of nodes becomes $2^m$ from $2^n$. This value is based on number of qubits and roughly estimated. \n", + "\n", + "## Conclusion\n", + "In this notebook we showed the basics of Quantum Walk and implementation on Quantum Circuit.\n", + "This algorithm requires $n+1$ qubits for any cycle graph with $2^n$ nodes. " + ] + } + ], + "metadata": { + "colab": { + "collapsed_sections": [], + "name": "quantum_walk.ipynb", + "provenance": [], + "version": "0.3.2" + }, + "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.7.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From dd970a72e8b5c851e2b90287dff6e80c36d1b1f8 Mon Sep 17 00:00:00 2001 From: Atsushi Matsuo Date: Thu, 11 Apr 2019 15:18:26 +0900 Subject: [PATCH 08/21] added docplex.ipynb and added docplex parts into an exisitng maxcut_and_tsp.ipynb --- qiskit/aqua/optimization/docplex.ipynb | 361 ++++++++++++++++++ qiskit/aqua/optimization/maxcut_and_tsp.ipynb | 276 ++++++++++--- 2 files changed, 585 insertions(+), 52 deletions(-) create mode 100644 qiskit/aqua/optimization/docplex.ipynb diff --git a/qiskit/aqua/optimization/docplex.ipynb b/qiskit/aqua/optimization/docplex.ipynb new file mode 100644 index 000000000..9f079ef0f --- /dev/null +++ b/qiskit/aqua/optimization/docplex.ipynb @@ -0,0 +1,361 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Introduction\n", + "There has been a growing interest in using quantum computers to find solutions of combinatorial problems. One of heuristic approach for finding solutions of combinatorial problems on quantum computers is a quantum variational approach, such as the Variational Quantum \n", + "Eigensolver (VQE) algorithm (see https://arxiv.org/abs/1802.00171 and the Quantum Approximate Optimization Algorithm (QAOA) (see https://arxiv.org/abs/1411.4028). In order to use a quantum variational approach on quantum computers, first, we need to map a combinatorial problem to an Ising Hamiltonians. However Ising Hamiltonians are complicated and unintuitive. Mapping a combinatorial problem to Ising Hamiltonians is difficult and time-consuming task, which requires specialized knowledge.\n", + "\n", + "In this tutorial, we introduce a translator to automatically generate Ising Hamiltonians from classical optimization models. We will explain about classical optimization models later. The translator dramatically simplifies the task of designing and implementing quantum-computing-based solutions for optimization problems by automatically generating Ising Hamiltoniansfor different optimization problems. With the translator, All a user has to do is to write optimization models using DOcplex (see https://cdn.rawgit.com/IBMDecisionOptimization/docplex-doc/master/docs/index.html). DOcplex is a python library for optimization problems.\n", + "Then the translator will automatically generate Ising Hamiltonians from the models. Optimization models are short and intuitive. It is easier to write optimization models compared to writing Ising Hamiltonians manually. \n", + "\n", + "The quantum variational approach works with the translator in Qiskit Aqua as follows:\n", + "1. Write an optimization model of the formulation with DOcplex.\n", + "2. Call the translator to transform the model into an Ising Hamiltonian.\n", + "3. Solve the problem with variational algorithms such as VQE and QAOA.\n", + "\n", + "\n", + "### Details of Optimization Models\n", + "For simplicity, we can generate Ising Hamiltonian from the following optimization models now.\n", + "- Binary decision variables. \n", + "- Linear and quadratic terms in objective functions.\n", + "- Only equality constraints.\n", + "\n", + "Even though there are restrictions, this type of optimization model can handle the following optimization problems, maxcut, tsp and etc.\n", + "They are typical optimization problems. The usage examples of the translator for Maxcut and TSP are written in the following link.\n", + "- [Qiskit Aqua: Experimenting with MaxCut problem and Traveling Salesman problem with variational quantum eigensolve](maxcut_and_tsp.ipynb)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### A Usage Example: Maximize the number of variables which takes the value 1\n", + "The following is a toy example of a maximization problem with constrains.\n", + "\\begin{aligned}\n", + " & \\text{maximize}\n", + " & \\sum_{i} x_{i}\\\\\n", + " & \\text{subject to}\n", + " & \\sum_{i} i * x_{i}=3\\\\\n", + " & & i \\in \\{1,2,3,4\\} \\\\\n", + " & & x_i \\in \\{0,1\\}\\\\\n", + "\\end{aligned}" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "from docplex.mp.model import Model\n", + "\n", + "from qiskit import BasicAer\n", + "from qiskit.aqua import Operator, run_algorithm\n", + "from qiskit.aqua.algorithms import VQE, ExactEigensolver\n", + "from qiskit.aqua.components.optimizers import SPSA\n", + "from qiskit.aqua.components.variational_forms import RY\n", + "from qiskit.aqua import QuantumInstance\n", + "from qiskit.aqua.translators.ising import docplex\n", + "\n", + "# setup aqua logging\n", + "import logging\n", + "from qiskit.aqua import set_qiskit_aqua_logging\n", + "# set_qiskit_aqua_logging(logging.DEBUG) # choose INFO, DEBUG to see the log" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Create an optimization model of the above problem using DOcplex\n", + "An optimization model of the problem with DOcplex is written as follows. \n", + "An instance of `Model` is created and variables for the model are created in the first paragraph. Then object function is written in the second paragraph. The objective function is a function that we would like to minimize (or maximize). Finally constrains are written in the third paragraph. " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\\ This file has been generated by DOcplex\n", + "\\ ENCODING=ISO-8859-1\n", + "\\Problem name: max_vars\n", + "\n", + "Maximize\n", + " obj: x_1 + x_2 + x_3 + x_4\n", + "Subject To\n", + " c1: x_1 + 2 x_2 + 3 x_3 + 4 x_4 = 3\n", + "\n", + "Bounds\n", + "0 <= x_1 <= 1\n", + "0 <= x_2 <= 1\n", + "0 <= x_3 <= 1\n", + "0 <= x_4 <= 1\n", + "\n", + "Binaries\n", + " x_1 x_2 x_3 x_4\n", + "End\n", + "\n" + ] + } + ], + "source": [ + "# Create an instance of a model and variables\n", + "mdl = Model(name='max_vars')\n", + "x = {i: mdl.binary_var(name='x_{0}'.format(i)) for i in range(1,5)}\n", + "\n", + "# Object function\n", + "max_vars_func = mdl.sum(x[i] for i in range(1,5))\n", + "mdl.maximize(max_vars_func)\n", + "\n", + "# Constrains\n", + "mdl.add_constraint(mdl.sum(i*x[i] for i in range(1,5)) == 3)\n", + "\n", + "print(mdl.export_to_string())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Generate an Ising Hamiltonian from the model using ```docplex.get_qubitops(mdl)```\n" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "qubitOp, offset = docplex.get_qubitops(mdl)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Checking that the full Hamiltonian gives the right cost" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "energy: -57.5\n", + "objective: -2.0\n", + "solution: [1. 1. 0. 0.]\n" + ] + } + ], + "source": [ + "ee = ExactEigensolver(qubitOp, k=1)\n", + "result = ee.run()\n", + "\n", + "print('energy:', result['energy'])\n", + "print('objective:', result['energy'] + offset)\n", + "\n", + "x = docplex.sample_most_likely(result['eigvecs'][0])\n", + "print('solution:', x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Running it on quantum computer\n", + "We run the optimization routine using a feedback loop with a quantum computer that uses trial functions built with Y single-qubit rotations, $U_\\mathrm{single}(\\theta) = \\prod_{i=1}^n Y(\\theta_{i})$, and entangler steps $U_\\mathrm{entangler}$." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "energy: -56.20499759137974\n", + "time: 9.663682699203491\n", + "solution objective: -0.7049975913797368\n", + "solution: [0. 0. 1. 0.]\n" + ] + } + ], + "source": [ + "seed = 10598\n", + "\n", + "spsa = SPSA(max_trials=300)\n", + "ry = RY(qubitOp.num_qubits, depth=5, entanglement='linear')\n", + "vqe = VQE(qubitOp, ry, spsa, 'matrix')\n", + "\n", + "backend = BasicAer.get_backend('statevector_simulator')\n", + "quantum_instance = QuantumInstance(backend, seed=seed, seed_mapper=seed)\n", + "\n", + "result = vqe.run(quantum_instance)\n", + "\n", + "\"\"\"declarative approach\n", + "algorithm_cfg = {\n", + " 'name': 'VQE',\n", + " 'operator_mode': 'matrix'\n", + "}\n", + "\n", + "optimizer_cfg = {\n", + " 'name': 'SPSA',\n", + " 'max_trials': 300\n", + "}\n", + "\n", + "var_form_cfg = {\n", + " 'name': 'RY',\n", + " 'depth': 5,\n", + " 'entanglement': 'linear'\n", + "}\n", + "\n", + "params = {\n", + " 'problem': {'name': 'ising', 'random_seed': seed},\n", + " 'algorithm': algorithm_cfg,\n", + " 'optimizer': optimizer_cfg,\n", + " 'variational_form': var_form_cfg,\n", + " 'backend': {provider': 'qiskit.BasicAer', 'name': 'statevector_simulator'}\n", + "}\n", + "\n", + "result = run_algorithm(params, algo_input)\n", + "\"\"\"\n", + "\n", + "x = docplex.sample_most_likely(result['eigvecs'][0])\n", + "print('energy:', result['energy'])\n", + "print('time:', result['eval_time'])\n", + "print('solution objective:', result['energy'] + offset)\n", + "print('solution:', x)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Optional] A Case when the validation of the input model fails.\n", + "If the following unsupported elemts exist in the input model, the error will be raised.\n", + "- Variables which are not binary decision variables \n", + "- Inequality constraints. \n", + "Note: Cubic or higher order terms can not be input of DOcplex." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\\ This file has been generated by DOcplex\n", + "\\ ENCODING=ISO-8859-1\n", + "\\Problem name: max_vars\n", + "\n", + "Maximize\n", + " obj: x_1 + x_2 + x_3 + x_4\n", + "Subject To\n", + " c1: x_1 + 2 x_2 + 3 x_3 + 4 x_4 <= 3\n", + "\n", + "Bounds\n", + "End\n", + "\n" + ] + } + ], + "source": [ + "# Create an instance of a model and variables\n", + "# Continuous variables are used\n", + "mdl = Model(name='max_vars')\n", + "x = {i: mdl.continuous_var(name='x_{0}'.format(i)) for i in range(1,5)}\n", + "\n", + "# Object function\n", + "max_vars_func = mdl.sum(x[i] for i in range(1,5))\n", + "mdl.maximize(max_vars_func)\n", + "\n", + "# Constrains\n", + "# Inequality constraint is used\n", + "mdl.add_constraint(mdl.sum(i*x[i] for i in range(1,5)) <= 3)\n", + "\n", + "print(mdl.export_to_string())" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "The type of Variable x_1 is continuous. It must be a binary variable. \n", + "The type of Variable x_2 is continuous. It must be a binary variable. \n", + "The type of Variable x_3 is continuous. It must be a binary variable. \n", + "The type of Variable x_4 is continuous. It must be a binary variable. \n", + "Constraint x_1+2x_2+3x_3+4x_4 <= 3 is not an equality constraint.\n" + ] + }, + { + "ename": "AquaError", + "evalue": "'The input model has unsupported elements.'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mAquaError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mqubitOp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moffset\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdocplex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_qubitops\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmdl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", + "\u001b[0;32m~/github/qiskit-aqua-docplex/qiskit/aqua/translators/ising/docplex.py\u001b[0m in \u001b[0;36mget_qubitops\u001b[0;34m(mdl, auto_penalty, default_penalty)\u001b[0m\n\u001b[1;32m 83\u001b[0m \"\"\"\n\u001b[1;32m 84\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 85\u001b[0;31m \u001b[0m_validate_input_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmdl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 86\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 87\u001b[0m \u001b[0;31m# set the penalty coefficient by _auto_define_penalty() or manually.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m~/github/qiskit-aqua-docplex/qiskit/aqua/translators/ising/docplex.py\u001b[0m in \u001b[0;36m_validate_input_model\u001b[0;34m(mdl)\u001b[0m\n\u001b[1;32m 222\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 223\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mvalid\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 224\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mAquaError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'The input model has unsupported elements.'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 225\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 226\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mAquaError\u001b[0m: 'The input model has unsupported elements.'" + ] + } + ], + "source": [ + "qubitOp, offset = docplex.get_qubitops(mdl)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "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.6.5" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/qiskit/aqua/optimization/maxcut_and_tsp.ipynb b/qiskit/aqua/optimization/maxcut_and_tsp.ipynb index dbd9f213f..91296bd69 100644 --- a/qiskit/aqua/optimization/maxcut_and_tsp.ipynb +++ b/qiskit/aqua/optimization/maxcut_and_tsp.ipynb @@ -97,18 +97,9 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/manoel/Documents/Quantum/qiskit-terra/qiskit/tools/qcvv/__init__.py:13: DeprecationWarning: The qiskit.tools.qcvv package is deprecated. Please use qiskit-ignis available on PIP for similar functionality and more.\n", - " 'functionality and more.', DeprecationWarning)\n" - ] - } - ], + "outputs": [], "source": [ "# useful additional packages \n", "import matplotlib.pyplot as plt\n", @@ -145,9 +136,21 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "ImportError", + "evalue": "cannot import name 'IBMQ'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0;32mfrom\u001b[0m \u001b[0mqiskit\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mIBMQ\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0;31m# IBMQ.load_accounts()\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mImportError\u001b[0m: cannot import name 'IBMQ'" + ] + } + ], "source": [ "from qiskit import IBMQ\n", "# IBMQ.load_accounts()" @@ -162,20 +165,12 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 58, "metadata": {}, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/Users/manoel/anaconda3/envs/QISKitenv/lib/python3.6/site-packages/networkx/drawing/nx_pylab.py:611: MatplotlibDeprecationWarning: isinstance(..., numbers.Number)\n", - " if cb.is_numlike(alpha):\n" - ] - }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -204,7 +199,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 59, "metadata": {}, "outputs": [ { @@ -240,7 +235,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 60, "metadata": {}, "outputs": [ { @@ -269,7 +264,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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bRuvvfYaEydOdNngBxcOfy8viI01LqTIyDC65VWG1sbvKQULFkBp/wYaN27MqFGjWLJkCQB9+vRhwoQJnDhxopojEELY29atW68Gf6dOncwux6ZcNvzBuNArNtZouZqXZ3wLyM0t+3e0NnYXZWZCx47GVXoV2d1Xr149RowYwSeffEJISAh9+/ZlzJgxHD582DqDEULY1M8//8wbb7zBe++9R8eO5XZHcHou19unNCdPGjP4Dz4wDgRfufJnl06tjeeF/TduvhkGD4YHH6x6o6WsrCyWLl3KkiVLuO2224iIiOCGG26w2niEENazZcsWRo0axaRJk7jNyW/YUdHePm4T/oVyciA52bjVY3KycUqolxc0awa33260am7e3Hrbu3TpEitWrOCDDz6gTZs2DBo0iPa2vjmnEKLCfvrpJ0aPHu0SwQ8S/g4nNzeXTz/9lPnz59O4cWMiIiLo1KmTdPAUwkQ//vgjb775Ju+//z4dOnQwuxyrkPB3UHl5eXz++efMmzePwMBABg0axF133SUfAkLY2ebNmxkzZgyTJ0/m1ltvNbscq5Hwd3AWi4WvvvqKefPmATBw4EDuv/9+POx5Nwch3NSmTZt46623mDJlisvthpXwdxJaa77//nuSkpI4f/48AwYM4JFHHpEbiQthIz/88ANvv/22SwY/SPg7Ha01W7duJTExkdTUVPr370/37t3xqciNCYQQFfL999/zzjvvMHXqVG655Razy7EJCX8ntnPnTpKSkti3bx99+/bl8ccfp0aNGmaXJYRT++677xg7dizTpk3j5ptvNrscm6lo+MsOZgfUvn17oqOjiY6OliZyQljBxo0bGTt2LNHR0S4d/JUh4e/AbrjhzyZyx44do0ePHsTGxkoTOSEq4dtvv+Xdd99l+vTp3HTTTWaX4zAk/J1A8+bNeeedd/jggw84f/68NJETooK++eYbxo8fT3R0NO3atTO7HIci4e9EGjVqxBtvvCFN5ISogK+//poJEyYwffp0Cf4SSPg7IWkiJ0TZNmzYwMSJE5kxYwZt27Y1uxyHJOHvxGrVqsXQoUNZtWoV4eHhREZGMnLkSPbt22d2aUKY5quvviIqKoqZM2dy4403ml2Ow5JTPV1IdnY2K1asYNGiRdJETrilL7/8kkmTJhETE0ObNm3MLscUcp6/GytsIrdgwQIaNmzIoEGD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\n", "text/plain": [ "
    " ] @@ -307,7 +302,7 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 61, "metadata": {}, "outputs": [], "source": [ @@ -315,6 +310,43 @@ "algo_input = EnergyInput(qubitOp)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Optional] Using DOcplex for mapping to the Ising problem\n", + "Using ```docplex.get_qubitops``` is a different way to create an Ising Hamiltonian of Maxcut. ```docplex.get_qubitops``` can create a corresponding Ising Hamiltonian from an optimization model of Maxcut. An example of using ```docplex.get_qubitops``` is as below. " + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [], + "source": [ + "from docplex.mp.model import Model\n", + "from qiskit.aqua.translators.ising import docplex\n", + "\n", + "# Create an instance of a model and variables.\n", + "mdl = Model(name='max_cut')\n", + "x = {i: mdl.binary_var(name='x_{0}'.format(i)) for i in range(n)}\n", + "\n", + "# Object function\n", + "maxcut_func = mdl.sum(w[i,j]* x[i] * ( 1 - x[j] ) for i in range(n) for j in range(n))\n", + "mdl.maximize(maxcut_func)\n", + "\n", + "# No constraints for MaxCut problems." + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [], + "source": [ + "qubitOp_docplex, offset_docplex = docplex.get_qubitops(mdl)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -324,7 +356,7 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 64, "metadata": {}, "outputs": [ { @@ -339,7 +371,7 @@ }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -386,7 +418,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "metadata": { "scrolled": true }, @@ -395,16 +427,16 @@ "name": "stdout", "output_type": "stream", "text": [ - "energy: -1.4999670167944144\n", - "time: 26.714055061340332\n", - "maxcut objective: -3.9999670167944146\n", - "solution: [1. 0. 1. 0.]\n", + "energy: -1.4919238629420386\n", + "time: 11.324347019195557\n", + "maxcut objective: -3.9919238629420386\n", + "solution: [0. 1. 0. 1.]\n", "solution objective: 4.0\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -528,6 +560,56 @@ "nx.draw_networkx(G, node_color=colors, node_size=600, alpha = .8, pos=pos)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Optional] Checking that the full Hamiltonian made by ```docplex.get_qubitops``` gives the right cost" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "energy: -1.5\n", + "maxcut objective: -4.0\n", + "solution: [0. 1. 0. 1.]\n", + "solution objective: 4.0\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "#Making the Hamiltonian in its full form and getting the lowest eigenvalue and eigenvector\n", + "ee = ExactEigensolver(qubitOp_docplex, k=1)\n", + "result = ee.run()\n", + "\n", + "x = docplex.sample_most_likely(result['eigvecs'][0])\n", + "print('energy:', result['energy'])\n", + "print('maxcut objective:', result['energy'] + offset_docplex)\n", + "print('solution:', maxcut.get_graph_solution(x))\n", + "print('solution objective:', maxcut.maxcut_value(x, w))\n", + "\n", + "colors = ['r' if maxcut.get_graph_solution(x)[i] == 0 else 'b' for i in range(n)]\n", + "nx.draw_networkx(G, node_color=colors, node_size=600, alpha = .8, pos=pos)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -564,7 +646,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 66, "metadata": {}, "outputs": [ { @@ -572,14 +654,14 @@ "output_type": "stream", "text": [ "distance\n", - " [[ 0. 54. 74.]\n", - " [54. 0. 34.]\n", - " [74. 34. 0.]]\n" + " [[ 0. 61. 6.]\n", + " [61. 0. 57.]\n", + " [ 6. 57. 0.]]\n" ] }, { "data": { - "image/png": "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\n", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -613,20 +695,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "order = (0, 1, 2) Distance = 162.0\n", - "Best order from brute force = (0, 1, 2) with total distance = 162.0\n" + "order = (0, 1, 2) Distance = 124.0\n", + "Best order from brute force = (0, 1, 2) with total distance = 124.0\n" ] }, { "data": { - "image/png": "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K6VqQEBAACNGjGDx4sW888473H///ezbt8/usnyav78/3bp186p59HID3RjzszGmu+vWxRjztOvxX40xVxlj2htjrjbG6JEbpWpYmzZtWLZsGVdeeSXDhg1j1apVFBUV2V2Wz/K25Yt6pqhSXsbhcDBgwABWrVrF559/zt13382PP/5od1k+ydvm0TXQlfJSzZo1Y8GCBdx555088MADLFy4UJt9VbPOnTuzb98+rznRSwNdKS8mItx6662sW7eO3bt3M3DgQLZu3Wp3WT4jICCALl26sGXLFrtLcYsGulI+ICoqiueff57k5GQmTJj26yMdAAARs0lEQVTAnDlztNlXNfGmvi4a6Er5CBHhmmuuIS0tjRMnTpCQkMCXX35pd1lez5tOMPK3uwClVPVq2LAh06dP59NPP2XatGn87ne/45FHHiE0NNTu0rxS165d2bNnD9nZ2QQHB9tdTpl0hK6Uj/r9739PWloaQUFBxMfHs3HjRrtL8kqBgYF06tTJK+bRNdCV8mEhISE89thjPP3008yfP5+JEydqs69K8JblixroStUBPXv2ZN26dTRr1ozExET+8Y9/aLOvCvCWA6Ma6ErVEUFBQTz44IPMmzePNWvW8NBDD5GRkWF3WV7hkksuYdeuXR6/ckgDXak6plOnTqxatYq4uDgGDhxIWlqaNvsqR7169bj44ov57rvv7C6lTBroStVB/v7+DB8+nCVLlvDuu++SnJzML7/8YndZHs0bli9qoCtVh7Vu3ZolS5Zw9dVXM3z4cFasWKHNvkrhDY26NNCVquMcDgeJiYmsXr2aL7/8kqFDh2qzrxJ069aNnTt3kpeXZ3cppdJAV0oBEBsby4IFC4iPj2fUqFG88sor2uzrHMHBwbRt29aj59E10JVSZ4kIt9xyC+vWrWPPnj0MGDBAm32dw9PXo2ugK6Uu0LhxY5599llGjhzJhAkTeO6558jOzra7LNt5+oFRDXSlVIlEhKuuuoq0tDTOnDlDYmIin3/+ud1l2ap79+5s377dY6eiNNCVUmVq2LAhTz75JI8//jhPP/0006ZN86oLJ1enkJAQWrVqxffff293KSXSQFdKuaVv376kpqZSv359EhIS+PDDD+0uyRae3AZAA10p5bbg4GAeffRRZs2axYIFC3j00Uf59ddf7S6rVnnyenQNdKVUhcXFxbFu3Tpa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\n", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -681,7 +763,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 68, "metadata": {}, "outputs": [], "source": [ @@ -689,6 +771,44 @@ "algo_input = EnergyInput(qubitOp)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Optional] Using DOcplex for mapping to the Ising problem\n", + "Using ```docplex.get_qubitops``` is a different way to create an Ising Hamiltonian of TSP. ```docplex.get_qubitops``` can create a corresponding Ising Hamiltonian from an optimization model of TSP. An example of using ```docplex.get_qubitops``` is as below. " + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "metadata": {}, + "outputs": [], + "source": [ + "# Create an instance of a model and variables\n", + "mdl = Model(name='tsp')\n", + "x = {(i,p): mdl.binary_var(name='x_{0}_{1}'.format(i,p)) for i in range(n) for p in range(n)}\n", + "\n", + "# Object function\n", + "tsp_func = mdl.sum(ins.w[i,j] * x[(i,p)] * x[(j,(p+1)%n)] for i in range(n) for j in range(n) for p in range(n))\n", + "mdl.minimize(tsp_func)\n", + "\n", + "# Constrains\n", + "for i in range(n):\n", + " mdl.add_constraint(mdl.sum(x[(i,p)] for p in range(n)) == 1)\n", + "for p in range(n):\n", + " mdl.add_constraint(mdl.sum(x[(i,p)] for i in range(n)) == 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 73, + "metadata": {}, + "outputs": [], + "source": [ + "qubitOp_docplex, offset_docplex = docplex.get_qubitops(mdl)" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -698,22 +818,23 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 76, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "energy: -600081.0\n", + "energy: -600062.0\n", + "tsp objective: 124.0\n", "feasible: True\n", - "solution: [1, 2, 0]\n", - "solution objective: 162.0\n" + "solution: [0, 1, 2]\n", + "solution objective: 124.0\n" ] }, { "data": { - "image/png": "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K6VqQEBAACNGjGDx4sW888473H///ezbt8/usnyav78/3bp186p59HID3RjzszGmu+vWxRjztOvxX40xVxlj2htjrjbG6JEbpWpYmzZtWLZsGVdeeSXDhg1j1apVFBUV2V2Wz/K25Yt6pqhSXsbhcDBgwABWrVrF559/zt13382PP/5od1k+ydvm0TXQlfJSzZo1Y8GCBdx555088MADLFy4UJt9VbPOnTuzb98+rznRSwNdKS8mItx6662sW7eO3bt3M3DgQLZu3Wp3WT4jICCALl26sGXLFrtLcYsGulI+ICoqiueff57k5GQmTJj26yMdAAARs0lEQVTAnDlztNlXNfGmvi4a6Er5CBHhmmuuIS0tjRMnTpCQkMCXX35pd1lez5tOMPK3uwClVPVq2LAh06dP59NPP2XatGn87ne/45FHHiE0NNTu0rxS165d2bNnD9nZ2QQHB9tdTpl0hK6Uj/r9739PWloaQUFBxMfHs3HjRrtL8kqBgYF06tTJK+bRNdCV8mEhISE89thjPP3008yfP5+JEydqs69K8JblixroStUBPXv2ZN26dTRr1ozExET+8Y9/aLOvCvCWA6Ma6ErVEUFBQTz44IPMmzePNWvW8NBDD5GRkWF3WV7hkksuYdeuXR6/ckgDXak6plOnTqxatYq4uDgGDhxIWlqaNvsqR7169bj44ov57rvv7C6lTBroStVB/v7+DB8+nCVLlvDuu++SnJzML7/8YndZHs0bli9qoCtVh7Vu3ZolS5Zw9dVXM3z4cFasWKHNvkrhDY26NNCVquMcDgeJiYmsXr2aL7/8kqFDh2qzrxJ069aNnTt3kpeXZ3cppdJAV0oBEBsby4IFC4iPj2fUqFG88sor2uzrHMHBwbRt29aj59E10JVSZ4kIt9xyC+vWrWPPnj0MGDBAm32dw9PXo2ugK6Uu0LhxY5599llGjhzJhAkTeO6558jOzra7LNt5+oFRDXSlVIlEhKuuuoq0tDTOnDlDYmIin3/+ud1l2ap79+5s377dY6eiNNCVUmVq2LAhTz75JI8//jhPP/0006ZN86oLJ1enkJAQWrVqxffff293KSXSQFdKuaVv376kpqZSv359EhIS+PDDD+0uyRae3AZAA10p5bbg4GAeffRRZs2axYIFC3j00Uf59ddf7S6rVnnyenQNdKVUhcXFxbFu3Tpa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\n", + "image/png": "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\n", "text/plain": [ "
    " ] @@ -741,7 +862,7 @@ "result = run_algorithm(params,algo_input)\n", "\"\"\"\n", "print('energy:', result['energy'])\n", - "#print('tsp objective:', result['energy'] + offset)\n", + "print('tsp objective:', result['energy'] + offset)\n", "x = tsp.sample_most_likely(result['eigvecs'][0])\n", "print('feasible:', tsp.tsp_feasible(x))\n", "z = tsp.get_tsp_solution(x)\n", @@ -849,6 +970,57 @@ "draw_tsp_solution(G, z, colors, pos)" ] }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### [Optional] Checking that the full Hamiltonian made by ```docplex.get_qubitops``` gives the right cost" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "energy: -4532.0\n", + "tsp objective: 124.0\n", + "feasible: True\n", + "solution: [0, 1, 2]\n", + "solution objective: 124.0\n" + ] + }, + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
    " + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ee = ExactEigensolver(qubitOp_docplex, k=1)\n", + "result = ee.run()\n", + "\n", + "print('energy:', result['energy'])\n", + "print('tsp objective:', result['energy'] + offset_docplex)\n", + "\n", + "x = docplex.sample_most_likely(result['eigvecs'][0])\n", + "print('feasible:', tsp.tsp_feasible(x))\n", + "z = tsp.get_tsp_solution(x)\n", + "print('solution:', z)\n", + "print('solution objective:', tsp.tsp_value(z, ins.w))\n", + "draw_tsp_solution(G, z, colors, pos)" + ] + }, { "cell_type": "code", "execution_count": null, @@ -874,7 +1046,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.7" + "version": "3.6.5" } }, "nbformat": 4, From dd46ec62c3cf05ca9cbd6c9cce3ac43bfad5db0d Mon Sep 17 00:00:00 2001 From: Atsushi Matsuo Date: Fri, 12 Apr 2019 17:43:37 +0900 Subject: [PATCH 09/21] Added header and removed error examples. Fixed the problem name --- qiskit/aqua/optimization/docplex.ipynb | 131 ++++++------------------- 1 file changed, 31 insertions(+), 100 deletions(-) diff --git a/qiskit/aqua/optimization/docplex.ipynb b/qiskit/aqua/optimization/docplex.ipynb index 9f079ef0f..77eeb9fb2 100644 --- a/qiskit/aqua/optimization/docplex.ipynb +++ b/qiskit/aqua/optimization/docplex.ipynb @@ -1,5 +1,27 @@ { "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\"Note: Trusted Notebook\" width=\"500 px\" align=\"left\">" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# _*Qiskit Aqua: Generatin Ising Hamiltonians from optimization models with DOcplex*_\n", + "\n", + "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorial.\n", + "\n", + "***\n", + "### Contributors\n", + "Atsushi Matsuo[1], Takashi Imamichi[1], Marco Pistoia[1], Stephen Wood[1]\n", + "### Affiliation\n", + "- [1]IBMQ" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -21,7 +43,9 @@ "For simplicity, we can generate Ising Hamiltonian from the following optimization models now.\n", "- Binary decision variables. \n", "- Linear and quadratic terms in objective functions.\n", - "- Only equality constraints.\n", + "- Only equality constraints. \n", + "\n", + "Input models are validated before transormation. If the model containts elements that are not from the supported set, an error will be raised.\n", "\n", "Even though there are restrictions, this type of optimization model can handle the following optimization problems, maxcut, tsp and etc.\n", "They are typical optimization problems. The usage examples of the translator for Maxcut and TSP are written in the following link.\n", @@ -32,7 +56,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### A Usage Example: Maximize the number of variables which takes the value 1\n", + "### A Usage Example: Maximize the number of variables by taking into account constraints\n", "The following is a toy example of a maximization problem with constrains.\n", "\\begin{aligned}\n", " & \\text{maximize}\n", @@ -182,17 +206,17 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "energy: -56.20499759137974\n", - "time: 9.663682699203491\n", - "solution objective: -0.7049975913797368\n", - "solution: [0. 0. 1. 0.]\n" + "energy: -57.16261789728296\n", + "time: 10.59960389137268\n", + "solution objective: -1.6626178972829635\n", + "solution: [1. 1. 0. 0.]\n" ] } ], @@ -242,99 +266,6 @@ "print('solution objective:', result['energy'] + offset)\n", "print('solution:', x)" ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### [Optional] A Case when the validation of the input model fails.\n", - "If the following unsupported elemts exist in the input model, the error will be raised.\n", - "- Variables which are not binary decision variables \n", - "- Inequality constraints. \n", - "Note: Cubic or higher order terms can not be input of DOcplex." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "\\ This file has been generated by DOcplex\n", - "\\ ENCODING=ISO-8859-1\n", - "\\Problem name: max_vars\n", - "\n", - "Maximize\n", - " obj: x_1 + x_2 + x_3 + x_4\n", - "Subject To\n", - " c1: x_1 + 2 x_2 + 3 x_3 + 4 x_4 <= 3\n", - "\n", - "Bounds\n", - "End\n", - "\n" - ] - } - ], - "source": [ - "# Create an instance of a model and variables\n", - "# Continuous variables are used\n", - "mdl = Model(name='max_vars')\n", - "x = {i: mdl.continuous_var(name='x_{0}'.format(i)) for i in range(1,5)}\n", - "\n", - "# Object function\n", - "max_vars_func = mdl.sum(x[i] for i in range(1,5))\n", - "mdl.maximize(max_vars_func)\n", - "\n", - "# Constrains\n", - "# Inequality constraint is used\n", - "mdl.add_constraint(mdl.sum(i*x[i] for i in range(1,5)) <= 3)\n", - "\n", - "print(mdl.export_to_string())" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "The type of Variable x_1 is continuous. It must be a binary variable. \n", - "The type of Variable x_2 is continuous. It must be a binary variable. \n", - "The type of Variable x_3 is continuous. It must be a binary variable. \n", - "The type of Variable x_4 is continuous. It must be a binary variable. \n", - "Constraint x_1+2x_2+3x_3+4x_4 <= 3 is not an equality constraint.\n" - ] - }, - { - "ename": "AquaError", - "evalue": "'The input model has unsupported elements.'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mAquaError\u001b[0m Traceback (most recent call last)", - "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mqubitOp\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0moffset\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mdocplex\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_qubitops\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmdl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m", - "\u001b[0;32m~/github/qiskit-aqua-docplex/qiskit/aqua/translators/ising/docplex.py\u001b[0m in \u001b[0;36mget_qubitops\u001b[0;34m(mdl, auto_penalty, default_penalty)\u001b[0m\n\u001b[1;32m 83\u001b[0m \"\"\"\n\u001b[1;32m 84\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 85\u001b[0;31m \u001b[0m_validate_input_model\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mmdl\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 86\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 87\u001b[0m \u001b[0;31m# set the penalty coefficient by _auto_define_penalty() or manually.\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;32m~/github/qiskit-aqua-docplex/qiskit/aqua/translators/ising/docplex.py\u001b[0m in \u001b[0;36m_validate_input_model\u001b[0;34m(mdl)\u001b[0m\n\u001b[1;32m 222\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 223\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0mvalid\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 224\u001b[0;31m \u001b[0;32mraise\u001b[0m \u001b[0mAquaError\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'The input model has unsupported elements.'\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 225\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 226\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", - "\u001b[0;31mAquaError\u001b[0m: 'The input model has unsupported elements.'" - ] - } - ], - "source": [ - "qubitOp, offset = docplex.get_qubitops(mdl)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { From dd41459b49b42cb79ddc3951f6b501f85f3cc52f Mon Sep 17 00:00:00 2001 From: Albert Frisch Date: Fri, 12 Apr 2019 17:55:54 +0200 Subject: [PATCH 10/21] update ExactLSsolver naming --- .../aqua/general/linear_systems_of_equations.ipynb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/qiskit/aqua/general/linear_systems_of_equations.ipynb b/qiskit/aqua/general/linear_systems_of_equations.ipynb index 58e2a5e06..92383b7d1 100644 --- a/qiskit/aqua/general/linear_systems_of_equations.ipynb +++ b/qiskit/aqua/general/linear_systems_of_equations.ipynb @@ -51,7 +51,7 @@ "from qiskit.aqua import run_algorithm\n", "from qiskit.aqua.input import LinearSystemInput\n", "from qiskit.quantum_info import state_fidelity\n", - "from qiskit.aqua.algorithms.classical import ExactLPsolver\n", + "from qiskit.aqua.algorithms.classical import ExactLSsolver\n", "import numpy as np" ] }, @@ -147,7 +147,7 @@ "result = run_algorithm(params)\n", "print(\"solution \", np.round(result['solution'], 5))\n", "\n", - "result_ref = ExactLPsolver(matrix, vector).run()\n", + "result_ref = ExactLSsolver(matrix, vector).run()\n", "print(\"classical solution \", np.round(result_ref['solution'], 5))\n", "\n", "print(\"probability %f\" % result['probability_result'])\n", @@ -186,7 +186,7 @@ "result = run_algorithm(params2)\n", "print(\"solution \", np.round(result['solution'], 5))\n", "\n", - "result_ref = ExactLPsolver(matrix, vector).run()\n", + "result_ref = ExactLSsolver(matrix, vector).run()\n", "print(\"classical solution \", np.round(result_ref['solution'], 5))\n", "\n", "print(\"probability %f\" % result['probability_result'])\n", @@ -275,7 +275,7 @@ "result = run_algorithm(params3)\n", "print(\"solution \", np.round(result['solution'], 5))\n", "\n", - "result_ref = ExactLPsolver(matrix, vector).run()\n", + "result_ref = ExactLSsolver(matrix, vector).run()\n", "print(\"classical solution \", np.round(result_ref['solution'], 5))\n", "\n", "print(\"probability %f\" % result['probability_result'])\n", @@ -378,7 +378,7 @@ "result = run_algorithm(params4)\n", "print(\"solution \", np.round(result['solution'], 5))\n", "\n", - "result_ref = ExactLPsolver(matrix, vector).run()\n", + "result_ref = ExactLSsolver(matrix, vector).run()\n", "print(\"classical solution \", np.round(result_ref['solution'], 5))\n", "\n", "print(\"probability %f\" % result['probability_result'])\n", @@ -521,7 +521,7 @@ "result = hhl.run(quantum_instance)\n", "print(\"solution \", np.round(result['solution'], 5))\n", "\n", - "result_ref = ExactLPsolver(matrix, vector).run()\n", + "result_ref = ExactLSsolver(matrix, vector).run()\n", "print(\"classical solution \", np.round(result_ref['solution'], 5))\n", "\n", "print(\"probability %f\" % result['probability_result'])\n", From d635094f4c1fe5c311bb1b994e627d5c331a9690 Mon Sep 17 00:00:00 2001 From: woodsp Date: Fri, 12 Apr 2019 14:47:13 -0400 Subject: [PATCH 11/21] Minor spelling and text fixups --- qiskit/aqua/optimization/docplex.ipynb | 39 ++++++++++++++------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/qiskit/aqua/optimization/docplex.ipynb b/qiskit/aqua/optimization/docplex.ipynb index 77eeb9fb2..e2570c306 100644 --- a/qiskit/aqua/optimization/docplex.ipynb +++ b/qiskit/aqua/optimization/docplex.ipynb @@ -11,7 +11,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# _*Qiskit Aqua: Generatin Ising Hamiltonians from optimization models with DOcplex*_\n", + "# _*Qiskit Aqua: Generating Ising Hamiltonians from optimization models with DOcplex*_\n", "\n", "The latest version of this notebook is available on https://github.com/Qiskit/qiskit-tutorial.\n", "\n", @@ -27,11 +27,11 @@ "metadata": {}, "source": [ "## Introduction\n", - "There has been a growing interest in using quantum computers to find solutions of combinatorial problems. One of heuristic approach for finding solutions of combinatorial problems on quantum computers is a quantum variational approach, such as the Variational Quantum \n", - "Eigensolver (VQE) algorithm (see https://arxiv.org/abs/1802.00171 and the Quantum Approximate Optimization Algorithm (QAOA) (see https://arxiv.org/abs/1411.4028). In order to use a quantum variational approach on quantum computers, first, we need to map a combinatorial problem to an Ising Hamiltonians. However Ising Hamiltonians are complicated and unintuitive. Mapping a combinatorial problem to Ising Hamiltonians is difficult and time-consuming task, which requires specialized knowledge.\n", + "There has been a growing interest in using quantum computers to find solutions of combinatorial problems. A heuristic approach for finding solutions of combinatorial problems on quantum computers is the quantum variational approach, such as the Variational Quantum \n", + "Eigensolver (VQE) algorithm (see https://arxiv.org/abs/1802.00171 and the Quantum Approximate Optimization Algorithm (QAOA) (see https://arxiv.org/abs/1411.4028). In order to use a quantum variational approach on quantum computers, first, we need to map a combinatorial problem to an Ising Hamiltonian. However Ising Hamiltonians are complicated and unintuitive. Mapping a combinatorial problem to Ising Hamiltonians can be a difficult and time-consuming task, requiring specialized knowledge.\n", "\n", - "In this tutorial, we introduce a translator to automatically generate Ising Hamiltonians from classical optimization models. We will explain about classical optimization models later. The translator dramatically simplifies the task of designing and implementing quantum-computing-based solutions for optimization problems by automatically generating Ising Hamiltoniansfor different optimization problems. With the translator, All a user has to do is to write optimization models using DOcplex (see https://cdn.rawgit.com/IBMDecisionOptimization/docplex-doc/master/docs/index.html). DOcplex is a python library for optimization problems.\n", - "Then the translator will automatically generate Ising Hamiltonians from the models. Optimization models are short and intuitive. It is easier to write optimization models compared to writing Ising Hamiltonians manually. \n", + "In this tutorial, we introduce a translator to automatically generate Ising Hamiltonians from classical optimization models. We will explain about classical optimization models later. The translator dramatically simplifies the task of designing and implementing quantum-computing-based solutions, for optimization problems, by automatically generating Ising Hamiltonians for different optimization problems. With the translator, all a user has to do is to write optimization models using DOcplex (see https://cdn.rawgit.com/IBMDecisionOptimization/docplex-doc/master/docs/index.html). DOcplex is a python library for optimization problems.\n", + "Then the translator will automatically generate Ising Hamiltonians from the models. Optimization models are short and intuitive. It is much easier to write optimization models compared to writing Ising Hamiltonians manually. \n", "\n", "The quantum variational approach works with the translator in Qiskit Aqua as follows:\n", "1. Write an optimization model of the formulation with DOcplex.\n", @@ -40,16 +40,16 @@ "\n", "\n", "### Details of Optimization Models\n", - "For simplicity, we can generate Ising Hamiltonian from the following optimization models now.\n", + "The translator supports the generation of an Ising Hamiltonian from the following optimization model elements:\n", "- Binary decision variables. \n", "- Linear and quadratic terms in objective functions.\n", "- Only equality constraints. \n", "\n", - "Input models are validated before transormation. If the model containts elements that are not from the supported set, an error will be raised.\n", + "Input models are validated before transformation. If the model contains elements that are not from the supported set, an error will be raised.\n", "\n", - "Even though there are restrictions, this type of optimization model can handle the following optimization problems, maxcut, tsp and etc.\n", - "They are typical optimization problems. The usage examples of the translator for Maxcut and TSP are written in the following link.\n", - "- [Qiskit Aqua: Experimenting with MaxCut problem and Traveling Salesman problem with variational quantum eigensolve](maxcut_and_tsp.ipynb)" + "Even though there are restrictions, this type of optimization model can handle optimization problems such as maxcut, traveling salesman etc.\n", + "These are typical optimization problems. Examples of the translator being used for Maxcut and TSP problems can be found in the following tutorial:\n", + "- [Qiskit Aqua: Experimenting with MaxCut problem and Traveling Salesman problem with variational quantum eigensolver](maxcut_and_tsp.ipynb)" ] }, { @@ -57,7 +57,8 @@ "metadata": {}, "source": [ "### A Usage Example: Maximize the number of variables by taking into account constraints\n", - "The following is a toy example of a maximization problem with constrains.\n", + "The following is a toy example of a maximization problem with constraints.\n", + "\n", "\\begin{aligned}\n", " & \\text{maximize}\n", " & \\sum_{i} x_{i}\\\\\n", @@ -70,7 +71,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 2, "metadata": {}, "outputs": [], "source": [ @@ -94,14 +95,16 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "### Create an optimization model of the above problem using DOcplex\n", + "### Creating an optimization model of the above problem using DOcplex\n", "An optimization model of the problem with DOcplex is written as follows. \n", - "An instance of `Model` is created and variables for the model are created in the first paragraph. Then object function is written in the second paragraph. The objective function is a function that we would like to minimize (or maximize). Finally constrains are written in the third paragraph. " + "* First an instance of `Model` is created and variables for the model are defined. \n", + "* Next an objective function is written and passed to the model. The objective function is a function that we would like to minimize (or maximize).\n", + "* Finally constraints are added. " ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "metadata": { "scrolled": true }, @@ -137,11 +140,11 @@ "mdl = Model(name='max_vars')\n", "x = {i: mdl.binary_var(name='x_{0}'.format(i)) for i in range(1,5)}\n", "\n", - "# Object function\n", + "# Objective function\n", "max_vars_func = mdl.sum(x[i] for i in range(1,5))\n", "mdl.maximize(max_vars_func)\n", "\n", - "# Constrains\n", + "# Constraints\n", "mdl.add_constraint(mdl.sum(i*x[i] for i in range(1,5)) == 3)\n", "\n", "print(mdl.export_to_string())" @@ -284,7 +287,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.5" + "version": "3.6.1" } }, "nbformat": 4, From 09a36637b6d4b828c1b1659d0ccd877161af5611 Mon Sep 17 00:00:00 2001 From: desiree Date: Sat, 13 Apr 2019 20:48:52 +1000 Subject: [PATCH 12/21] updates --- community/terra/qis_adv/quantum_walk.ipynb | 177 +++++++++++---------- 1 file changed, 97 insertions(+), 80 deletions(-) diff --git a/community/terra/qis_adv/quantum_walk.ipynb b/community/terra/qis_adv/quantum_walk.ipynb index 3fdbe0626..f9a8860b6 100644 --- a/community/terra/qis_adv/quantum_walk.ipynb +++ b/community/terra/qis_adv/quantum_walk.ipynb @@ -15,7 +15,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Implementation of Quantum Walks on graph for IBM Q\n", + "# Implementation of Quantum Walks on Cycle Graph\n", "This notebook is based on the paper of B L Douglas and J B Wang, \"Efficient quantum circuit implementation of quantum walks\", arXiv:0706.0304 [quant-ph]." ] }, @@ -24,16 +24,16 @@ "metadata": {}, "source": [ "## Contributors\n", - "Jordan Kemp(University of Chicago), Shin Nishio(Keio University), Ryosuke Satoh(Keio University), Desiree Vogt-Lee(University of Queensland), and Tanisha Bassan(The Knowledge Society)" + "Jordan Kemp (University of Chicago), Shin Nishio (Keio University), Ryosuke Satoh (Keio University), Desiree Vogt-Lee (University of Queensland), and Tanisha Bassan (The Knowledge Society)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Introduction: challenges in implementing quantum walk\n", + "## Introduction\n", "\n", - "There are so many types of quantum walks. Walker can walk on n-dimensional space or any limited graphs. First we talk about the concept and dynamics of Quantum and Classical random walk. After that we show the implementation of Quantum Walk on cycle graph." + "There are many different types of quantum walks: a walker can walk on n-dimensional space or any limited graphs. First we will talk about the concept and dynamics of the quantum random walk and then show the implementation of a quantum walk on cycle graph." ] }, { @@ -41,7 +41,7 @@ "metadata": {}, "source": [ "## Random walk \n", - "Random walk is a dynamics which is randomly time evolving system. Figure shows a simple type of random walk. " + "A random walk is a dynamical path with a randomly evolving time system. The figure below shows a simple type of random walk. " ] }, { @@ -55,70 +55,81 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The dynamics can be regarded as a simple algorithm as shown.\n", - "1. There is a $n$-dimension(in this case, one for simple) space and a walker start at the point $x=0$\n", - "2. take a step either forward (toward $+x$) or backward(toward $-x$) \n", - "in 2., the choice is to be made randomly(ex: coin-flip). We call this \"Coin Operator\". \n", + "The dynamics can be regarded as a simple algorithm:\n", + "1. There is a $n$-dimensional space (in this case, one for simplicity) and a walker which starts at the point $x=0$\n", + "2. The walker then takes a step either forwards (towards $+x$) or backwards (towards $-x$) \n", "\n", - "In this system, $p+q = 1$" + "In the second step, the choice is made randomly (eg. a coin-flip). We can call this the \"Coin Operator\". \n", + "\n", + "For this system: $p+q = 1$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Quantum walk \n", - "Quantum walk is \"quantum version\" of random walk. This means the coin function can be Unitary gate($U(2)$) which is non-random and reversible. \n", + "## Quantum Walk \n", + "A quantum walk is the \"quantum version\" of a classical random walk. This means the coin function will be a Unitary gate ($U(2)$) which is non-random and reversible:\n", "\n", "$$p+q = U ∈ U(2)$$\n", "\n", - "In this experiments, we use Hadamard gate for coin function since it puts our qubits in a state of superposition simulating the coin based probability, \n", + "In this notebook, we use a Hadamard gate for executing the coin function since it puts our qubits in a state of superposition, allowing for the simulation of a coin based probability:\n", + "\n", "$$H=\\frac{1}{\\sqrt{2}}\\left [{\\begin{array}{rr}1 & 1 \\\\ 1 & -1\\\\ \\end{array}}\\right]$$\n", "\n", - "There are continuous and discrete quantum walks, in our experiment we use the discrete framework. In the discrete, unitary operations are made of coin and shift operators U = SC which work in a state space.\n", - "An arbitrary undirected graph $G(V,E)$ where $V = {v_1, v_2, ..v_n}$ as nodes on the graph and $E = {(v_x, v_y) , ( v_i, v_j) …}$ as edges that combine different nodes together.\n", - "The quantum walk extends into a position space where each node vi with a certain valency di is split into di subnodes. The shifting operator then acts as $S (v_i, a_i) = (v_j, a_j)$ and coin operator are unitary gates which combine the probability amplitudes with individual subnodes under each node.\n", - "A unitary of $v_i$ with valency $d_i$ can be represented as $(d_i \\times d_i)$. The total states of system is defined by the hilbert space $$H = H_c + H_p$$, respectively coin hilbert space and position hilbert space. \n" + "There are two kinds of random walks, continuous and discrete, and in this notebook we will use the discrete framework. In the discrete, unitary operations are made of coin and shift operators $U = SC$ which work in a state space.\n", + "\n", + "It is represented by an arbitrary undirected graph $G(V,E)$ where $V = {v_1, v_2, ..v_n}$ as nodes on the graph and $E = {(v_x, v_y) , ( v_i, v_j) …}$ as edges that combine different nodes together.\n", + "\n", + "The quantum walk extends into a position space where each node $v_i$ has a certain valency $d_i$ and is split into $d_i$ subnodes. The shifting operator then acts as $S (v_i, a_i) = (v_j, a_j)$ and with the coin operator, are unitary gates which combine the probability amplitudes with individual subnodes under each node.\n", + "\n", + "A unitary of $v_i$ with valency $d_i$ can be represented as $(d_i \\times d_i)$. The total state of system is defined by the Hilbert space \n", + "\n", + "$$H = H_c + H_p$$ \n", + "\n", + "Where $H_C$ is the coin Hilbert space and $H_P$ is the position Hilbert space. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "\n", - "## Coin function\n", - "The first step in a quantum random walk is the coin operator. The operation works by an arbitrary unitary transformation in the coin space which creates a rotation similar to “coin-flip” in random walk. This is mainly the hadamard gate which models the balanced unitary coin. \n", - "$$H=\\frac{1}{\\sqrt{2}}\\left [{\\begin{array}{rr}1 & 1 \\\\ 1 & -1\\\\ \\end{array}}\\right]$$" + "## The Coin Operator \n", + "The first operation in a quantum random walk is the coin operator. The operator works by performing an arbitrary unitary transformation in the coin space which creates a rotation similar to “coin-flip” in random walk. This is namely the Hadamard gate, which models a balanced unitary coin. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "The coin register will continue interfering with it’s position state until measured after all intermediate steps. The results are very different from random walks, it doesn’t converge to a gaussian distribution but to evolves into an asymmetric probability distribution. This happens because the hadamard coin operator treats each basis vectors |↑> and |↓> differently. The rightwards path interferes more destructively as it’s multiplied but -1 but leftwards path is constructive interference. System tends to take steps towards the left. To reach symmetric results, both base vectors will start in superposition states of both |↑> and |↓>. Another way to reach symmetry is use a different coin operator which doesn’t bias the coin towards a certain base vector. \n", - "$$Y=\\frac{1}{\\sqrt{2}}\\left [{\\begin{array}{rr}1 & i \\\\ i & 1\\\\ \\end{array}}\\right]$$\n" + "The coin register will continue interfering with its position state until it is measured, after all intermediate steps. The results are very different from random walks as it doesn’t converge to a Gaussian distribution, but rather evolves into an asymmetric probability distribution. This happens because the Hadamard coin operator treats each basis vectors, |↑> and |↓> , differently. \n", + "\n", + "The rightwards path interferes more destructively as it is multiplied by -1, however, the leftwards path undergoes more constructive interference and the system tends to take steps towards the left. To reach symmetric results, both base vectors will start in a superposition of states (between |↑> and |↓>). Another way to reach symmetry is use a different coin operator which doesn’t bias the coin towards a certain base vector, such as the Y gate:\n", + "\n", + "$$Y=\\frac{1}{\\sqrt{2}}\\left [{\\begin{array}{rr}1 & i \\\\ i & 1\\\\ \\end{array}}\\right]$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Quantum walk on cycle graph\n", - "Our experiment is conducting a quantum random walk on circular graph which is efficiently and simply implemented on the quantum circuit. The graph has 8 nodes with 2 attached edges which act as the subnodes on the circuit. \n" + "## Quantum Walk on the Cycle Graph\n", + "\n", + "The goal of this notebook is to conduct a quantum random walk on circular graph which can be efficiently and simply implemented on the quantum circuit. The graph has 8 nodes with 2 attached edges which act as the subnodes on the circuit. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "\"Note: Trusted Notebook\" width=\"500 px\" align=\"center\">" + "\"Note: Trusted Notebook\" width=\"350 px\" align=\"center\">" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "The operations propagate systemically around the graph as each node is a seperate bit-string value in lexicographic order. For 2n graph, n qubits required to encode problem and 1 ancilla qubit for subnode(coin). " + "The operations propagate systemically around the graph as each node is a seperate bit-string value in lexicographic order. For a 2n graph, n qubits are required to encode the problem and 1 ancilla qubit is required for the subnode (coin). " ] }, { @@ -132,20 +143,32 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "This circuits shows whole process(for 2 flip) of Quantum Walk on cycle graph with $2^3$nodes. \n", - "Gray square frame is a set of Coin operator and shift operator. \n", - "In this circuit, q[0] to q[2] represents the state (position) of quantum walker, and q[3] represents Coin Operator.\n", + "The above circuit shows the whole process of the quantum walk on a cycle graph with $2^3$ nodes. \n", + "\n", + "The gray rectangular frame outlines a set of coin operators and shift operators. \n", + "\n", + "In this circuit, q[0] to q[2] represent the state (position) of quantum walker, and q[3] represents the coin operator.\n", "\n", - "In this style, programmer can insert initial position of walker as 3-qubits state. For example, if the input is $110$, the position is $6$.\n", + "In this style, a programmer can insert the initial position of walker as a 3-qubit state. For example, if the input is $110$, then the position is $6$ (see the earlier cycle graph). \n", "\n", - "Coin operator decide whether walker go Clockwise or Counterclockwise.\n", + "The coin operator decides whether the walker proceeds clockwise or counterclockwise.\n", "\n", - "INC is gates that increment the state of walker which is equal to Clockwise rotation in the cycle graph. \n", - "DEC is gates that decrement the state of walker which is equal to Counterclockwise rotation in cycle graph.\n", + "INC is a gate that increments the state of the walker which is equal to a clockwise rotation in the cycle graph. \n", "\n", - "After repeating of the coin operator and the shift operator, measure the qubits other than the coin qubit, it is possible to know the position of the walker.\n", + "DEC is gate that decrements the state of the walker which is equal to a counterclockwise rotation in cycle graph.\n", "\n", - "## $n$-qubit Toffoli" + "After repeatedly executing the coin operator and the shift operator, we can measure the qubits (excluding the ancilla coin qubit), and it is then possible to know the position of the walker." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## $n$-qubit Toffoli\n", + "\n", + "The Toffoli gate is a CCNOT(CCX) gate. By using the Toffoli gate, X gates executed on Q2 if Q0 and Q1 is equal to 1.\n", + "\n", + "In our quantum walk implementation, we need more connections to expand the quantum walk implementation." ] }, { @@ -159,13 +182,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Toffoli gate is CCNOT(CCX) gate.\n", - "By using Toffoli, X gates executed on Q2 if Q0 and Q1 is 1.\n", - "In quantum walk implementation, we need more connection for expanding quantum walk implementation.\n", - "For example, CCX can be written as below by using only available gate set of IBMQ devices.\n", + "For example, CCX can be written as in the below circuit by using only the available gate sets of the IBMQ devices.\n", "\n", - "Thus, more than 4 qubits, we can implement many qubits of CX gate (\"C$N$X gate\") with this way.\n", - "Reference is shown [here](\"https://journals.aps.org/pra/abstract/10.1103/PhysRevA.52.3457\").\n" + "Therefore, for more than 4 qubits, we can implement many qubits of CX gate (\"C$N$X gate\") using this method. Reference shown [here](\"https://journals.aps.org/pra/abstract/10.1103/PhysRevA.52.3457\")." ] }, { @@ -184,28 +203,27 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ - "def cnx(qc,*qubits):\n", + "def cnx(qc, *qubits):\n", " if len(qubits) >= 3:\n", " last = qubits[-1]\n", - " #A matrix: (made up of a and Y rotation, lemma4.3)\n", + " # A matrix: (made up of a and Y rotation, lemma4.3)\n", " qc.crz(np.pi/2, qubits[-2], qubits[-1])\n", - " #cry\n", " qc.cu3(np.pi/2, 0, 0, qubits[-2],qubits[-1])\n", " \n", - " #Control not gate\n", + " # Control not gate\n", " cnx(qc,*qubits[:-2],qubits[-1])\n", " \n", - " #B matrix (cry again, but opposite angle)\n", + " # B matrix (pposite angle)\n", " qc.cu3(-np.pi/2, 0, 0, qubits[-2], qubits[-1])\n", " \n", - " #Control\n", + " # Control\n", " cnx(qc,*qubits[:-2],qubits[-1])\n", " \n", - " #C matrix (final rotation)\n", + " # C matrix (final rotation)\n", " qc.crz(-np.pi/2,qubits[-2],qubits[-1])\n", " elif len(qubits)==3:\n", " qc.ccx(*qubits)\n", @@ -217,7 +235,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Decide the number of qubits $n$ for represent walker's state. (Whole circuits requires $n+1$ qubits)" + "We then need to decide the number of qubits $n$ to represent the walker's state (the whole circuit requires $n+1$ qubits)." ] }, { @@ -232,7 +250,7 @@ "source": [ "import numpy as np\n", "from qiskit import IBMQ, QuantumCircuit, ClassicalRegister, QuantumRegister, execute\n", - "from qiskit.tools.visualization import plot_histogram,plot_state_city\n", + "from qiskit.tools.visualization import plot_histogram, plot_state_city\n", "\n", "n=3" ] @@ -272,13 +290,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Increment gate and decrement gate are the shift operator for walk.\n", - "Both of them including the C$N$X gates and change the position of the walker based on the coin operator." + "We then need to execute the increment and decrement gate in order for the shift operator to walk, including the C$N$X gates which changes the position of the walker based on the coin operator." ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 2, "metadata": { "colab": {}, "colab_type": "code", @@ -286,8 +303,6 @@ }, "outputs": [], "source": [ - "#IN/DECREMENT GATES FOR N=3\n", - "\n", "def increment_gate(qwc, q, subnode):\n", " \n", " cnx(qwc, subnode[0], q[2], q[1], q[0])\n", @@ -318,7 +333,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Repeat coin operator and shift operator for any steps(in this case 15)." + "Rerun the coin and shift operators for n number of steps (in this case 15)." ] }, { @@ -360,13 +375,13 @@ "\n", " return qwc\n", "\n", - "\n", "import matplotlib as mpl\n", + "\n", "step = 1\n", "qwc = runQWC(qwc, step)\n", "qwc.draw(output=\"mpl\")\n", - "# print(qwc)\n", "result = ibmsim(qwc)\n", + "\n", "print(result)" ] }, @@ -394,9 +409,9 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "The first qubit which is always 0 is the coin qubit.\n", - "Second to fourth is the position of the walker(binary).\n", - "You can also see the distribution using plot_histogram." + "The first qubit which is always 0, is the coin qubit.\n", + "The second to fourth, is the position of the walker (binary).\n", + "The distribution can be seen using plot_histogram." ] }, { @@ -426,7 +441,8 @@ "metadata": {}, "source": [ "## Results\n", - "This is the example of whole iteration. The size of each node represents probability of existing quantum walker. " + "\n", + "The following animation is what the quantum walk looks like over its 19 iterations. The size of each node represents probability of the quantum walker existing in that position. " ] }, { @@ -441,7 +457,8 @@ "metadata": {}, "source": [ "## Required Resources\n", - "In this algorithm, we need $n+1$ qubits for a cycle graph with $2^n$ nodes. As you can see in the circuit, time complexity increases linearly. We take $7$ data points of steps($1, 10, 20, 30, 40, 50, 100$). This is the result of relation between execution time on 'qasm_simulator' and the number of steps." + "\n", + "In this algorithm, we needed $n+1$ qubits for a cycle graph with $2^n$ nodes. As you can see in the following graph, the time complexity increases linearly. This is the result of relation between execution time on 'qasm_simulator' and the number of steps." ] }, { @@ -455,27 +472,27 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "\n", - "32 qubits 2^31 nodes ← cost time....(execution) \n", - "Limitations \n", - "\n", "## Discussion about Future Work and Applications\n", - "\n", - "_Many particle quantum random walk_\n", - "\n", - "Simulation evolution of spatial entanglement in many-body physics problems. The graph is a 1D lattice with a particle on each node as initial state. Each particle has separate position and coin hilbert space H = (Hc ⊗ Hp)⊗M. The particles independantly evolve and don't interact. 3-particle system graph are easily implemented in quantum walk but more particles increase number of steps in quantum walk and measurement of entanglement become difficult. More efficient methods of quantum walk implementation will help increase the number of particle systems studied in evolution. \n", - "\n", "_Expansion of number of nodes on graph_ \n", "\n", - "The graph implemented in this project is 3 qubits for 8 nodes and 1 qubit for coin operation. In total only 4 qubits are used for evolution. The total time for iterating through coin and shift operator is 16 seconds for 100 flips. \n", - "We look at a real world problem that can be applied in quantum random walk on graphs with more nodes. Mapping enzymes as nodes on a graph to understand their evolution when in contact with mutagens only requires 33 nodes which can be mapped out on 7 qubit circuit. This will increase total time to 49 seconds for 100 flips. This is a scalable model which can continue to grow to map more complex graphs to problems. \n", + "The walk implemented in this project required 3 qubits for 8 nodes plus an additional 1 qubit for the coin operator. The total time for iterating through coin and shift operator was 16 seconds for 100 flips. \n", + "\n", + "An example of a real world problem that can be solved using quantum random walks is the mapping of enzymes to understand their evolution when in contact with mutagens. This problem only requires 33 nodes which can be mapped out on 7 qubit circuit. This increase in qubits would increase the total time to 49 seconds for 100 flips. This is a scalable model which can continue to grow to map more complex graphs to problems. \n", "\n", - "Time complexity for classcal computer (QC-simulator) get approximately $({\\frac{m+1}{n+1}})^2$ if the number of nodes becomes $2^m$ from $2^n$. This value is based on number of qubits and roughly estimated. \n", + "The time complexity for the quantum simulator approximately follows $({\\frac{m+1}{n+1}})^2$ if the number of nodes becomes $2^m$ from $2^n$. This value is based on number of qubits and is roughly estimated. \n", "\n", "## Conclusion\n", - "In this notebook we showed the basics of Quantum Walk and implementation on Quantum Circuit.\n", - "This algorithm requires $n+1$ qubits for any cycle graph with $2^n$ nodes. " + "In this notebook we showed the basics of the quantum random walk and its implementation on a cyclic quantum circuit.\n", + "\n", + "The implemented algorithm requires $n+1$ qubits for any cycle graph with $2^n$ nodes. " ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { @@ -500,7 +517,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.1" + "version": "3.6.8" } }, "nbformat": 4, From 2b8b64ee029aae03cefd1fe094008e66a7c876f1 Mon Sep 17 00:00:00 2001 From: desiree Date: Sat, 13 Apr 2019 20:51:36 +1000 Subject: [PATCH 13/21] fixed equation --- community/terra/qis_adv/quantum_walk.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/community/terra/qis_adv/quantum_walk.ipynb b/community/terra/qis_adv/quantum_walk.ipynb index f9a8860b6..885b903f4 100644 --- a/community/terra/qis_adv/quantum_walk.ipynb +++ b/community/terra/qis_adv/quantum_walk.ipynb @@ -71,7 +71,7 @@ "## Quantum Walk \n", "A quantum walk is the \"quantum version\" of a classical random walk. This means the coin function will be a Unitary gate ($U(2)$) which is non-random and reversible:\n", "\n", - "$$p+q = U ∈ U(2)$$\n", + "$$p+q = U \\in U(2)$$\n", "\n", "In this notebook, we use a Hadamard gate for executing the coin function since it puts our qubits in a state of superposition, allowing for the simulation of a coin based probability:\n", "\n", From ac5ca551de6973324a2caa0f7c8ad207899cccc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Herok?= Date: Wed, 17 Apr 2019 08:12:40 +0200 Subject: [PATCH 14/21] Refactoring of the initialize() call (#584) --- community/hello_world/string_comparison.ipynb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/community/hello_world/string_comparison.ipynb b/community/hello_world/string_comparison.ipynb index 012ff88f5..b5e494e19 100644 --- a/community/hello_world/string_comparison.ipynb +++ b/community/hello_world/string_comparison.ipynb @@ -151,10 +151,10 @@ " pos += 1\n", " desired_vector[pos] = amplitude\n", " if not inverse:\n", - " qc.initialize(desired_vector, [ qr[i] for i in range(n) ] )\n", + " qc.initialize(desired_vector, qr)\n", " qc.barrier(qr)\n", " else:\n", - " qc.initialize(desired_vector, [ qr[i] for i in range(n) ] ).inverse() #invert the circuit\n", + " qc.initialize(desired_vector, qr).inverse() #invert the circuit\n", " for i in range(n):\n", " qc.measure(qr[i], cr[i])\n", " print()\n", @@ -262,8 +262,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "Similarity score of PROTOZOAN and YEAST is 0.833\n", - "Similarity score of PROTOZOAN and BACTERIAL is 0.975\n", + "Similarity score of PROTOZOAN and YEAST is 0.827\n", + "Similarity score of PROTOZOAN and BACTERIAL is 0.965\n", "[ANSWER] PROTOZOAN is most similar to BACTERIAL\n" ] } @@ -347,7 +347,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.7.0" + "version": "3.6.1" }, "toc": { "colors": { From 0c3915aea0f93dbb4ce4088564aa678b5a5a3e0f Mon Sep 17 00:00:00 2001 From: Albert Frisch Date: Thu, 18 Apr 2019 23:00:44 +0200 Subject: [PATCH 15/21] add HHL truncate parameters --- qiskit/aqua/general/linear_systems_of_equations.ipynb | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/qiskit/aqua/general/linear_systems_of_equations.ipynb b/qiskit/aqua/general/linear_systems_of_equations.ipynb index 92383b7d1..c899ff742 100644 --- a/qiskit/aqua/general/linear_systems_of_equations.ipynb +++ b/qiskit/aqua/general/linear_systems_of_equations.ipynb @@ -1,4 +1,4 @@ -{ +{ "cells": [ { "cell_type": "markdown", @@ -451,6 +451,10 @@ "outputs": [], "source": [ "params5 = params\n", + "params5[\"algorithm\"] = {\n", + " \"truncate_powerdim\": False,\n", + " \"truncate_hermitian\": False\n", + "}\n", "params5[\"reciprocal\"] = {\n", " \"name\": \"Lookup\",\n", " \"negative_evals\": True\n", From 560f6a854499c81cca0c04ce4b9b237c2c198c83 Mon Sep 17 00:00:00 2001 From: Albert Frisch Date: Fri, 19 Apr 2019 00:39:06 +0200 Subject: [PATCH 16/21] improve HHL example and clean up --- .../general/linear_systems_of_equations.ipynb | 52 +++++++++++-------- 1 file changed, 31 insertions(+), 21 deletions(-) diff --git a/qiskit/aqua/general/linear_systems_of_equations.ipynb b/qiskit/aqua/general/linear_systems_of_equations.ipynb index 92383b7d1..50bde1686 100644 --- a/qiskit/aqua/general/linear_systems_of_equations.ipynb +++ b/qiskit/aqua/general/linear_systems_of_equations.ipynb @@ -252,8 +252,14 @@ " 'name': 'LinearSystemInput',\n", " 'matrix': matrix,\n", " 'vector': vector\n", - "}" - ] + "}\n", + "params3['reciprocal'] = {\n", + " 'negative_evals': True\n", + "}\n", + "params3['eigs'] = {\n", + " 'negative_evals': True\n", + "}\n" + ] }, { "cell_type": "code", @@ -264,10 +270,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "solution [0.22147+0.j 0.22034-0.j]\n", + "solution [0.13449+0.j 0.29238-0.j]\n", "classical solution [0.14286 0.28571]\n", - "probability 0.424639\n", - "fidelity 0.898454\n" + "probability 0.022362\n", + "fidelity 0.998942\n" ] } ], @@ -451,26 +457,30 @@ "outputs": [], "source": [ "params5 = params\n", - "params5[\"reciprocal\"] = {\n", - " \"name\": \"Lookup\",\n", - " \"negative_evals\": True\n", + "params5['algorithm'] = {\n", + " 'truncate_powerdim': False,\n", + " 'truncate_hermitian': False\n", + "}\n", + "params5['reciprocal'] = {\n", + " 'name': 'Lookup',\n", + " 'negative_evals': True\n", "}\n", - "params5[\"eigs\"] = {\n", - " \"expansion_mode\": \"suzuki\",\n", - " \"expansion_order\": 2,\n", - " \"name\": \"EigsQPE\",\n", - " \"negative_evals\": True,\n", - " \"num_ancillae\": 6,\n", - " \"num_time_slices\": 70\n", + "params5['eigs'] = {\n", + " 'expansion_mode': 'suzuki',\n", + " 'expansion_order': 2,\n", + " 'name': 'EigsQPE',\n", + " 'negative_evals': True,\n", + " 'num_ancillae': 6,\n", + " 'num_time_slices': 70\n", "}\n", - "params5[\"initial_state\"] = {\n", - " \"name\": \"CUSTOM\"\n", + "params5['initial_state'] = {\n", + " 'name': 'CUSTOM'\n", "}\n", - "params5[\"iqft\"] = {\n", - " \"name\": \"STANDARD\"\n", + "params5['iqft'] = {\n", + " 'name': 'STANDARD'\n", "}\n", - "params5[\"qft\"] = {\n", - " \"name\": \"STANDARD\"\n", + "params5['qft'] = {\n", + " 'name': 'STANDARD'\n", "}" ] }, From 0dcce6b8c2fbccf4e0c2b00524a38904c058b417 Mon Sep 17 00:00:00 2001 From: Albert Frisch Date: Fri, 19 Apr 2019 01:00:09 +0200 Subject: [PATCH 17/21] update results --- .../aqua/general/linear_systems_of_equations.ipynb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/qiskit/aqua/general/linear_systems_of_equations.ipynb b/qiskit/aqua/general/linear_systems_of_equations.ipynb index 50bde1686..094ffd501 100644 --- a/qiskit/aqua/general/linear_systems_of_equations.ipynb +++ b/qiskit/aqua/general/linear_systems_of_equations.ipynb @@ -259,7 +259,7 @@ "params3['eigs'] = {\n", " 'negative_evals': True\n", "}\n" - ] + ] }, { "cell_type": "code", @@ -270,10 +270,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "solution [0.13449+0.j 0.29238-0.j]\n", + "solution [0.14223-5.e-05j 0.28622+7.e-05j]\n", "classical solution [0.14286 0.28571]\n", - "probability 0.022362\n", - "fidelity 0.998942\n" + "probability 0.000316\n", + "fidelity 0.999994\n" ] } ], @@ -304,8 +304,8 @@ "name": "stdout", "output_type": "stream", "text": [ - "circuit_width 7\n", - "circuit_depth 30254\n" + "circuit_width 11\n", + "circuit_depth 73313\n" ] } ], From 5df3b325c6995bf281cd37a03fe22ec9e82ce246 Mon Sep 17 00:00:00 2001 From: Albert Frisch Date: Fri, 19 Apr 2019 01:08:16 +0200 Subject: [PATCH 18/21] fix --- qiskit/aqua/general/linear_systems_of_equations.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qiskit/aqua/general/linear_systems_of_equations.ipynb b/qiskit/aqua/general/linear_systems_of_equations.ipynb index b103cb602..094ffd501 100644 --- a/qiskit/aqua/general/linear_systems_of_equations.ipynb +++ b/qiskit/aqua/general/linear_systems_of_equations.ipynb @@ -1,4 +1,4 @@ -{ +{ "cells": [ { "cell_type": "markdown", From 33f09709567e6f7168c45d32504e112159021a5a Mon Sep 17 00:00:00 2001 From: Albert Frisch Date: Fri, 19 Apr 2019 01:12:56 +0200 Subject: [PATCH 19/21] text update --- qiskit/aqua/general/linear_systems_of_equations.ipynb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/qiskit/aqua/general/linear_systems_of_equations.ipynb b/qiskit/aqua/general/linear_systems_of_equations.ipynb index 094ffd501..3d857aa4d 100644 --- a/qiskit/aqua/general/linear_systems_of_equations.ipynb +++ b/qiskit/aqua/general/linear_systems_of_equations.ipynb @@ -292,7 +292,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Compared to the the first example, the circuit depth is increased approximately by a factor 2,5" + "Compared to the the first example, the circuit depth is increased approximately by a factor of 6" ] }, { @@ -395,7 +395,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Considering the circuit depth, it is increased approximately by a factor 10 compared to the two dimensional matrices. The circuit width is increased by two additional qubits" + "Considering the circuit depth and circuit width" ] }, { From 6792791b6b93e7b717f14bd64e9b41addbb952e9 Mon Sep 17 00:00:00 2001 From: woodsp Date: Fri, 19 Apr 2019 16:42:32 -0400 Subject: [PATCH 20/21] Noisy simulation with AER on Aqua --- .../aqua/general/simulations_with_noise.ipynb | 308 ++++++++++++++++++ 1 file changed, 308 insertions(+) create mode 100644 community/aqua/general/simulations_with_noise.ipynb diff --git a/community/aqua/general/simulations_with_noise.ipynb b/community/aqua/general/simulations_with_noise.ipynb new file mode 100644 index 000000000..75d56803e --- /dev/null +++ b/community/aqua/general/simulations_with_noise.ipynb @@ -0,0 +1,308 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## _*Running simulations with noise in Aqua*_\n", + "\n", + "This notebook demonstrates using the [Qiskit Aer](https://qiskit.org/aer) `qasm_simulator` to run a simulation with noise, based on a noise model, in Aqua. This can be useful to investigate behavior under different noise conditions. Aer not only allows you to define your own custom noise model, but also allows a noise model to be easily created based on the properties of a real quantum device. The latter is what this notebook will demonstrate since the goal is to show how to do this in Aqua not how to build custom noise models.\n", + "\n", + "Further information on Qiskit Aer noise model can be found in the online Qiskit Aer documentation [here](https://qiskit.org/documentation/aer/device_noise_simulation.html) as well as in the [Qiskit Aer tutorials](https://github.com/Qiskit/qiskit-tutorials/tree/master/qiskit/aer).\n", + "\n", + "Note: this tutorial requires Qiskit Aer if you intend to run it. This can be installed using pip if you do not have it installed using `pip install qiskit-aer`" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pylab\n", + "\n", + "from qiskit import Aer, IBMQ\n", + "from qiskit.aqua import Operator, QuantumInstance, aqua_globals\n", + "from qiskit.aqua.algorithms.adaptive import VQE\n", + "from qiskit.aqua.algorithms.classical import ExactEigensolver\n", + "from qiskit.aqua.components.optimizers import SPSA\n", + "from qiskit.aqua.components.variational_forms import RY" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Noisy simulation will be demonstrated here with VQE, finding the minimum (ground state) energy of an Hamiltonian, but the technique applies to any quantum algorithm from Aqua.\n", + "\n", + "So for VQE we need a qubit operator as input. Here we will take a set of paulis that were originally computed by qiskit-chemistry, for an H2 molecule, so we can quickly create an Operator." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Number of qubits: 2\n" + ] + } + ], + "source": [ + "pauli_dict = {\n", + " 'paulis': [{\"coeff\": {\"imag\": 0.0, \"real\": -1.052373245772859}, \"label\": \"II\"},\n", + " {\"coeff\": {\"imag\": 0.0, \"real\": 0.39793742484318045}, \"label\": \"ZI\"},\n", + " {\"coeff\": {\"imag\": 0.0, \"real\": -0.39793742484318045}, \"label\": \"IZ\"},\n", + " {\"coeff\": {\"imag\": 0.0, \"real\": -0.01128010425623538}, \"label\": \"ZZ\"},\n", + " {\"coeff\": {\"imag\": 0.0, \"real\": 0.18093119978423156}, \"label\": \"XX\"}\n", + " ]\n", + "}\n", + "\n", + "qubit_op = Operator.load_from_dict(pauli_dict)\n", + "num_qubits = qubit_op.num_qubits\n", + "print('Number of qubits: {}'.format(num_qubits))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As the above problem is still easily tractable classically we can use ExactEigensolver to compute a reference value so we can compare later the results. \n", + "\n", + "_(A copy of the operator is used below as what is passed to ExactEigensolver will be converted to matrix form and we want the operator we use later, on the Aer qasm simuator, to be in paulis form.)_" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reference value: -1.85727503020238\n" + ] + } + ], + "source": [ + "ee = ExactEigensolver(qubit_op.copy())\n", + "result = ee.run()\n", + "ref = result['energy']\n", + "print('Reference value: {}'.format(ref))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Performance *without* noise\n", + "\n", + "First we will run on the simulator without adding noise to see the result. I have created the backend and QuantumInstance, which holds the backend as well as various other run time configuration, which are defaulted here, so it easy to compare when we get to the next section where noise is added. There is no attempt to mitigate noise or anything in this notebook so the latter setup and running of VQE is identical." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VQE on Aer qasm simulator (no noise): -1.8662346923695476\n", + "Delta from reference: -0.008959662167167703\n" + ] + } + ], + "source": [ + "backend = Aer.get_backend('qasm_simulator')\n", + "quantum_instance = QuantumInstance(backend=backend, seed=167, seed_mapper=167) \n", + "\n", + "counts = []\n", + "values = []\n", + "def store_intermediate_result(eval_count, parameters, mean, std):\n", + " counts.append(eval_count)\n", + " values.append(mean)\n", + "\n", + "aqua_globals.random_seed = 167\n", + "optimizer = SPSA(max_trials=200)\n", + "var_form = RY(num_qubits)\n", + "vqe = VQE(qubit_op, var_form, optimizer, 'paulis', callback=store_intermediate_result)\n", + "vqe_result = vqe.run(quantum_instance)\n", + "print('VQE on Aer qasm simulator (no noise): {}'.format(vqe_result['energy']))\n", + "print('Delta from reference: {}'.format(vqe_result['energy']-ref))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "We captured the energy values above during the convergence so we can see what went on in the graph below." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "scrolled": false + }, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pylab.rcParams['figure.figsize'] = (12, 4)\n", + "pylab.plot(counts, values)\n", + "pylab.xlabel('Eval count')\n", + "pylab.ylabel('Energy')\n", + "pylab.title('Convergence with no noise');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Performance *with* noise\n", + "\n", + "Now we will add noise. Here we will create a noise model for Aer from an actual device. You can create custom noise models with Aer but that goes beyond the scope of this notebook. Links to further information on Aer noise model, for those that may be interested in doing this, were given in instruction above.\n", + "\n", + "First we need to get an actual device backend and from its `configuration` and `properties` we can setup a coupling map and a noise model to match the device. While we could leave the simulator with the default all to all map, this shows how to set the coupling map too. Note: We can also use this coupling map as the entanglement map for the variational form if we choose.\n", + "\n", + "Note: simulation with noise takes significantly longer than without noise." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "VQE on Aer qasm simulator (with noise): -1.6539436913665533\n", + "Delta from reference: 0.20333133883582666\n" + ] + } + ], + "source": [ + "from qiskit.providers.aer import noise\n", + "\n", + "IBMQ.load_accounts(hub=None)\n", + "device = IBMQ.get_backend('ibmqx4')\n", + "coupling_map = device.configuration().coupling_map\n", + "noise_model = noise.device.basic_device_noise_model(device.properties())\n", + "basis_gates = noise_model.basis_gates\n", + "\n", + "backend = Aer.get_backend('qasm_simulator')\n", + "quantum_instance = QuantumInstance(backend=backend, seed=167, seed_mapper=167,\n", + " coupling_map=coupling_map,\n", + " noise_model=noise_model,\n", + " basis_gates=basis_gates)\n", + "\n", + "counts1 = []\n", + "values1 = []\n", + "def store_intermediate_result1(eval_count, parameters, mean, std):\n", + " counts1.append(eval_count)\n", + " values1.append(mean)\n", + "\n", + "aqua_globals.random_seed = 167\n", + "optimizer = SPSA(max_trials=200)\n", + "var_form = RY(num_qubits)\n", + "vqe = VQE(qubit_op, var_form, optimizer, 'paulis', callback=store_intermediate_result1)\n", + "vqe_result1 = vqe.run(quantum_instance)\n", + "print('VQE on Aer qasm simulator (with noise): {}'.format(vqe_result1['energy']))\n", + "print('Delta from reference: {}'.format(vqe_result1['energy']-ref))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pylab.rcParams['figure.figsize'] = (12, 4)\n", + "pylab.plot(counts1, values1)\n", + "pylab.xlabel('Eval count')\n", + "pylab.ylabel('Energy')\n", + "pylab.title('Convergence with noise');" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Declarative approach and noise model\n", + "\n", + "Note: if you are running an experiment using the declarative approach, with a dictionary/json, there are keywords in the `backend` section that let you define the noise model based on a device, as well as setup the coupling map too. The basis gate setup, that is shown above, will automatically be done. Here is an example of such a `backend` configuration:\n", + "```\n", + " 'backend': { \n", + "\t 'provider': 'qiskit.Aer',\n", + " 'name': 'qasm_simulator',\n", + "\t 'coupling_map_from_device': 'qiskit.IBMQ:ibmqx4',\n", + " 'noise_model': 'qiskit.IBMQ:ibmqx4',\n", + " 'shots': 1024\n", + "\t },\n", + "```\n", + "\n", + "If you call `run_algorithm` and override the `backend` section by explicity supplying a backend instance as a parameter to run_algorithm, please note that you can provide a QuantumInstance type there instead of BaseBackend. A QuantumInstance allows you to setup and define your own custom noise model and other run time configuration. \n", + "\n", + "(Note when a BaseBackend type is supplied to run_algorithm it is internally wrapped into a QuantumInstance, with default values supplied for noise, run time parameters etc., so you do not get the opportunity that way to set a noise model etc. But by explicitly providing a QuantumInstance you can setup these aspects to your choosing.)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "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.6.1" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} From 2fd83d3927bef0ae37cb7eab9c7c1763b8cbef2f Mon Sep 17 00:00:00 2001 From: Manoel Marques Date: Fri, 19 Apr 2019 16:48:49 -0400 Subject: [PATCH 21/21] Fix Grover input file --- community/aqua/optimization/input_files/grover.json | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/community/aqua/optimization/input_files/grover.json b/community/aqua/optimization/input_files/grover.json index bbf409359..84d511af7 100644 --- a/community/aqua/optimization/input_files/grover.json +++ b/community/aqua/optimization/input_files/grover.json @@ -4,11 +4,12 @@ }, "backend": { "provider": "qiskit.BasicAer", - "name": "qasm_simulator" + "name": "qasm_simulator", + "shots": 1000 }, "oracle": { - "expression": "p cnf 3 5 \n -1 -2 -3 0 \n 1 -2 3 0 \n 1 2 -3 0 \n 1 -2 -3 0 \n -1 2 3 0", - "name": "LogicExpressionOracle" + "expression": "c example DIMACS-CNF 3-SAT\np cnf 3 5\n-1 -2 -3 0\n1 -2 3 0\n1 2 -3 0\n1 -2 -3 0\n-1 2 3 0", + "name": "LogicalExpressionOracle" }, "problem": { "name": "search"