mirror of https://github.com/Qiskit/qiskit.git
Merge branch 'isma/clean-quantum-program' into Dev
This commit is contained in:
commit
1de76156dd
|
@ -539,3 +539,8 @@ class QuantumProgram(object):
|
||||||
basicplotter.plot_histogram(data, circuit_number)
|
basicplotter.plot_histogram(data, circuit_number)
|
||||||
else:
|
else:
|
||||||
basicplotter.plot_qsphere(data, circuit_number)
|
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']
|
||||||
|
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"execution_count": 1,
|
"execution_count": null,
|
||||||
"metadata": {
|
"metadata": {
|
||||||
"collapsed": false
|
"collapsed": false
|
||||||
},
|
},
|
||||||
|
@ -88,15 +88,8 @@
|
||||||
"from qiskit import QuantumProgram\n",
|
"from qiskit import QuantumProgram\n",
|
||||||
"import Qconfig\n",
|
"import Qconfig\n",
|
||||||
"\n",
|
"\n",
|
||||||
"sys.path.append(\"../\")\n",
|
"#import basic plot tools\n",
|
||||||
"#some usefull functions for running a program, plotting, and getting the data\n",
|
"from qiskit.basicplotter import plot_histogram"
|
||||||
"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"
|
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -199,16 +192,16 @@
|
||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"print(\"IZ = \" + str(Q_program.average_data(get_data(results,0),obsevableIZ)))\n",
|
"print(\"IZ = \" + str(Q_program.average_data(Q_program.get_data(results,0),obsevableIZ)))\n",
|
||||||
"print(\"ZI = \" + str(Q_program.average_data(get_data(results,0),obsevableZI)))\n",
|
"print(\"ZI = \" + str(Q_program.average_data(Q_program.get_data(results,0),obsevableZI)))\n",
|
||||||
"print(\"ZZ = \" + str(Q_program.average_data(get_data(results,0),obsevableZZ)))\n",
|
"print(\"ZZ = \" + str(Q_program.average_data(Q_program.get_data(results,0),obsevableZZ)))\n",
|
||||||
"\n",
|
"\n",
|
||||||
"print(\"IX = \" + str(Q_program.average_data(get_data(results,2),obsevableIZ)))\n",
|
"print(\"IX = \" + str(Q_program.average_data(Q_program.get_data(results,2),obsevableIZ)))\n",
|
||||||
"print(\"XI = \" + str(Q_program.average_data(get_data(results,2),obsevableZI)))\n",
|
"print(\"XI = \" + str(Q_program.average_data(Q_program.get_data(results,2),obsevableZI)))\n",
|
||||||
"print(\"XX = \" + str(Q_program.average_data(get_data(results,2),obsevableZZ)))\n",
|
"print(\"XX = \" + str(Q_program.average_data(Q_program.get_data(results,2),obsevableZZ)))\n",
|
||||||
"\n",
|
"\n",
|
||||||
"print(\"ZX = \" + str(Q_program.average_data(get_data(results,1),obsevableZZ)))\n",
|
"print(\"ZX = \" + str(Q_program.average_data(Q_program.get_data(results,1),obsevableZZ)))\n",
|
||||||
"print(\"XZ = \" + str(Q_program.average_data(get_data(results,3),obsevableZZ)))"
|
"print(\"XZ = \" + str(Q_program.average_data(Q_program.get_data(results,3),obsevableZZ)))"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -318,7 +311,7 @@
|
||||||
},
|
},
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"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",
|
"CHSH_data_sim = []\n",
|
||||||
"for j in range(0,len(r['qasms']),4):\n",
|
"for j in range(0,len(r['qasms']),4):\n",
|
||||||
" temp=[]\n",
|
" temp=[]\n",
|
||||||
" temp.append(average_data(get_data(r,j+0),obsevableZZ_ideal))\n",
|
" temp.append(Q_program.average_data(Q_program.get_data(r,j+0),obsevableZZ_ideal))\n",
|
||||||
" temp.append(average_data(get_data(r,j+1),obsevableZZ_ideal))\n",
|
" temp.append(Q_program.average_data(Q_program.get_data(r,j+1),obsevableZZ_ideal))\n",
|
||||||
" temp.append(average_data(get_data(r,j+2),obsevableZZ_ideal))\n",
|
" temp.append(Q_program.average_data(Q_program.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+3),obsevableZZ_ideal))\n",
|
||||||
" CHSH_data_sim.append(CHSH(temp))"
|
" CHSH_data_sim.append(CHSH(temp))"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -378,10 +371,10 @@
|
||||||
"CHSH_data_real = []\n",
|
"CHSH_data_real = []\n",
|
||||||
"for j in range(0, len(r['qasms']), 4):\n",
|
"for j in range(0, len(r['qasms']), 4):\n",
|
||||||
" temp=[]\n",
|
" temp=[]\n",
|
||||||
" temp.append(average_data(get_data(r,j+0),obsevableZZ))\n",
|
" temp.append(Q_program.average_data(Q_program.get_data(r,j+0),obsevableZZ))\n",
|
||||||
" temp.append(average_data(get_data(r,j+1),obsevableZZ))\n",
|
" temp.append(Q_program.average_data(Q_program.get_data(r,j+1),obsevableZZ))\n",
|
||||||
" temp.append(average_data(get_data(r,j+2),obsevableZZ))\n",
|
" temp.append(Q_program.average_data(Q_program.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+3),obsevableZZ))\n",
|
||||||
" CHSH_data_real.append(CHSH(temp))"
|
" CHSH_data_real.append(CHSH(temp))"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -479,13 +472,13 @@
|
||||||
"\n",
|
"\n",
|
||||||
"circuits = [ghz+measureZZ, ghz+measureXX]\n",
|
"circuits = [ghz+measureZZ, ghz+measureXX]\n",
|
||||||
"\n",
|
"\n",
|
||||||
"print(program_to_text(circuits))\n",
|
"print(Q_program.program_to_text(circuits))\n",
|
||||||
"\n",
|
"\n",
|
||||||
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240) \n",
|
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240) \n",
|
||||||
"\n",
|
"\n",
|
||||||
"data=get_data(results,0)\n",
|
"data=Q_program.get_data(results,0)\n",
|
||||||
"plot_histogram(data)\n",
|
"plot_histogram(data)\n",
|
||||||
"data=get_data(results,1)\n",
|
"data=Q_program.get_data(results,1)\n",
|
||||||
"plot_histogram(data)"
|
"plot_histogram(data)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -523,13 +516,13 @@
|
||||||
"\n",
|
"\n",
|
||||||
"circuits = [ghz+measureZZZ, ghz+measureXXX]\n",
|
"circuits = [ghz+measureZZZ, ghz+measureXXX]\n",
|
||||||
"\n",
|
"\n",
|
||||||
"print(program_to_text(circuits))\n",
|
"print(Q_program.program_to_text(circuits))\n",
|
||||||
"\n",
|
"\n",
|
||||||
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240)\n",
|
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"data=get_data(results,0)\n",
|
"data=Q_program.get_data(results,0)\n",
|
||||||
"plot_histogram(data)\n",
|
"plot_histogram(data)\n",
|
||||||
"data=get_data(results,1)\n",
|
"data=Q_program.get_data(results,1)\n",
|
||||||
"plot_histogram(data)"
|
"plot_histogram(data)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -575,13 +568,13 @@
|
||||||
"\n",
|
"\n",
|
||||||
"circuits = [ghz+measureZZZZ, ghz+measureXXXX]\n",
|
"circuits = [ghz+measureZZZZ, ghz+measureXXXX]\n",
|
||||||
"\n",
|
"\n",
|
||||||
"print(program_to_text(circuits))\n",
|
"print(Q_program.program_to_text(circuits))\n",
|
||||||
"\n",
|
"\n",
|
||||||
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240)\n",
|
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240)\n",
|
||||||
"\n",
|
"\n",
|
||||||
"data=get_data(results,0)\n",
|
"data=Q_program.get_data(results,0)\n",
|
||||||
"plot_histogram(data)\n",
|
"plot_histogram(data)\n",
|
||||||
"data=get_data(results,1)\n",
|
"data=Q_program.get_data(results,1)\n",
|
||||||
"plot_histogram(data)"
|
"plot_histogram(data)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -624,11 +617,11 @@
|
||||||
"\n",
|
"\n",
|
||||||
"circuits = [ghz+measureZZZ]\n",
|
"circuits = [ghz+measureZZZ]\n",
|
||||||
"\n",
|
"\n",
|
||||||
"print(program_to_text(circuits))\n",
|
"print(Q_program.program_to_text(circuits))\n",
|
||||||
"\n",
|
"\n",
|
||||||
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240) \n",
|
"results = Q_program.execute(circuits, device, shots, max_credits=3, wait=10, timeout=240) \n",
|
||||||
"\n",
|
"\n",
|
||||||
"data=get_data(results,0)\n",
|
"data=Q_program.get_data(results,0)\n",
|
||||||
"plot_histogram(data)"
|
"plot_histogram(data)"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -727,10 +720,10 @@
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"source": [
|
"source": [
|
||||||
"temp=[]\n",
|
"temp=[]\n",
|
||||||
"temp.append(average_data(get_data(results,0),observable))\n",
|
"temp.append(Q_program.average_data(Q_program.get_data(results,0),observable))\n",
|
||||||
"temp.append(average_data(get_data(results,1),observable))\n",
|
"temp.append(Q_program.average_data(Q_program.get_data(results,1),observable))\n",
|
||||||
"temp.append(average_data(get_data(results,2),observable))\n",
|
"temp.append(Q_program.average_data(Q_program.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,3),observable))\n",
|
||||||
"print(temp)\n",
|
"print(temp)\n",
|
||||||
"print(MerminM(temp))"
|
"print(MerminM(temp))"
|
||||||
]
|
]
|
||||||
|
@ -781,7 +774,7 @@
|
||||||
"source": [
|
"source": [
|
||||||
"temp=[]\n",
|
"temp=[]\n",
|
||||||
"for j in range(0, 50):\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))"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue