* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Quantum_Circuit_Proj.. - UTK-EECS
Delayed choice quantum eraser wikipedia , lookup
Quantum dot cellular automaton wikipedia , lookup
Measurement in quantum mechanics wikipedia , lookup
Bohr–Einstein debates wikipedia , lookup
Copenhagen interpretation wikipedia , lookup
Density matrix wikipedia , lookup
Particle in a box wikipedia , lookup
Quantum field theory wikipedia , lookup
Probability amplitude wikipedia , lookup
Quantum decoherence wikipedia , lookup
Quantum electrodynamics wikipedia , lookup
Coherent states wikipedia , lookup
Bell test experiments wikipedia , lookup
Path integral formulation wikipedia , lookup
Quantum dot wikipedia , lookup
Hydrogen atom wikipedia , lookup
Quantum entanglement wikipedia , lookup
Bell's theorem wikipedia , lookup
Many-worlds interpretation wikipedia , lookup
Quantum fiction wikipedia , lookup
Orchestrated objective reduction wikipedia , lookup
Symmetry in quantum mechanics wikipedia , lookup
Algorithmic cooling wikipedia , lookup
Interpretations of quantum mechanics wikipedia , lookup
EPR paradox wikipedia , lookup
History of quantum field theory wikipedia , lookup
Quantum group wikipedia , lookup
Quantum key distribution wikipedia , lookup
Canonical quantization wikipedia , lookup
Quantum cognition wikipedia , lookup
Quantum machine learning wikipedia , lookup
Hidden variable theory wikipedia , lookup
Quantum state wikipedia , lookup
COSC494/594UnconventionalComputation(Fall2016) QuantumCircuitProject DueNov.21,2016 Introduction Inthisprojectyouwilluseaquantumcomputersimulatortoexploreseveralsimplequantumcircuits. Thetasksaresimpleandshouldn’ttakeyoumuchtime,butbesuretostartontheprojectearlyincase youhavetroublerunningthesimulatororsomeothertechnicalproblem.(Youarewelcometouse anotherquantumsimulatorifyouprefer.) AboutthejQuantumSimulator jQuantum (http://jquantum.sourceforge.net/) is a quantum computer simulator using the circuit architecture (as opposed to another type of quantum computer architecture, such as adiabatic). It seems to have been developed by a German named Andreas de Vries in 2004 and may have been updatedlastin2010.Accordingtothedocumentation,itisstillabetaproductandisnotlikelytobe intendedforanymarketotherthaninquisitivequantumcomputingstudents. ItisaJava-basedapplicationthatcanruneithernativelytoone’smachineordirectlyfromtheweb-site. Initialtestingshowedfewbugs,buttheremaybeinfrequentcrashesthatrequirekillingtheprogram. Whilethebugsmentionedabovewerenotencounteredduringheavyqubitoperations,itisimportant torememberthatthisisonlyaquantumcomputersimulator,notaquantumcomputer.Thus,whilea n n quantumcomputerwouldbeabletohandle 2 stateseasily,thejQuantumsimulatormustsimulate 2 states, which can quickly overwhelm a modern day laptop, even at a seemingly low n (approximately 10). UsingthejQuantumSimulator The jQuantum simulator is a simple point-and-click application. Most of the information you need to install(ornot)andruntheapplicationcanbefoundinthefirstthreepagesofthedocumentationfile (http://jquantum.sourceforge.net/jQuantum.pdf)ortheHelpwithjQuantumitemintheHelpmenuof theapplication. There are three rather non-intuitive features of the application. First, is the display of the quantum registers.jQuantumallowsfortwoquantumregisters,namedxandyrespectively(theexercisesbelow onlymakeuseofoneregister).Thevaluesaredisplayedasblocksoragrid.Anexampleofatwo-qubit register(withfourbasisstates, 00 , 01 , 10 , 11 )isdisplayedbelow: 1 Hovering the cursor over each block displays a pop-up menu of the value that the respective block represents: Eachblockiscoloredcorrespondingtoitscurrentvalue(thecolorwheelisavailableviathehelpmenu, butingeneralblackrepresentsnovalue,redrepresentsapositiverealvalue,andlightbluerepresentsa negativerealvalue;othercolorsrepresentcomplexamplitudes). Inaclassicalcomputer,onlyonestatecouldberepresentedatagivenpointintime,butinaquantum computer,aregistercanhavemultiplestatessimultaneously: Intheabovepicture,theregisterisholdingthestates 00 and 10 . The second non-intuitive aspect of using jQuantum is the qubit numbering. Notice that in a register, eachqubithasanumericaldesignator(thisisanunderlinednumberatthefarleftofthequbit). Thisqubitnumberisusedwhencreatinggatesthatusemorethanonequbitandwhenassigninginitial qubitvalues.Thequbitsaredisplayedintheregisterinascendingorder(basedontheirqubitnumber) fromlefttoright. Lastly,onemustrememberthatthisisnotadrag-and-dropapplication.Youcannotinsertagateintoa circuit;youcanonlyaddadditionalgatestotheendofthecircuit.Thus,amistakeearlyoninacircuit 2 willrequirethatonedeletethecircuitright-to-lefttoreturntothemistakeandthenrebuildthecircuit left-to-right. Questions 1. What is the function of the gate below? Given a specific initial qubit value combination it can simulatewhichclassicalgate?DrawitsFredkingateequivalent. 2. ThefourdifferentBellstatescanbeconstructedwithonlyonecircuitbychangingtheinitialqubit values.Buildthiscircuitandrunsimulationsforeachinitialqubitvaluecombinationandverifythat thecorrespondingBellstateiscreated(takescreencapturestoshoweachsimulationresult).(Note thatyoucanusetheleftmostbuttoninthepaneaboveyourcircuittochangetheinitialqubitvalues ofyourcircuit.) 3. What is the effect of the following single qubit circuit? Include screen shots and explain your results. 4. Builda3“bit”randomnumbergenerator.Includeascreenshotofyourcircuitandseveraloutputs. 5. For this question you will demonstrate quantum error correction. You will be using the triple redundancy encoder and the syndrome extraction circuits that you designed on your last homework. You will need six qubits. Qubits 1 to 3 will be used for the syndrome and should be initializedto 000 .Qubits4to6willbeusedfortheencodedqubit,soqubits4and5shouldbe 3 initialized to 00 . Qubit 6 will be used for the quantum state that we want to encode. For this ( question,initializeitto 1 andapplytheHadamardgatesothatweareencoding 0 − 1 ) 2 . Addtothisyourcircuittodotriple-redundancyencoding.Next,simulateabit-fliperrorbyapplying an X gate to one of qubits 4 to 6. Finally, apply your circuit for syndrome extraction. Run your quantumprogramandincludeascreenshotshowingyourcircuitandthefinalregisterstate.Explain whythefinalstateiscorrect(assumingthatitis!).(Note:youcannotmeasurethesyndromeanduse that to complete the error correction, since there is a bug in the simulator’s implementation of single-qubitmeasurement.) 4