diff --git a/tools/tomography.py b/tools/tomography.py index 62eaa60e27..8244bf45ae 100644 --- a/tools/tomography.py +++ b/tools/tomography.py @@ -60,7 +60,7 @@ def __build_process_tomography_circuits(Q_program, name, qubits, qreg, creg): for circ in preps: labels += __add_meas_circuits(Q_program, circ, qubits, qreg, creg) # delete temp prep output - del Q_program._QuantumProgram__quantum_program['circuits'][circ] + del Q_program._QuantumProgram__quantum_program[circ] print('>> created process tomography circuits for "%s"' % name) return labels @@ -141,7 +141,7 @@ def __add_meas_circuits(Q_program, name, qubits, qreg, creg, prep=None): # add label to output labels.append(name+label) # delete temp circuit - del Q_program._QuantumProgram__quantum_program['circuits'][label] + del Q_program._QuantumProgram__quantum_program[label] return labels @@ -187,8 +187,8 @@ def __add_prep_circuits(Q_program, name, qubits, qreg, creg): # add label to output labels += [name+label_p, name+label_m] # delete temp circuit - del Q_program._QuantumProgram__quantum_program['circuits'][label_p] - del Q_program._QuantumProgram__quantum_program['circuits'][label_m] + del Q_program._QuantumProgram__quantum_program[label_p] + del Q_program._QuantumProgram__quantum_program[label_m] return labels diff --git a/tutorial/sections/state_tomography.ipynb b/tutorial/sections/state_tomography.ipynb index 0947bc5687..a0df5e7610 100644 --- a/tutorial/sections/state_tomography.ipynb +++ b/tutorial/sections/state_tomography.ipynb @@ -45,7 +45,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 1, "metadata": {}, "outputs": [], "source": [ @@ -84,24 +84,16 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 2, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - ">> quantum_registers created: qr 2\n", - ">> classical_registers created: cr 2\n" - ] - }, { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 11, + "execution_count": 2, "metadata": {}, "output_type": "execute_result" } @@ -111,8 +103,8 @@ "Q_program.set_api(Qconfig.APItoken, Qconfig.config[\"url\"]) # set the APIToken and API url\n", "\n", "# Creating registers\n", - "qr = Q_program.create_quantum_registers(\"qr\", 2)\n", - "cr = Q_program.create_classical_registers(\"cr\", 2)\n", + "qr = Q_program.create_quantum_register(\"qr\", 2)\n", + "cr = Q_program.create_classical_register(\"cr\", 2)\n", "\n", "# quantum circuit to make an entangled bell state \n", "bell = Q_program.create_circuit(\"bell\", [qr], [cr])\n", @@ -131,17 +123,9 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 3, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "running on backend: local_qasm_simulator\n" - ] - } - ], + "outputs": [], "source": [ "Q_program.execute([\"bell\"], backend='local_qasm_simulator', shots=1)\n", "state = Q_program.get_data(\"bell\")[\"quantum_state\"] # get the final state vector\n", @@ -157,14 +141,14 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAEXCAYAAABsyHmSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm4HFW57/HvLwkhExKQGKYwRzkRQSAEHNBEAQHlRBAQ\nRRBEE1QE8YJwHFHBy1WEI4pALqDicAI4wUEUFAjIOSKTBg1DiFEORC6TEAmgGPLeP9Zq7HT2UF27\neu9q9+/zPP10d3X12291dddba63uKkUEZmZmZYwY6gTMzKx7uYiYmVlpLiJmZlaai4iZmZXmImJm\nZqW5iJiZWWm1KSKSLpL0iKTf9fK4JJ0taYmkOyXtNNg5mpnZ6mpTRIBvAHv38fg+wNR8mQOcOwg5\nmZlZH2pTRCLiRuDPfcwyG7g4kpuBiZI2GpzszMysJ6OGOoE2bAI80HT/wTztodYZJc0htVYYO3bs\nzlOmTCn1gn9d+bc1po3SSFbG86tNGzNq7VLxV61axYgR1dXxOserc24Didfpz8hAcut0rLrHq3Nu\nA4k3GJ+5xYsXPxYRk4rM201FpLCImAfMA5g+fXrcdtttpeLscMYha0ybO2Uvzn/gmtWmLTxhfqn4\nCxYsYObMmaWe223x6pzbQOJ1+jMCXg91iFWneIPxmZN0f9F5a9OdVcAyoLlJsWmeZmZmQ6SbisgV\nwOH5V1q7AcsjYo2uLDMzGzy16c6S9B/ATGADSQ8CnwbWAoiI84CrgH2BJcAzwJFDk6mZmTXUpohE\nxDv6eTyADw5SOmZmVkA3dWeZmVnNuIiYmVlpLiJmZlaai4iZmZXmImJmZqW5iJiZWWkuImZmVpqL\niJmZleYiYmZmpbmImJlZaS4iZmZWmouImZmV5iJiZmaluYiYmVlpLiJmZlaai4iZmZXmImJmZqW5\niJiZWWkuImZmVpqLiJmZleYiYmZmpbmImJlZaS4iZmZWmouImZmV5iJiZmaluYiYmVlpLiJmZlaa\ni4iZmZXmImJmZqW5iJiZWWkuImZmVpqLiJmZleYiYmZmpbmImJlZaS4iZmZWmouImZmV5iJiZmal\nuYiYmVlpLiJmZlaai4iZmZXmImJmZqW5iJiZWWkuImZmVpqLiJmZleYiYmZmpbmImJlZabUpIpL2\nlnSvpCWSTu7h8ZmSlkv6Tb58aijyNDOzfxg11AkASBoJnAPsCTwI3Crpioi4q2XWX0TEWwY9QTMz\n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\nn1RBXDMz6zBF9N64yF1IfbY+ImLLASUgPRkRE/NtAU807rfM9wdgOak76/yImNdHzDnAHIDJkyfv\nPH/+/IGkuJoVK1YwYcKE2sWqe7w651Z1POdWzF0PL11j2qTR6/Loc8tXmzZt8laDnlu3xas6t1mz\nZt1euMcnIjp+AX4O/K6Hy2zgyZZ5n+glxib5+iXAQuB1RV575513jipdf/31tYxV93h1zq3qeM6t\nmO2/+PY1LufMv3CNaUORW7fFqzo34LYouH0vej6RAYmIPXp7TNLDkjaKiIfykYIf6SXGsnz9iKQf\nAjOAG3ua18zMBkc7x87qlCuAd+fb7wYub51B0nhJ6zRuA3uRWjJmZjaE6lBETgf2lHQfsEe+j6SN\nJV2V55kM3CRpIXAL8OOI+OmQZGtmZi8YlO6svkTE48Abe5j+J2DffHspsMMgp2ZmZv2oQ0vEzMy6\nlIuImZmV5iJiZmaluYiYmVlpLiJmZlaai4iZmZXmImJmZqW5iJiZWWkuImZmVpqLiJmZleYiYmZm\npbmImJlZaS4iZmZWmouImZmV5iJiZmaluYiYmVlpLiJmZlaai4iZmZXmImJmZqW5iJiZWWkuImZm\nVpqLiJmZleYiYmZmpbmImJlZaS4iZmZWmouImZmV5iJiZmaluYiYmVlpLiJmZlaai4iZmZXmImJm\nZqW5iJiZWWkuImZmVpqLiJmZleYiYmZmpbmImJlZaS4iZmZWmouImZmV5iJiZmaluYiYmVlpLiJm\nZlaai4iZmZXmImJmZqW5iJiZWWkuImZmVpqLiJmZlTbkRUTSQZIWSVolaXof8+0t6V5JSySdPJg5\nmplZz4a8iAC/Aw4AbuxtBkkjgXOAfYBpwDskTRuc9MzMrDejhjqBiLgbQFJfs80AlkTE0jzvfGA2\ncFfHEzQzs14NeREpaBPggab7DwK79jazpDnAnHx3haR7K8xlA+CxGsaqe7w651Z1POdW0ge5ZI14\nOvGSsuFqvawVx6s6t82LzjgoRUTSz4ENe3jo4xFxedWvFxHzgHlVxwWQdFtE9Dp2M1Sx6h6vzrlV\nHc+51SNenXOrOl7VubVjUIpIROwxwBDLgClN9zfN08zMbAjVYWC9iFuBqZK2lDQaOAS4YohzMjMb\n9oa8iEjaX9KDwKuAH0u6Ok/fWNJVABGxEjgGuBq4G7g0IhYNUcpVdpNV3eVW53h1zq3qeM6tHvHq\n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\nPydqol7R+2+BAAAAAElFTkSuQmCC\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -185,14 +169,14 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAEXCAYAAABsyHmSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAH+JJREFUeJzt3Xm4HFW57/HvLwkhExoQDFOQKcqJCEJCwAFNFBBQTgQB\nUQRBNEFFEC8IxxEVvFxFOCII5CIqDieCExyMgjLKOSKTBg1DiFEORC4IAhJAMeS9f6y1sejsobp2\n9d7V7t/nefrp7urqt9/q6q631lrdVYoIzMzMqhg13AmYmVn3chExM7PKXETMzKwyFxEzM6vMRcTM\nzCpzETEzs8oaU0QkXSDpQUm/7eNxSTpT0jJJt0nacahzNDOz52pMEQG+BuzZz+N7AdPyZR5wzhDk\nZGZm/WhMEYmI64A/9zPLXODCSG4AJkvaaGiyMzOz3owZ7gTasAlwb+H+fXna/a0zSppHaq0wfvz4\nGVOnTq30gn9d9bc1po3RaFbFM8+ZNm7M2pXir169mlGj6qvjTY7X5NzqjufcmhGvybkNJl6nt0sA\nS5cufSgiNigzbzcVkdIiYgGwAGDmzJlx8803V4qz/WkHrTFt/tQ9OO/eK54zbfFxCyvFv+aaa5g9\ne3al53ZbvCbnVnc859aMeE3ObTDxOr1dApB0T9l5G9OdVcIKoNik2DRPMzOzYdJNReRS4ND8K61d\ngMciYo2uLDMzGzqN6c6S9B/AbGB9SfcBnwTWAoiIc4FFwN7AMuBJ4PDhydTMzHo0pohExNsGeDyA\n9w9ROmZmVkI3dWeZmVnDuIiYmVllLiJmZlaZi4iZmVXmImJmZpW5iJiZWWUuImZmVpmLiJmZVeYi\nYmZmlbmImJlZZS4iZmZWmYuImZlV5iJiZmaVuYiYmVllLiJmZlaZi4iZmVXmImJmZpW5iJiZWWUu\nImZmVpmLiJmZVeYiYmZmlbmImJlZZS4iZmZWmYuImZlV5iJiZmaVuYiYmVllLiJmZlaZi4iZmVXm\nImJmZpW5iJiZWWUuImZmVpmLiJmZVeYiYmZmlbmImJlZZS4iZmZWmYuImZlV5iJiZmaVuYiYmVll\nLiJmZlaZi4iZmVXmImJmZpW5iJiZWWUuImZmVpmLiJmZVeYiYmZmlbmImJlZZY0pIpL2lHSXpGWS\nTuzl8dmSHpP063z5xHDkaWZm/zBmuBMAkDQaOBvYHbgPuEnSpRFxe8usP4+INw15gmZm1qumtERm\n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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -230,7 +214,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 4, "metadata": {}, "outputs": [ { @@ -263,7 +247,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 6, "metadata": { "scrolled": true }, @@ -272,20 +256,19 @@ "name": "stdout", "output_type": "stream", "text": [ - "running on backend: local_qasm_simulator\n", "{'status': 'COMPLETED', 'result': 'all done'}\n" ] } ], "source": [ "# Use the local simulator\n", - "device = 'local_qasm_simulator'\n", + "backend = 'local_qasm_simulator'\n", "\n", "# Take 1000 shots for each measurement basis\n", "shots = 5000\n", "\n", "# Run the simulation\n", - "result = Q_program.execute(tomo_labels, device, shots)\n", + "result = Q_program.execute(tomo_labels, backend=backend, shots=shots)\n", "print(result)" ] }, @@ -298,14 +281,14 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "[{'counts': {'00': 2490, '01': 0, '10': 0, '11': 2510}, 'meas_basis': {'00': array([[ 0.25, 0.25, 0.25, 0.25],\n", + "[{'counts': {'00': 2522, '01': 0, '10': 0, '11': 2478}, 'meas_basis': {'00': array([[ 0.25, 0.25, 0.25, 0.25],\n", " [ 0.25, 0.25, 0.25, 0.25],\n", " [ 0.25, 0.25, 0.25, 0.25],\n", " [ 0.25, 0.25, 0.25, 0.25]]), '01': array([[ 0.25, -0.25, 0.25, -0.25],\n", @@ -317,7 +300,7 @@ " [-0.25, -0.25, 0.25, 0.25]]), '11': array([[ 0.25, -0.25, -0.25, 0.25],\n", " [-0.25, 0.25, 0.25, -0.25],\n", " [-0.25, 0.25, 0.25, -0.25],\n", - " [ 0.25, -0.25, -0.25, 0.25]])}, 'shots': 5000}, {'counts': {'00': 1227, '01': 1290, '10': 1266, '11': 1217}, 'meas_basis': {'00': array([[ 0.25+0.j , 0.00-0.25j, 0.25+0.j , 0.00-0.25j],\n", + " [ 0.25, -0.25, -0.25, 0.25]])}, 'shots': 5000}, {'counts': {'00': 1292, '01': 1236, '10': 1230, '11': 1242}, 'meas_basis': {'00': array([[ 0.25+0.j , 0.00-0.25j, 0.25+0.j , 0.00-0.25j],\n", " [ 0.00+0.25j, 0.25+0.j , 0.00+0.25j, 0.25+0.j ],\n", " [ 0.25+0.j , 0.00-0.25j, 0.25+0.j , 0.00-0.25j],\n", " [ 0.00+0.25j, 0.25+0.j , 0.00+0.25j, 0.25+0.j ]]), '01': array([[ 0.25+0.j , 0.00+0.25j, 0.25+0.j , 0.00+0.25j],\n", @@ -329,7 +312,7 @@ " [-0.00-0.25j, -0.25+0.j , 0.00+0.25j, 0.25+0.j ]]), '11': array([[ 0.25+0.j , 0.00+0.25j, -0.25+0.j , -0.00-0.25j],\n", " [ 0.00-0.25j, 0.25+0.j , 0.00+0.25j, -0.25+0.j ],\n", " [-0.25+0.j , -0.00-0.25j, 0.25+0.j , 0.00+0.25j],\n", - " [ 0.00+0.25j, -0.25+0.j , 0.00-0.25j, 0.25+0.j ]])}, 'shots': 5000}, {'counts': {'00': 1223, '01': 1239, '10': 1248, '11': 1290}, 'meas_basis': {'00': array([[ 0.5, 0. , 0.5, 0. ],\n", + " [ 0.00+0.25j, -0.25+0.j , 0.00-0.25j, 0.25+0.j ]])}, 'shots': 5000}, {'counts': {'00': 1292, '01': 1236, '10': 1230, '11': 1242}, 'meas_basis': {'00': array([[ 0.5, 0. , 0.5, 0. ],\n", " [ 0. , 0. , 0. , 0. ],\n", " [ 0.5, 0. , 0.5, 0. ],\n", " [ 0. , 0. , 0. , 0. ]]), '01': array([[ 0. , 0. , 0. , 0. ],\n", @@ -341,7 +324,7 @@ " [-0. , -0. , 0. , 0. ]]), '11': array([[ 0. , 0. , -0. , -0. ],\n", " [ 0. , 0.5, -0. , -0.5],\n", " [-0. , -0. , 0. , 0. ],\n", - " [-0. , -0.5, 0. , 0.5]])}, 'shots': 5000}, {'counts': {'00': 1276, '01': 1249, '10': 1244, '11': 1231}, 'meas_basis': {'00': array([[ 0.25+0.j , 0.25+0.j , 0.00-0.25j, 0.00-0.25j],\n", + " [-0. , -0.5, 0. , 0.5]])}, 'shots': 5000}, {'counts': {'00': 1292, '01': 1236, '10': 1230, '11': 1242}, 'meas_basis': {'00': array([[ 0.25+0.j , 0.25+0.j , 0.00-0.25j, 0.00-0.25j],\n", " [ 0.25+0.j , 0.25+0.j , 0.00-0.25j, 0.00-0.25j],\n", " [ 0.00+0.25j, 0.00+0.25j, 0.25+0.j , 0.25+0.j ],\n", " [ 0.00+0.25j, 0.00+0.25j, 0.25+0.j , 0.25+0.j ]]), '01': array([[ 0.25+0.j , -0.25+0.j , 0.00-0.25j, 0.00+0.25j],\n", @@ -353,7 +336,7 @@ " [ 0.00-0.25j, 0.00-0.25j, 0.25+0.j , 0.25+0.j ]]), '11': array([[ 0.25+0.j , -0.25+0.j , 0.00+0.25j, -0.00-0.25j],\n", " [-0.25+0.j , 0.25+0.j , -0.00-0.25j, 0.00+0.25j],\n", " [ 0.00-0.25j, 0.00+0.25j, 0.25+0.j , -0.25+0.j ],\n", - " [ 0.00+0.25j, 0.00-0.25j, -0.25+0.j , 0.25+0.j ]])}, 'shots': 5000}, {'counts': {'00': 0, '01': 2496, '10': 2504, '11': 0}, 'meas_basis': {'00': array([[ 0.25+0.j , 0.00-0.25j, 0.00-0.25j, -0.25+0.j ],\n", + " [ 0.00+0.25j, 0.00-0.25j, -0.25+0.j , 0.25+0.j ]])}, 'shots': 5000}, {'counts': {'00': 0, '01': 2478, '10': 2522, '11': 0}, 'meas_basis': {'00': array([[ 0.25+0.j , 0.00-0.25j, 0.00-0.25j, -0.25+0.j ],\n", " [ 0.00+0.25j, 0.25+0.j , 0.25+0.j , 0.00-0.25j],\n", " [ 0.00+0.25j, 0.25-0.j , 0.25+0.j , 0.00-0.25j],\n", " [-0.25+0.j , 0.00+0.25j, 0.00+0.25j, 0.25+0.j ]]), '01': array([[ 0.25+0.j , 0.00+0.25j, 0.00-0.25j, 0.25+0.j ],\n", @@ -365,7 +348,7 @@ " [ 0.25+0.j , 0.00-0.25j, 0.00+0.25j, 0.25+0.j ]]), '11': array([[ 0.25+0.j , 0.00+0.25j, 0.00+0.25j, -0.25+0.j ],\n", " [ 0.00-0.25j, 0.25+0.j , 0.25-0.j , 0.00+0.25j],\n", " [ 0.00-0.25j, 0.25+0.j , 0.25+0.j , 0.00+0.25j],\n", - " [-0.25+0.j , 0.00-0.25j, 0.00-0.25j, 0.25+0.j ]])}, 'shots': 5000}, {'counts': {'00': 1186, '01': 1281, '10': 1262, '11': 1271}, 'meas_basis': {'00': array([[ 0.5+0.j , 0.0+0.j , 0.0-0.5j, 0.0+0.j ],\n", + " [-0.25+0.j , 0.00-0.25j, 0.00-0.25j, 0.25+0.j ]])}, 'shots': 5000}, {'counts': {'00': 1292, '01': 1236, '10': 1230, '11': 1242}, 'meas_basis': {'00': array([[ 0.5+0.j , 0.0+0.j , 0.0-0.5j, 0.0+0.j ],\n", " [ 0.0+0.j , 0.0+0.j , 0.0+0.j , 0.0+0.j ],\n", " [ 0.0+0.5j, 0.0+0.j , 0.5+0.j , 0.0+0.j ],\n", " [ 0.0+0.j , 0.0+0.j , 0.0+0.j , 0.0+0.j ]]), '01': array([[ 0.0+0.j , 0.0+0.j , 0.0+0.j , 0.0+0.j ],\n", @@ -377,7 +360,7 @@ " [ 0.0+0.j , 0.0+0.j , 0.0+0.j , 0.0+0.j ]]), '11': array([[ 0.0+0.j , 0.0+0.j , 0.0+0.j , 0.0+0.j ],\n", " [ 0.0+0.j , 0.5+0.j , 0.0+0.j , 0.0+0.5j],\n", " [ 0.0+0.j , 0.0+0.j , 0.0+0.j , 0.0+0.j ],\n", - " [ 0.0+0.j , 0.0-0.5j, 0.0+0.j , 0.5+0.j ]])}, 'shots': 5000}, {'counts': {'00': 1259, '01': 1195, '10': 1262, '11': 1284}, 'meas_basis': {'00': array([[ 0.5, 0.5, 0. , 0. ],\n", + " [ 0.0+0.j , 0.0-0.5j, 0.0+0.j , 0.5+0.j ]])}, 'shots': 5000}, {'counts': {'00': 1292, '01': 1236, '10': 1230, '11': 1242}, 'meas_basis': {'00': array([[ 0.5, 0.5, 0. , 0. ],\n", " [ 0.5, 0.5, 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. ],\n", " [ 0. , 0. , 0. , 0. ]]), '01': array([[ 0.5, -0.5, 0. , -0. ],\n", @@ -389,7 +372,7 @@ " [ 0. , 0. , 0.5, 0.5]]), '11': array([[ 0. , -0. , 0. , -0. ],\n", " [-0. , 0. , -0. , 0. ],\n", " [ 0. , -0. , 0.5, -0.5],\n", - " [-0. , 0. , -0.5, 0.5]])}, 'shots': 5000}, {'counts': {'00': 1230, '01': 1244, '10': 1228, '11': 1298}, 'meas_basis': {'00': array([[ 0.5+0.j , 0.0-0.5j, 0.0+0.j , 0.0-0.j ],\n", + " [-0. , 0. , -0.5, 0.5]])}, 'shots': 5000}, {'counts': {'00': 1292, '01': 1236, '10': 1230, '11': 1242}, 'meas_basis': {'00': array([[ 0.5+0.j , 0.0-0.5j, 0.0+0.j , 0.0-0.j ],\n", " [ 0.0+0.5j, 0.5+0.j , 0.0+0.j , 0.0+0.j ],\n", " [ 0.0+0.j , 0.0-0.j , 0.0+0.j , 0.0-0.j ],\n", " [ 0.0+0.j , 0.0+0.j , 0.0+0.j , 0.0+0.j ]]), '01': array([[ 0.5+0.j , 0.0+0.5j, 0.0+0.j , 0.0+0.j ],\n", @@ -401,7 +384,7 @@ " [ 0.0+0.j , 0.0+0.j , 0.0+0.5j, 0.5+0.j ]]), '11': array([[ 0.0+0.j , 0.0+0.j , 0.0+0.j , 0.0+0.j ],\n", " [ 0.0-0.j , 0.0+0.j , 0.0-0.j , 0.0+0.j ],\n", " [ 0.0+0.j , 0.0+0.j , 0.5+0.j , 0.0+0.5j],\n", - " [ 0.0-0.j , 0.0+0.j , 0.0-0.5j, 0.5+0.j ]])}, 'shots': 5000}, {'counts': {'00': 2479, '01': 0, '10': 0, '11': 2521}, 'meas_basis': {'00': array([[1, 0, 0, 0],\n", + " [ 0.0-0.j , 0.0+0.j , 0.0-0.5j, 0.5+0.j ]])}, 'shots': 5000}, {'counts': {'00': 2522, '01': 0, '10': 0, '11': 2478}, 'meas_basis': {'00': array([[1, 0, 0, 0],\n", " [0, 0, 0, 0],\n", " [0, 0, 0, 0],\n", " [0, 0, 0, 0]]), '01': array([[0, 0, 0, 0],\n", @@ -442,7 +425,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 8, "metadata": {}, "outputs": [], "source": [ @@ -458,14 +441,14 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 9, "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n9RS4nTgl7inANRExBbgm3+/NzIh4lQuImVk99NcSGSVpJv9sgbTeH1lBDrOAGfn2N0n/hD+5grhm\nZtZhiui9cZG7kPpsfUTElgNKQHoiItbLtwU83rjfMt8fgeWk7qwLImJuHzFnA7MBJk2atPO8efMG\nkuJqVqxYwYQJE2oXq+7x6pxb1fGcWzF3PLRsjWkTR6/LI88uX23a1ElbDXpu3Rav6txmzpx5a+Ee\nn4jo+AX4BfD7Hi6zgCda5n28lxib5uuXAIuA1xd57Z133jmqdN1119UyVt3j1Tm3quM5t2K2/+Ih\na1zOnXfRGtOGIrdui1d1bsDCKLh9L3o+kQGJiD16e0zSQ5I2jogH85GCH+4lxgP5+mFJPwKmAzf0\nNK+ZmQ2Odo6d1SlXAO/Ot98NXN46g6TxktZp3Ab2IrVkzMxsCNWhiJwB7CnpHmCPfB9Jm0ian+eZ\nBNwoaRFwM/CTiPjZkGRrZmbPG5TurL5ExGPAm3qY/mdg33x7GbDDIKdmZmb9qENLxMzMupSLiJmZ\nleYiYmZmpbmImJlZaS4iZmZWmouImZmV5iJiZmaluYiYmVlpLiJmZlaai4iZmZXmImJmZqW5iJiZ\nWWkuImZmVpqLiJmZleYiYmZmpbmImJlZaS4iZmZWmouImZmV5iJiZmaluYiYmVlpLiJmZlaai4iZ\nmZXmImJmZqW5iJiZWWkuImZmVpqLiJmZleYiYmZmpbmImJlZaS4iZmZWmouImZmV5iJiZmaluYiY\nmVlpLiJmZlaai4iZmZXmImJmZqW5iJiZWWkuImZmVpqLiJmZleYiYmZmpbmImJlZaS4iZmZWmouI\nmZmV5iJiZmaluYiYmVlpLiJmZlaai4iZmZU25EVE0kGSFktaJWlaH/PtLeluSUslnTKYOZqZWc+G\nvIgAvwcOAG7obQZJI4FzgX2AqcA7JE0dnPTMzKw3o4Y6gYi4E0BSX7NNB5ZGxLI87zxgFnBHxxM0\ns45YdOK8NaYtWLCARYesOd3qa8iLSEGbAvc13b8f2LW3mSXNBmbnuysk3V1hLhsCj9YwVt3j1Tm3\nquM5t3rEq3NuVcerOreXFp1xUIqIpF8AG/Xw0Mcj4vKqXy8i5gJzq44LIGlhRPQ6djNUseoer865\nVR3PudUjXp1zqzpe1bm1Y1CKSETsMcAQDwCTm+5vlqeZmdkQqsPAehG3AFMkbSlpNHAocMUQ52Rm\n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\n0v4/y/jllDCZ5SkAAAAASUVORK5CYII=\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZEAAAEXCAYAAABsyHmSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xm4HFW57/HvLwkhExKQGKYgU5QTEQRCwAFNFBBQTgSZ\nFEEQTVARxAvCcUQFL1cRjigCuYCKw4ngBAdRUCAg54hMGjQMIUY5ELlMQiSAYsh7/1irsdPZQ3Xt\n6r2r2b/P8/TT3dXVb7/V1V1vrbW6qxQRmJmZlTFiqBMwM7Pu5SJiZmaluYiYmVlpLiJmZlaai4iZ\nmZXmImJmZqXVpohIukjSw5J+38vjknS2pCWS7pC042DnaGZmq6tNEQG+AezVx+N7A1PzZQ5w7iDk\nZGZmfahNEYmIG4C/9DHLbODiSG4CJkraaHCyMzOznowa6gTasAlwf9P9B/K0B1tnlDSH1Fph7Nix\nO02ZMqXUC/5t5d/XmDZKI1kZz602bcyotUvFX7VqFSNGVFfH6xyvzrlVHc+51SNenXOrOl7VuS1e\nvPjRiJhUZN5uKiKFRcQ8YB7A9OnT49Zbby0VZ/szDllj2twpe3L+/VevNm3hCfNLxV+wYAEzZ84s\n9dxui1fn3AYSr9OfEfB6qEOsOsUbjM+cpPuKzlub7qwClgHNTYpN8zQzMxsi3VRELgcOz7/S2hVY\nHhFrdGWZmdngqU13lqT/AGYCG0h6APg0sBZARJwHXAnsAywBngaOHJpMzcysoTZFJCLe0c/jAXxw\nkNIxM7MCuqk7y8zMasZFxMzMSnMRMTOz0lxEzMysNBcRMzMrzUXEzMxKcxExM7PSXETMzKw0FxEz\nMyvNRcTMzEpzETEzs9JcRMzMrDQXETMzK81FxMzMSnMRMTOz0lxEzMysNBcRMzMrzUXEzMxKcxEx\nM7PSXETMzKw0FxEzMyvNRcTMzEpzETEzs9JcRMzMrDQXETMzK81FxMzMSnMRMTOz0lxEzMysNBcR\nMzMrzUXEzMxKcxExM7PSXETMzKw0FxEzMyvNRcTMzEpzETEzs9JcRMzMrDQXETMzK81FxMzMSnMR\nMTOz0lxEzMysNBcRMzMrzUXEzMxKcxExM7PSXETMzKw0FxEzMyvNRcTMzEqrTRGRtJekeyQtkXRy\nD4/PlLRc0m/z5VNDkaeZmf3TqKFOAEDSSOAcYA/gAeAWSZdHxJ0ts/4yIt466AmamVmP6tISmQEs\niYilEfEsMB+YPcQ5mZlZPxQRQ50Dkg4A9oqI9+b7hwG7RMQxTfPMBH5IaqksA06IiEW9xJsDzAGY\nPHnyTvPnzy+V150PLV1j2qTR6/LIs8tXmzZt8pal4q9YsYIJEyaUem63xatzbgOJ1+nPyEBy63Ss\nuserc24DiTcYn7lZs2bdFhHTi8xbi+6sgm4HNouIFZL2AX4MTO1pxoiYB8wDmD59esycObPUCx53\nxnlrTJs7ZU/Ov//q1aYtPLhckVqwYAFlc+u2eHXObSDxOv0ZAa+HOsSqU7zB+My1o3B3lqRtJH1S\n0jlN97erKI9lwJSm+5vmac+LiL9GxIp8+0pgLUkbVPT6ZmZWQqEiIulA4AZgE+CwPHkCcGZFedwC\nTJW0haTRwCHA5S05bChJ+faMnPtjFb2+mZmVULQ767PAHhGxUNLBedpCYPsqkoiIlZKOAa4CRgIX\nRcQiSUfnx88DDgDeL2kl8AxwSNRhQMfMbBgrWkReAtyRb0fTdWUb8dxFdWXLtPOabn8V+GpVr2dm\nZgNXdEzkNv7ZjdVwCHBztemYmVk3KdoSORa4WtJRwHhJVwEvA/bsWGZmZlZ7hYpIRNwtaRvgrcAV\nwP3AFY1fS5mZ2fBU+H8iEfE0cEkHczEzsy5TqIhI+iW9DKJHxOsrzcjMzLpG0ZbIBS33NwSOAr5d\nbTpmZtZNio6JfLN1mqQfAF8n/YfEzMyGoYEcxXcZUNVhT8zMrAsVHRN5T8ukccD+wE2VZ2RmZl2j\n6JhI6x8NnwL+Gzir2nTMzKybFB0TmdXpRMzMrPv0WkQkFTqjSUSseYYUMzMbFvpqiSwh/TdEfcwT\npKPumpnZMNRrEYmIupx/3czMasqFwszMSiv6E99RwAeANwAb0NTF5cOemJkNX0VbImcBc0mnyN0J\n+AHpRFXXdigvMzPrAkWLyP7A3hHxZWBlvn4b4J/+mpkNY0WLyDjSOUQAnpE0LiLuBnboTFpmZtYN\niv5j/S5gZ9LpcG8FTpH0V9Lxs8zMbJgqWkSOA57Ltz8CnAusA8zpRFJmZtYdih725Jam2/cCu3cs\nIzMz6xqFxkQkLZR0oqQpnU7IzMy6R9GB9VNIYyJ3Sbpe0lxJ63cuLTMz6waFikhE/CgiDgI2Ai4C\n9gPul3R5J5MzM7N6KzqwDkBEPCnpu8ATwGhgn45kZWZmXaHomIgkvUnShcBDpO6tnwJbdDA3MzOr\nuaItkT8DK4D5wGsj4q7OpWRmZt2iaBGZHRE3dzQTMzPrOkUH1l1AzMxsDT6fiJmZleYiYmZmpbmI\nmJlZaYX/JyLp5cD2wITm6RFxUdVJmZlZdyh6etyPAZ8CFgJPNz0UpH+wm5nZMFS0JfJhYEZE3NHJ\nZMzMrLsUHRN5Bri7k4mYmVn3KVpEPgl8RdJGkkY0XzqZnJmZ1VvR7qxv5Ov3Nk0TaUxkZJUJmZlZ\n9yhaRHygRTMzW0PR0+PeB5C7ryYDD0XEqk4mZmZm9Vf0UPAvknQx8DdgGfCMpG9KWrej2ZmZWa0V\nHRg/GxgPbAuMBV4JjMvTzcxsmCo6JrIXsGVENP5ouFjSkcAfOpOWmZl1g6Itkb8Bk1qmbQD8vdp0\nzMysmxQtIhcAP5d0tKS9JR0NXAXMqyoRSXtJukfSEkkn9/C4JJ2dH79D0o5VvbaZmZVTtDvrNNIp\nct8JbJxvf4GKjpslaSRwDrAH8ABwi6TLI+LOptn2Bqbmyy7AufnazMyGSNGf+DYOtNipgy3OAJZE\nxFIASfOB2UBzEZkNXJxzuUnSREkbRcSDHcqpUtufccga0+ZO2ZPjzjhvtWkLT5g/WCmtpsr8XgjL\nWufcYGjyc27l1T2/gVDaJvfwgHRYRHwr335PbwGqOBS8pAOAvSLivY3XBnaJiGOa5rkCOD0ibsz3\nrwFOiohbe4g3B5gDMHny5J3mz69uxaxYsYIJEyb0P+Mgx6p7vDrnVnU851bMnQ8tXWPapNHr8siz\ny1ebNm3yloOeW7fFqzq3WbNm3RYR04vM21dL5B3At/Ltw3qZp5aHgo+IeeTxmunTp8fMmTMri71g\nwQKqildlrLrHq3NuVcdzbsW07oVD2js///6rV5u28OByO4F1WtZOx6s6t3b0WkQiYp+m27M6nMcy\nYErT/U3ztHbnMTOzQVT0H+u/6WX6Gl1JJd0CTJW0haTRwCHA5S3zXA4cnn+ltSuwvFvGQ8zMXqiK\n/jpr69YJkgSU66xsERErJR1D+tnwSOCiiFiUf0pMRJwHXAnsAywhnV3xyCpe28zMyuuziOTjZQGM\nbrrdsDmwqKpEIuJKUqFonnZe0+0APljV65mZ2cD11xL5Qy+3A/gv4NLKMzIzs67RZxGJiM8ASLop\nIq4anJTMzKxbFP2z4VV5wPvlpGNmqemxazuUm5mZ1VyhIiLpdaSuq7WBFwF/BdYB7qeiwXUzM+s+\nRQ/AeBbwhYhYH3gyX38O+FrHMjMzs9orWkReBny5ZdrpwPHVpmNmZt2kaBFZTurGAnhQ0jRgPaC6\ng7WYmVnXKVpEfkj6ox+kY2VdB9wGfL8TSZmZWXco+uusDzfdPkPSTaSB9Z91KjEzM6u/osfOOrv5\nfkTcGBE/JQ24m5nZMFW0O+uIXqb3doh4MzMbBvo7dlbjZFSjejgx1ZbAox3JyszMukJ/YyKNlsZo\nVm91BPAQ8O5OJGVmZt2hv2NnzQKQdGpEfGJwUjIzs25RdEzkBkkva54g6eWS9uhATmZm1iWKFpFz\ngCdbpj2Zp5uZ2TBVtIi8pIdT0T4IbFhxPmZm1kWKFpGlkt7YMm0m8Mdq0zEzs25S9BzrpwA/lHQh\n6QyHW5HOce7znJuZDWOFWiIRcRmwJzAeeEu+fnOebmZmw1TRlggRcTNwcwdzMTOzLlP02FlrSzpN\n0lJJy/O0PSUd09n0zMyszto5s+G2wKGkf6sDLALe34mkzMysOxTtztoP2DoinpK0CiAilknapHOp\nmZlZ3RVtiTxLS8GRNAl4rPKMzMysaxQtIpcC35S0BYCkjYCvAvM7lZiZmdVf0SLyMdIfC38HTATu\nBf4MfKZDeZmZWRcoenrcZ4HjgeNzN9ajERH9PM3MzF7gCv9PRNJU4CBgY+DPki6JiHs7lpmZmdVe\n0f+JvBP4DbAd8BTwSuD2PN3MzIapoi2RU4F9IuKGxgRJuwHfAr7bicTMzKz+ig6srwP8qmXaTaRj\naJmZ2TBVtIicCXxe0hgASWOB0/J0MzMbpop2Z32AdAKq4yQ9DqwHCHhQ0vOHPomIzapP0czM6qpo\nEXlXR7MwM7OuVPR/Itf3NF3SWhHxj2pTMjOzblH0J74/z4c6aZ62HXBrR7IyM7OuUHRg/XZgoaSD\nlJwMLADO7VhmZmZWe0W7s06SdAVwMfAF0nGzZkTEkk4mZ2Zm9Va0JQKwBfAi4BHS/0PGdCQjMzPr\nGkXHRL5POpLvXhGxMzAPuEHSiZ1MzszM6q1oS+RhYIeIuAUgIs4BdgUO6FRiZmZWf0XHRD7Qw7TF\nkl5TfUpmZtYt+myJSDq75f5RLbNcUnlGZmbWNfrrzjqi5f4XW+7vUV0qZmbWbfrrzlI/9wdM0vrA\n94DNgT8BB0XE4z3M9yfgSeA5YGVETK86FzMza09/LZHWU+B24pS4JwPXRMRU4Jp8vzezIuJVLiBm\nZvXQX0tklKRZ/LMF0np/ZAU5zAZm5tvfJP0T/qQK4pqZWYcpovfGRe5C6rP1ERFbDCgB6YmImJhv\nC3i8cb9lvj8Cy0ndWedHxLw+Ys4B5gBMnjx5p/nz5w8kxdWsWLGCCRMm1C5W3ePVObeq4zm3Yu58\naOka0yaNXpdHnl2+2rRpk7cc9Ny6LV7Vuc2aNeu2wj0+EdHxC/AL4Pc9XGYDT7TM+3gvMTbJ1y8B\nFgKvL/LaO+20U1Tpuuuuq2Wsuserc25Vx3NuxWz3xYPXuJwz/8I1pg1Fbt0Wr+rcgFuj4Pa96PlE\nBiQidu/tMUkPSdooIh7MRwp+uJcYy/L1w5J+BMwAbuhpXjMzGxztHDurUy4H3p1vvxu4rHUGSeMl\nrdO4DexJasmYmdkQqkMROR3YQ9K9wO75PpI2lnRlnmcycKOkhcDNwE8i4mdDkq2ZmT1vULqz+hIR\njwFv6mH6n4F98u2lwPaDnJqZmfWjDi0RMzPrUi4iZmZWmouImZmV5iJiZmaluYiYmVlpLiJmZlaa\ni4iZmZXmImJmZqW5iJiZWWkuImZmVpqLiJmZleYiYmZmpbmImJlZaS4iZmZWmouImZmV5iJiZmal\nuYiYmVlpLiJmZlaai4iZmZXmImJmZqW5iJiZWWkuImZmVpqLiJmZleYiYmZmpbmImJlZaS4iZmZW\nmouImZmV5iJiZmaluYiYmVlpLiJmZlaai4iZmZXmImJmZqW5iJiZWWkuImZmVpqLiJmZleYiYmZm\npbmImJlZaS4iZmZWmouImZmV5iJiZmaluYiYmVlpLiJmZlaai4iZmZXmImJmZqW5iJiZWWkuImZm\nVtqQFxFJB0paJGmVpOl9zLeXpHskLZF08mDmaGZmPRvyIgL8HtgfuKG3GSSNBM4B9gamAe+QNG1w\n0jMzs96MGuoEIuIuAEl9zTYDWBIRS/O884HZwJ0dT9DMOmLhCfPXmLZgwQIWHrzmdKuvIS8iBW0C\n3N90/wFgl95mljQHmJPvrpB0T4W5bAA8WsNYdY9X59yqjufc6hGvzrlVHa/q3F5adMZBKSKSfgFs\n2MNDH4+Iy6p+vYiYB8yrOi6ApFsjotexm6GKVfd4dc6t6njOrR7x6pxb1fGqzq0dg1JEImL3AYZY\nBkxpur9pnmZmZkOoDgPrRdwCTJW0haTRwCHA5UOck5nZsDfkRUTSfpIeAF4N/ETSVXn6xpKuBIiI\n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\n", "text/plain": [ - "" + "" ] }, "metadata": {}, @@ -476,7 +459,7 @@ "output_type": "stream", "text": [ "Fidelity with ideal state\n", - "F = 0.997739655665\n" + "F = 0.998177201663\n" ] } ], @@ -504,7 +487,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 14, "metadata": {}, "outputs": [ { @@ -513,14 +496,26 @@ "text": [ "running on backend: ibmqx2\n", "status = RUNNING (20 seconds)\n", - "status = RUNNING (40 seconds)\n", - "{'status': 'COMPLETED', 'result': 'all done'}\n" + "status = RUNNING (40 seconds)\n" + ] + }, + { + "ename": "KeyError", + "evalue": "'data'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m--------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", + "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[1;32m 8\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 9\u001b[0m \u001b[0;31m# Run the simulation\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m---> 10\u001b[0;31m \u001b[0mresult\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mQ_program\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mexecute\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mtomo_labels\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbackend\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mbackend\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mshots\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mshots\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmax_credits\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mmax_credits\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msilent\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m20\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;36m240\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 11\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mresult\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Users/cjwood/Documents/IBM-Git/qiskit-sdk-py-dev/qiskit/_quantumprogram.py\u001b[0m in \u001b[0;36mexecute\u001b[0;34m(self, name_of_circuits, backend, config, wait, timeout, silent, basis_gates, coupling_map, initial_layout, shots, max_credits, seed)\u001b[0m\n\u001b[1;32m 1103\u001b[0m \u001b[0mcoupling_map\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mcoupling_map\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0minitial_layout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0minitial_layout\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1104\u001b[0m shots=shots, max_credits=max_credits, seed=seed)\n\u001b[0;32m-> 1105\u001b[0;31m \u001b[0moutput\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mrun\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mwait\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mtimeout\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0mtimeout\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0msilent\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msilent\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1106\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0moutput\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1107\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;32m/Users/cjwood/Documents/IBM-Git/qiskit-sdk-py-dev/qiskit/_quantumprogram.py\u001b[0m in \u001b[0;36mrun\u001b[0;34m(self, wait, timeout, silent)\u001b[0m\n\u001b[1;32m 969\u001b[0m \u001b[0;31m# results filled in\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 970\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mbackend\u001b[0m \u001b[0;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__ONLINE_BACKENDS\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 971\u001b[0;31m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__quantum_program\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"execution\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mbackend\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"data\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mjob_result\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"qasms\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"data\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 972\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m__quantum_program\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mname\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"execution\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mbackend\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"status\"\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mjob_result\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"qasms\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mindex\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"status\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 973\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", + "\u001b[0;31mKeyError\u001b[0m: 'data'" ] } ], "source": [ "# Use the IBM Quantum Experience\n", - "device = 'ibmqx2'\n", + "backend = 'ibmqx2'\n", "# Take 1000 shots for each measurement basis\n", "# Note: reduce this number for larger number of qubits\n", "shots = 1000\n", @@ -528,7 +523,7 @@ "max_credits = 5\n", "\n", "# Run the simulation\n", - "result = Q_program.execute(circuits, device, shots, max_credits, wait=20, timeout=240)\n", + "result = Q_program.execute(tomo_labels, backend=backend, shots=shots, max_credits=max_credits, silent=False,wait=20, timeout=240)\n", "print(result)" ] }, @@ -541,34 +536,9 @@ }, { "cell_type": "code", - "execution_count": 47, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Circuit: bellX1X0\n", - " Counts: {'00000': 542, '00001': 33, '00010': 27, '00011': 398}\n", - "Circuit: bellX1Y0\n", - " Counts: {'00000': 318, '00001': 257, '00010': 218, '00011': 207}\n", - "Circuit: bellX1Z0\n", - " Counts: {'00000': 323, '00001': 242, '00010': 241, '00011': 194}\n", - "Circuit: bellY1X0\n", - " Counts: {'00000': 295, '00001': 237, '00010': 278, '00011': 190}\n", - "Circuit: bellY1Y0\n", - " Counts: {'00000': 73, '00001': 455, '00010': 462, '00011': 10}\n", - "Circuit: bellY1Z0\n", - " Counts: {'00000': 272, '00001': 252, '00010': 231, '00011': 245}\n", - "Circuit: bellZ1X0\n", - " Counts: {'00000': 303, '00001': 221, '00010': 274, '00011': 202}\n", - "Circuit: bellZ1Y0\n", - " Counts: {'00000': 287, '00001': 249, '00010': 222, '00011': 242}\n", - "Circuit: bellZ1Z0\n", - " Counts: {'00000': 504, '00001': 38, '00010': 27, '00011': 431}\n" - ] - } - ], + "outputs": [], "source": [ "bell_tomo_qx = tomo.state_tomography_data(Q_program, 'bell', meas_qubits)" ] @@ -624,6 +594,18 @@ "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.0" } }, "nbformat": 4, diff --git a/tutorial/sections/visualizing_quantum_state.ipynb b/tutorial/sections/visualizing_quantum_state.ipynb index d1864948cb..5a2b3f19dc 100644 --- a/tutorial/sections/visualizing_quantum_state.ipynb +++ b/tutorial/sections/visualizing_quantum_state.ipynb @@ -477,7 +477,9 @@ { "cell_type": "code", "execution_count": 21, - "metadata": {}, + "metadata": { + "collapsed": true + }, "outputs": [], "source": [ "plot[0].show()" @@ -554,7 +556,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.1" + "version": "3.6.0" } }, "nbformat": 4,