Quantum Teleportation - Qiskit
文章推薦指數: 80 %
Quantum teleportation is designed to send qubits between two parties. We do not have the hardware to demonstrate this, but we can demonstrate that the gates ...
Documentation
Community
Learn
Overview
LearnQuantumComputationusingQiskit
LearnQuantumComputationusingQiskit
WhatisQuantum?
0.
Prerequisites
0.1
SettingUpYourEnvironment
0.2
PythonandJupyterNotebooks
1.
QuantumStatesandQubits
1.1
Introduction
1.2
TheAtomsofComputation
1.3
RepresentingQubitStates
1.4
SingleQubitGates
1.5
TheCaseforQuantum
2.
MultipleQubitsandEntanglement
2.1
Introduction
2.2
MultipleQubitsandEntangledStates
2.3
PhaseKickback
2.4
MoreCircuitIdentities
2.5
ProvingUniversality
2.6
ClassicalComputationonaQuantumComputer
3.
QuantumProtocolsandQuantumAlgorithms
3.1
DefiningQuantumCircuits
3.2
Deutsch-JozsaAlgorithm
3.3
Bernstein-VaziraniAlgorithm
3.4
Simon'sAlgorithm
3.5
QuantumFourierTransform
3.6
QuantumPhaseEstimation
3.7
Shor'sAlgorithm
3.8
Grover'sAlgorithm
3.9
QuantumCounting
3.10
QuantumWalkSearchAlgorithm
3.11
QuantumTeleportation
3.12
SuperdenseCoding
3.13
QuantumKeyDistribution
4.
QuantumAlgorithmsforApplications
4.1
AppliedQuantumAlgorithms
4.1.1
SolvingLinearSystemsofEquationsusingHHL
4.1.2
SimulatingMoleculesusingVQE
4.1.3
SolvingcombinatorialoptimizationproblemsusingQAOA
4.1.4
SolvingSatisfiabilityProblemsusingGrover'sAlgorithm
4.1.5
Hybridquantum-classicalNeuralNetworkswithPyTorchandQiskit
4.2
ImplementationsofRecentQuantumAlgorithms
4.2.1
VariationalQuantumLinearSolver
4.2.2
QuantumImageProcessing-FRQIandNEQRImageRepresentations
4.2.3
QuantumEdgeDetection-QHEDAlgorithmonSmallandLargeImages
4.2.4
SolvingtheTravellingSalesmanProblemusingPhaseEstimation
5.
InvestigatingQuantumHardwareUsingQuantumCircuits
5.1
IntroductiontoQuantumErrorCorrectionusingRepetitionCodes
5.2
MeasurementErrorMitigation
5.3
RandomizedBenchmarking
5.4
MeasuringQuantumVolume
5.5
TheDensityMatrix&MixedStates
6.
InvestigatingQuantumHardwareUsingMicrowavePulses
6.1
CalibratingQubitswithQiskitPulse
6.2
AccessingHigherEnergyStates
6.3
IntroductiontoTransmonPhysics
6.4
CircuitQuantumElectrodynamics
6.5
ExploringtheJaynes-CummingsHamiltonianwithQiskitPulse
6.6
MeasuringtheQubitac-StarkShift
6.7
HamiltonianTomography
7.
QuantumComputingLabs
Lab1.QuantumCircuits
Lab2.QuantumMeasurement
Lab3.AccuracyofQuantumPhaseEstimation
Lab4.IterativeQuantumPhaseEstimation
Lab5.ScalableShor’sAlgorithm
Lab6.Grover'ssearchwithanunknownnumberofsolutions
Lab7.QuantumSimulationasaSearchAlgorithm
Lab8.QuantumErrorCorrection
8.
Appendix
8.1
LinearAlgebra
8.2
Qiskit
9.
Games&Demos
HelloQiskitGame
EstimatingPiUsingQuantumPhaseEstimationAlgorithm
LocalRealityandtheCHSHInequality
QuantumCoinGame
VariationalQuantumRegression
InteractivityIndex
English
Japanese
OnThisPage
OpeninIBMQuantumLab
DownloadasJupyterNotebook
ContributeonGithub
Trythenewtextbookbeta
ThenewQiskitTextbookbetaisnowavailable.
Tryitoutnow
QuantumTeleportation
Thisnotebookdemonstratesquantumteleportation.WefirstuseQiskit'sbuilt-insimulatorstotestourquantumcircuit,andthentryitoutonarealquantumcomputer.
Contents
Overview
TheQuantumTeleportationProtocol
SimulatingtheTeleportationProtocol
3.1HowwillweTestthisResultonaRealQuantumComputer?
3.2UsingtheSimulatedStatevector
3.3UsingtheSimulatedCounts
UnderstandingQuantumTeleportation
TeleportationonaRealQuantumComputer
5.1IBMhardwareandDeferredMeasurement
5.2Executing
References
1.Overview
AlicewantstosendquantuminformationtoBob.Specifically,supposeshewantstosendthequbitstate
$\vert\psi\rangle=\alpha\vert0\rangle+\beta\vert1\rangle$.
Thisentailspassingoninformationabout$\alpha$and$\beta$toBob.
Thereexistsatheoreminquantummechanicswhichstatesthatyoucannotsimplymakeanexactcopyofanunknownquantumstate.Thisisknownastheno-cloningtheorem.AsaresultofthiswecanseethatAlicecan'tsimplygenerateacopyof$\vert\psi\rangle$andgivethecopytoBob.Wecanonlycopyclassicalstates(notsuperpositions).
However,bytakingadvantageoftwoclassicalbitsandanentangledqubitpair,Alicecantransferherstate$\vert\psi\rangle$toBob.Wecallthisteleportationbecause,attheend,Bobwillhave$\vert\psi\rangle$andAlicewon'tanymore.
2.TheQuantumTeleportationProtocolTotransferaquantumbit,AliceandBobmustuseathirdparty(Telamon)tosendthemanentangledqubitpair.Alicethenperformssomeoperationsonherqubit,sendstheresultstoBoboveraclassicalcommunicationchannel,andBobthenperformssomeoperationsonhisendtoreceiveAlice’squbit.
Wewilldescribethestepsonaquantumcircuitbelow.Here,noqubitsareactually‘sent’,you’lljusthavetoimaginethatpart!
Firstwesetupoursession:
#Dothenecessaryimports
importnumpyasnp
fromqiskitimportQuantumCircuit,QuantumRegister,ClassicalRegister
fromqiskitimportIBMQ,Aer,transpile,assemble
fromqiskit.visualizationimportplot_histogram,plot_bloch_multivector,array_to_latex
fromqiskit.extensionsimportInitialize
fromqiskit.ignis.verificationimportmarginal_counts
fromqiskit.quantum_infoimportrandom_statevector
andcreateourquantumcircuit:
##SETUP
#Protocoluses3qubitsand2classicalbitsin2differentregisters
qr=QuantumRegister(3,name="q")#Protocoluses3qubits
crz=ClassicalRegister(1,name="crz")#and2classicalbits
crx=ClassicalRegister(1,name="crx")#in2differentregisters
teleportation_circuit=QuantumCircuit(qr,crz,crx)
Step1Athirdparty,Telamon,createsanentangledpairofqubitsandgivesonetoBobandonetoAlice.
ThepairTelamoncreatesisaspecialpaircalledaBellpair.Inquantumcircuitlanguage,thewaytocreateaBellpairbetweentwoqubitsistofirsttransferoneofthemtotheX-basis($|+\rangle$and$|-\rangle$)usingaHadamardgate,andthentoapplyaCNOTgateontotheotherqubitcontrolledbytheoneintheX-basis.
defcreate_bell_pair(qc,a,b):
"""Createsabellpairinqcusingqubitsa&b"""
qc.h(a)#Putqubitaintostate|+>
qc.cx(a,b)#CNOTwithaascontrolandbastarget
##SETUP
#Protocoluses3qubitsand2classicalbitsin2differentregisters
qr=QuantumRegister(3,name="q")
crz,crx=ClassicalRegister(1,name="crz"),ClassicalRegister(1,name="crx")
teleportation_circuit=QuantumCircuit(qr,crz,crx)
##STEP1
#Inourcase,Telamonentanglesqubitsq1andq2
#Let'sapplythistoourcircuit:
create_bell_pair(teleportation_circuit,1,2)
#Andviewthecircuitsofar:
teleportation_circuit.draw()
Let'ssayAliceowns$q_1$andBobowns$q_2$aftertheypartways.
Step2AliceappliesaCNOTgateto$q_1$,controlledby$\vert\psi\rangle$(thequbitsheistryingtosendBob).ThenAliceappliesaHadamardgateto$|\psi\rangle$.Inourquantumcircuit,thequbit($|\psi\rangle$)Aliceistryingtosendis$q_0$:
defalice_gates(qc,psi,a):
qc.cx(psi,a)
qc.h(psi)
##SETUP
#Protocoluses3qubitsand2classicalbitsin2differentregisters
qr=QuantumRegister(3,name="q")
crz,crx=ClassicalRegister(1,name="crz"),ClassicalRegister(1,name="crx")
teleportation_circuit=QuantumCircuit(qr,crz,crx)
##STEP1
create_bell_pair(teleportation_circuit,1,2)
##STEP2
teleportation_circuit.barrier()#Usebarriertoseparatesteps
alice_gates(teleportation_circuit,0,1)
teleportation_circuit.draw()
Step3Next,Aliceappliesameasurementtobothqubitsthatsheowns,$q_1$and$\vert\psi\rangle$,andstoresthisresultintwoclassicalbits.ShethensendsthesetwobitstoBob.
defmeasure_and_send(qc,a,b):
"""Measuresqubitsa&band'sends'theresultstoBob"""
qc.barrier()
qc.measure(a,0)
qc.measure(b,1)
##SETUP
#Protocoluses3qubitsand2classicalbitsin2differentregisters
qr=QuantumRegister(3,name="q")
crz,crx=ClassicalRegister(1,name="crz"),ClassicalRegister(1,name="crx")
teleportation_circuit=QuantumCircuit(qr,crz,crx)
##STEP1
create_bell_pair(teleportation_circuit,1,2)
##STEP2
teleportation_circuit.barrier()#Usebarriertoseparatesteps
alice_gates(teleportation_circuit,0,1)
##STEP3
measure_and_send(teleportation_circuit,0,1)
teleportation_circuit.draw()
Step4Bob,whoalreadyhasthequbit$q_2$,thenappliesthefollowinggatesdependingonthestateoftheclassicalbits:
00$\rightarrow$Donothing
01$\rightarrow$Apply$X$gate
10$\rightarrow$Apply$Z$gate
11$\rightarrow$Apply$ZX$gate
(Notethatthistransferofinformationispurelyclassical.)
#ThisfunctiontakesaQuantumCircuit(qc),integer(qubit)
#andClassicalRegisters(crz&crx)todecidewhichgatestoapply
defbob_gates(qc,qubit,crz,crx):
#Hereweusec_iftocontrolourgateswithaclassical
#bitinsteadofaqubit
qc.x(qubit).c_if(crx,1)#Applygatesiftheregisters
qc.z(qubit).c_if(crz,1)#areinthestate'1'
##SETUP
#Protocoluses3qubitsand2classicalbitsin2differentregisters
qr=QuantumRegister(3,name="q")
crz,crx=ClassicalRegister(1,name="crz"),ClassicalRegister(1,name="crx")
teleportation_circuit=QuantumCircuit(qr,crz,crx)
##STEP1
create_bell_pair(teleportation_circuit,1,2)
##STEP2
teleportation_circuit.barrier()#Usebarriertoseparatesteps
alice_gates(teleportation_circuit,0,1)
##STEP3
measure_and_send(teleportation_circuit,0,1)
##STEP4
teleportation_circuit.barrier()#Usebarriertoseparatesteps
bob_gates(teleportation_circuit,2,crz,crx)
teleportation_circuit.draw()
Andvoila!Attheendofthisprotocol,Alice'squbithasnowteleportedtoBob.
3.SimulatingtheTeleportationProtocol
3.1HowWillWeTesttheProtocolonaQuantumComputer?
Inthisnotebook,wewillinitializeAlice'squbitinarandomstate$\vert\psi\rangle$(psi).ThisstatewillbecreatedusinganInitializegateon$|q_0\rangle$.Inthischapterweusethefunctionrandom_statevectortochoosepsiforus,butfeelfreetosetpsitoanyqubitstateyouwant.
#Createrandom1-qubitstate
psi=random_statevector(2)
#Displayitnicely
display(array_to_latex(psi,prefix="|\\psi\\rangle="))
#ShowitonaBlochsphere
plot_bloch_multivector(psi)
$$
|\psi\rangle=
\begin{bmatrix}
-0.38591-0.11057i&-0.31966+0.85829i\\
\end{bmatrix}
$$
Let'screateourinitializationinstructiontocreate$|\psi\rangle$fromthestate$|0\rangle$:
init_gate=Initialize(psi)
init_gate.label="init"
(Initializeistechnicallynotagatesinceitcontainsaresetoperation,andsoisnotreversible.Wecallitan'instruction'instead).Ifthequantumteleportationcircuitworks,thenattheendofthecircuitthequbit$|q_2\rangle$willbeinthisstate.Wewillcheckthisusingthestatevectorsimulator.
3.2UsingtheSimulatedStatevectorWecanusetheAersimulatortoverifyourqubithasbeenteleported.
##SETUP
qr=QuantumRegister(3,name="q")#Protocoluses3qubits
crz=ClassicalRegister(1,name="crz")#and2classicalregisters
crx=ClassicalRegister(1,name="crx")
qc=QuantumCircuit(qr,crz,crx)
##STEP0
#First,let'sinitializeAlice'sq0
qc.append(init_gate,[0])
qc.barrier()
##STEP1
#Nowbeginstheteleportationprotocol
create_bell_pair(qc,1,2)
qc.barrier()
##STEP2
#Sendq1toAliceandq2toBob
alice_gates(qc,0,1)
##STEP3
#AlicethensendsherclassicalbitstoBob
measure_and_send(qc,0,1)
##STEP4
#Bobdecodesqubits
bob_gates(qc,2,crz,crx)
#Displaythecircuit
qc.draw()
Wecanseebelow,usingthestatevectorobtainedfromtheaersimulator,thatthestateof$|q_2\rangle$isthesameasthestate$|\psi\rangle$wecreatedabove,whilethestatesof$|q_0\rangle$and$|q_1\rangle$havebeencollapsedtoeither$|0\rangle$or$|1\rangle$.Thestate$|\psi\rangle$hasbeenteleportedfromqubit0toqubit2.
sim=Aer.get_backend('aer_simulator')
qc.save_statevector()
out_vector=sim.run(qc).result().get_statevector()
plot_bloch_multivector(out_vector)
Youcanrunthiscellafewtimestomakesure.Youmaynoticethatthequbits0&1changestates,butqubit2isalwaysinthestate$|\psi\rangle$.
3.3UsingtheSimulatedCountsQuantumteleportationisdesignedtosendqubitsbetweentwoparties.Wedonothavethehardwaretodemonstratethis,butwecandemonstratethatthegatesperformthecorrecttransformationsonasinglequantumchip.Hereweagainusetheaersimulatortosimulatehowwemighttestourprotocol.
Onarealquantumcomputer,wewouldnotbeabletosamplethestatevector,soifwewantedtocheckourteleportationcircuitisworking,weneedtodothingsslightlydifferently.TheInitializeinstructionfirstperformsareset,settingourqubittothestate$|0\rangle$.Itthenappliesgatestoturnour$|0\rangle$qubitintothestate$|\psi\rangle$:
$$|0\rangle\xrightarrow{\text{Initializegates}}|\psi\rangle$$Sinceallquantumgatesarereversible,wecanfindtheinverseofthesegatesusing:
inverse_init_gate=init_gate.gates_to_uncompute()
Thisoperationhastheproperty:
$$|\psi\rangle\xrightarrow{\text{InverseInitializegates}}|0\rangle$$Toprovethequbit$|q_0\rangle$hasbeenteleportedto$|q_2\rangle$,ifwedothisinverseinitializationon$|q_2\rangle$,weexpecttomeasure$|0\rangle$withcertainty.Wedothisinthecircuitbelow:
##SETUP
qr=QuantumRegister(3,name="q")#Protocoluses3qubits
crz=ClassicalRegister(1,name="crz")#and2classicalregisters
crx=ClassicalRegister(1,name="crx")
qc=QuantumCircuit(qr,crz,crx)
##STEP0
#First,let'sinitializeAlice'sq0
qc.append(init_gate,[0])
qc.barrier()
##STEP1
#Nowbeginstheteleportationprotocol
create_bell_pair(qc,1,2)
qc.barrier()
##STEP2
#Sendq1toAliceandq2toBob
alice_gates(qc,0,1)
##STEP3
#AlicethensendsherclassicalbitstoBob
measure_and_send(qc,0,1)
##STEP4
#Bobdecodesqubits
bob_gates(qc,2,crz,crx)
##STEP5
#reversetheinitializationprocess
qc.append(inverse_init_gate,[2])
#Displaythecircuit
qc.draw()
Wecanseetheinverse_init_gateappearing,labelled'disentangler'onthecircuitdiagram.Finally,wemeasurethethirdqubitandstoretheresultinthethirdclassicalbit:
#NeedtoaddanewClassicalRegister
#toseetheresult
cr_result=ClassicalRegister(1)
qc.add_register(cr_result)
qc.measure(2,2)
qc.draw()
andwerunourexperiment:
t_qc=transpile(qc,sim)
t_qc.save_statevector()
counts=sim.run(t_qc).result().get_counts()
qubit_counts=[marginal_counts(counts,[qubit])forqubitinrange(3)]
plot_histogram(qubit_counts)
Wecanseewehavea100%chanceofmeasuring$q_2$(thepurplebarinthehistogram)inthestate$|0\rangle$.Thisistheexpectedresult,andindicatestheteleportationprotocolhasworkedproperly.
4.UnderstandingQuantumTeleportation
AsyouhaveworkedwiththeQuantumTeleportation'simplementation,itistimetounderstandthemathematicsbehindtheprotocol.
Step1QuantumTeleportationbeginswiththefactthatAliceneedstotransmit$|\psi\rangle=\alpha|0\rangle+\beta|1\rangle$(arandomqubit)toBob.Shedoesn'tknowthestateofthequbit.Forthis,AliceandBobtakethehelpofathirdparty(Telamon).TelamonpreparesapairofentangledqubitsforAliceandBob.TheentangledqubitscouldbewritteninDiracNotationas:
$$|e\rangle=\frac{1}{\sqrt{2}}(|00\rangle+|11\rangle)$$AliceandBobeachpossessonequbitoftheentangledpair(denotedasAandBrespectively),
$$|e\rangle=\frac{1}{\sqrt{2}}(|0\rangle_A|0\rangle_B+|1\rangle_A|1\rangle_B)$$ThiscreatesathreequbitquantumsystemwhereAlicehasthefirsttwoqubitsandBobthelastone.
$$\begin{align*}
|\psi\rangle\otimes|e\rangle&=\frac{1}{\sqrt{2}}(\alpha|0\rangle\otimes(|00\rangle+|11\rangle)+\beta|1\rangle\otimes(|00\rangle+|11\rangle))\\
&=\frac{1}{\sqrt{2}}(\alpha|000\rangle+\alpha|011\rangle+\beta|100\rangle+\beta|111\rangle)
\end{align*}$$
Step2NowaccordingtotheprotocolAliceappliesCNOTgateonhertwoqubitsfollowedbyHadamardgateonthefirstqubit.Thisresultsinthestate:
$$
\begin{align*}(H\otimesI\otimesI)(CNOT\otimesI)(|\psi\rangle\otimes|e\rangle)
&=(H\otimesI\otimesI)(CNOT\otimesI)\frac{1}{\sqrt{2}}(\alpha|000\rangle+\alpha|011\rangle+\beta|100\rangle+\beta|111\rangle)\\
&=(H\otimesI\otimesI)\frac{1}{\sqrt{2}}(\alpha|000\rangle+\alpha|011\rangle+\beta|110\rangle+\beta|101\rangle)\\
&=\frac{1}{2}(\alpha(|000\rangle+|011\rangle+|100\rangle+|111\rangle)+\beta(|010\rangle+|001\rangle-|110\rangle-|101\rangle))\\
\end{align*}
$$Whichcanthenbeseparatedandwrittenas:
$$
\begin{align*}
=\frac{1}{2}(
&\phantom{+}|00\rangle(\alpha|0\rangle+\beta|1\rangle)\hphantom{\quad)}\\
&+|01\rangle(\alpha|1\rangle+\beta|0\rangle)\hphantom{\quad)}\\[4pt]
&+|10\rangle(\alpha|0\rangle-\beta|1\rangle)\hphantom{\quad)}\\[4pt]
&+|11\rangle(\alpha|1\rangle-\beta|0\rangle)\quad)\\
\end{align*}
$$
Step3Alicemeasuresthefirsttwoqubit(whichsheowns)andsendsthemastwoclassicalbitstoBob.Theresultsheobtainsisalwaysoneofthefourstandardbasisstates$|00\rangle,|01\rangle,|10\rangle,$and$|11\rangle$withequalprobability.
Onthebasisofhermeasurement,Bob'sstatewillbeprojectedto,
$$|00\rangle\rightarrow(\alpha|0\rangle+\beta|1\rangle)\\
|01\rangle\rightarrow(\alpha|1\rangle+\beta|0\rangle)\\
|10\rangle\rightarrow(\alpha|0\rangle-\beta|1\rangle)\\
|11\rangle\rightarrow(\alpha|1\rangle-\beta|0\rangle)$$.
Step4Bob,onreceivingthebitsfromAlice,knowshecanobtaintheoriginalstate$|\psi\rangle$byapplyingappropriatetransformationsonhisqubitthatwasoncepartoftheentangledpair.
Thetransformationsheneedstoapplyare:
$$
\begin{array}{ccc}
\mbox{Bob'sState}&\mbox{BitsReceived}&\mbox{GateApplied}\\
(\alpha|0\rangle+\beta|1\rangle)&00&I\\
(\alpha|1\rangle+\beta|0\rangle)&01&X\\
(\alpha|0\rangle-\beta|1\rangle)&10&Z\\
(\alpha|1\rangle-\beta|0\rangle)&11&ZX
\end{array}
$$AfterthisstepBobwillhavesuccessfullyreconstructedAlice'sstate.
5.TeleportationonaRealQuantumComputer
5.1IBMhardwareandDeferredMeasurementTheIBMquantumcomputerscurrentlydonotsupportinstructionsaftermeasurements,meaningwecannotrunthequantumteleportationinitscurrentformonrealhardware.Fortunately,thisdoesnotlimitourabilitytoperformanycomputationsduetothedeferredmeasurementprinciplediscussedinchapter4.4of[1].Theprinciplestatesthatanymeasurementcanbepostponeduntiltheendofthecircuit,i.e.wecanmoveallthemeasurementstotheend,andweshouldseethesameresults.
Anybenefitsofmeasuringearlyarehardwarerelated:Ifwecanmeasureearly,wemaybeabletoreusequbits,orreducetheamountoftimeourqubitsareintheirfragilesuperposition.Inthisexample,theearlymeasurementinquantumteleportationwouldhaveallowedustotransmitaqubitstatewithoutadirectquantumcommunicationchannel.
Whilemovingthegatesallowsustodemonstratethe"teleportation"circuitonrealhardware,itshouldbenotedthatthebenefitoftheteleportationprocess(transferringquantumstatesviaclassicalchannels)islost.
Letusre-writethebob_gatesfunctiontonew_bob_gates:
defnew_bob_gates(qc,a,b,c):
qc.cx(b,c)
qc.cz(a,c)
Andcreateournewcircuit:
qc=QuantumCircuit(3,1)
#First,let'sinitializeAlice'sq0
qc.append(init_gate,[0])
qc.barrier()
#Nowbeginstheteleportationprotocol
create_bell_pair(qc,1,2)
qc.barrier()
#Sendq1toAliceandq2toBob
alice_gates(qc,0,1)
qc.barrier()
#AlicesendsclassicalbitstoBob
new_bob_gates(qc,0,1,2)
#Weundotheinitializationprocess
qc.append(inverse_init_gate,[2])
#Seetheresults,weonlycareaboutthestateofqubit2
qc.measure(2,0)
#Viewtheresults:
qc.draw()
5.2Executing
#First,seewhatdevicesweareallowedtousebyloadingoursavedaccounts
IBMQ.load_account()
provider=IBMQ.get_provider(hub='ibm-q')
#gettheleast-busybackendatIBMandrunthequantumcircuitthere
fromqiskit.providers.ibmqimportleast_busy
fromqiskit.tools.monitorimportjob_monitor
backend=least_busy(provider.backends(filters=lambdab:b.configuration().n_qubits>=3and
notb.configuration().simulatorandb.status().operational==True))
t_qc=transpile(qc,backend,optimization_level=3)
job=backend.run(t_qc)
job_monitor(job)#displaysjobstatusundercell
JobStatus:jobhassuccessfullyrun
#Gettheresultsanddisplaythem
exp_result=job.result()
exp_counts=exp_result.get_counts(qc)
print(exp_counts)
plot_histogram(exp_counts)
{'0':894,'1':130}
Asweseehere,thereareafewresultsinwhichwemeasured$|1\rangle$.Theseariseduetoerrorsinthegatesandthequbits.Incontrast,oursimulatorintheearlierpartofthenotebookhadzeroerrorsinitsgates,andallowederror-freeteleportation.
print(f"Theexperimentalerrorrate:{exp_counts['1']*100/sum(exp_counts.values()):.3f}%")
Theexperimentalerrorrate:12.695%
6.References[1]M.NielsenandI.Chuang,QuantumComputationandQuantumInformation,CambridgeSeriesonInformationandtheNaturalSciences(CambridgeUniversityPress,Cambridge,2000).
[2]EleanorRieffelandWolfgangPolak,QuantumComputing:aGentleIntroduction(TheMITPressCambridgeEngland,Massachusetts,2011).
importqiskit.tools.jupyter
%qiskit_version_table
/usr/local/anaconda3/lib/python3.7/site-packages/qiskit/aqua/__init__.py:86:DeprecationWarning:Thepackageqiskit.aquaisdeprecated.Itwasmoved/refactoredtoqiskit-terraFormoreinformationsee
延伸文章資訊
- 1Quantum teleportation expands beyond neighbouring nodes
Physicists in the Netherlands have shown for the first time that quantum information can be relia...
- 2Quantum Teleportation - an overview ... - ScienceDirect.com
Quantum teleportation allows two parties that are far apart to exchange unknown qubits among them...
- 3Teleportation breakthrough paves the way for quantum internet
As Hanson explains: “The key feature of quantum teleportation is that the quantum information its...
- 4Quantum Internet Is a Step Closer After ... - Singularity Hub
One workaround is to exploit another quantum phenomenon called teleportation. This works much lik...
- 5Quantum teleportation with one classical bit | Scientific Reports
Quantum teleportation is a strikingly curious quantum phenomenon with myriads of applications ran...