Run experiment
How to run your experiment and see its results
After creating and configuring your experiment, you can try and run it. To run an experiment, ensure that you are in your experiment root directory, and use the following command:
qne experiment run
After the command is executed, a number of files are created in the input directory: network.yaml, roles.yaml, sender.yaml and receiver.yaml. These files originate from the json files and are parsed to work with the simulator. You don't have to do anything with these files. To run the experiment again you can change the values in the json files again and the yaml files will be overwritten once the experiment is run.
Besides generating the yaml files, two directories have also been created: raw_output and results. The raw_output stores all results from multiple runs. This is done by a directory LAST which always stores the results of the last experiment performed and a directory with the name of the date and time the experiment was performed. But since the raw_output directory contains the 'pure' results from the simulator, this isn't the most pleasant way to view your results. That's what the results directory is for.
In the results directory, there is an existing file called processed.json. This file lists all the raw_output results, but in a more readable way. An example of the processed.json of a teleport application looks like this:
{
"round_number": 1,
"round_set": "local",
"round_result": [
{
"app_receiver": {
"correction1": "None",
"correction2": "X",
"fidelity": 1.0,
"original_state": [
[
[
1.0,
0.0
],
[
0.0,
0.0
]
],
[
[
0.0,
0.0
],
[
0.0,
0.0
]
]
],
"received_state": [
[
[
1.0,
0.0
],
[
0.0,
0.0
]
],
[
[
0.0,
0.0
],
[
0.0,
0.0
]
]
]
},
"app_sender": {
"m1": 0,
"m2": 1
}
}
],
"instructions": [
{...}
],
"cumulative_result": {}
}
The processed.json consists of the main properties round_number, round_set, round_result, instructions and a cumulative_result. For now round_number will always equal one since only one round is supported for now. Normally there could be several rounds per run for an experiment and all the results of each round would then be listed in the round_result list.
In round_result you can find the results of your run. Here is the original state displayed for example in the teleport application, and the received state after the run.
The property instructions specifies all instructions that were executed in this run. On the Quantum Network Explorer website these instructions are used for the visualization of the experiment. For the local run the instructions are added but not used.
You can also use the following command to show the results:
qne experiment results --show