Quantum Teleportation - Qiskit

文章推薦指數: 80 %
投票人數:10人

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 warn_package('aqua','qiskit-terra') VersionInformationQiskitSoftwareVersionqiskit-terra0.18.0qiskit-aer0.8.2qiskit-ignis0.6.0qiskit-ibmq-provider0.15.0qiskit-aqua0.9.4qiskit0.28.0SysteminformationPython3.7.7(default,May62020,04:59:01) [Clang4.0.1(tags/RELEASE_401/final)]OSDarwinCPUs8Memory(Gb)32.0TueAug2411:07:092021BST 〈QuantumWalkSearchAlgorithm SuperdenseCoding〉



請為這篇文章評分?