Download Quantum_Circuit_Proj.. - UTK-EECS

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

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

Max Born 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

T-symmetry wikipedia , lookup

Quantum cognition wikipedia , lookup

Quantum machine learning wikipedia , lookup

Hidden variable theory wikipedia , lookup

Quantum state wikipedia , lookup

Quantum computing wikipedia , lookup

Quantum teleportation wikipedia , lookup

Transcript
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