You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This projct focuses on the documentation of applications for Quantum Computers.
5
+
This project focuses on the documentation of applications for Quantum Computers. Quantum Computing Application (QCA) is a python library for constructing quantum circuits for a set of
6
+
kernels and applications from the corresponding paper, and generating a series of resource estimates from it. All resource estimates are in the Clifford + T gateset.
7
+
8
+
QCA is structured the following:
9
+
- notebooks/
10
+
- A series of jupyter notebooks corresponding to each chapter in the paper which describes on how the application's workflow would look like. The following is a mapping of the notebook to its corresponding chapter on the report
11
+
- ExoticPhasesExample.ipynb -> Chapter 3. Exploring exotic phases of magnetic materials near instabilities
12
+
- DickeModelExample.ipynb -> Chapter 4. Driven-dissipative Dicke model in the ultrastrong coupling regime
13
+
- HighTemperatureSuperConductorExample.ipynb -> Chapter 5. High-temperature superconductivity and exotic properties of FermiHubbard models
14
+
- ArtificialPhotosynthesisExample.ipynb -> Chapter 6. Computational catalysis for artificial photosynthesis
15
+
- QuantumChromoDynamicsExample.ipynb -> Chapter 7. Simulations of quantum chromodynamics and nuclear astrophysics
16
+
- scripts/
17
+
- Python scripts that allows an end user to run an application over the command line
18
+
- qca.utils
19
+
- Module that contains utility functions regarding constructing circuits for a given application'
20
+
- tests/
21
+
- Unit test cases to verify QCA's functionality
22
+
23
+
After running some program, you'd get the following output:
24
+
```json
25
+
{
26
+
[(OPTIONAL) block of metadata information]
27
+
[block of resource estimates]
28
+
}
29
+
```
30
+
where the block of metadata information is the following (note that any key below is optional):
31
+
```json
32
+
{
33
+
"name": str, // Name of the experiment
34
+
"category": str, // Type of experiment such as scientific or industrial
35
+
"size": str, // Size of the Hamiltonian
36
+
"task": str, // The computational task such as ground_state_energy_estimation and time_dependent_dynamics
37
+
"implementation": str, // Description of the implementation such as block encoding used
38
+
"value": float, // The utility estimate in US dollars for the problem
39
+
"value_per_t_gate": float, // The utility estimate value per t gate,
40
+
"repetitions_per_application": int, // Total number of times to repeat the circuit to realize its utility
41
+
"is_extrapolated": bool, // Denoting if the circuit was extrapolated to save compute time
42
+
"gate_synth_accuracy": float, // The approximation error to decompose the circuit
43
+
"nsteps": int, // Total number of steps taken
44
+
"evolution_time": float, // Total evolution time
45
+
"energy_precision": float, // Acceptable shift in state energy
46
+
}
47
+
```
48
+
49
+
where the block of resource estimations is the following:
50
+
```json
51
+
{
52
+
"num_qubits": int, // number of qubits in the system
53
+
"t_count": int, // total number of T gates
54
+
"clifford_count": int, // total number of clifford gates
55
+
"gate_count": int, // total number of gates
56
+
"gate_depth": int, // total gate depth
57
+
"subcircuit_occurences": int, // total number of times we come across this subcircuit
58
+
"t_depth": int, // total T depth
59
+
"max_t_depth_wire": int, // maximum number of T-gates on a wire
60
+
}
61
+
```
62
+
63
+
unless stated otherwise, the output will be generated as "{application_name}_re.json"
0 commit comments