Chris Pollett > Students > Yunxuan

    Print View

    [Bio]

    [Blog]

    [First Proposal]

    [Final Step of Shor's and Grover's Algorithms]

    [jQuantum QFT]

    [My Quantum Circuits]

    [Three Models]

    [Threshold of Error Correction]

    [jQuantum Manual]

    [Quantum State and LH]

    [QHC Scientists]

    [LH and Tensor Networks]

    [k-LH is QMA-complete]

    [Deutch Josza Algorithm]

    [Semester Report]

    [Second Proposal]

    [SolveQ Algorithm: 2-SAT]

    [Random-kSAT-Generator: Version 1]

    [Freezing Point Experiment]

    [Random-kQSAT-Generator: Version 2]

    [Random-kQSAT-Generator: Version 3]

    [Antiferromagnetic Heisenberg Model]

    [Ising Model]

    [Random-kQSAT-Generator: Version 4]

    [Random-kQSAT-Generator: Version 5]

    [Random-kQSAT-Generator: Version 6]

    [SolveQ Algorithm: 2-QSAT]

    [Thesis]

























This page is a manual for a currently developing quantum simulator, which is a simple program in Java that simulates quantum circuits. The name of this program is jQuantum, and I use it for my thesis.

File

  • Load circuit: allows you to open one of the circuits in your file.
  • Save circuit: allows you to save your circuit into file.
  • Quit: allows you exit from jQuantum.

Configuration

  • length: Not only does phase matter, the length matters as well. The intensity of the color tells you how long r is in `r*e^(i*theta)` coefficient for a specific state.

Help

  • The color map: diagrams the color code for the complex coefficient `r*e^(i*theta)` of getting a particular state. The color is phase. The intensity of the color is length.
  • Instruction: tells you how initialize, run and measure your simulation.

Circuit Size Button

  • It is the button labeled with` |psi_(0)>`.
  • Type in how many qubits you want for x and y registers.
  • There is a limit of 18 qubits for each register.

Initialize Circuit Button

  • It is the button labeled with `|0>`and `|1>`.
  • Click the squares to set your qubit.
  • The right most qubit is the lowest number qubit; it represents `2^0`qubit.
  • You can change your initial value any time you want.

Begin Simulation Buttons:

  • These are the buttons with the green arrows at the left hand side of the screen.
  • The top most green arrow is for moving forward in the circuit one step at a time.
  • The second top most green arrow is for moving backwards in your circuit one step. You can not reverse the result of a measurement.
  • The third arrow down is for running the entire simulation once.
  • The last arrow down is for resetting your simulation to the begin mode.


Quantum Gates (above):

  • `f(x)`: You can make your own function. First type in something wrong like a+b, hit return, and you will be directed to the panel with the syntax.
  • `F^(-1)` This is the Inverse Quantum Fourier Transform used in Shor algorithm
  • `G`: This is the oracle and diffusion operators doublet used in Grovers algorithm. The program computes how many iterations you need based on search size. You still need to type in the number you are searching for.

Measurement:

  • This is the button with the red M.
  • You can measure the entire x and y registers or a single qubit.

Delete Button:

  • This is the button with the red arrow.
  • Press this button to delete a quantum gate right after you make a mistake.

Let us simulate the circuit that generates the bell basis from the computational basis.


Build the circuit:

  • Click on the button labeled with green`|psi_(0)>`.
  • Enter number of qubits for the x register: 2
  • Enter number of qubits for y register: 0
  • Click on the button labeled with `|0>`and`|1>`to initialize the qubits
  • Click the squares to set your qubits. The right most qubit is the lowest number qubit; it represents the `2^0`qubit.
  • Click on the Hadamard gate button.
  • Enter the qubit number: 2.
  • Click on the CNOT gate button
  • Enter number of control qubits: 1
  • Enter control qubit number: 2
  • Enter target qubit number: 1.
  • Click on the measurement button
  • Select measure x register.

Run the Simulation:

  • The top most of the buttons with the green arrows at the left hand side of the screen is for moving forward in the circuit one step at a time. Keep clicking on this button to simulate the circuit.
  • Repeat steps 4 and 5 in the above section to reinitialize your circuit.
  • Click on the fourth green arrow on the left hand side of the screen to restart.
  • Repeat step 1 to run again.
  • As you run the simulation, you can look at the graphics at lower half of the screen. To see the probability of getting a specific result.
  • To appreciate the graphics, you have to know binary counting. The decimal number representing each square when converted to binary will give you the label of a specific quantum state. So the squares are the quantum states.
  • The colors are the probability of getting each state, you can look at the color map in the help section.

Conclusion:

  • You will find that the circuit maps the left hand to the right hand:
  • |00> to (|00>+|11>)/(sqrt(2))
  • |01> to (|01>+|10>)/(sqrt(2))
  • |10> to (|00>-|11>)/(sqrt(2))
  • |11> to (|01>+|10>)/(sqrt(2))