(For more backstory/explanation, see my previous question.)
I'm a middle school student working on a very, very informal project; my problem statement is as follows:
There is no way for theoreticians, researchers, and students in the field of quantum computing to simulate and test complex, large quantum circuits in an intuitive, efficient way without creating the code for the application themselves. A web application that works in popular browsers with an simple interface that could accurately produce results on the outcomes of quantum algorithms, error correction codes, entanglement, decoherence, and the other aspects of both an ideal and realistic interface would allow professionals and students alike to test their ideas and get a better understanding of the field of quantum computing.
So, as I am working through the book Code Complete, the next step was to list requirements. As I've never done this before and it is such an informal project, I am unsure if the requirements list I came up with is any good, or if there are improvements that should be made to it. So here's the list:
- Takes in as input starting state of the qubits, each gate to be applied to which qubit, how many qubits should be used, and what implementation of quantum computing they'd like to test in (for decoherence time estimates).
- Outputs should be current state of every qubit and probability of |0> and |1> state for every qubit.
- Outputs should be given on the website and downloadable along with inputs in a text file.
- State of qubits should be a vector, probability should be a number from 0 to 1, gates should be one of several commonly used gates or the custom gate option.
- Inputs for gates should be one of several buttons (pressed).
- Inputs for state and number of qubits should be integer input.
- Once user inputs data and presses the button to compute, it should not take very long to produce the answer (e.g., one minute max for 5 qubit calculations is one benchmark).
- Should be a website interface, with input blanks based on previous user input, i.e., create an account to save your simulations (takes in email and password), then a tab to look at previous text files from simulations and a tab to create a new simulation. Then, the user would input the number of qubits and starting state of qubits, click next and it will have you list gates for 1st qubit, click done, 2nd qubit, etc. If the option inputted is custom gate, a blank pops up where you can fill in the necessary data for the gate. When done, it transitions to a "calculating" style screen, and then gives the result and text file to download, with an option to save and an option to start over (last option available throughout).
- The safety of the user's email, password, and text files must be high, as there could be important/confidential research-related information stored there.
- Place on site to report bugs and request improvements.
- Has common quantum gates available and a custom gate option.
- Simulates decoherence, entanglement, and other common features of quantum computing.
- Allows choice between ideal (no decoherence) and non-ideal (decoherence) quantum computer.
- Generalizable to large numbers of qubits (runs as efficiently as possible).
- Documentation on-site for users.
- Accurate results (basic cases, at minimum, checked against accepted results.
- Option to make text files public/private and a location to access public simulations?