Merge branch 'isma/clean-quantum-program' into Dev

This commit is contained in:
ismael faro 2017-05-12 23:05:16 -04:00
commit 1de76156dd
2 changed files with 41 additions and 43 deletions

View File

@ -539,3 +539,8 @@ class QuantumProgram(object):
basicplotter.plot_histogram(data, circuit_number)
else:
basicplotter.plot_qsphere(data, circuit_number)
def get_data(self, results, i):
"""Get the dict of labels and counts from the output of get_job."""
return results['qasms'][i]['result']['data']['counts']

View File

@ -63,7 +63,7 @@
},
{
"cell_type": "code",
"execution_count": 1,
"execution_count": null,
"metadata": {
"collapsed": false
},
@ -88,15 +88,8 @@
"from qiskit import QuantumProgram\n",
"import Qconfig\n",
"\n",
"sys.path.append(\"../\")\n",
"#some usefull functions for running a program, plotting, and getting the data\n",
"from qhelpers.misc import run_program\n",
"from qhelpers.misc import program_to_text\n",
"from qhelpers.misc import combine_jobs\n",
"from qhelpers.misc import get_data\n",
"from qhelpers.basicplotter import plot_histogram\n",
"from qhelpers.misc import average_data\n",
"\n"
"#import basic plot tools\n",
"from qiskit.basicplotter import plot_histogram"
]
},
{
@ -199,16 +192,16 @@
},
"outputs": [],
"source": [
"print(\"IZ = \" + str(Q_program.average_data(get_data(results,0),obsevableIZ)))\n",
"print(\"ZI = \" + str(Q_program.average_data(get_data(results,0),obsevableZI)))\n",
"print(\"ZZ = \" + str(Q_program.average_data(get_data(results,0),obsevableZZ)))\n",
"print(\"IZ = \" + str(Q_program.average_data(Q_program.get_data(results,0),obsevableIZ)))\n",
"print(\"ZI = \" + str(Q_program.average_data(Q_program.get_data(results,0),obsevableZI)))\n",
"print(\"ZZ = \" + str(Q_program.average_data(Q_program.get_data(results,0),obsevableZZ)))\n",
"\n",
"print(\"IX = \" + str(Q_program.average_data(get_data(results,2),obsevableIZ)))\n",
"print(\"XI = \" + str(Q_program.average_data(get_data(results,2),obsevableZI)))\n",
"print(\"XX = \" + str(Q_program.average_data(get_data(results,2),obsevableZZ)))\n",
"print(\"IX = \" + str(Q_program.average_data(Q_program.get_data(results,2),obsevableIZ)))\n",
"print(\"XI = \" + str(Q_program.average_data(Q_program.get_data(results,2),obsevableZI)))\n",
"print(\"XX = \" + str(Q_program.average_data(Q_program.get_data(results,2),obsevableZZ)))\n",
"\n",
"print(\"ZX = \" + str(Q_program.average_data(get_data(results,1),obsevableZZ)))\n",
"print(\"XZ = \" + str(Q_program.average_data(get_data(results,3),obsevableZZ)))"
"print(\"ZX = \" + str(Q_program.average_data(Q_program.get_data(results,1),obsevableZZ)))\n",
"print(\"XZ = \" + str(Q_program.average_data(Q_program.get_data(results,3),obsevableZZ)))"
]
},
{
@ -318,7 +311,7 @@
},
"outputs": [],
"source": [
"print(program_to_text(program[0:8]))"
"print(Q_program.program_to_text(program[0:8]))"
]
},
{
@ -343,10 +336,10 @@
"CHSH_data_sim = []\n",
"for j in range(0,len(r['qasms']),4):\n",
" temp=[]\n",
" temp.append(average_data(get_data(r,j+0),obsevableZZ_ideal))\n",
" temp.append(average_data(get_data(r,j+1),obsevableZZ_ideal))\n",
" temp.append(average_data(get_data(r,j+2),obsevableZZ_ideal))\n",
" temp.append(average_data(get_data(r,j+3),obsevableZZ_ideal))\n",
" temp.append(Q_program.average_data(Q_program.get_data(r,j+0),obsevableZZ_ideal))\n",
" temp.append(Q_program.average_data(Q_program.get_data(r,j+1),obsevableZZ_ideal))\n",
" temp.append(Q_program.average_data(Q_program.get_data(r,j+2),obsevableZZ_ideal))\n",
" temp.append(Q_program.average_data(Q_program.get_data(r,j+3),obsevableZZ_ideal))\n",
" CHSH_data_sim.append(CHSH(temp))"
]
},
@ -378,10 +371,10 @@
"CHSH_data_real = []\n",
"for j in range(0, len(r['qasms']), 4):\n",
" temp=[]\n",
" temp.append(average_data(get_data(r,j+0),obsevableZZ))\n",
" temp.append(average_data(get_data(r,j+1),obsevableZZ))\n",
" temp.append(average_data(get_data(r,j+2),obsevableZZ))\n",
" temp.append(average_data(get_data(r,j+3),obsevableZZ))\n",
" temp.append(Q_program.average_data(Q_program.get_data(r,j+0),obsevableZZ))\n",
" temp.append(Q_program.average_data(Q_program.get_data(r,j+1),obsevableZZ))\n",
" temp.append(Q_program.average_data(Q_program.get_data(r,j+2),obsevableZZ))\n",
" temp.append(Q_program.average_data(Q_program.get_data(r,j+3),obsevableZZ))\n",
" CHSH_data_real.append(CHSH(temp))"
]
},
@ -479,13 +472,13 @@
"\n",
"circuits = [ghz+measureZZ, ghz+measureXX]\n",
"\n",
"print(program_to_text(circuits))\n",
"print(Q_program.program_to_text(circuits))\n",
"\n",
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240) \n",
"\n",
"data=get_data(results,0)\n",
"data=Q_program.get_data(results,0)\n",
"plot_histogram(data)\n",
"data=get_data(results,1)\n",
"data=Q_program.get_data(results,1)\n",
"plot_histogram(data)"
]
},
@ -523,13 +516,13 @@
"\n",
"circuits = [ghz+measureZZZ, ghz+measureXXX]\n",
"\n",
"print(program_to_text(circuits))\n",
"print(Q_program.program_to_text(circuits))\n",
"\n",
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240)\n",
"\n",
"data=get_data(results,0)\n",
"data=Q_program.get_data(results,0)\n",
"plot_histogram(data)\n",
"data=get_data(results,1)\n",
"data=Q_program.get_data(results,1)\n",
"plot_histogram(data)"
]
},
@ -575,13 +568,13 @@
"\n",
"circuits = [ghz+measureZZZZ, ghz+measureXXXX]\n",
"\n",
"print(program_to_text(circuits))\n",
"print(Q_program.program_to_text(circuits))\n",
"\n",
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240)\n",
"\n",
"data=get_data(results,0)\n",
"data=Q_program.get_data(results,0)\n",
"plot_histogram(data)\n",
"data=get_data(results,1)\n",
"data=Q_program.get_data(results,1)\n",
"plot_histogram(data)"
]
},
@ -624,11 +617,11 @@
"\n",
"circuits = [ghz+measureZZZ]\n",
"\n",
"print(program_to_text(circuits))\n",
"print(Q_program.program_to_text(circuits))\n",
"\n",
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240) \n",
"\n",
"data=get_data(results,0)\n",
"data=Q_program.get_data(results,0)\n",
"plot_histogram(data)"
]
},
@ -727,10 +720,10 @@
"outputs": [],
"source": [
"temp=[]\n",
"temp.append(average_data(get_data(results,0),observable))\n",
"temp.append(average_data(get_data(results,1),observable))\n",
"temp.append(average_data(get_data(results,2),observable))\n",
"temp.append(average_data(get_data(results,3),observable))\n",
"temp.append(Q_program.average_data(Q_program.get_data(results,0),observable))\n",
"temp.append(Q_program.average_data(Q_program.get_data(results,1),observable))\n",
"temp.append(Q_program.average_data(Q_program.get_data(results,2),observable))\n",
"temp.append(Q_program.average_data(Q_program.get_data(results,3),observable))\n",
"print(temp)\n",
"print(MerminM(temp))"
]
@ -781,7 +774,7 @@
"source": [
"temp=[]\n",
"for j in range(0, 50):\n",
" temp.append(average_data(get_data(results,j),observable))"
" temp.append(Q_program.average_data(Q_program.get_data(results,j),observable))"
]
},
{