├── QKD ├── cascade │ └── __init__.py ├── plots │ ├── error_length_cascade.png │ └── error_length_cascade_len300.png └── E91 │ ├── E91_plot.py │ └── README.md ├── FileStructure.png ├── smart_stopos_runscripts ├── output │ ├── QToken_2021-09-27_19.36 │ │ └── optimization │ │ │ ├── opt_step_1 │ │ │ ├── output │ │ │ │ ├── duplicates.csv │ │ │ │ ├── test_1.csv │ │ │ │ ├── test_10.csv │ │ │ │ ├── test_11.csv │ │ │ │ ├── test_12.csv │ │ │ │ ├── test_13.csv │ │ │ │ ├── test_14.csv │ │ │ │ ├── test_15.csv │ │ │ │ ├── test_16.csv │ │ │ │ ├── test_17.csv │ │ │ │ ├── test_18.csv │ │ │ │ ├── test_19.csv │ │ │ │ ├── test_2.csv │ │ │ │ ├── test_20.csv │ │ │ │ ├── test_21.csv │ │ │ │ ├── test_22.csv │ │ │ │ ├── test_23.csv │ │ │ │ ├── test_24.csv │ │ │ │ ├── test_25.csv │ │ │ │ ├── test_26.csv │ │ │ │ ├── test_27.csv │ │ │ │ ├── test_28.csv │ │ │ │ ├── test_29.csv │ │ │ │ ├── test_3.csv │ │ │ │ ├── test_30.csv │ │ │ │ ├── test_31.csv │ │ │ │ ├── test_32.csv │ │ │ │ ├── test_33.csv │ │ │ │ ├── test_34.csv │ │ │ │ ├── test_35.csv │ │ │ │ ├── test_36.csv │ │ │ │ ├── test_37.csv │ │ │ │ ├── test_38.csv │ │ │ │ ├── test_39.csv │ │ │ │ ├── test_4.csv │ │ │ │ ├── test_40.csv │ │ │ │ ├── test_41.csv │ │ │ │ ├── test_42.csv │ │ │ │ ├── test_43.csv │ │ │ │ ├── test_44.csv │ │ │ │ ├── test_45.csv │ │ │ │ ├── test_46.csv │ │ │ │ ├── test_47.csv │ │ │ │ ├── test_48.csv │ │ │ │ ├── test_49.csv │ │ │ │ ├── test_5.csv │ │ │ │ ├── test_50.csv │ │ │ │ ├── test_51.csv │ │ │ │ ├── test_52.csv │ │ │ │ ├── test_53.csv │ │ │ │ ├── test_54.csv │ │ │ │ ├── test_55.csv │ │ │ │ ├── test_56.csv │ │ │ │ ├── test_57.csv │ │ │ │ ├── test_58.csv │ │ │ │ ├── test_59.csv │ │ │ │ ├── test_6.csv │ │ │ │ ├── test_60.csv │ │ │ │ ├── test_61.csv │ │ │ │ ├── test_62.csv │ │ │ │ ├── test_63.csv │ │ │ │ ├── test_64.csv │ │ │ │ ├── test_65.csv │ │ │ │ ├── test_66.csv │ │ │ │ ├── test_67.csv │ │ │ │ ├── test_68.csv │ │ │ │ ├── test_69.csv │ │ │ │ ├── test_7.csv │ │ │ │ ├── test_70.csv │ │ │ │ ├── test_71.csv │ │ │ │ ├── test_72.csv │ │ │ │ ├── test_73.csv │ │ │ │ ├── test_74.csv │ │ │ │ ├── test_75.csv │ │ │ │ ├── test_76.csv │ │ │ │ ├── test_77.csv │ │ │ │ ├── test_78.csv │ │ │ │ ├── test_79.csv │ │ │ │ ├── test_8.csv │ │ │ │ ├── test_80.csv │ │ │ │ ├── test_81.csv │ │ │ │ ├── test_82.csv │ │ │ │ ├── test_83.csv │ │ │ │ ├── test_84.csv │ │ │ │ ├── test_85.csv │ │ │ │ ├── test_86.csv │ │ │ │ ├── test_87.csv │ │ │ │ ├── test_88.csv │ │ │ │ ├── test_89.csv │ │ │ │ ├── test_9.csv │ │ │ │ ├── test_90.csv │ │ │ │ ├── test_91.csv │ │ │ │ ├── test_92.csv │ │ │ │ ├── test_93.csv │ │ │ │ ├── test_94.csv │ │ │ │ ├── test_95.csv │ │ │ │ ├── test_96.csv │ │ │ │ ├── test_97.csv │ │ │ │ ├── test_98.csv │ │ │ │ └── test_99.csv │ │ │ ├── analyse_function_output.py │ │ │ ├── input_file.ini │ │ │ └── run_qtoken.py │ │ │ ├── opt_step_0 │ │ │ ├── output │ │ │ │ ├── test_1.csv │ │ │ │ ├── test_10.csv │ │ │ │ ├── test_11.csv │ │ │ │ ├── test_12.csv │ │ │ │ ├── test_13.csv │ │ │ │ ├── test_14.csv │ │ │ │ ├── test_15.csv │ │ │ │ ├── test_16.csv │ │ │ │ ├── test_17.csv │ │ │ │ ├── test_18.csv │ │ │ │ ├── test_19.csv │ │ │ │ ├── test_2.csv │ │ │ │ ├── test_20.csv │ │ │ │ ├── test_21.csv │ │ │ │ ├── test_22.csv │ │ │ │ ├── test_23.csv │ │ │ │ ├── test_24.csv │ │ │ │ ├── test_25.csv │ │ │ │ ├── test_26.csv │ │ │ │ ├── test_27.csv │ │ │ │ ├── test_28.csv │ │ │ │ ├── test_29.csv │ │ │ │ ├── test_3.csv │ │ │ │ ├── test_30.csv │ │ │ │ ├── test_31.csv │ │ │ │ ├── test_32.csv │ │ │ │ ├── test_33.csv │ │ │ │ ├── test_34.csv │ │ │ │ ├── test_35.csv │ │ │ │ ├── test_36.csv │ │ │ │ ├── test_37.csv │ │ │ │ ├── test_38.csv │ │ │ │ ├── test_39.csv │ │ │ │ ├── test_4.csv │ │ │ │ ├── test_40.csv │ │ │ │ ├── test_41.csv │ │ │ │ ├── test_42.csv │ │ │ │ ├── test_43.csv │ │ │ │ ├── test_44.csv │ │ │ │ ├── test_45.csv │ │ │ │ ├── test_46.csv │ │ │ │ ├── test_47.csv │ │ │ │ ├── test_48.csv │ │ │ │ ├── test_49.csv │ │ │ │ ├── test_5.csv │ │ │ │ ├── test_50.csv │ │ │ │ ├── test_51.csv │ │ │ │ ├── test_52.csv │ │ │ │ ├── test_53.csv │ │ │ │ ├── test_54.csv │ │ │ │ ├── test_55.csv │ │ │ │ ├── test_56.csv │ │ │ │ ├── test_57.csv │ │ │ │ ├── test_58.csv │ │ │ │ ├── test_59.csv │ │ │ │ ├── test_6.csv │ │ │ │ ├── test_60.csv │ │ │ │ ├── test_61.csv │ │ │ │ ├── test_62.csv │ │ │ │ ├── test_63.csv │ │ │ │ ├── test_64.csv │ │ │ │ ├── test_65.csv │ │ │ │ ├── test_66.csv │ │ │ │ ├── test_67.csv │ │ │ │ ├── test_68.csv │ │ │ │ ├── test_69.csv │ │ │ │ ├── test_7.csv │ │ │ │ ├── test_70.csv │ │ │ │ ├── test_71.csv │ │ │ │ ├── test_72.csv │ │ │ │ ├── test_73.csv │ │ │ │ ├── test_74.csv │ │ │ │ ├── test_75.csv │ │ │ │ ├── test_76.csv │ │ │ │ ├── test_77.csv │ │ │ │ ├── test_78.csv │ │ │ │ ├── test_79.csv │ │ │ │ ├── test_8.csv │ │ │ │ ├── test_80.csv │ │ │ │ ├── test_81.csv │ │ │ │ ├── test_82.csv │ │ │ │ ├── test_83.csv │ │ │ │ ├── test_84.csv │ │ │ │ ├── test_85.csv │ │ │ │ ├── test_86.csv │ │ │ │ ├── test_87.csv │ │ │ │ ├── test_88.csv │ │ │ │ ├── test_89.csv │ │ │ │ ├── test_9.csv │ │ │ │ ├── test_90.csv │ │ │ │ ├── test_91.csv │ │ │ │ ├── test_92.csv │ │ │ │ ├── test_93.csv │ │ │ │ ├── test_94.csv │ │ │ │ ├── test_95.csv │ │ │ │ ├── test_96.csv │ │ │ │ ├── test_97.csv │ │ │ │ ├── test_98.csv │ │ │ │ ├── test_99.csv │ │ │ │ └── test_100.csv │ │ │ ├── analyse_function_output.py │ │ │ ├── input_file.ini │ │ │ └── run_qtoken.py │ │ │ ├── opt_step_2 │ │ │ ├── output │ │ │ │ ├── duplicates.csv │ │ │ │ ├── test_1.csv │ │ │ │ ├── test_10.csv │ │ │ │ ├── test_11.csv │ │ │ │ ├── test_12.csv │ │ │ │ ├── test_13.csv │ │ │ │ ├── test_14.csv │ │ │ │ ├── test_15.csv │ │ │ │ ├── test_16.csv │ │ │ │ ├── test_17.csv │ │ │ │ ├── test_18.csv │ │ │ │ ├── test_19.csv │ │ │ │ ├── test_2.csv │ │ │ │ ├── test_20.csv │ │ │ │ ├── test_21.csv │ │ │ │ ├── test_22.csv │ │ │ │ ├── test_23.csv │ │ │ │ ├── test_24.csv │ │ │ │ ├── test_25.csv │ │ │ │ ├── test_26.csv │ │ │ │ ├── test_27.csv │ │ │ │ ├── test_28.csv │ │ │ │ ├── test_29.csv │ │ │ │ ├── test_3.csv │ │ │ │ ├── test_30.csv │ │ │ │ ├── test_31.csv │ │ │ │ ├── test_32.csv │ │ │ │ ├── test_33.csv │ │ │ │ ├── test_34.csv │ │ │ │ ├── test_35.csv │ │ │ │ ├── test_36.csv │ │ │ │ ├── test_37.csv │ │ │ │ ├── test_38.csv │ │ │ │ ├── test_39.csv │ │ │ │ ├── test_4.csv │ │ │ │ ├── test_40.csv │ │ │ │ ├── test_41.csv │ │ │ │ ├── test_42.csv │ │ │ │ ├── test_43.csv │ │ │ │ ├── test_44.csv │ │ │ │ ├── test_45.csv │ │ │ │ ├── test_46.csv │ │ │ │ ├── test_47.csv │ │ │ │ ├── test_48.csv │ │ │ │ ├── test_49.csv │ │ │ │ ├── test_5.csv │ │ │ │ ├── test_50.csv │ │ │ │ ├── test_51.csv │ │ │ │ ├── test_52.csv │ │ │ │ ├── test_53.csv │ │ │ │ ├── test_54.csv │ │ │ │ ├── test_55.csv │ │ │ │ ├── test_56.csv │ │ │ │ ├── test_57.csv │ │ │ │ ├── test_58.csv │ │ │ │ ├── test_59.csv │ │ │ │ ├── test_6.csv │ │ │ │ ├── test_60.csv │ │ │ │ ├── test_61.csv │ │ │ │ ├── test_62.csv │ │ │ │ ├── test_63.csv │ │ │ │ ├── test_64.csv │ │ │ │ ├── test_65.csv │ │ │ │ ├── test_66.csv │ │ │ │ ├── test_67.csv │ │ │ │ ├── test_68.csv │ │ │ │ ├── test_69.csv │ │ │ │ ├── test_7.csv │ │ │ │ ├── test_70.csv │ │ │ │ ├── test_71.csv │ │ │ │ ├── test_72.csv │ │ │ │ ├── test_73.csv │ │ │ │ ├── test_74.csv │ │ │ │ ├── test_75.csv │ │ │ │ ├── test_76.csv │ │ │ │ ├── test_77.csv │ │ │ │ ├── test_78.csv │ │ │ │ ├── test_79.csv │ │ │ │ ├── test_8.csv │ │ │ │ ├── test_80.csv │ │ │ │ ├── test_81.csv │ │ │ │ ├── test_82.csv │ │ │ │ ├── test_83.csv │ │ │ │ ├── test_84.csv │ │ │ │ ├── test_85.csv │ │ │ │ ├── test_86.csv │ │ │ │ ├── test_87.csv │ │ │ │ ├── test_88.csv │ │ │ │ ├── test_89.csv │ │ │ │ ├── test_9.csv │ │ │ │ ├── test_90.csv │ │ │ │ ├── test_91.csv │ │ │ │ ├── test_92.csv │ │ │ │ ├── test_93.csv │ │ │ │ ├── test_94.csv │ │ │ │ ├── test_95.csv │ │ │ │ └── test_96.csv │ │ │ ├── analyse_function_output.py │ │ │ ├── input_file.ini │ │ │ └── run_qtoken.py │ │ │ ├── analyse_function_output.py │ │ │ ├── src │ │ │ ├── analyse_function_output.py │ │ │ ├── input_file.ini │ │ │ ├── log.txt │ │ │ ├── run_qtoken.py │ │ │ └── analysis.job │ │ │ ├── input_file.ini │ │ │ └── run_qtoken.py │ ├── QToken_2021-09-29_09.50 │ │ └── optimization │ │ │ ├── opt_step_0 │ │ │ ├── output │ │ │ │ ├── csv_output.csv │ │ │ │ ├── test_1.csv │ │ │ │ ├── test_2.csv │ │ │ │ ├── test_3.csv │ │ │ │ └── test_4.csv │ │ │ ├── param_set_0 │ │ │ ├── csv_output.csv │ │ │ ├── verify_simulation_results.py │ │ │ ├── analyse_function_output.py │ │ │ ├── input_file.ini │ │ │ └── run_qtoken.py │ │ │ ├── opt_step_1 │ │ │ ├── output │ │ │ │ ├── duplicates.csv │ │ │ │ ├── test_1.csv │ │ │ │ ├── test_2.csv │ │ │ │ ├── test_3.csv │ │ │ │ └── test_4.csv │ │ │ ├── param_set_1 │ │ │ ├── csv_output.csv │ │ │ ├── verify_simulation_results.py │ │ │ ├── analyse_function_output.py │ │ │ ├── input_file.ini │ │ │ └── run_qtoken.py │ │ │ ├── opt_step_2 │ │ │ ├── output │ │ │ │ ├── duplicates.csv │ │ │ │ ├── test_1.csv │ │ │ │ ├── test_2.csv │ │ │ │ ├── test_3.csv │ │ │ │ └── test_4.csv │ │ │ ├── param_set_2 │ │ │ ├── csv_output.csv │ │ │ ├── verify_simulation_results.py │ │ │ ├── analyse_function_output.py │ │ │ ├── input_file.ini │ │ │ └── run_qtoken.py │ │ │ ├── param_set_0 │ │ │ ├── param_set_1 │ │ │ ├── param_set_2 │ │ │ ├── param_set_3 │ │ │ ├── verify_simulation_results.py │ │ │ ├── src │ │ │ ├── verify_simulation_results.py │ │ │ ├── analyse_function_output.py │ │ │ ├── input_file.ini │ │ │ ├── run_qtoken.py │ │ │ └── analysis.job │ │ │ ├── analyse_function_output.py │ │ │ ├── input_file.ini │ │ │ └── run_qtoken.py │ └── QToken_2021-08-20_15.20 │ │ └── optimization │ │ ├── param_set_1 │ │ ├── opt_step_1 │ │ ├── param_set_1 │ │ ├── csv_output.csv │ │ ├── output │ │ │ └── duplicates.csv │ │ ├── analyse_function_output.py │ │ ├── run_qtoken.py │ │ └── input_file.ini │ │ ├── opt_step_0 │ │ ├── output │ │ │ ├── test_1.csv │ │ │ ├── test_2.csv │ │ │ ├── test_3.csv │ │ │ └── test_4.csv │ │ ├── param_set_0 │ │ ├── csv_output.csv │ │ ├── analyse_function_output.py │ │ ├── run_qtoken.py │ │ └── input_file.ini │ │ ├── param_set_2 │ │ ├── param_set_0 │ │ ├── analyse_function_output.py │ │ ├── src │ │ ├── analyse_function_output.py │ │ ├── run_qtoken.py │ │ ├── input_file.ini │ │ └── analysis.job │ │ ├── run_qtoken.py │ │ └── input_file.ini ├── src │ ├── run_example.sh │ ├── analyse_function_output.py │ ├── qtoken_sanity_check.py │ ├── input_file.ini │ ├── analysis.job │ └── run_qtoken.py └── ImplementationNotes.md ├── Others └── QmemoryTest │ ├── QMem.png │ └── QMem6.png ├── QuantumTeleportation ├── Bell_states.png ├── README.md ├── QT_sender.py └── QT_receiver.py ├── AnonymousTransmission ├── AnonymousTransmission_Network.png └── README.md ├── RemoteStatePreparation ├── RemoteStatePreparation_graph.png └── README.md ├── script ├── quantumTeleportation_main.py ├── ATw_main.py ├── quantumToken_main.py ├── mbqc_main.py ├── quantumToken_plot.py └── bb84_main.py ├── qline ├── README.md └── qline_plot.py ├── VBQC ├── VBQC_2qb │ ├── UBQC_plot.py │ └── README.md └── VBQC_3qb │ ├── README.md │ ├── compute │ └── README.md │ └── verify │ └── README.md ├── .gitignore └── QToken └── README.md /QKD/cascade/__init__.py: -------------------------------------------------------------------------------- 1 | from .cascade import SenderProtocol, ReceiverProtocol 2 | -------------------------------------------------------------------------------- /FileStructure.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiaoChinTe/netsquid-simulation/HEAD/FileStructure.png -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/duplicates.csv: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/output/csv_output.csv: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/output/duplicates.csv: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/output/duplicates.csv: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/param_set_1: -------------------------------------------------------------------------------- 1 | 884500.9449417605 79506.74611942914 -------------------------------------------------------------------------------- /Others/QmemoryTest/QMem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiaoChinTe/netsquid-simulation/HEAD/Others/QmemoryTest/QMem.png -------------------------------------------------------------------------------- /Others/QmemoryTest/QMem6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiaoChinTe/netsquid-simulation/HEAD/Others/QmemoryTest/QMem6.png -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_1/param_set_1: -------------------------------------------------------------------------------- 1 | 884500.9449417605 79506.74611942914 -------------------------------------------------------------------------------- /smart_stopos_runscripts/src/run_example.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | python3 run_qtoken.py --T1 0.7 --T2 0.6 --filebasename ../output/Test1 -------------------------------------------------------------------------------- /QKD/plots/error_length_cascade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiaoChinTe/netsquid-simulation/HEAD/QKD/plots/error_length_cascade.png -------------------------------------------------------------------------------- /QuantumTeleportation/Bell_states.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiaoChinTe/netsquid-simulation/HEAD/QuantumTeleportation/Bell_states.png -------------------------------------------------------------------------------- /QKD/plots/error_length_cascade_len300.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiaoChinTe/netsquid-simulation/HEAD/QKD/plots/error_length_cascade_len300.png -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_0/output/test_1.csv: -------------------------------------------------------------------------------- 1 | 0.8475422427035331,884500.9449417605,79506.37949568727 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_0/output/test_2.csv: -------------------------------------------------------------------------------- 1 | 0.7889669529013792,884500.9449417605,99067.91085242946 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_0/output/test_3.csv: -------------------------------------------------------------------------------- 1 | 0.8778081360048573,536805.7609299684,79506.37949568727 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_0/output/test_4.csv: -------------------------------------------------------------------------------- 1 | 0.877657935285054,536805.7609299684,99067.91085242946 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_1.csv: -------------------------------------------------------------------------------- 1 | 1.310503616195326,0.9391401145221233,0.926152419511023 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_10.csv: -------------------------------------------------------------------------------- 1 | 1.2140262484393478,0.9391401145221233,0.8885694141731061 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_11.csv: -------------------------------------------------------------------------------- 1 | 1.4579815521623531,0.9619883820834462,0.926152419511023 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_12.csv: -------------------------------------------------------------------------------- 1 | 1.3619072198357194,0.9619883820834462,0.8800733294519619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_13.csv: -------------------------------------------------------------------------------- 1 | 1.4740507524538782,0.9619883820834462,0.8743741694687623 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_14.csv: -------------------------------------------------------------------------------- 1 | 1.35689476976951,0.9619883820834462,0.8846976497507636 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_15.csv: -------------------------------------------------------------------------------- 1 | 1.4724804453254428,0.9619883820834462,0.9389904480601763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_16.csv: -------------------------------------------------------------------------------- 1 | 1.2174761239524357,0.9619883820834462,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_17.csv: -------------------------------------------------------------------------------- 1 | 1.6775590782146206,0.9619883820834462,0.9723016401586148 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_18.csv: -------------------------------------------------------------------------------- 1 | 1.4661935982644216,0.9619883820834462,0.8873802512663908 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_19.csv: -------------------------------------------------------------------------------- 1 | 1.6087084924363195,0.9619883820834462,0.962673564355708 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_2.csv: -------------------------------------------------------------------------------- 1 | 1.1952938209171948,0.9391401145221233,0.8800733294519619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_20.csv: -------------------------------------------------------------------------------- 1 | 1.4000191734871767,0.9619883820834462,0.8885694141731061 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_21.csv: -------------------------------------------------------------------------------- 1 | 1.6160191933679555,0.9664856882418946,0.926152419511023 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_22.csv: -------------------------------------------------------------------------------- 1 | 1.6139030403967616,0.9664856882418946,0.8800733294519619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_23.csv: -------------------------------------------------------------------------------- 1 | 1.334933980525295,0.9664856882418946,0.8743741694687623 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_24.csv: -------------------------------------------------------------------------------- 1 | 1.5081356969932238,0.9664856882418946,0.8846976497507636 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_25.csv: -------------------------------------------------------------------------------- 1 | 1.5364075514138107,0.9664856882418946,0.9389904480601763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_26.csv: -------------------------------------------------------------------------------- 1 | 1.3358297655571914,0.9664856882418946,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_27.csv: -------------------------------------------------------------------------------- 1 | 1.605169693098345,0.9664856882418946,0.9723016401586148 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_28.csv: -------------------------------------------------------------------------------- 1 | 1.588344848364184,0.9664856882418946,0.8873802512663908 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_29.csv: -------------------------------------------------------------------------------- 1 | 1.6384138875398238,0.9664856882418946,0.962673564355708 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_3.csv: -------------------------------------------------------------------------------- 1 | 1.234375665904813,0.9391401145221233,0.8743741694687623 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_30.csv: -------------------------------------------------------------------------------- 1 | 1.3781525160675416,0.9664856882418946,0.8885694141731061 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_31.csv: -------------------------------------------------------------------------------- 1 | 1.3855529743828108,0.955722405664206,0.926152419511023 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_32.csv: -------------------------------------------------------------------------------- 1 | 1.4932423387685452,0.955722405664206,0.8800733294519619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_33.csv: -------------------------------------------------------------------------------- 1 | 1.3223779872556398,0.955722405664206,0.8743741694687623 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_34.csv: -------------------------------------------------------------------------------- 1 | 1.3643379448780433,0.955722405664206,0.8846976497507636 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_35.csv: -------------------------------------------------------------------------------- 1 | 1.6362398107664136,0.955722405664206,0.9389904480601763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_36.csv: -------------------------------------------------------------------------------- 1 | 1.2425296993660246,0.955722405664206,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_37.csv: -------------------------------------------------------------------------------- 1 | 1.7181037925113167,0.955722405664206,0.9723016401586148 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_38.csv: -------------------------------------------------------------------------------- 1 | 1.2863937744364073,0.955722405664206,0.8873802512663908 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_39.csv: -------------------------------------------------------------------------------- 1 | 1.5078673835045202,0.955722405664206,0.962673564355708 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_4.csv: -------------------------------------------------------------------------------- 1 | 1.2709573273655599,0.9391401145221233,0.8846976497507636 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_40.csv: -------------------------------------------------------------------------------- 1 | 1.3437825117435733,0.955722405664206,0.8885694141731061 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_41.csv: -------------------------------------------------------------------------------- 1 | 1.7277989146166717,0.9963971283539432,0.926152419511023 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_42.csv: -------------------------------------------------------------------------------- 1 | 1.704792283498941,0.9963971283539432,0.8800733294519619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_43.csv: -------------------------------------------------------------------------------- 1 | 1.7364911355722574,0.9963971283539432,0.8743741694687623 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_44.csv: -------------------------------------------------------------------------------- 1 | 1.566056154495039,0.9963971283539432,0.8846976497507636 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_45.csv: -------------------------------------------------------------------------------- 1 | 1.922531289583695,0.9963971283539432,0.9389904480601763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_46.csv: -------------------------------------------------------------------------------- 1 | 1.50683539428382,0.9963971283539432,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_47.csv: -------------------------------------------------------------------------------- 1 | 1.8726261173827883,0.9963971283539432,0.9723016401586148 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_48.csv: -------------------------------------------------------------------------------- 1 | 1.6279857359735261,0.9963971283539432,0.8873802512663908 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_49.csv: -------------------------------------------------------------------------------- 1 | 1.793506964089258,0.9963971283539432,0.962673564355708 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_5.csv: -------------------------------------------------------------------------------- 1 | 1.3496801886493102,0.9391401145221233,0.9389904480601763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_50.csv: -------------------------------------------------------------------------------- 1 | 1.5747151872115706,0.9963971283539432,0.8885694141731061 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_51.csv: -------------------------------------------------------------------------------- 1 | 1.4995441007149681,0.9690021420536598,0.926152419511023 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_52.csv: -------------------------------------------------------------------------------- 1 | 1.348152781849215,0.9690021420536598,0.8800733294519619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_53.csv: -------------------------------------------------------------------------------- 1 | 1.4319789998334542,0.9690021420536598,0.8743741694687623 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_54.csv: -------------------------------------------------------------------------------- 1 | 1.3541939185903207,0.9690021420536598,0.8846976497507636 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_55.csv: -------------------------------------------------------------------------------- 1 | 1.4985068915168145,0.9690021420536598,0.9389904480601763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_56.csv: -------------------------------------------------------------------------------- 1 | 1.2582084524967487,0.9690021420536598,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_57.csv: -------------------------------------------------------------------------------- 1 | 1.652046367076394,0.9690021420536598,0.9723016401586148 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_58.csv: -------------------------------------------------------------------------------- 1 | 1.4045259578261042,0.9690021420536598,0.8873802512663908 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_59.csv: -------------------------------------------------------------------------------- 1 | 1.602522608916305,0.9690021420536598,0.962673564355708 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_6.csv: -------------------------------------------------------------------------------- 1 | 1.1093817496292444,0.9391401145221233,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_60.csv: -------------------------------------------------------------------------------- 1 | 1.374855603826746,0.9690021420536598,0.8885694141731061 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_61.csv: -------------------------------------------------------------------------------- 1 | 1.3882191673047837,0.9412962766277272,0.926152419511023 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_62.csv: -------------------------------------------------------------------------------- 1 | 1.2689071508638083,0.9412962766277272,0.8800733294519619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_63.csv: -------------------------------------------------------------------------------- 1 | 1.243607845251111,0.9412962766277272,0.8743741694687623 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_64.csv: -------------------------------------------------------------------------------- 1 | 1.2142404023002544,0.9412962766277272,0.8846976497507636 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_65.csv: -------------------------------------------------------------------------------- 1 | 1.370566362239735,0.9412962766277272,0.9389904480601763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_66.csv: -------------------------------------------------------------------------------- 1 | 1.3437565266152949,0.9412962766277272,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_67.csv: -------------------------------------------------------------------------------- 1 | 1.4803220174529943,0.9412962766277272,0.9723016401586148 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_68.csv: -------------------------------------------------------------------------------- 1 | 1.2716881910616546,0.9412962766277272,0.8873802512663908 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_69.csv: -------------------------------------------------------------------------------- 1 | 1.478229673432935,0.9412962766277272,0.962673564355708 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_7.csv: -------------------------------------------------------------------------------- 1 | 1.6964488308755565,0.9391401145221233,0.9723016401586148 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_70.csv: -------------------------------------------------------------------------------- 1 | 1.3255218126391632,0.9412962766277272,0.8885694141731061 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_71.csv: -------------------------------------------------------------------------------- 1 | 1.2580129428751654,0.9238214983874381,0.926152419511023 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_72.csv: -------------------------------------------------------------------------------- 1 | 1.2063049086963078,0.9238214983874381,0.8800733294519619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_73.csv: -------------------------------------------------------------------------------- 1 | 1.1686501457072338,0.9238214983874381,0.8743741694687623 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_74.csv: -------------------------------------------------------------------------------- 1 | 1.1485661975750696,0.9238214983874381,0.8846976497507636 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_75.csv: -------------------------------------------------------------------------------- 1 | 1.2928791705015632,0.9238214983874381,0.9389904480601763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_76.csv: -------------------------------------------------------------------------------- 1 | 1.0525807314814974,0.9238214983874381,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_77.csv: -------------------------------------------------------------------------------- 1 | 1.4245789567956062,0.9238214983874381,0.9723016401586148 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_78.csv: -------------------------------------------------------------------------------- 1 | 1.2054693240271015,0.9238214983874381,0.8873802512663908 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_79.csv: -------------------------------------------------------------------------------- 1 | 1.3760170071692885,0.9238214983874381,0.962673564355708 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_8.csv: -------------------------------------------------------------------------------- 1 | 1.2113444162489226,0.9391401145221233,0.8873802512663908 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_80.csv: -------------------------------------------------------------------------------- 1 | 1.1572252302916008,0.9238214983874381,0.8885694141731061 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_81.csv: -------------------------------------------------------------------------------- 1 | 1.4648969254018467,0.9633729278915596,0.926152419511023 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_82.csv: -------------------------------------------------------------------------------- 1 | 1.3471150641247425,0.9633729278915596,0.8800733294519619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_83.csv: -------------------------------------------------------------------------------- 1 | 1.3134126267884665,0.9633729278915596,0.8743741694687623 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_84.csv: -------------------------------------------------------------------------------- 1 | 1.3714961851024972,0.9633729278915596,0.8846976497507636 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_85.csv: -------------------------------------------------------------------------------- 1 | 1.4654844827043156,0.9633729278915596,0.9389904480601763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_86.csv: -------------------------------------------------------------------------------- 1 | 1.247594822108364,0.9633729278915596,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_87.csv: -------------------------------------------------------------------------------- 1 | 1.5872531249305617,0.9633729278915596,0.9723016401586148 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_88.csv: -------------------------------------------------------------------------------- 1 | 1.4707995039547215,0.9633729278915596,0.8873802512663908 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_89.csv: -------------------------------------------------------------------------------- 1 | 1.7208907786123309,0.9633729278915596,0.962673564355708 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_9.csv: -------------------------------------------------------------------------------- 1 | 1.4328180253170355,0.9391401145221233,0.962673564355708 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_90.csv: -------------------------------------------------------------------------------- 1 | 1.329830542494353,0.9633729278915596,0.8885694141731061 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_91.csv: -------------------------------------------------------------------------------- 1 | 1.4687432704696661,0.9607672451025926,0.926152419511023 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_92.csv: -------------------------------------------------------------------------------- 1 | 1.3334799992557058,0.9607672451025926,0.8800733294519619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_93.csv: -------------------------------------------------------------------------------- 1 | 1.2846855428945372,0.9607672451025926,0.8743741694687623 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_94.csv: -------------------------------------------------------------------------------- 1 | 1.4942886881789748,0.9607672451025926,0.8846976497507636 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_95.csv: -------------------------------------------------------------------------------- 1 | 1.6539705135644849,0.9607672451025926,0.9389904480601763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_96.csv: -------------------------------------------------------------------------------- 1 | 1.2763645002018622,0.9607672451025926,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_97.csv: -------------------------------------------------------------------------------- 1 | 1.5728703033317144,0.9607672451025926,0.9723016401586148 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_98.csv: -------------------------------------------------------------------------------- 1 | 1.3127658887050808,0.9607672451025926,0.8873802512663908 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_99.csv: -------------------------------------------------------------------------------- 1 | 1.599995800294202,0.9607672451025926,0.962673564355708 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_1.csv: -------------------------------------------------------------------------------- 1 | 1.1607367688333814,0.923821498387438,0.8901131649243511 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_10.csv: -------------------------------------------------------------------------------- 1 | 1.0611591536378282,0.9263189149975732,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_11.csv: -------------------------------------------------------------------------------- 1 | 1.2723221910191578,0.9622684450365699,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_12.csv: -------------------------------------------------------------------------------- 1 | 1.1306796812163586,0.9391401145221232,0.8322565932397589 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_13.csv: -------------------------------------------------------------------------------- 1 | 1.092910125997722,0.923821498387438,0.8573766528692582 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_14.csv: -------------------------------------------------------------------------------- 1 | 1.1050569571672186,0.9322129605067992,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_15.csv: -------------------------------------------------------------------------------- 1 | 1.2590518533456871,0.9150089404100481,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_16.csv: -------------------------------------------------------------------------------- 1 | 1.3206825409854133,0.9391401145221232,0.92960534613157 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_17.csv: -------------------------------------------------------------------------------- 1 | 1.28727171256919,0.9600456223972356,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_18.csv: -------------------------------------------------------------------------------- 1 | 1.3695220108409434,0.9458344371216836,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_19.csv: -------------------------------------------------------------------------------- 1 | 1.4253429980557837,0.9391401145221232,0.9607178726303441 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_2.csv: -------------------------------------------------------------------------------- 1 | 1.5550141685136163,0.993821027992488,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_20.csv: -------------------------------------------------------------------------------- 1 | 1.327510883713042,0.9391401145221232,0.9254872288668464 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_21.csv: -------------------------------------------------------------------------------- 1 | 1.3913583364467383,0.9876681947356694,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_22.csv: -------------------------------------------------------------------------------- 1 | 1.1930229389762976,0.9550762678762894,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_23.csv: -------------------------------------------------------------------------------- 1 | 1.2663611933733878,0.9703213265928226,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_24.csv: -------------------------------------------------------------------------------- 1 | 1.3635998612172602,0.9724147821527103,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_25.csv: -------------------------------------------------------------------------------- 1 | 1.5488868905434217,0.9391401145221232,0.98782613996167 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_26.csv: -------------------------------------------------------------------------------- 1 | 1.031598343605019,0.9174001436418129,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_27.csv: -------------------------------------------------------------------------------- 1 | 1.4268773846100538,0.9873767193529379,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_28.csv: -------------------------------------------------------------------------------- 1 | 1.1325406917649894,0.9312066922055353,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_29.csv: -------------------------------------------------------------------------------- 1 | 1.2692485308225565,0.923821498387438,0.9313918562254019 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_3.csv: -------------------------------------------------------------------------------- 1 | 1.0774792272287725,0.9136262822640919,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_30.csv: -------------------------------------------------------------------------------- 1 | 1.217594891085507,0.9144088721382526,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_31.csv: -------------------------------------------------------------------------------- 1 | 1.2980981250560215,0.9314954468747763,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_32.csv: -------------------------------------------------------------------------------- 1 | 1.1285242862302933,0.9437207909560552,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_33.csv: -------------------------------------------------------------------------------- 1 | 1.2965686679957023,0.9391401145221232,0.8880413764077818 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_34.csv: -------------------------------------------------------------------------------- 1 | 1.121488945253446,0.9334400096239226,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_35.csv: -------------------------------------------------------------------------------- 1 | 1.4809337888023173,0.9974964871762872,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_36.csv: -------------------------------------------------------------------------------- 1 | 1.1455844215810866,0.9391401145221232,0.8551657027598346 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_37.csv: -------------------------------------------------------------------------------- 1 | 1.1420081220650196,0.923821498387438,0.8817020726740382 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_38.csv: -------------------------------------------------------------------------------- 1 | 1.1489366672229346,0.923821498387438,0.8848652267744225 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_39.csv: -------------------------------------------------------------------------------- 1 | 1.4728286902162402,0.9932945216646518,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_4.csv: -------------------------------------------------------------------------------- 1 | 1.0604324720448104,0.9261100987860829,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_40.csv: -------------------------------------------------------------------------------- 1 | 1.493510486369241,0.9391401145221232,0.9712308559609647 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_41.csv: -------------------------------------------------------------------------------- 1 | 1.388780044617074,0.9391401145221232,0.8947217709627261 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_42.csv: -------------------------------------------------------------------------------- 1 | 1.1238768265983072,0.9391401145221232,0.8310521201324054 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_43.csv: -------------------------------------------------------------------------------- 1 | 1.2096957612709742,0.923821498387438,0.9018276508036452 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_44.csv: -------------------------------------------------------------------------------- 1 | 1.3667978176910622,0.977147589429668,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_45.csv: -------------------------------------------------------------------------------- 1 | 1.4902686682162998,0.9905867494721343,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_46.csv: -------------------------------------------------------------------------------- 1 | 1.4134952536832166,0.923821498387438,0.9720254641834002 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_47.csv: -------------------------------------------------------------------------------- 1 | 1.4462901066395326,0.9391401145221232,0.9523307845797447 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_48.csv: -------------------------------------------------------------------------------- 1 | 1.4874108904105143,0.9698137129779312,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_49.csv: -------------------------------------------------------------------------------- 1 | 1.5299380575912456,0.9391401145221232,0.98550593672356 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_5.csv: -------------------------------------------------------------------------------- 1 | 1.3025104234577074,0.9526570904311293,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_50.csv: -------------------------------------------------------------------------------- 1 | 1.4144119443211816,0.9901712954024258,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_51.csv: -------------------------------------------------------------------------------- 1 | 1.4092909761043386,0.9649593063976096,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_52.csv: -------------------------------------------------------------------------------- 1 | 1.043982876056794,0.919184446590328,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_53.csv: -------------------------------------------------------------------------------- 1 | 1.293674991680705,0.9391401145221232,0.9202505085034153 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_54.csv: -------------------------------------------------------------------------------- 1 | 1.4719194943577811,0.9965858906245606,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_55.csv: -------------------------------------------------------------------------------- 1 | 1.275682749462058,0.9717974917032859,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_56.csv: -------------------------------------------------------------------------------- 1 | 1.0591531066147315,0.9106255001592878,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_57.csv: -------------------------------------------------------------------------------- 1 | 1.2109894795961276,0.923821498387438,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_58.csv: -------------------------------------------------------------------------------- 1 | 1.2684115842210162,0.9139943288225585,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_59.csv: -------------------------------------------------------------------------------- 1 | 1.2551572907283086,0.923821498387438,0.8509747264986952 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_6.csv: -------------------------------------------------------------------------------- 1 | 1.4238602365455673,0.9824152122586258,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_60.csv: -------------------------------------------------------------------------------- 1 | 1.202588796269478,0.923821498387438,0.9074220377330008 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_61.csv: -------------------------------------------------------------------------------- 1 | 1.4829010134223393,0.9886466277366122,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_62.csv: -------------------------------------------------------------------------------- 1 | 1.2939762218359572,0.961295082035698,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_63.csv: -------------------------------------------------------------------------------- 1 | 1.2374406229189132,0.923821498387438,0.9204532830907713 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_64.csv: -------------------------------------------------------------------------------- 1 | 1.1792267889915697,0.923821498387438,0.8645963968678513 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_65.csv: -------------------------------------------------------------------------------- 1 | 1.4600442004868484,0.9704217549270724,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_66.csv: -------------------------------------------------------------------------------- 1 | 1.2361851506910597,0.9319985457698585,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_67.csv: -------------------------------------------------------------------------------- 1 | 1.2033130904162472,0.9523574337496885,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_68.csv: -------------------------------------------------------------------------------- 1 | 1.5344201552131778,0.9995371365586454,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_69.csv: -------------------------------------------------------------------------------- 1 | 1.4107164014165259,0.923821498387438,0.9713568937619911 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_7.csv: -------------------------------------------------------------------------------- 1 | 1.0927639897050336,0.923821498387438,0.8306426063125135 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_70.csv: -------------------------------------------------------------------------------- 1 | 1.0543084302408934,0.923821498387438,0.8355467177956203 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_71.csv: -------------------------------------------------------------------------------- 1 | 1.2105331838725188,0.9607173738802408,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_72.csv: -------------------------------------------------------------------------------- 1 | 1.4393784272089345,0.923821498387438,0.9780737770140805 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_73.csv: -------------------------------------------------------------------------------- 1 | 1.3823096497691272,0.923821498387438,0.9528531462758324 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_74.csv: -------------------------------------------------------------------------------- 1 | 1.2955787588699375,0.9234307911099848,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_75.csv: -------------------------------------------------------------------------------- 1 | 1.4690162797902937,0.923821498387438,0.9846249241038735 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_76.csv: -------------------------------------------------------------------------------- 1 | 1.43838031428337,0.9719036039085269,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_77.csv: -------------------------------------------------------------------------------- 1 | 1.193499868765771,0.9391401145221232,0.8742018011423273 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_78.csv: -------------------------------------------------------------------------------- 1 | 1.641366504469486,0.9391401145221232,0.9849984875887002 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_79.csv: -------------------------------------------------------------------------------- 1 | 1.4754165165164614,0.923821498387438,0.985568811587792 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_8.csv: -------------------------------------------------------------------------------- 1 | 1.1680434853215784,0.9391401145221232,0.8415059734004716 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_80.csv: -------------------------------------------------------------------------------- 1 | 1.5579602889618993,0.9391401145221232,0.9913150773286233 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_81.csv: -------------------------------------------------------------------------------- 1 | 1.299712504351278,0.923821498387438,0.8544012053241824 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_82.csv: -------------------------------------------------------------------------------- 1 | 1.2117908855680453,0.9505847663898113,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_83.csv: -------------------------------------------------------------------------------- 1 | 1.45925400749655,0.9787649871163464,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_84.csv: -------------------------------------------------------------------------------- 1 | 1.4019817565606068,0.923821498387438,0.9692302027263379 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_85.csv: -------------------------------------------------------------------------------- 1 | 1.4040747245944178,0.923821498387438,0.8953535354237042 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_86.csv: -------------------------------------------------------------------------------- 1 | 1.1050380787686556,0.9303151086955612,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_87.csv: -------------------------------------------------------------------------------- 1 | 1.3769199875179914,0.9391401145221232,0.9394418201382603 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_88.csv: -------------------------------------------------------------------------------- 1 | 1.596809686684432,0.9391401145221232,0.9918302899616834 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_89.csv: -------------------------------------------------------------------------------- 1 | 1.5451159805346748,0.9391401145221232,0.9886910534227132 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_9.csv: -------------------------------------------------------------------------------- 1 | 1.0673498315335537,0.9113883080221261,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_90.csv: -------------------------------------------------------------------------------- 1 | 1.0079085769313387,0.9095653884361936,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_91.csv: -------------------------------------------------------------------------------- 1 | 1.308315272293315,0.9458064762961458,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_92.csv: -------------------------------------------------------------------------------- 1 | 1.424524241547843,0.9391401145221232,0.8820314153527568 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_93.csv: -------------------------------------------------------------------------------- 1 | 1.1276984752892312,0.9391401145221232,0.8452519677241755 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_94.csv: -------------------------------------------------------------------------------- 1 | 1.130139243246513,0.9440953589045393,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_95.csv: -------------------------------------------------------------------------------- 1 | 1.3365663463449589,0.9391401145221232,0.9155714686618904 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_96.csv: -------------------------------------------------------------------------------- 1 | 1.0597649624956613,0.923821498387438,0.8387956878784156 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_97.csv: -------------------------------------------------------------------------------- 1 | 1.1684139560177325,0.9391401145221232,0.8670591773022834 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_98.csv: -------------------------------------------------------------------------------- 1 | 1.0915960047245656,0.923821498387438,0.8566756054856545 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/output/test_99.csv: -------------------------------------------------------------------------------- 1 | 1.4491280839747254,0.923821498387438,0.9802714202471167 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/duplicates.csv: -------------------------------------------------------------------------------- 1 | 1.0079085769313387,0.9095653884361936,0.8345060803315859 -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_1.csv: -------------------------------------------------------------------------------- 1 | 1.3208752453961619,0.9720105361672263,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_10.csv: -------------------------------------------------------------------------------- 1 | 1.544431952378897,0.9994358567285614,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_11.csv: -------------------------------------------------------------------------------- 1 | 1.259833435815508,0.9486701682747917,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_12.csv: -------------------------------------------------------------------------------- 1 | 1.0780786351846825,0.9174001436418128,0.8606211423404461 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_13.csv: -------------------------------------------------------------------------------- 1 | 1.252456696037635,0.9576102784648265,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_14.csv: -------------------------------------------------------------------------------- 1 | 1.29644786229245,0.9689709801380113,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_15.csv: -------------------------------------------------------------------------------- 1 | 1.3259812023039688,0.9095653884361936,0.9117071415971542 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_16.csv: -------------------------------------------------------------------------------- 1 | 1.1859348869577473,0.9174001436418128,0.9091047367295683 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_17.csv: -------------------------------------------------------------------------------- 1 | 1.1164745686680122,0.9095653884361936,0.8767989124991699 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_18.csv: -------------------------------------------------------------------------------- 1 | 1.1073898297422327,0.9095653884361936,0.8780643996978256 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_19.csv: -------------------------------------------------------------------------------- 1 | 1.6743134384808342,0.9095653884361936,0.990829561580583 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_2.csv: -------------------------------------------------------------------------------- 1 | 1.486024058301913,0.9095653884361936,0.9627429554619001 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_20.csv: -------------------------------------------------------------------------------- 1 | 1.4572321041507907,0.9095653884361936,0.9827489479540578 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_21.csv: -------------------------------------------------------------------------------- 1 | 1.5681331075922054,0.9999098563006573,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_22.csv: -------------------------------------------------------------------------------- 1 | 1.2490601108848127,0.9174001436418128,0.9153441741590175 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_23.csv: -------------------------------------------------------------------------------- 1 | 1.3758063382524364,0.9095653884361936,0.9570940128627651 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_24.csv: -------------------------------------------------------------------------------- 1 | 1.390351384213158,0.9174001436418128,0.9098456225260724 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_25.csv: -------------------------------------------------------------------------------- 1 | 1.1765734907453655,0.9095653884361936,0.9145422096148147 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_26.csv: -------------------------------------------------------------------------------- 1 | 1.1775361477363833,0.9543426809670601,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_27.csv: -------------------------------------------------------------------------------- 1 | 1.0567227217144712,0.9174001436418128,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_28.csv: -------------------------------------------------------------------------------- 1 | 1.0774181733206358,0.930863644799788,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_29.csv: -------------------------------------------------------------------------------- 1 | 1.029949214572126,0.9174001436418128,0.8335073453030563 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_3.csv: -------------------------------------------------------------------------------- 1 | 1.173539858893226,0.9535308727311647,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_30.csv: -------------------------------------------------------------------------------- 1 | 1.3325892363829972,0.9509419747293365,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_31.csv: -------------------------------------------------------------------------------- 1 | 1.1827607534435678,0.9095653884361936,0.9093404915626729 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_32.csv: -------------------------------------------------------------------------------- 1 | 1.5945885048693609,0.9868513165796423,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_33.csv: -------------------------------------------------------------------------------- 1 | 1.0296792374672226,0.9167894559446124,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_34.csv: -------------------------------------------------------------------------------- 1 | 1.3970452379569154,0.9095653884361936,0.9221170743354438 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_35.csv: -------------------------------------------------------------------------------- 1 | 1.2689092946762148,0.9174001436418128,0.9342958982805615 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_36.csv: -------------------------------------------------------------------------------- 1 | 1.4813051367200947,0.9095653884361936,0.996208910614267 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_37.csv: -------------------------------------------------------------------------------- 1 | 1.1273399933075203,0.9384466055216765,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_38.csv: -------------------------------------------------------------------------------- 1 | 1.3493613137679947,0.9174001436418128,0.885852573026464 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_39.csv: -------------------------------------------------------------------------------- 1 | 1.2535191599514115,0.9174001436418128,0.9271591837328937 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_4.csv: -------------------------------------------------------------------------------- 1 | 1.1390589691390902,0.9395513693274946,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_40.csv: -------------------------------------------------------------------------------- 1 | 1.3061532172252484,0.9174001436418128,0.8793692922744231 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_41.csv: -------------------------------------------------------------------------------- 1 | 1.292352558908317,0.9743553126677408,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_42.csv: -------------------------------------------------------------------------------- 1 | 1.5422153136722145,0.9853696862069793,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_43.csv: -------------------------------------------------------------------------------- 1 | 1.3014604065911612,0.9451376714005184,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_44.csv: -------------------------------------------------------------------------------- 1 | 1.35852208204581,0.9174001436418128,0.9543705665785164 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_45.csv: -------------------------------------------------------------------------------- 1 | 1.095227854847226,0.9190206012773074,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_46.csv: -------------------------------------------------------------------------------- 1 | 1.260688142189169,0.9218453340696985,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_47.csv: -------------------------------------------------------------------------------- 1 | 1.3472355981478752,0.9095653884361936,0.9595284998396992 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_48.csv: -------------------------------------------------------------------------------- 1 | 1.2752597294623773,0.9095653884361936,0.8915255052342069 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_49.csv: -------------------------------------------------------------------------------- 1 | 1.2281366861779777,0.9095653884361936,0.9210378451590749 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_5.csv: -------------------------------------------------------------------------------- 1 | 1.2529072709566873,0.9095653884361936,0.8808786234189202 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_50.csv: -------------------------------------------------------------------------------- 1 | 1.0084570029078068,0.9097543356577656,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_51.csv: -------------------------------------------------------------------------------- 1 | 1.0339115923787334,0.9181308795119969,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_52.csv: -------------------------------------------------------------------------------- 1 | 1.539806176365144,0.9740857305928606,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_53.csv: -------------------------------------------------------------------------------- 1 | 1.0990193880524028,0.9174001436418128,0.8712304095232316 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_54.csv: -------------------------------------------------------------------------------- 1 | 1.1173419056776082,0.9174001436418128,0.8316817377749083 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_55.csv: -------------------------------------------------------------------------------- 1 | 1.347918678712706,0.9174001436418128,0.948683036365476 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_56.csv: -------------------------------------------------------------------------------- 1 | 1.047016356179535,0.9148208874259525,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_57.csv: -------------------------------------------------------------------------------- 1 | 1.2620619333929992,0.9174001436418128,0.9209837000063582 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_58.csv: -------------------------------------------------------------------------------- 1 | 1.227316661622865,0.9534913519223348,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_59.csv: -------------------------------------------------------------------------------- 1 | 1.2655365699314314,0.9174001436418128,0.8453705572225289 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_6.csv: -------------------------------------------------------------------------------- 1 | 1.470448132559485,0.9174001436418128,0.9540865104418353 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_60.csv: -------------------------------------------------------------------------------- 1 | 1.0305843616681236,0.912548387342022,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_61.csv: -------------------------------------------------------------------------------- 1 | 1.223956475442002,0.9631539843517978,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_62.csv: -------------------------------------------------------------------------------- 1 | 1.2622349921029088,0.9095653884361936,0.8763969728090181 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_63.csv: -------------------------------------------------------------------------------- 1 | 1.3405256131207581,0.9466122216032866,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_64.csv: -------------------------------------------------------------------------------- 1 | 1.2566629427013514,0.9095653884361936,0.9228590206212662 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_65.csv: -------------------------------------------------------------------------------- 1 | 1.328503770467057,0.9095653884361936,0.925571993425658 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_66.csv: -------------------------------------------------------------------------------- 1 | 1.5718962307218063,0.9174001436418128,0.9982817993865863 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_67.csv: -------------------------------------------------------------------------------- 1 | 1.184720994118248,0.9282002095791719,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_68.csv: -------------------------------------------------------------------------------- 1 | 1.4295706254599185,0.9095653884361936,0.985741144586653 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_69.csv: -------------------------------------------------------------------------------- 1 | 1.1508973102999587,0.9452740966495353,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_7.csv: -------------------------------------------------------------------------------- 1 | 1.6747165143069727,0.99732557557595,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_70.csv: -------------------------------------------------------------------------------- 1 | 1.0520787369922164,0.9196086277543923,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_71.csv: -------------------------------------------------------------------------------- 1 | 1.2490445741750724,0.9158145878171964,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_72.csv: -------------------------------------------------------------------------------- 1 | 1.3763608692719775,0.9797061214988452,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_73.csv: -------------------------------------------------------------------------------- 1 | 1.1777719060143834,0.9543902925044919,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_74.csv: -------------------------------------------------------------------------------- 1 | 1.1272286531325308,0.9095653884361936,0.8804291790044613 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_75.csv: -------------------------------------------------------------------------------- 1 | 1.1897196872150095,0.9095653884361936,0.9141828189324496 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_76.csv: -------------------------------------------------------------------------------- 1 | 1.3473022951760718,0.9507786654811402,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_77.csv: -------------------------------------------------------------------------------- 1 | 1.0622508154806272,0.9095653884361936,0.8391043611185093 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_78.csv: -------------------------------------------------------------------------------- 1 | 1.0835374190202485,0.9095653884361936,0.8339196843409226 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_79.csv: -------------------------------------------------------------------------------- 1 | 1.1105864484744459,0.9394362767309223,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_8.csv: -------------------------------------------------------------------------------- 1 | 1.6782208201636932,0.9174001436418128,0.9983879838237885 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_80.csv: -------------------------------------------------------------------------------- 1 | 1.427169423354547,0.9882936817265189,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_81.csv: -------------------------------------------------------------------------------- 1 | 1.1839992169867146,0.9407798210537897,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_82.csv: -------------------------------------------------------------------------------- 1 | 1.1045922712227414,0.9379518111063669,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_83.csv: -------------------------------------------------------------------------------- 1 | 1.4526471058093946,0.988588468201263,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_84.csv: -------------------------------------------------------------------------------- 1 | 1.2151730572113522,0.9174001436418128,0.9155375296139517 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_85.csv: -------------------------------------------------------------------------------- 1 | 1.6430318227299807,0.9095653884361936,0.9825896992035194 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_86.csv: -------------------------------------------------------------------------------- 1 | 1.1948783328941448,0.9174001436418128,0.9093403963801961 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_87.csv: -------------------------------------------------------------------------------- 1 | 1.2335440767641273,0.9174001436418128,0.9065725141256588 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_88.csv: -------------------------------------------------------------------------------- 1 | 1.5093829619946841,0.9174001436418128,0.9560542440029786 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_89.csv: -------------------------------------------------------------------------------- 1 | 1.5600039874163383,0.9973264113180556,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_9.csv: -------------------------------------------------------------------------------- 1 | 1.0564292415488294,0.9174001436418128,0.8489263827059664 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_90.csv: -------------------------------------------------------------------------------- 1 | 1.1824660073547115,0.9175781850922174,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_91.csv: -------------------------------------------------------------------------------- 1 | 1.0626129136755829,0.9115057126764277,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_92.csv: -------------------------------------------------------------------------------- 1 | 1.4237552548529901,0.9174001436418128,0.9125021639253431 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_93.csv: -------------------------------------------------------------------------------- 1 | 1.1247990548522702,0.9316834244611355,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_94.csv: -------------------------------------------------------------------------------- 1 | 1.1678139932267468,0.9523518475259829,0.8345060803315859 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_95.csv: -------------------------------------------------------------------------------- 1 | 1.0621976788070269,0.9095653884361936,0.8379793633226763 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/output/test_96.csv: -------------------------------------------------------------------------------- 1 | 1.1400749688353915,0.9174001436418128,0.8306601307731002 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/output/test_100.csv: -------------------------------------------------------------------------------- 1 | 1.3737810542288391,0.9607672451025926,0.8885694141731061 2 | -------------------------------------------------------------------------------- /AnonymousTransmission/AnonymousTransmission_Network.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiaoChinTe/netsquid-simulation/HEAD/AnonymousTransmission/AnonymousTransmission_Network.png -------------------------------------------------------------------------------- /RemoteStatePreparation/RemoteStatePreparation_graph.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/LiaoChinTe/netsquid-simulation/HEAD/RemoteStatePreparation/RemoteStatePreparation_graph.png -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/output/test_1.csv: -------------------------------------------------------------------------------- 1 | 1.2138763971725084,0.9098552686900079,0.9275209572336764,0.8798629801810619 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/output/test_2.csv: -------------------------------------------------------------------------------- 1 | 1.1201371285849584,0.9098552686900079,0.8388438509243247,0.7708791208791209 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/output/test_3.csv: -------------------------------------------------------------------------------- 1 | 1.4691709443831735,0.9554533575509933,0.9275209572336764,0.7940313111545988 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/output/test_4.csv: -------------------------------------------------------------------------------- 1 | 1.4514782439654796,0.9554533575509933,0.8388438509243247,0.6138638638638638 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/output/test_1.csv: -------------------------------------------------------------------------------- 1 | 1.3565669988035252,0.9488734446674271,0.9275209572336764,0.8865933078823265 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/output/test_2.csv: -------------------------------------------------------------------------------- 1 | 1.3935166217333763,0.909855268690008,0.9776104436630995,0.9835889157923057 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/output/test_3.csv: -------------------------------------------------------------------------------- 1 | 1.2163732034566763,0.909855268690008,0.8388438509243247,0.6746430460074035 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/output/test_4.csv: -------------------------------------------------------------------------------- 1 | 1.4831974826238947,0.9969931742484296,0.8388438509243247,0.968743169398907 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/output/test_1.csv: -------------------------------------------------------------------------------- 1 | 1.3765088271759043,0.9098552686900079,0.9552792735701293,0.803030303030303 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/output/test_2.csv: -------------------------------------------------------------------------------- 1 | 1.4959435664837988,0.9982660559061762,0.8388438509243247,0.9919354838709677 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/output/test_3.csv: -------------------------------------------------------------------------------- 1 | 1.0160162494640794,0.9098552686900079,0.8388438509243247,0.8829326923076923 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/output/test_4.csv: -------------------------------------------------------------------------------- 1 | 1.2767446901870183,0.9488734446674272,0.8854993463870579,0.847457627118644 2 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/param_set_2: -------------------------------------------------------------------------------- 1 | 884500.192917862 79506.37949568727 2 | 884500.9449417605 79506.01959559758 3 | 884500.9449417605 79506.37949568727 4 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_1/csv_output.csv: -------------------------------------------------------------------------------- 1 | 0.8778081360048573,536805.7609299684,79506.37949568727 2 | 0.8475422427035331,884500.9449417605,79506.37949568727 3 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_1/output/duplicates.csv: -------------------------------------------------------------------------------- 1 | 0.8778081360048573,536805.7609299684,79506.37949568727 2 | 0.8475422427035331,884500.9449417605,79506.37949568727 -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/param_set_0: -------------------------------------------------------------------------------- 1 | 884500.9449417605 79506.37949568727 2 | 884500.9449417605 99067.91085242946 3 | 536805.7609299684 79506.37949568727 4 | 536805.7609299684 99067.91085242946 5 | -------------------------------------------------------------------------------- /script/quantumTeleportation_main.py: -------------------------------------------------------------------------------- 1 | 2 | import sys 3 | scriptpath = "QuantumTeleportation/" 4 | sys.path.append(scriptpath) 5 | 6 | from QT_run import run_Teleport_sim 7 | 8 | 9 | if __name__ == '__main__': 10 | run_Teleport_sim() -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/param_set_0: -------------------------------------------------------------------------------- 1 | 0.9098552686900079 0.9275209572336764 2 | 0.9098552686900079 0.8388438509243247 3 | 0.9554533575509933 0.9275209572336764 4 | 0.9554533575509933 0.8388438509243247 5 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_0/param_set_0: -------------------------------------------------------------------------------- 1 | 884500.9449417605 79506.37949568727 2 | 884500.9449417605 99067.91085242946 3 | 536805.7609299684 79506.37949568727 4 | 536805.7609299684 99067.91085242946 5 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/param_set_0: -------------------------------------------------------------------------------- 1 | 0.9098552686900079 0.9275209572336764 2 | 0.9098552686900079 0.8388438509243247 3 | 0.9554533575509933 0.9275209572336764 4 | 0.9554533575509933 0.8388438509243247 5 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/param_set_1: -------------------------------------------------------------------------------- 1 | 0.9488734446674271 0.9275209572336764 2 | 0.909855268690008 0.9776104436630995 3 | 0.909855268690008 0.8388438509243247 4 | 0.9969931742484296 0.8388438509243247 5 | 0.909855268690008 0.8388438509243247 -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/param_set_2: -------------------------------------------------------------------------------- 1 | 0.9098552686900079 0.9552792735701293 2 | 0.9982660559061762 0.8388438509243247 3 | 0.9098552686900079 0.8388438509243247 4 | 0.9488734446674272 0.8854993463870579 5 | 0.9098552686900079 0.8388438509243247 -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/param_set_1: -------------------------------------------------------------------------------- 1 | 0.9488734446674271 0.9275209572336764 2 | 0.909855268690008 0.9776104436630995 3 | 0.909855268690008 0.8388438509243247 4 | 0.9969931742484296 0.8388438509243247 5 | 0.909855268690008 0.8388438509243247 -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/param_set_2: -------------------------------------------------------------------------------- 1 | 0.9098552686900079 0.9552792735701293 2 | 0.9982660559061762 0.8388438509243247 3 | 0.9098552686900079 0.8388438509243247 4 | 0.9488734446674272 0.8854993463870579 5 | 0.9098552686900079 0.8388438509243247 -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/param_set_3: -------------------------------------------------------------------------------- 1 | 0.909855268690008 0.8388438509243247 2 | 0.909855268690008 0.8376696193094162 3 | 0.909855268690008 0.8388438509243247 4 | 0.9637892334487589 0.9552792735701292 5 | 0.909855268690008 0.8388438509243247 6 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_0/csv_output.csv: -------------------------------------------------------------------------------- 1 | 0.877657935285054,536805.7609299684,99067.91085242946 2 | 0.8778081360048573,536805.7609299684,79506.37949568727 3 | 0.7889669529013792,884500.9449417605,99067.91085242946 4 | 0.8475422427035331,884500.9449417605,79506.37949568727 5 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/csv_output.csv: -------------------------------------------------------------------------------- 1 | 1.4514782439654796,0.9554533575509933,0.8388438509243247,0.6138638638638638 2 | 1.4691709443831735,0.9554533575509933,0.9275209572336764,0.7940313111545988 3 | 1.1201371285849584,0.9098552686900079,0.8388438509243247,0.7708791208791209 4 | 1.2138763971725084,0.9098552686900079,0.9275209572336764,0.8798629801810619 5 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/csv_output.csv: -------------------------------------------------------------------------------- 1 | 1.4831974826238947,0.9969931742484296,0.8388438509243247,0.968743169398907 2 | 1.2163732034566763,0.909855268690008,0.8388438509243247,0.6746430460074035 3 | 1.3935166217333763,0.909855268690008,0.9776104436630995,0.9835889157923057 4 | 1.3565669988035252,0.9488734446674271,0.9275209572336764,0.8865933078823265 5 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/csv_output.csv: -------------------------------------------------------------------------------- 1 | 1.2767446901870183,0.9488734446674272,0.8854993463870579,0.847457627118644 2 | 1.0160162494640794,0.9098552686900079,0.8388438509243247,0.8829326923076923 3 | 1.4959435664837988,0.9982660559061762,0.8388438509243247,0.9919354838709677 4 | 1.3765088271759043,0.9098552686900079,0.9552792735701293,0.803030303030303 5 | -------------------------------------------------------------------------------- /qline/README.md: -------------------------------------------------------------------------------- 1 | # QLine 2 | 3 | ## Description 4 | QLine is a Quantum Key Distribution protocol which is able to establish symmetric keys among each of two nodes in a line via quantum cannels. 5 | 6 | More information about [QLine](https://veriqloud.com/solutions/qline/). 7 | 8 | This simulation applies 9 | 10 | ## How to use 11 | 12 | 13 | ## Status 14 | 15 | 16 | ## Protocol parameters 17 | 18 | 19 | ## Steps 20 | 21 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/verify_simulation_results.py: -------------------------------------------------------------------------------- 1 | from QToken.QToken_main import run_QToken_sim 2 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 3 | 4 | T1 = 0.9605699461096662 5 | T2 = 0.8951449861853965 6 | 7 | mem_noise_model = T1T2NoiseModel(T1=((1 / (1 - T1)) - 1) * 3.6 * 10**12, T2=((1 / (1 - T2)) - 1) * 10**6) 8 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2, waitTime=10**9) 9 | print("This was my res", res) 10 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/src/verify_simulation_results.py: -------------------------------------------------------------------------------- 1 | from QToken.QToken_main import run_QToken_sim 2 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 3 | 4 | T1 = 0.9605699461096662 5 | T2 = 0.8951449861853965 6 | 7 | mem_noise_model = T1T2NoiseModel(T1=((1 / (1 - T1)) - 1) * 3.6 * 10**12, T2=((1 / (1 - T2)) - 1) * 10**6) 8 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2, waitTime=10**9) 9 | print("This was my res", res) 10 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/verify_simulation_results.py: -------------------------------------------------------------------------------- 1 | from QToken.QToken_main import run_QToken_sim 2 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 3 | 4 | T1 = 0.9605699461096662 5 | T2 = 0.8951449861853965 6 | 7 | mem_noise_model = T1T2NoiseModel(T1=((1 / (1 - T1)) - 1) * 3.6 * 10**12, T2=((1 / (1 - T2)) - 1) * 10**6) 8 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2, waitTime=10**9) 9 | print("This was my res", res) 10 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/verify_simulation_results.py: -------------------------------------------------------------------------------- 1 | from QToken.QToken_main import run_QToken_sim 2 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 3 | 4 | T1 = 0.9605699461096662 5 | T2 = 0.8951449861853965 6 | 7 | mem_noise_model = T1T2NoiseModel(T1=((1 / (1 - T1)) - 1) * 3.6 * 10**12, T2=((1 / (1 - T2)) - 1) * 10**6) 8 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2, waitTime=10**9) 9 | print("This was my res", res) 10 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/verify_simulation_results.py: -------------------------------------------------------------------------------- 1 | from QToken.QToken_main import run_QToken_sim 2 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 3 | 4 | T1 = 0.9605699461096662 5 | T2 = 0.8951449861853965 6 | 7 | mem_noise_model = T1T2NoiseModel(T1=((1 / (1 - T1)) - 1) * 3.6 * 10**12, T2=((1 / (1 - T2)) - 1) * 10**6) 8 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2, waitTime=10**9) 9 | print("This was my res", res) 10 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/src/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /script/ATw_main.py: -------------------------------------------------------------------------------- 1 | 2 | import netsquid as ns 3 | from netsquid.components.models import DephaseNoiseModel,DepolarNoiseModel,T1T2NoiseModel 4 | 5 | import sys 6 | scriptpath = "AnonymousTransmission/" 7 | sys.path.append(scriptpath) 8 | 9 | from ATw_run import run_AT_sim 10 | 11 | 12 | 13 | if __name__ == '__main__': 14 | 15 | ns.sim_reset() 16 | #print (ns.__version__) 17 | 18 | #myNoiseModel1=DephaseNoiseModel(dephase_rate=6*10**4,time_independent=False) 19 | #myNoiseModel2=DepolarNoiseModel(depolar_rate=6*10**4,time_independent=False) 20 | myNoiseModel3=T1T2NoiseModel(T1=11, T2=0) 21 | #myNoiseModel4=DepolarNoiseModel(depolar_rate=0.01,time_independent=True) 22 | 23 | res=run_AT_sim(runtimes=1,numNodes=4,fibre_len=10**-9 24 | ,processorNoiseModel=None,memNoiseMmodel=myNoiseModel3 25 | ,loss_init=0,loss_len=0,t1=3720,t2=0) 26 | 27 | res=print("Avg Fidelity index:",res) -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/src/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/src/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/src/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_0/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_1/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/analyse_function_output.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python3 2 | 3 | '''concatenate last rows of .csv files under output/ into one file: csv_output.csv''' 4 | 5 | from file_parsing_tools import turn_folder_into_csv_output_file 6 | import os 7 | import shutil 8 | 9 | 10 | if __name__ == "__main__": 11 | # Create directory 12 | if not os.path.exists('output'): 13 | os.mkdir('output') 14 | 15 | current_path = os.getcwd() 16 | new_path = current_path + '/output' 17 | for f in os.listdir('.'): 18 | ext = os.path.splitext(f)[-1].lower() 19 | if ext == '.csv': 20 | shutil.move(current_path+'/'+f, new_path+'/'+f) 21 | 22 | turn_folder_into_csv_output_file(folder_name="output", 23 | csv_output_filename="csv_output.csv", 24 | file_extension="csv") 25 | -------------------------------------------------------------------------------- /script/quantumToken_main.py: -------------------------------------------------------------------------------- 1 | from netsquid.components.models.qerrormodels import T1T2NoiseModel,DephaseNoiseModel 2 | 3 | import os 4 | import sys 5 | #print("main",os.path.dirname(os.path.abspath(__file__))) 6 | scriptpath = str(os.path.dirname(os.path.abspath(__file__))) + "/../QToken/" 7 | #print("main add path:",scriptpath) 8 | sys.path.append(scriptpath) 9 | 10 | from QToken_run import run_QToken_sim 11 | 12 | if __name__ == '__main__': 13 | myMemNoise=T1T2NoiseModel(T1=36*10**12, T2=4.9*10**6) 14 | #myProcessNoise=DephaseNoiseModel(dephase_rate=0.004) 15 | #mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 16 | 17 | res=run_QToken_sim(runTimes=2,num_bits=10,fibre_len=10**-9,waitTime=10**3 18 | ,processNoiseModel=myMemNoise,memNoiseModel=myMemNoise,threshold=0.875 19 | ,fibreLoss_init=0,fibreLoss_len=0,QChV=2.083*10**-4,CChV=2.083*10**-4) 20 | print("res:",res," ") 21 | -------------------------------------------------------------------------------- /script/mbqc_main.py: -------------------------------------------------------------------------------- 1 | from netsquid.components.models.qerrormodels import T1T2NoiseModel,DepolarNoiseModel,DephaseNoiseModel 2 | 3 | import sys 4 | scriptpath = "MBQC_Qline/" 5 | sys.path.append(scriptpath) 6 | 7 | from MBQC_run import run_MBQC_Qline_sim 8 | 9 | import logging 10 | logging.basicConfig(level=logging.INFO) 11 | mylogger = logging.getLogger(__name__) 12 | 13 | 14 | if __name__ == "__main__": 15 | 16 | m1count=0 17 | m2count=0 18 | xorcount=0 19 | avgWaitingTime=0 20 | runTimes=50 21 | 22 | for i in range(runTimes): 23 | tmp=run_MBQC_Qline_sim() 24 | try: 25 | m1count+=tmp[0] 26 | m2count+=tmp[1] 27 | xorcount+=tmp[0]^tmp[1] 28 | avgWaitingTime+=tmp[2] 29 | except: 30 | mylogger.info("Error in return values!") 31 | 32 | mylogger.info("m1 count:{}, m2 count:{}, xor count:{}, server waiting time: {} ns".format(m1count,m2count 33 | ,xorcount,avgWaitingTime/runTimes)) 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/src/qtoken_sanity_check.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | if __name__ == "__main__": 10 | parser = ArgumentParser() 11 | parser.add_argument('--T1', type=float, 12 | help="Quantum memory relaxation time (ns).") 13 | parser.add_argument('--T2', type=float, 14 | help="Quantum memory dephasing time (ns).") 15 | 16 | args = parser.parse_args() 17 | mem_noise_model = T1T2NoiseModel(T1=args.T1, T2=args.T2) 18 | res_list = run_QToken_sim(memNoiseModel=mem_noise_model, 19 | runTimes=10, 20 | waitTime=10**9) 21 | res = np.average(res_list) 22 | error = np.std(res_list) / np.sqrt(len(res_list)) 23 | print("Average rate of success: {} p/m {}".format(res, error)) 24 | print("Rates of success: {}".format(res_list)) 25 | -------------------------------------------------------------------------------- /VBQC/VBQC_2qb/UBQC_plot.py: -------------------------------------------------------------------------------- 1 | import matplotlib.pyplot as plt 2 | from netsquid.components.models.qerrormodels import * 3 | from UBQC_main import * 4 | 5 | 6 | def UBQC_plot(): 7 | y_axis=[] 8 | x_axis=[] 9 | run_times=10 10 | min_dis=0 11 | max_dis=200 12 | 13 | #mymemNoiseMmodel=T1T2NoiseModel(T1=11, T2=10) 14 | #myprocessorNoiseModel=DepolarNoiseModel(depolar_rate=200) 15 | 16 | # first curve 17 | for i in range(min_dis,max_dis,5): 18 | 19 | x_axis.append(i) 20 | successRate=run_UBQC_sim(runtimes=run_times,fibre_len=i 21 | ,processorNoiseModel=None, memNoiseMmodel=None) 22 | #myprocessorNoiseModel # mymemNoiseMmodel,loss_init=0.25,loss_len=0.2 23 | y_axis.append(successRate) 24 | 25 | 26 | 27 | plt.plot(x_axis, y_axis, 'go-',label='default fibre') 28 | 29 | plt.title('UBQC') 30 | plt.ylabel('verified rate') 31 | plt.xlabel('fibre length (km)') 32 | 33 | 34 | plt.legend() 35 | plt.savefig('plot7.png') 36 | plt.show() 37 | 38 | 39 | 40 | UBQC_plot() -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | from argparse import ArgumentParser 3 | from QToken.QToken_main import run_QToken_sim 4 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 5 | 6 | 7 | if __name__ == "__main__": 8 | parser = ArgumentParser() 9 | parser.add_argument('--T1', type=float, 10 | help="Quantum memory relaxation time (ns).") 11 | parser.add_argument('--T2', type=float, 12 | help="Quantum memory dephasing time (ns).") 13 | parser.add_argument('--filebasename', type=str, 14 | help="Beginning of filename where results will be stored.") 15 | 16 | args = parser.parse_args() 17 | mem_noise_model = T1T2NoiseModel(T1=args.T1, T2=args.T2) 18 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2) 19 | 20 | df = pd.DataFrame(columns=["res", "T1", "T2"]) 21 | df.loc[0] = [res, args.T1, args.T2] 22 | csv_filename = args.filebasename + '.csv' 23 | df.to_csv(csv_filename, index=False, header=False) -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/src/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | from argparse import ArgumentParser 3 | from QToken.QToken_main import run_QToken_sim 4 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 5 | 6 | 7 | if __name__ == "__main__": 8 | parser = ArgumentParser() 9 | parser.add_argument('--T1', type=float, 10 | help="Quantum memory relaxation time (ns).") 11 | parser.add_argument('--T2', type=float, 12 | help="Quantum memory dephasing time (ns).") 13 | parser.add_argument('--filebasename', type=str, 14 | help="Beginning of filename where results will be stored.") 15 | 16 | args = parser.parse_args() 17 | mem_noise_model = T1T2NoiseModel(T1=args.T1, T2=args.T2) 18 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2) 19 | 20 | df = pd.DataFrame(columns=["res", "T1", "T2"]) 21 | df.loc[0] = [res, args.T1, args.T2] 22 | csv_filename = args.filebasename + '.csv' 23 | df.to_csv(csv_filename, index=False, header=False) -------------------------------------------------------------------------------- /smart_stopos_runscripts/src/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/liao/Desktop/smart-stopos/ 5 | workdir: /home/liao/Desktop/nss/netsquid-simulation/smart_stopos_runscripts 6 | venvdir: 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 25 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:5 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:5 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_0/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | from argparse import ArgumentParser 3 | from QToken.QToken_main import run_QToken_sim 4 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 5 | 6 | 7 | if __name__ == "__main__": 8 | parser = ArgumentParser() 9 | parser.add_argument('--T1', type=float, 10 | help="Quantum memory relaxation time (ns).") 11 | parser.add_argument('--T2', type=float, 12 | help="Quantum memory dephasing time (ns).") 13 | parser.add_argument('--filebasename', type=str, 14 | help="Beginning of filename where results will be stored.") 15 | 16 | args = parser.parse_args() 17 | mem_noise_model = T1T2NoiseModel(T1=args.T1, T2=args.T2) 18 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2) 19 | 20 | df = pd.DataFrame(columns=["res", "T1", "T2"]) 21 | df.loc[0] = [res, args.T1, args.T2] 22 | csv_filename = args.filebasename + '.csv' 23 | df.to_csv(csv_filename, index=False, header=False) -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_1/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | from argparse import ArgumentParser 3 | from QToken.QToken_main import run_QToken_sim 4 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 5 | 6 | 7 | if __name__ == "__main__": 8 | parser = ArgumentParser() 9 | parser.add_argument('--T1', type=float, 10 | help="Quantum memory relaxation time (ns).") 11 | parser.add_argument('--T2', type=float, 12 | help="Quantum memory dephasing time (ns).") 13 | parser.add_argument('--filebasename', type=str, 14 | help="Beginning of filename where results will be stored.") 15 | 16 | args = parser.parse_args() 17 | mem_noise_model = T1T2NoiseModel(T1=args.T1, T2=args.T2) 18 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2) 19 | 20 | df = pd.DataFrame(columns=["res", "T1", "T2"]) 21 | df.loc[0] = [res, args.T1, args.T2] 22 | csv_filename = args.filebasename + '.csv' 23 | df.to_csv(csv_filename, index=False, header=False) -------------------------------------------------------------------------------- /RemoteStatePreparation/README.md: -------------------------------------------------------------------------------- 1 | # Remote State Preparation Protocol 2 | 3 | 4 | 5 | ## Function 6 | 7 | This protocol aims to prepare qubits with certain quantum state depend on all clients participated. 8 | 9 | ![RSP_graph](https://github.com/LiaoChinTe/netsquid-simulation/blob/main/RemoteStatePreparation/RemoteStatePreparation_graph.png) 10 | 11 | ## Status 12 | 13 | - 28/06/2021 First readme 14 | - (To Be Done) 15 | 16 | 17 | 18 | ## Protocol variables 19 | 20 | ### input 21 | - N : Numbers of Clients 22 | - thetaX : X=[1,N] Indication of the angle rotated along Z-axis, input of every Client. 23 | - tX : X=[1,N-1] Result value of . Intermediate value on server side. 24 | 25 | 26 | ### output 27 | - output : a qubit with certain state. 28 | 29 | 30 | ## Protocol Steps 31 | 32 | 0. Hardware configuration. And create given number of clients. 33 | 1. The Clients prepare a qubit with certain state based on thetaX. 34 | Then send it to server. 35 | 2. The Server applies CNOT according to the graph after receiving all qubits from Clients. 36 | 3. The Server measures all qubits except from the last one. 37 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/ctliao/Desktop/smart-stopos 5 | workdir: /home/ctliao/Desktop/RK_netSquid/smart_stopos_runscripts 6 | venvdir: 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 100 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:10 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:10 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/src/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/ctliao/Desktop/smart-stopos 5 | workdir: /home/ctliao/Desktop/RK_netSquid/smart_stopos_runscripts 6 | venvdir: 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 100 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:10 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:10 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/ctliao/Desktop/smart-stopos 5 | workdir: /home/ctliao/Desktop/RK_netSquid/smart_stopos_runscripts 6 | venvdir: 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 100 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:10 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:10 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/ctliao/Desktop/smart-stopos 5 | workdir: /home/ctliao/Desktop/RK_netSquid/smart_stopos_runscripts 6 | venvdir: 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 100 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:10 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:10 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/ctliao/Desktop/smart-stopos 5 | workdir: /home/ctliao/Desktop/RK_netSquid/smart_stopos_runscripts 6 | venvdir: 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 100 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:10 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:10 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/francisco/PhD/Projects/protocol_benchmarking/smart-stopos 5 | workdir: /home/francisco/PhD/Projects/protocol_benchmarking/netsquid-simulation/smart_stopos_runscripts 6 | venvdir: /home/francisco/protocol_benchmarking/bin/ 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 2 18 | maximum: True 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 3 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:1e5 32 | max:1e6 33 | number_points:2 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:1e4 42 | max:1e5 43 | number_points:2 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | END_PARAMETERS 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/francisco/PhD/Projects/protocol_benchmarking/smart-stopos 5 | workdir: /home/francisco/PhD/Projects/protocol_benchmarking/netsquid-simulation/smart_stopos_runscripts 6 | venvdir: /home/francisco/protocol_benchmarking/bin/ 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 5 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:2 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:2 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/src/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/francisco/PhD/Projects/protocol_benchmarking/smart-stopos 5 | workdir: /home/francisco/PhD/Projects/protocol_benchmarking/netsquid-simulation/smart_stopos_runscripts 6 | venvdir: /home/francisco/protocol_benchmarking/bin/ 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 2 18 | maximum: True 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 3 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:1e5 32 | max:1e6 33 | number_points:2 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:1e4 42 | max:1e5 43 | number_points:2 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | END_PARAMETERS 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/src/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/francisco/PhD/Projects/protocol_benchmarking/smart-stopos 5 | workdir: /home/francisco/PhD/Projects/protocol_benchmarking/netsquid-simulation/smart_stopos_runscripts 6 | venvdir: /home/francisco/protocol_benchmarking/bin/ 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 5 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:2 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:2 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_0/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/francisco/PhD/Projects/protocol_benchmarking/smart-stopos 5 | workdir: /home/francisco/PhD/Projects/protocol_benchmarking/netsquid-simulation/smart_stopos_runscripts 6 | venvdir: /home/francisco/protocol_benchmarking/bin/ 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 2 18 | maximum: True 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 3 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:1e5 32 | max:1e6 33 | number_points:2 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:1e4 42 | max:1e5 43 | number_points:2 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | END_PARAMETERS 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/opt_step_1/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/francisco/PhD/Projects/protocol_benchmarking/smart-stopos 5 | workdir: /home/francisco/PhD/Projects/protocol_benchmarking/netsquid-simulation/smart_stopos_runscripts 6 | venvdir: /home/francisco/protocol_benchmarking/bin/ 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 2 18 | maximum: True 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 3 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:1e5 32 | max:1e6 33 | number_points:2 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:1e4 42 | max:1e5 43 | number_points:2 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | END_PARAMETERS 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/francisco/PhD/Projects/protocol_benchmarking/smart-stopos 5 | workdir: /home/francisco/PhD/Projects/protocol_benchmarking/netsquid-simulation/smart_stopos_runscripts 6 | venvdir: /home/francisco/protocol_benchmarking/bin/ 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 5 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:2 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:2 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/francisco/PhD/Projects/protocol_benchmarking/smart-stopos 5 | workdir: /home/francisco/PhD/Projects/protocol_benchmarking/netsquid-simulation/smart_stopos_runscripts 6 | venvdir: /home/francisco/protocol_benchmarking/bin/ 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 5 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:2 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:2 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/input_file.ini: -------------------------------------------------------------------------------- 1 | PROGRAMS 2 | run_program: run_qtoken.py 2 T1 T2 3 | analysis_program: analyse_function_output.py 4 | sstoposdir: /home/francisco/PhD/Projects/protocol_benchmarking/smart-stopos 5 | workdir: /home/francisco/PhD/Projects/protocol_benchmarking/netsquid-simulation/smart_stopos_runscripts 6 | venvdir: /home/francisco/protocol_benchmarking/bin/ 7 | nodes: 1 8 | queue: normal 9 | time_run: 00:15:00 10 | time_analysis: 00:05:00 11 | files: *.py 12 | END_PROGRAMS 13 | 14 | GENERAL 15 | name_project: QToken 16 | description: "Quantum money with imperfect hardware." 17 | run_type: optimization GA 3 18 | maximum: False 19 | number_parameters: 2 20 | number_best_candidates: 2 21 | population_size: 5 22 | global_scale_factor: 1.0 23 | global_width_distribution: 1.0 24 | proba_mutation:0.1 25 | proba_crossover:0.6 26 | END_GENERAL 27 | 28 | PARAMETERS 29 | Parameter: 1 30 | name:T1 31 | min:0.909100 32 | max:1.000 33 | number_points:2 34 | distribution:random 35 | scale_factor: 1. 36 | type:continuous 37 | end 38 | 39 | Parameter: 2 40 | name:T2 41 | min:0.8305 42 | max:1.000 43 | number_points:2 44 | distribution:random 45 | scale_factor: 1. 46 | type:continuous 47 | end 48 | 49 | -------------------------------------------------------------------------------- /script/quantumToken_plot.py: -------------------------------------------------------------------------------- 1 | from netsquid.components.models.qerrormodels import T1T2NoiseModel,DephaseNoiseModel 2 | 3 | import matplotlib.pyplot as plt 4 | 5 | import sys 6 | scriptpath = "QToken/" 7 | sys.path.append(scriptpath) 8 | 9 | from QToken_run import run_QToken_sim 10 | 11 | 12 | #threshold doesn't matter in this plot 13 | def QuantumToken_plot(): 14 | y_axis=[] 15 | x_axis=[] 16 | runTimes=1 17 | 18 | 19 | myMemNoise=T1T2NoiseModel(T1=36000*10**9, T2=10**9) 20 | #myProcessNoise=DephaseNoiseModel(dephase_rate=0.004) 21 | 22 | myXarray=[0,20,40,60] 23 | 24 | # first curve 25 | for i,j in enumerate(myXarray): # from 0 to 10**8 ns 26 | x_axis.append(i) # relate to unit 27 | y_axis.append(run_QToken_sim(runTimes=runTimes,num_bits=20,fibre_len=10**-9,waitTime=j 28 | ,processNoiseModel=None,memNoiseModel=myMemNoise,threshold=0.875 29 | ,fibreLoss_init=0,fibreLoss_len=0,QChV=2.083*10**-4,CChV=2.083*10**-4)) 30 | 31 | 32 | plt.plot(x_axis, y_axis, 'bo-') #,label='fibre length=10' 33 | 34 | plt.title('Quantum Token') 35 | plt.ylabel('average successful rate') 36 | plt.xlabel('token kept time (ns)') 37 | 38 | #plt.legend() 39 | plt.savefig('QTplot1.png') 40 | plt.show() 41 | 42 | 43 | QuantumToken_plot() -------------------------------------------------------------------------------- /VBQC/VBQC_3qb/README.md: -------------------------------------------------------------------------------- 1 | # VBQC Protocol 2 | Author: ChinTe LIAO (liao.chinte@veriqloud.fr) 3 | 4 | 5 | ## Function 6 | 7 | Verifiable Blind Quantum Computation. 8 | 9 | VBQC full protocol which applies both computaional and verifiable subprotocols. 10 | 11 | 12 | 13 | ## Status 14 | 15 | Works on NetSquid version 1.0.5 16 | 17 | - 02/04/2021 First readme 18 | 19 | 20 | 21 | 22 | 23 | ## Protocol variable & its ranges 24 | - range C=n*pi/4, n=[0,7] 25 | ### input 26 | - x : [0,1] input bit 27 | - phi1: [0,7] indecating angles in range C 28 | - phi2: [0,7] indecating angles in range C 29 | - phi3: [0,7] indecating angles in range C 30 | - N : ∈N Number of total rounds 31 | - d : [0,N] Number of computational rounds 32 | - Threshold : [0,d] Max number of failed case tolerance. 33 | 34 | 35 | ### output 36 | - output : [0:1] 37 | 38 | 39 | ## Protocol Steps 40 | 41 | 0. Hardware configuration. 42 | 1. Randomly form a bit stream roundType filled by d ones and N-d zero. 43 | 2. Loop through the roundType and implement computatinal BQC if the value is 1. 44 | Otherwise implement Verifiable BQC. Count the failed cases in verifiable cases. 45 | 3. Report abort if numbers of failed case > Threshold. 46 | 4. If not failed, compute the Hamming weight of the string output. 47 | 5. If the Hamming weight < d/2 set final output to 0. Set it to 1 otherwise. 48 | 49 | -------------------------------------------------------------------------------- /QuantumTeleportation/README.md: -------------------------------------------------------------------------------- 1 | # Quantum Teleportation Protocol 2 | Author: ChinTe LIAO (liao.chinte@veriqloud.fr) 3 | 4 | 5 | ## Status 6 | 7 | Works on NetSquid version 0.10. 8 | 9 | 28/01/2021 10 | - Add Bell State parameter, currently accept two Bell States. (case 1 and 3) 11 | 12 | 22/01/2021 13 | - Upload first version 14 | 15 | 16 | ## How to use 17 | 18 | Simply run *python QT_run.py* to run it on default configuration or modify it in *QT_run.py*. 19 | In the case of being a sub-protocol, import all function in QT_sender and QT_receiver then create the two objects in the main protocol. 20 | 21 | ## Function 22 | 23 | 24 | According to different Bell states shared between sender and receiver, 25 | different adjustment on receiver's side should be applied. 26 | 27 | ![Bell_states](https://github.com/LiaoChinTe/netsquid-simulation/blob/main/QuantumTeleportation/Bell_states.png) 28 | 29 | *-from https://en.wikipedia.org/wiki/Bell_state* 30 | 31 | 32 | ### In case 1: 33 | - If receives 00, then apply nothing. 34 | - If receives 01, then apply X. 35 | - If receives 10, then apply Z. 36 | - If receives 11, then apply X and Z. 37 | 38 | 39 | ### In case 3: 40 | - If receives 00, then apply X. 41 | - If receives 01, then apply nothing. 42 | - If receives 10, then apply X and Z. 43 | - If receives 11, then apply Z. 44 | 45 | 46 | ## Protocol Steps 47 | 48 | Following protocol steps: 49 | https://wiki.veriqloud.fr/index.php?title=Quantum_Teleportation 50 | 51 | 52 | 53 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/src/log.txt: -------------------------------------------------------------------------------- 1 | Finish reading input 2 | name run: QToken 3 | run program: run_qtoken.py 4 | files needed: analyse_function_output.py 5 | files needed: file_parsing_tools.py 6 | files needed: run_qtoken.py 7 | workdir: /home/ctliao/Desktop/RK_netSquid/smart_stopos_runscripts 8 | sstoposdir: /home/ctliao/Desktop/smart-stopos 9 | analysis_program: analyse_function_output.py 10 | run type: optimization 11 | Creating directory structure 12 | Simulation will be run in : /home/ctliao/Desktop/RK_netSquid/smart_stopos_runscripts/output/QToken_2021-08-24_14.17/optimization 13 | WARNING: population size does not apply in single runs or first optimization step 14 | Current optimization step: 0 15 | Initial set of parameter created: param_set_0 16 | optimization 17 | 18 | Simulation started at 2021-08-24_14.17.42 19 | Performing optimization 20 | Number cores: 2 21 | Starting simulations opt_step 0 22 | analyse_function_output.py 23 | file_parsing_tools.py 24 | run_qtoken.py 25 | Finished running parameters opt_step_0 26 | Starting analysis opt_step 0 27 | Creating new optimized parameters from results opt_step_0 28 | New parameters set created 29 | 30 | Starting simulations opt_step 1 31 | analyse_function_output.py 32 | file_parsing_tools.py 33 | run_qtoken.py 34 | Finished running parameters opt_step_1 35 | Starting analysis opt_step 1 36 | Creating new optimized parameters from results opt_step_1 37 | 38 | Simulation finished at 2021-08-24_14.17.44 39 | -------------------------------------------------------------------------------- /script/bb84_main.py: -------------------------------------------------------------------------------- 1 | 2 | from netsquid.components.models.qerrormodels import T1T2NoiseModel,DepolarNoiseModel,DephaseNoiseModel 3 | 4 | import sys 5 | scriptpath = "QKD/BB84/" 6 | sys.path.append(scriptpath) 7 | 8 | from BB84_run import run_BB84_sim 9 | 10 | import logging 11 | logging.basicConfig(level=logging.INFO) 12 | mylogger = logging.getLogger(__name__) 13 | 14 | 15 | if __name__ == "__main__": 16 | 17 | mymemNoiseMmodel=T1T2NoiseModel(T1=10**6, T2=10**5) 18 | #myprocessorNoiseModel=DepolarNoiseModel(depolar_rate=500) 19 | myprocessorNoiseModel=DephaseNoiseModel(dephase_rate=0.004,time_independent=True) 20 | 21 | toWrite=run_BB84_sim(runtimes=3,num_bits=100,fibreLen=5 22 | ,memNoiseMmodel=mymemNoiseMmodel,processorNoiseModel=myprocessorNoiseModel,fibreNoise=0 23 | ,sourceFreq=12e4,lenLoss=0.045 24 | ,qSpeed=2.083*10**5,cSpeed=2.083*10**5) #10**-9 25 | 26 | 27 | mylogger.debug("key list A:{}\n".format(toWrite[0])) 28 | mylogger.debug("key list B:{}\n".format(toWrite[1])) 29 | mylogger.debug("key rate list:{}\n".format(toWrite[2])) 30 | 31 | keyrate=sum(toWrite[2])/len(toWrite[2]) 32 | mylogger.info("Average key rate:{}\n".format(keyrate)) 33 | mylogger.info("cost/bit/sec :{}\n".format(4/keyrate)) 34 | 35 | 36 | ''' 37 | # write to file 38 | 39 | listToPrint='' 40 | listToPrint=str(toWrite) 41 | 42 | outF = open("keyOutput8.txt", "w") 43 | outF.writelines(listToPrint) 44 | outF.close() 45 | ''' -------------------------------------------------------------------------------- /qline/qline_plot.py: -------------------------------------------------------------------------------- 1 | # plot function 2 | import matplotlib.pyplot as plt 3 | 4 | def QLinePlot(): 5 | y_axis_keyRate=[] 6 | y_axis_QubitEfficiencyRate=[] 7 | x_axis=[] 8 | run_times=50 9 | maxKeyLen=100 10 | numNode=4 11 | fibreLen=10 12 | 13 | # first curve 14 | for i in range(1,numNode): 15 | keylenSum=0.0 16 | timeSum=0.0 17 | errorSum=0 18 | for _ in range(run_times): 19 | 20 | key_I,key_T,costTime=run_QLine_sim(I=0,T=i, 21 | maxKeyLen=maxKeyLen,fibreLen=fibreLen, 22 | noise_model=None) 23 | 24 | #if key_I==key_T and key_I: #else error happend, drop key, count 0 length 25 | keylenSum+=len(key_I) 26 | timeSum+=costTime 27 | 28 | #x_axis.append(10**i) 29 | x_axis.append(i-1) 30 | if timeSum!=0: 31 | y_axis_QubitEfficiencyRate.append(keylenSum/run_times/maxKeyLen) 32 | #y_axis_keyRate.append(keylenSum/run_times/timeSum) 33 | #y_axis.append(keylenSum/run_times/maxKeyLen) #/timeSum*10**9 34 | else: 35 | y_axis_QubitEfficiencyRate.append(0) 36 | #y_axis_keyRate.append(0) 37 | 38 | plt.plot(x_axis, y_axis_QubitEfficiencyRate, 'go-',label='Qubit Efficiency Rate') 39 | #plt.plot(x_axis, y_axis_keyRate, 'bo-',label='Key Rate') 40 | 41 | plt.ylabel('Qubit Efficiency Rate') #average key length/Max qubits length 42 | plt.xlabel('distance (nodes in between)')#distance (nodes in between) 43 | 44 | 45 | plt.legend() 46 | plt.savefig('plot.png') 47 | plt.show() 48 | 49 | 50 | if __name__ == "__main__": 51 | QLinePlot() -------------------------------------------------------------------------------- /QKD/E91/E91_plot.py: -------------------------------------------------------------------------------- 1 | # plot function 2 | # users would need to install matplotlib for running this script 3 | 4 | 5 | from netsquid.components.models.qerrormodels import * 6 | import matplotlib.pyplot as plt 7 | import E91_main 8 | 9 | def E91_plot(): 10 | y_axis=[] 11 | x_axis=[] 12 | run_times=5 13 | num_bits=20 14 | min_dis=0 15 | max_dis=50 16 | 17 | mymemNoiseMmodel=T1T2NoiseModel(T1=11, T2=10) 18 | myprocessorNoiseModel=DepolarNoiseModel(depolar_rate=200) 19 | 20 | # first curve 21 | for i in range(min_dis,max_dis,5): 22 | 23 | x_axis.append(i) 24 | key_list_A,key_list_B,keyRateList=E91_main.run_E91_sim(run_times,num_bits,fibre_len=i 25 | ,processorNoiseModel=myprocessorNoiseModel,memNoiseMmodel=mymemNoiseMmodel) 26 | 27 | y_axis.append(sum(keyRateList)/run_times/10**6) 28 | 29 | 30 | 31 | plt.plot(x_axis, y_axis, 'go-',label='depolar_rate=200Hz') 32 | 33 | ''' 34 | y_axis.clear() 35 | x_axis.clear() 36 | 37 | 38 | myprocessorNoiseModel=DepolarNoiseModel(depolar_rate=2000) 39 | # second curve 40 | for i in range(min_dis,max_dis,5): 41 | 42 | x_axis.append(i) 43 | key_list_A,key_list_B,keyRateList=E91_main.run_E91_sim(run_times,num_bits,fibre_len=i 44 | ,processorNoiseModel=myprocessorNoiseModel,memNoiseMmodel=mymemNoiseMmodel) 45 | 46 | y_axis.append(sum(keyRateList)/run_times) 47 | 48 | 49 | 50 | plt.plot(x_axis, y_axis, 'bo-',label='depolar_rate=2000') 51 | ''' 52 | 53 | plt.title('QKD E91') 54 | plt.ylabel('key rate Mb/s') 55 | plt.xlabel('fibre lenth (km)') 56 | 57 | 58 | plt.legend() 59 | plt.savefig('keyRate9.png') 60 | plt.show() 61 | 62 | 63 | 64 | E91_plot() 65 | 66 | -------------------------------------------------------------------------------- /QuantumTeleportation/QT_sender.py: -------------------------------------------------------------------------------- 1 | 2 | from netsquid.components.qprogram import QuantumProgram 3 | from netsquid.protocols import NodeProtocol 4 | from netsquid.components.instructions import INSTR_CNOT,INSTR_H,INSTR_MEASURE 5 | 6 | import sys 7 | scriptpath = "lib/" 8 | sys.path.append(scriptpath) 9 | from functions import ProgramFail 10 | 11 | 12 | 13 | class TP_SenderTeleport(QuantumProgram): 14 | 15 | def __init__(self): 16 | super().__init__() 17 | 18 | def program(self): 19 | 20 | # EPR-like 21 | self.apply(INSTR_CNOT, [0, 1]) 22 | self.apply(INSTR_H, 0) 23 | 24 | self.apply(INSTR_MEASURE,qubit_indices=0, output_key='0',physical=True) # measure the origin state 25 | self.apply(INSTR_MEASURE,qubit_indices=1, output_key='1',physical=True) # measure the epr1 26 | 27 | yield self.run(parallel=False) 28 | 29 | 30 | 31 | class QuantumTeleportationSender(NodeProtocol): 32 | 33 | def __init__(self,node,processor,SendQubit,EPR_1,portNames=["portC_Sender"]): 34 | super().__init__() 35 | self.node=node 36 | self.processor=processor 37 | self.SendQubit=SendQubit 38 | self.EPR_1=EPR_1 39 | self.measureRes=None 40 | self.portNameCS1=portNames[0] 41 | 42 | self.processor.put([SendQubit,EPR_1]) 43 | 44 | 45 | 46 | def run(self): 47 | 48 | # Entangle the two qubits and measure 49 | myTP_SenderTeleport=TP_SenderTeleport() 50 | self.processor.execute_program(myTP_SenderTeleport,qubit_mapping=[0,1]) 51 | self.processor.set_program_fail_callback(ProgramFail,info=self.processor.name,once=True) 52 | 53 | yield self.await_program(processor=self.processor) 54 | self.measureRes=[myTP_SenderTeleport.output['0'][0],myTP_SenderTeleport.output['1'][0]] 55 | 56 | # Send results to Receiver 57 | self.node.ports[self.portNameCS1].tx_output(self.measureRes) 58 | 59 | -------------------------------------------------------------------------------- /VBQC/VBQC_3qb/compute/README.md: -------------------------------------------------------------------------------- 1 | # VBQC computational Protocol 2 | 3 | 4 | ## Function 5 | 6 | VBQC computational protocol on three qubits. 7 | 8 | 9 | ## To Do 10 | 11 | 12 | ## Status 13 | 14 | Works on NetSquid version 1.0.5 15 | 16 | 17 | 18 | 19 | 20 | ### Protocol variable ranges 21 | - range C=n*pi/4, n=[0,7] 22 | 23 | **results:** 24 | - x : [0,1] 25 | - theta1 : C 26 | - theta2 : C 27 | - theta3 : C 28 | - phi1 : C 29 | - phi2 : C 30 | - phi3 : C 31 | - bt1 : [0,1] 32 | - bt2 : [0,1] 33 | - bt3 : [0,1] 34 | - delta1 : C 35 | - delta2 : C 36 | - delta3 : C 37 | - r1 : [0,1] 38 | - r2 : [0,1] 39 | - r3 : [0,1] 40 | - output : [0,1] 41 | 42 | All angle measurements are rotated along Z-axis. Following 3 steps on a qubit: 43 | rotate angle *-Ang* -> measure in X basis -> rotate angle *Ang* 44 | 45 | ### Protocol Steps 46 | 1. Server generates six qubits in |0> state (labelled 1 to 6) 47 | 2. Server makes three EPR pairs: Apply H gate on qubit 1 and CNOT gate on qubit 1 (control) and qubit 2(target), 48 | same with qubits 3 and 4 and qubits 5 and 6. 49 | 3. Server applies Control-Z on qubits 1 and 3 and on qubits 3 and 5. 50 | 4. Server sends three qubits (2, 4, 6) to Client, now the three EPR pairs are shared. 51 | 5. Client randomly chooses theta1, theta2, theta3 in range C. 52 | 6. Client measures qubit 2, 4, 6 with -theta1, -theta2 and -theta3 and assigns result to bt1, bt2 and bt3. 53 | 7. Client randomly chooses r1, r2 and r3. 54 | 8. Client assigns delta1 = phi1+theta1+(x+r1+bt1)*pi and sends delta1 to the Server. 55 | 10. Server measures qubit 1 with angle delta1, assign results to b1 and sends b1 to Client. 56 | 11. Client assigns delta2 = (-1)^(b1+r1)*phi2+theta2+(r2+bt2)*pi and sends delta2 to the Server. 57 | 12. Server measures qubit 3 with angle delta2, assign results to b2 and sends b2 to Client. 58 | 13. Client assigns delta3 = (-1)^(b2+r2)*phi3+theta3+(b1+r1+r3+bt3)*pi and sends delta3 to the Server. 59 | 14. Server measures qubit 5 with angle delta3, assign results to b3 and sends b3 to Client. 60 | 15. Client outputs output = b3 XOR r3. 61 | 62 | 63 | -------------------------------------------------------------------------------- /AnonymousTransmission/README.md: -------------------------------------------------------------------------------- 1 | # Anonymous Transmission Protocol 2 | Author: ChinTe LIAO (liao.chinte@veriqloud.fr) 3 | 4 | ## Function 5 | 6 | Quantum Anonymous Transmission protocol works between multiple nodes. Currently our protocol is limited to 4 parties only. 7 | The protocol aims to transfer infomation anonymously among a group of user, meaning that the receiver does not know who send the massage. 8 | 9 | 10 | ![AT_Network](https://github.com/LiaoChinTe/netsquid-simulation/blob/main/AnonymousTransmission/AnonymousTransmission_Network.png) 11 | 12 | In this specific simulation, we assume that sender and receiver are set to node #1 and #2 in order to build a classical channel for quantum teleportation. 13 | 14 | By doing so, it is not literary anonymous anymore. However it does not really affect any result of this simulation. Plus, we can easily modify such configuration by tunning the parameters of the protocol. 15 | 16 | 17 | 18 | ## Protocol Steps 19 | 20 | 1. Sender and receiver roles are assigned to **sideNode** 1 and 2 before the protocol starts in this case. Sender prepares its qubit to be teleport. 21 | 2. The **centerNode** (trusted third party) distributes 4-parties W state, and send to all **sideNodes**. 22 | 3. All **sideNodes** apart from the sender and receiver perform standard basis measurement. Send results to the **centerNode**. 23 | 4. **CenterNode** gethers all measurment results, abort protocol if any none-zero results from measurements. Continue only if all results are 0. 24 | 5. Sender node apply Sender Quantum Teleportation protocol, While receiver node apply Receiver Quantum Teleportation protocol. 25 | 6. After those Teleportation protocol, The receiver should be able to receive the specific quantum state that sender prepared. 26 | 27 | 28 | 29 | ## Status 30 | 31 | Works on NetSquid version 1.1.6 32 | 33 | 28/01/2021 34 | - Finished importing Quantum Teleportation, and ready to run with 4 parties. 35 | 36 | 15/01/2021 37 | - Finished all steps before teleportation 38 | 39 | 20/01/2023 40 | - File arrangement modified. 41 | 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | def myStepFunction(x): 10 | if x > 0: 11 | return x 12 | else: 13 | return 0 14 | 15 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 16 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 17 | tmp1=w1*sf(SrateMin-Srate) 18 | tmp2=w2*sf(Tmin-T) 19 | #print("~~t1:",t1," t1b:",t1b) 20 | C=1/(1+math.log(t1,t1b))+1/(1+math.log(t2,t2b)) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 21 | tmp3=w3*C 22 | 23 | return tmp1+tmp2+tmp3 24 | 25 | 26 | if __name__ == "__main__": 27 | parser = ArgumentParser() 28 | parser.add_argument('--T1', type=float, 29 | help="Quantum memory relaxation time (ns).") 30 | parser.add_argument('--T2', type=float, 31 | help="Quantum memory dephasing time (ns).") 32 | #parser.add_argument('--wait_time', type=float, 33 | # help="Alice's waiting time (ns).") 34 | parser.add_argument('--filebasename', type=str, 35 | help="Beginning of filename where results will be stored.") 36 | 37 | args = parser.parse_args() 38 | mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 39 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2,waitTime=10**9) 40 | 41 | if res>0.875: 42 | print("O Srate ","==========================",res,"==========================================") 43 | 44 | else: 45 | print("X Srate ","==========================",res,"==========================================") 46 | 47 | 48 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=res) #(1/(1-args.T1))-1 49 | 50 | df = pd.DataFrame(columns=["cost", "T1", "T2"]) 51 | df.loc[0] = [cost, args.T1, args.T2] 52 | csv_filename = args.filebasename + '.csv' 53 | df.to_csv(csv_filename, index=False, header=False) -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/src/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | def myStepFunction(x): 10 | if x > 0: 11 | return x 12 | else: 13 | return 0 14 | 15 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 16 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 17 | tmp1=w1*sf(SrateMin-Srate) 18 | tmp2=w2*sf(Tmin-T) 19 | #print("~~t1:",t1," t1b:",t1b) 20 | C=1/(1+math.log(t1,t1b))+1/(1+math.log(t2,t2b)) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 21 | tmp3=w3*C 22 | 23 | return tmp1+tmp2+tmp3 24 | 25 | 26 | if __name__ == "__main__": 27 | parser = ArgumentParser() 28 | parser.add_argument('--T1', type=float, 29 | help="Quantum memory relaxation time (ns).") 30 | parser.add_argument('--T2', type=float, 31 | help="Quantum memory dephasing time (ns).") 32 | #parser.add_argument('--wait_time', type=float, 33 | # help="Alice's waiting time (ns).") 34 | parser.add_argument('--filebasename', type=str, 35 | help="Beginning of filename where results will be stored.") 36 | 37 | args = parser.parse_args() 38 | mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 39 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2,waitTime=10**9) 40 | 41 | if res>0.875: 42 | print("O Srate ","==========================",res,"==========================================") 43 | 44 | else: 45 | print("X Srate ","==========================",res,"==========================================") 46 | 47 | 48 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=res) #(1/(1-args.T1))-1 49 | 50 | df = pd.DataFrame(columns=["cost", "T1", "T2"]) 51 | df.loc[0] = [cost, args.T1, args.T2] 52 | csv_filename = args.filebasename + '.csv' 53 | df.to_csv(csv_filename, index=False, header=False) -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_0/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | def myStepFunction(x): 10 | if x > 0: 11 | return x 12 | else: 13 | return 0 14 | 15 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 16 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 17 | tmp1=w1*sf(SrateMin-Srate) 18 | tmp2=w2*sf(Tmin-T) 19 | #print("~~t1:",t1," t1b:",t1b) 20 | C=1/(1+math.log(t1,t1b))+1/(1+math.log(t2,t2b)) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 21 | tmp3=w3*C 22 | 23 | return tmp1+tmp2+tmp3 24 | 25 | 26 | if __name__ == "__main__": 27 | parser = ArgumentParser() 28 | parser.add_argument('--T1', type=float, 29 | help="Quantum memory relaxation time (ns).") 30 | parser.add_argument('--T2', type=float, 31 | help="Quantum memory dephasing time (ns).") 32 | #parser.add_argument('--wait_time', type=float, 33 | # help="Alice's waiting time (ns).") 34 | parser.add_argument('--filebasename', type=str, 35 | help="Beginning of filename where results will be stored.") 36 | 37 | args = parser.parse_args() 38 | mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 39 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2,waitTime=10**9) 40 | 41 | if res>0.875: 42 | print("O Srate ","==========================",res,"==========================================") 43 | 44 | else: 45 | print("X Srate ","==========================",res,"==========================================") 46 | 47 | 48 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=res) #(1/(1-args.T1))-1 49 | 50 | df = pd.DataFrame(columns=["cost", "T1", "T2"]) 51 | df.loc[0] = [cost, args.T1, args.T2] 52 | csv_filename = args.filebasename + '.csv' 53 | df.to_csv(csv_filename, index=False, header=False) -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_1/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | def myStepFunction(x): 10 | if x > 0: 11 | return x 12 | else: 13 | return 0 14 | 15 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 16 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 17 | tmp1=w1*sf(SrateMin-Srate) 18 | tmp2=w2*sf(Tmin-T) 19 | #print("~~t1:",t1," t1b:",t1b) 20 | C=1/(1+math.log(t1,t1b))+1/(1+math.log(t2,t2b)) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 21 | tmp3=w3*C 22 | 23 | return tmp1+tmp2+tmp3 24 | 25 | 26 | if __name__ == "__main__": 27 | parser = ArgumentParser() 28 | parser.add_argument('--T1', type=float, 29 | help="Quantum memory relaxation time (ns).") 30 | parser.add_argument('--T2', type=float, 31 | help="Quantum memory dephasing time (ns).") 32 | #parser.add_argument('--wait_time', type=float, 33 | # help="Alice's waiting time (ns).") 34 | parser.add_argument('--filebasename', type=str, 35 | help="Beginning of filename where results will be stored.") 36 | 37 | args = parser.parse_args() 38 | mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 39 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2,waitTime=10**9) 40 | 41 | if res>0.875: 42 | print("O Srate ","==========================",res,"==========================================") 43 | 44 | else: 45 | print("X Srate ","==========================",res,"==========================================") 46 | 47 | 48 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=res) #(1/(1-args.T1))-1 49 | 50 | df = pd.DataFrame(columns=["cost", "T1", "T2"]) 51 | df.loc[0] = [cost, args.T1, args.T2] 52 | csv_filename = args.filebasename + '.csv' 53 | df.to_csv(csv_filename, index=False, header=False) -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/opt_step_2/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | def myStepFunction(x): 10 | if x > 0: 11 | return x 12 | else: 13 | return 0 14 | 15 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 16 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 17 | tmp1=w1*sf(SrateMin-Srate) 18 | tmp2=w2*sf(Tmin-T) 19 | #print("~~t1:",t1," t1b:",t1b) 20 | C=1/(1+math.log(t1,t1b))+1/(1+math.log(t2,t2b)) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 21 | tmp3=w3*C 22 | 23 | return tmp1+tmp2+tmp3 24 | 25 | 26 | if __name__ == "__main__": 27 | parser = ArgumentParser() 28 | parser.add_argument('--T1', type=float, 29 | help="Quantum memory relaxation time (ns).") 30 | parser.add_argument('--T2', type=float, 31 | help="Quantum memory dephasing time (ns).") 32 | #parser.add_argument('--wait_time', type=float, 33 | # help="Alice's waiting time (ns).") 34 | parser.add_argument('--filebasename', type=str, 35 | help="Beginning of filename where results will be stored.") 36 | 37 | args = parser.parse_args() 38 | mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 39 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2,waitTime=10**9) 40 | 41 | if res>0.875: 42 | print("O Srate ","==========================",res,"==========================================") 43 | 44 | else: 45 | print("X Srate ","==========================",res,"==========================================") 46 | 47 | 48 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=res) #(1/(1-args.T1))-1 49 | 50 | df = pd.DataFrame(columns=["cost", "T1", "T2"]) 51 | df.loc[0] = [cost, args.T1, args.T2] 52 | csv_filename = args.filebasename + '.csv' 53 | df.to_csv(csv_filename, index=False, header=False) -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | def myStepFunction(x): 10 | if x > 0: 11 | return x 12 | else: 13 | return 0 14 | 15 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 16 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 17 | tmp1=w1*sf(SrateMin-Srate) 18 | tmp2=w2*sf(Tmin-T) 19 | #print("~~t1:",t1," t1b:",t1b) 20 | C=1/(1+math.log(t1,t1b))+1/(1+math.log(t2,t2b)) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 21 | tmp3=w3*C 22 | 23 | return tmp1+tmp2+tmp3 24 | 25 | 26 | if __name__ == "__main__": 27 | parser = ArgumentParser() 28 | parser.add_argument('--T1', type=float, 29 | help="Quantum memory relaxation time (ns).") 30 | parser.add_argument('--T2', type=float, 31 | help="Quantum memory dephasing time (ns).") 32 | #parser.add_argument('--wait_time', type=float, 33 | # help="Alice's waiting time (ns).") 34 | parser.add_argument('--filebasename', type=str, 35 | help="Beginning of filename where results will be stored.") 36 | 37 | args = parser.parse_args() 38 | mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 39 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2,waitTime=10**9) 40 | 41 | if res>0.875: 42 | print("O Srate ","==========================",res,"==========================================") 43 | 44 | else: 45 | print("X Srate ","==========================",res,"==========================================") 46 | 47 | 48 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=res) #(1/(1-args.T1))-1 49 | 50 | df = pd.DataFrame(columns=["cost", "T1", "T2", "res"]) 51 | df.loc[0] = [cost, args.T1, args.T2, res] 52 | csv_filename = args.filebasename + '.csv' 53 | df.to_csv(csv_filename, index=False, header=False) 54 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/src/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | def myStepFunction(x): 10 | if x > 0: 11 | return x 12 | else: 13 | return 0 14 | 15 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 16 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 17 | tmp1=w1*sf(SrateMin-Srate) 18 | tmp2=w2*sf(Tmin-T) 19 | #print("~~t1:",t1," t1b:",t1b) 20 | C=1/(1+math.log(t1,t1b))+1/(1+math.log(t2,t2b)) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 21 | tmp3=w3*C 22 | 23 | return tmp1+tmp2+tmp3 24 | 25 | 26 | if __name__ == "__main__": 27 | parser = ArgumentParser() 28 | parser.add_argument('--T1', type=float, 29 | help="Quantum memory relaxation time (ns).") 30 | parser.add_argument('--T2', type=float, 31 | help="Quantum memory dephasing time (ns).") 32 | #parser.add_argument('--wait_time', type=float, 33 | # help="Alice's waiting time (ns).") 34 | parser.add_argument('--filebasename', type=str, 35 | help="Beginning of filename where results will be stored.") 36 | 37 | args = parser.parse_args() 38 | mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 39 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2,waitTime=10**9) 40 | 41 | if res>0.875: 42 | print("O Srate ","==========================",res,"==========================================") 43 | 44 | else: 45 | print("X Srate ","==========================",res,"==========================================") 46 | 47 | 48 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=res) #(1/(1-args.T1))-1 49 | 50 | df = pd.DataFrame(columns=["cost", "T1", "T2", "res"]) 51 | df.loc[0] = [cost, args.T1, args.T2, res] 52 | csv_filename = args.filebasename + '.csv' 53 | df.to_csv(csv_filename, index=False, header=False) 54 | -------------------------------------------------------------------------------- /VBQC/VBQC_2qb/README.md: -------------------------------------------------------------------------------- 1 | # UBQC Protocol 2 | Author: ChinTe LIAO (liao.chinte@veriqloud.fr) 3 | 4 | ## Function 5 | 6 | UBQC protocol contains two parts, computation and varification part. Current code contains only varification part. 7 | 8 | 9 | ## To Do 10 | 11 | - Expanding. 12 | 13 | 14 | ## Status 15 | 16 | Works on NetSquid version 1.0.5. 17 | 18 | 19 | 10/03/2021 20 | - Version 2 VUBQC complished. 21 | 22 | 01/02/2021 23 | - Modify some algorithm mainly in Step 13,17. 24 | 25 | 12/01/2021 26 | - Under debugging. The protocol should always return verified massage. However only half of the case did so. 27 | 28 | 29 | 30 | 31 | 32 | ## Verifiable UBQC 33 | 34 | 35 | ### Test subprotocol variable ranges 36 | - range C=n*pi/4, n=[0,7] 37 | 38 | **results:** 39 | - t : [1,2] 40 | - theta : C 41 | - d : [0,1] 42 | - bt : [0,1] 43 | - b1 : [0,1] 44 | - b2 : [0,1] 45 | - delta1 : C 46 | - delta2 : C 47 | - r : [0,1] 48 | 49 | All angle measurements are rotated along Z-axis. Following 3 steps on a qubit: 50 | rotate angle *-Ang* -> measure in X basis -> rotate angle *Ang* 51 | 52 | ### Test subprotocol2 variable Steps 53 | 54 | 1. Server generates four qubits in |0> state.(label 1 to 4) 55 | 2. Server makes two EPR pairs: Apply H gate on qubit 1 and CNOT gate on qubit 1(control) and qubit 2(target), same with 3 and 4. 56 | 3. Server applies Control-Z on qubit 1 and 3. 57 | 4. Server sends two qubits (2 and 4) to C, now the two EPR pairs are shared. 58 | 5. Client randomly chooses t and theta. 59 | 6. Client, if t=1, measures qubit 2 with -theta, assign result to bt. Then measures qubit 4 with standard basis, assgin result to d. 60 | If t=2, measures qubit 4 with -theta, assign result to bt. Then measures qubit 2 with standard basis, assgin result to d. 61 | 7. Client randomly chooses r. 62 | 8. Client, if t=1, assign delta1 = theta+(r+d+bt)*pi, randomly assign delta2 in range C. 63 | If t=2, randomly assign delta1 in range C, assign delta2 = theta+(r+d+bt)*pi. 64 | 9. Client send delta1 and delta2 to server. 65 | 10. Server measures qubit 1 and 3 with angle delta1 and delta2, assign results to b1 and b2. 66 | 11. Server send b1, b2 to Client. 67 | 12. Client, if t=1, varification passes if r=b1. 68 | If t=2, varification passes if r=b2. 69 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_0/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | def myStepFunction(x): 10 | if x > 0: 11 | return x 12 | else: 13 | return 0 14 | 15 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 16 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 17 | tmp1=w1*sf(SrateMin-Srate) 18 | tmp2=w2*sf(Tmin-T) 19 | #print("~~t1:",t1," t1b:",t1b) 20 | C=1/(1+math.log(t1,t1b))+1/(1+math.log(t2,t2b)) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 21 | tmp3=w3*C 22 | 23 | return tmp1+tmp2+tmp3 24 | 25 | 26 | if __name__ == "__main__": 27 | parser = ArgumentParser() 28 | parser.add_argument('--T1', type=float, 29 | help="Quantum memory relaxation time (ns).") 30 | parser.add_argument('--T2', type=float, 31 | help="Quantum memory dephasing time (ns).") 32 | #parser.add_argument('--wait_time', type=float, 33 | # help="Alice's waiting time (ns).") 34 | parser.add_argument('--filebasename', type=str, 35 | help="Beginning of filename where results will be stored.") 36 | 37 | args = parser.parse_args() 38 | mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 39 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2,waitTime=10**9) 40 | 41 | if res>0.875: 42 | print("O Srate ","==========================",res,"==========================================") 43 | 44 | else: 45 | print("X Srate ","==========================",res,"==========================================") 46 | 47 | 48 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=res) #(1/(1-args.T1))-1 49 | 50 | df = pd.DataFrame(columns=["cost", "T1", "T2", "res"]) 51 | df.loc[0] = [cost, args.T1, args.T2, res] 52 | csv_filename = args.filebasename + '.csv' 53 | df.to_csv(csv_filename, index=False, header=False) 54 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_1/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | def myStepFunction(x): 10 | if x > 0: 11 | return x 12 | else: 13 | return 0 14 | 15 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 16 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 17 | tmp1=w1*sf(SrateMin-Srate) 18 | tmp2=w2*sf(Tmin-T) 19 | #print("~~t1:",t1," t1b:",t1b) 20 | C=1/(1+math.log(t1,t1b))+1/(1+math.log(t2,t2b)) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 21 | tmp3=w3*C 22 | 23 | return tmp1+tmp2+tmp3 24 | 25 | 26 | if __name__ == "__main__": 27 | parser = ArgumentParser() 28 | parser.add_argument('--T1', type=float, 29 | help="Quantum memory relaxation time (ns).") 30 | parser.add_argument('--T2', type=float, 31 | help="Quantum memory dephasing time (ns).") 32 | #parser.add_argument('--wait_time', type=float, 33 | # help="Alice's waiting time (ns).") 34 | parser.add_argument('--filebasename', type=str, 35 | help="Beginning of filename where results will be stored.") 36 | 37 | args = parser.parse_args() 38 | mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 39 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2,waitTime=10**9) 40 | 41 | if res>0.875: 42 | print("O Srate ","==========================",res,"==========================================") 43 | 44 | else: 45 | print("X Srate ","==========================",res,"==========================================") 46 | 47 | 48 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=res) #(1/(1-args.T1))-1 49 | 50 | df = pd.DataFrame(columns=["cost", "T1", "T2", "res"]) 51 | df.loc[0] = [cost, args.T1, args.T2, res] 52 | csv_filename = args.filebasename + '.csv' 53 | df.to_csv(csv_filename, index=False, header=False) 54 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/opt_step_2/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | from QToken.QToken_main import run_QToken_sim 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | 9 | def myStepFunction(x): 10 | if x > 0: 11 | return x 12 | else: 13 | return 0 14 | 15 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 16 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 17 | tmp1=w1*sf(SrateMin-Srate) 18 | tmp2=w2*sf(Tmin-T) 19 | #print("~~t1:",t1," t1b:",t1b) 20 | C=1/(1+math.log(t1,t1b))+1/(1+math.log(t2,t2b)) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 21 | tmp3=w3*C 22 | 23 | return tmp1+tmp2+tmp3 24 | 25 | 26 | if __name__ == "__main__": 27 | parser = ArgumentParser() 28 | parser.add_argument('--T1', type=float, 29 | help="Quantum memory relaxation time (ns).") 30 | parser.add_argument('--T2', type=float, 31 | help="Quantum memory dephasing time (ns).") 32 | #parser.add_argument('--wait_time', type=float, 33 | # help="Alice's waiting time (ns).") 34 | parser.add_argument('--filebasename', type=str, 35 | help="Beginning of filename where results will be stored.") 36 | 37 | args = parser.parse_args() 38 | mem_noise_model = T1T2NoiseModel(T1=((1/(1-args.T1))-1)*3.6*10**12, T2=((1/(1-args.T2))-1)*10**6) 39 | res = run_QToken_sim(memNoiseModel=mem_noise_model, runTimes=2,waitTime=10**9) 40 | 41 | if res>0.875: 42 | print("O Srate ","==========================",res,"==========================================") 43 | 44 | else: 45 | print("X Srate ","==========================",res,"==========================================") 46 | 47 | 48 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=res) #(1/(1-args.T1))-1 49 | 50 | df = pd.DataFrame(columns=["cost", "T1", "T2", "res"]) 51 | df.loc[0] = [cost, args.T1, args.T2, res] 52 | csv_filename = args.filebasename + '.csv' 53 | df.to_csv(csv_filename, index=False, header=False) 54 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/ImplementationNotes.md: -------------------------------------------------------------------------------- 1 | # Implementation notes 2 | This document lists the essential steps to run smart-stopos, a tool which enable us to do backward simulation on NetSquid via regression. 3 | Assuming that a proper Python version(Python3) is already applied, and NetSquid installed. 4 | 5 | 6 | ## 1. Clone the smart-stopos repo 7 | The core of smart-stopos is not included in this repository. 8 | One must clone one from [here](https://gitlab.com/aritoka/smart-stopos). 9 | 10 | 11 | ## 2. Indicate essential file locations 12 | 13 | Edit the following file: 14 | `.../netsquid-simulation/smart_stopos_runscripts/src/input_file.ini` 15 | 16 | ``` 17 | sstoposdir: /.../smart-stopos/ # The directory of the repo downloaded in the first step. 18 | workdir: /.../netsquid-simulation/smart_stopos_runscripts # The directory of this repo. 19 | venvdir: # The directory of your virtual environment, or leave it empty. 20 | ``` 21 | 22 | ## 3. Assign `number_points` & `population_size` 23 | 24 | In the file: 25 | `.../netsquid-simulation/smart_stopos_runscripts/src/input_file.ini` 26 | Parameter `population_size` in the GENERAL section is easy to cause errors if given a wrong value. It need to be percisely assigned as the multiplication of `number_points` values of each parameter. For example, if I have two parameters which has `number_points` values of [5,10], my `population_size` would need to be 5*10=50. 27 | 28 | 29 | ## 3. Export the launching function 30 | 31 | During the regression procedure, the smart-stopos creates subfolders for optimization based on previous results. The new simulation launcher would have trouble locating the source file due to the constant changing of relative location. Therefore we need the following procedure to make sure the source can be always found by smart-stopos procedures. 32 | 33 | In directory: `.../netsquid-simulation/smart_stopos_runscripts/src` 34 | Type command: 35 | `export PYTHONPATH="$PYTHONPATH:/.../netsquid-simulation/QToken/"` 36 | 37 | replace `...` to your own path. 38 | 39 | 40 | 41 | 42 | ## 4. Launch the simulation 43 | 44 | Simply run the file `run_local.sh` in directory: `.../netsquid-simulation/smart_stopos_runscripts/src`. 45 | Output results can be found in `.../netsquid-simulation/smart_stopos_runscripts/output/`. 46 | 47 | replace `...` to your own path. 48 | -------------------------------------------------------------------------------- /QKD/E91/README.md: -------------------------------------------------------------------------------- 1 | # Quantum E91 Protocol 2 | 3 | ## Description 4 | E91 is a protocol that belongs to Quantum Key Distribution(QKD in short) protocol category. All QKD protocols aims to 5 | establish a symetric key pair between two parties.(Alice and Bob in this case) 6 | Reference: [Quantum Key Distribution from Quantum Protocol Zoo](https://wiki.veriqloud.fr/index.php?title=BB84_Quantum_Key_Distribution) 7 | 8 | ## How to use 9 | 10 | Protocol configurations are writen only in XXX_main.py file. Users could choose the return value from any protocol attribute at the end of run_XXX_sim function by calling XXX_protocol.any_attribute. Attrbute list could be found in the party files (XXX_Alice.py, XXX_Bob.py ), which users should not bother modifying. 11 | 12 | XXX_plot.py file is use to plot statistics by calling run_XXX_sim function mutiple times. It is not needed for singular simulation run. 13 | 14 | Simply run XXX_main.py file by python should run an example for you. 15 | 16 | ## Status 17 | - 01/09/2021 Release this README. 18 | 19 | ## Protocol parameters 20 | - runtimes : How many times to run this protocol. 21 | 22 | - num_bits : Number of qubits, higher value means higher security but higher cost in terms of qubits management. 23 | - fiberLenth : [km] Fiber length between two Nodes, long fiber cause more noise. 24 | - memNoiseMmodel : Noise model to apply in quantum memory for both parties. 25 | - processorNoiseModel : Noise model to apply in quantum operation for both parties. Detail configurations can be further applied on QuantumProcessor objects. 26 | - loss_init : Initial propability to loss a qubit in quantum fiber. 27 | - loss_len : [Prob/km]Propability to loss a qubit in quantum fiber by length. 28 | 29 | 30 | ## Steps 31 | 1. Party A randomly decides N basis and generate EPR pairs accordindly. Now we have 2N qubits. 32 | 2. Party A sends half of the EPR pairs to party B. Now the EPR pairs are shared. 33 | 3. Party B randomly decides N basis and measure the received qubits accordingly. 34 | 4. Party B sends his basis information to party A. 35 | 5. Party A compares her basis with B's, send information about matched basis to party B. And apply measurement accordingly to her own qubits. The outcome is the key on A's side. 36 | 6. Party B compares his basis with A's. Then filts out the unusable bit string. The remaining is the key on B's side. 37 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/src/analysis.job: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH --nodes=1 3 | #SBATCH --time=00:05:00 4 | 5 | module purge 6 | module load 2019 7 | module load Stopos/0.93-GCC-7.3.0-2.30 8 | 9 | echo "analysis" 10 | 11 | venvdir="$(awk '/^venvdir:/{print $2; exit}' < $input_file)" 12 | condaenv="$(awk '/^condaenv:/{print $2}'< $input_file)" 13 | analysis_program="$(awk '/analysis_program/{print $2}' < $input_file)" 14 | if [ ! -z $venvdir ]; then 15 | source $venvdir/activate 16 | elif [ ! -z $condaenv ]; then 17 | module load Miniconda3 18 | source /sw/arch/RedHatEnterpriseServer7/EB_production/2020/software/Miniconda3/4.7.12.1/etc/profile.d/conda.sh 19 | conda activate $condaenv 20 | fi 21 | 22 | array_jobids=$(echo $sjobid | tr ":" " ") 23 | for word in $array_jobids 24 | do 25 | echo $word 26 | sacct -j $word --format=User,JobID,Jobname,partition,state,time,start,end,elapsed,MaxRss,MaxVMSize,nnodes,ncpus,nodelist >> stopos_job_stats 27 | done 28 | 29 | export PATH=$PATH:$sstoposdir/smartstopos/pools/ 30 | export PATH=$PATH:$sstoposdir/smartstopos/duplicates/ 31 | 32 | tmprundir=$tmpdir/$foldername 33 | 34 | if [[ $optsteps == 0 ]]; then 35 | rundir=$tmpdir/$foldername/single 36 | cd $rundir 37 | elif [[ $optsteps -gt 0 ]]; then 38 | rundir=$tmpdir/$foldername/optimization 39 | optname=$rundir/opt_step_$optstep 40 | cd $optname 41 | fi 42 | 43 | # ANALYSIS and OPTIMIZATION 44 | python3 $analysis_program 45 | # optimization and creation of new pool based on optimization results 46 | cd $rundir 47 | 48 | if [[ $optsteps -gt 0 ]]; then 49 | if [[ $optstep -lt $optsteps ]]; then 50 | create_opt_pool.py --input_file $input_file --opt_step $optstep --prev_directory $optname #> out_opt\_$optstep 51 | next_opt_step=$(($optstep+1)) 52 | remove_duplicates.py --step $optstep 53 | stopos -p $pool add param_set\_$next_opt_step 54 | next_opt_dir=$rundir/opt_step\_$next_opt_step 55 | cp param_set\_$next_opt_step $next_opt_dir 56 | mv duplicates.csv $next_opt_dir 57 | fi 58 | fi 59 | 60 | # ARCHIVING 61 | # copy results when optimization is finished 62 | if [[ $optstep == $optsteps ]]; then 63 | echo "Simulation finished, copying results back" 64 | cp -r $tmprundir $output/ 65 | rm -r $tmpdir 66 | stopos purge -p $pool 67 | mv $output/running_directory_$foldername $output/$foldername/running_directory 68 | mv $output/jobs_ids_$foldername $output/$foldername/jobs_ids 69 | echo "Files cleaned" 70 | fi 71 | -------------------------------------------------------------------------------- /VBQC/VBQC_3qb/verify/README.md: -------------------------------------------------------------------------------- 1 | # VBQC Protocol 2 | Author: ChinTe LIAO (liao.chinte@veriqloud.fr) 3 | 4 | ## Function 5 | 6 | VBQC protocol test on three qubits. 7 | 8 | 9 | ## To Do 10 | 11 | 12 | ## Status 13 | 14 | Works on NetSquid version 1.0.5 15 | 16 | -15/03/2021 Finalize steps. 17 | 18 | 19 | ## Verifiable BQC 20 | 21 | 22 | ### Protocol variable ranges 23 | - range C=n*pi/4, n=[0,7] 24 | 25 | **results:** 26 | - t : [1,2] 27 | - theta1 : C 28 | - theta2 : C 29 | - theta3 : C 30 | - d1 : [0,1] 31 | - d2 : [0,1] 32 | - d3 : [0,1] 33 | - bt1 : [0,1] 34 | - bt2 : [0,1] 35 | - bt3 : [0,1] 36 | - b1 : [0,1] 37 | - b2 : [0,1] 38 | - b3 : [0,1] 39 | - delta1 : C 40 | - delta2 : C 41 | - delta3 : C 42 | - r1 : [0,1] 43 | - r2 : [0,1] 44 | - r3 : [0,1] 45 | 46 | All angle measurements are rotated along Z-axis. Following 3 steps on a qubit: 47 | rotate angle *-Ang* -> measure in X basis -> rotate angle *Ang* 48 | 49 | ### Protocol Steps 50 | 51 | 1. Server generates six qubits in |0> state.(label 1 to 6) 52 | 2. Server makes three EPR pairs: Apply H gate on qubit 1 and CNOT gate on qubit 1(control) and qubit 2(target), same with 3 and 4, 5 and 6. 53 | 3. Server applies Control-Z on qubit 1 and 3 and on qubit 3 and 5. 54 | 4. Server sends three qubits (2, 4 and 6) to Client, now the three EPR pairs are shared. 55 | 5. Client randomly chooses t and theta1, theta2, theta3. 56 | 6. Client, if t=1, measures qubit 2 with -theta1, assign result to bt1. Then measures qubit 6 with -theta3, assgin result to bt3.Then measures qubit 4 with standard basis, assign result to d2. 57 | If t=2, measures qubit 4 with -theta2, assign result to bt2. Then measures qubit 2 and qubit 6 with standard basis, assgin result to d1 and d3. 58 | 7. Client randomly chooses r1, r2 and r3. 59 | 8. Client, if t=1, assign delta1 = theta1+(r1+d2+bt1)*pi, randomly assign delta2 in range C, and assign delta3 = theta3+(r3+d2+bt3)*pi. 60 | If t=2, randomly assign delta1 and delta3 in range C, assign delta2 = theta2+(r2+d1+d3+bt2)*pi. 61 | 9. Client sends delta1. 62 | 10. Server measures qubit 1 with angle delta1, assign results to b1. 63 | 11. Server sends b1 64 | 12. Client sends delta2. 65 | 13. Server measures qubit 3 with angle delta2, assign results to b2. 66 | 14. Server sends b2. 67 | 15. Client sends delta3. 68 | 16. Server measures qubit 5 with angle delta3, assign results to b3. 69 | 17. Server sends b3 to client. 70 | 18. Client, if t=1, varification passes if r1=b1 and r3=b3. 71 | If t=2, varification passes if r2=b2. 72 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | shell.nix 2 | 3 | # Byte-compiled / optimized / DLL files 4 | __pycache__/ 5 | *.py[cod] 6 | *$py.class 7 | 8 | # C extensions 9 | *.so 10 | 11 | # Distribution / packaging 12 | .Python 13 | build/ 14 | develop-eggs/ 15 | dist/ 16 | downloads/ 17 | eggs/ 18 | .eggs/ 19 | lib/ 20 | lib64/ 21 | parts/ 22 | sdist/ 23 | var/ 24 | wheels/ 25 | pip-wheel-metadata/ 26 | share/python-wheels/ 27 | *.egg-info/ 28 | .installed.cfg 29 | *.egg 30 | MANIFEST 31 | 32 | # PyInstaller 33 | # Usually these files are written by a python script from a template 34 | # before PyInstaller builds the exe, so as to inject date/other infos into it. 35 | *.manifest 36 | *.spec 37 | 38 | # Installer logs 39 | pip-log.txt 40 | pip-delete-this-directory.txt 41 | 42 | # Unit test / coverage reports 43 | htmlcov/ 44 | .tox/ 45 | .nox/ 46 | .coverage 47 | .coverage.* 48 | .cache 49 | nosetests.xml 50 | coverage.xml 51 | *.cover 52 | *.py,cover 53 | .hypothesis/ 54 | .pytest_cache/ 55 | 56 | # Translations 57 | *.mo 58 | *.pot 59 | 60 | # Django stuff: 61 | *.log 62 | local_settings.py 63 | db.sqlite3 64 | db.sqlite3-journal 65 | 66 | # Flask stuff: 67 | instance/ 68 | .webassets-cache 69 | 70 | # Scrapy stuff: 71 | .scrapy 72 | 73 | # Sphinx documentation 74 | docs/_build/ 75 | 76 | # PyBuilder 77 | target/ 78 | 79 | # Jupyter Notebook 80 | .ipynb_checkpoints 81 | 82 | # IPython 83 | profile_default/ 84 | ipython_config.py 85 | 86 | # pyenv 87 | .python-version 88 | 89 | # pipenv 90 | # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. 91 | # However, in case of collaboration, if having platform-specific dependencies or dependencies 92 | # having no cross-platform support, pipenv may install dependencies that don't work, or not 93 | # install all needed dependencies. 94 | #Pipfile.lock 95 | 96 | # PEP 582; used by e.g. github.com/David-OConnor/pyflow 97 | __pypackages__/ 98 | 99 | # Celery stuff 100 | celerybeat-schedule 101 | celerybeat.pid 102 | 103 | # SageMath parsed files 104 | *.sage.py 105 | 106 | # Environments 107 | .env 108 | .venv 109 | env/ 110 | venv/ 111 | ENV/ 112 | env.bak/ 113 | venv.bak/ 114 | 115 | # Spyder project settings 116 | .spyderproject 117 | .spyproject 118 | 119 | # Rope project settings 120 | .ropeproject 121 | 122 | # mkdocs documentation 123 | /site 124 | 125 | # mypy 126 | .mypy_cache/ 127 | .dmypy.json 128 | dmypy.json 129 | 130 | # Pyre type checker 131 | .pyre/ 132 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-08-20_15.20/optimization/src/analysis.job: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH --nodes=1 3 | #SBATCH --time=00:05:00 4 | 5 | module purge 6 | module load 2019 7 | module load Stopos/0.93-GCC-7.3.0-2.30 8 | 9 | echo "analysis" 10 | 11 | venvdir="$(awk '/^venvdir:/{print $2; exit}' < $input_file)" 12 | condaenv="$(awk '/^condaenv:/{print $2}'< $input_file)" 13 | analysis_program="$(awk '/analysis_program/{print $2}' < $input_file)" 14 | if [ ! -z $venvdir ]; then 15 | source $venvdir/activate 16 | elif [ ! -z $condaenv ]; then 17 | module load Miniconda3 18 | source /sw/arch/RedHatEnterpriseServer7/EB_production/2020/software/Miniconda3/4.7.12.1/etc/profile.d/conda.sh 19 | conda activate $condaenv 20 | fi 21 | 22 | array_jobids=$(echo $sjobid | tr ":" " ") 23 | for word in $array_jobids 24 | do 25 | echo $word 26 | sacct -j $word --format=User,JobID,Jobname,partition,state,time,start,end,elapsed,MaxRss,MaxVMSize,nnodes,ncpus,nodelist >> stopos_job_stats 27 | done 28 | 29 | export PATH=$PATH:$sstoposdir/smartstopos/pools/ 30 | export PATH=$PATH:$sstoposdir/smartstopos/duplicates/ 31 | 32 | tmprundir=$tmpdir/$foldername 33 | 34 | if [[ $optsteps == 0 ]]; then 35 | rundir=$tmpdir/$foldername/single 36 | cd $rundir 37 | elif [[ $optsteps -gt 0 ]]; then 38 | rundir=$tmpdir/$foldername/optimization 39 | optname=$rundir/opt_step_$optstep 40 | cd $optname 41 | fi 42 | 43 | # ANALYSIS and OPTIMIZATION 44 | python3 $analysis_program 45 | # optimization and creation of new pool based on optimization results 46 | cd $rundir 47 | 48 | if [[ $optsteps -gt 0 ]]; then 49 | if [[ $optstep -lt $optsteps ]]; then 50 | create_opt_pool.py --input_file $input_file --opt_step $optstep --prev_directory $optname #> out_opt\_$optstep 51 | next_opt_step=$(($optstep+1)) 52 | remove_duplicates.py --step $optstep 53 | stopos -p $pool add param_set\_$next_opt_step 54 | next_opt_dir=$rundir/opt_step\_$next_opt_step 55 | cp param_set\_$next_opt_step $next_opt_dir 56 | mv duplicates.csv $next_opt_dir 57 | fi 58 | fi 59 | 60 | # ARCHIVING 61 | # copy results when optimization is finished 62 | if [[ $optstep == $optsteps ]]; then 63 | echo "Simulation finished, copying results back" 64 | cp -r $tmprundir $output/ 65 | rm -r $tmpdir 66 | stopos purge -p $pool 67 | mv $output/running_directory_$foldername $output/$foldername/running_directory 68 | mv $output/jobs_ids_$foldername $output/$foldername/jobs_ids 69 | echo "Files cleaned" 70 | fi 71 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-27_19.36/optimization/src/analysis.job: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH --nodes=1 3 | #SBATCH --time=00:05:00 4 | 5 | module purge 6 | module load 2019 7 | module load Stopos/0.93-GCC-7.3.0-2.30 8 | 9 | echo "analysis" 10 | 11 | venvdir="$(awk '/^venvdir:/{print $2; exit}' < $input_file)" 12 | condaenv="$(awk '/^condaenv:/{print $2}'< $input_file)" 13 | analysis_program="$(awk '/analysis_program/{print $2}' < $input_file)" 14 | if [ ! -z $venvdir ]; then 15 | source $venvdir/activate 16 | elif [ ! -z $condaenv ]; then 17 | module load Miniconda3 18 | source /sw/arch/RedHatEnterpriseServer7/EB_production/2020/software/Miniconda3/4.7.12.1/etc/profile.d/conda.sh 19 | conda activate $condaenv 20 | fi 21 | 22 | array_jobids=$(echo $sjobid | tr ":" " ") 23 | for word in $array_jobids 24 | do 25 | echo $word 26 | sacct -j $word --format=User,JobID,Jobname,partition,state,time,start,end,elapsed,MaxRss,MaxVMSize,nnodes,ncpus,nodelist >> stopos_job_stats 27 | done 28 | 29 | export PATH=$PATH:$sstoposdir/smartstopos/pools/ 30 | export PATH=$PATH:$sstoposdir/smartstopos/duplicates/ 31 | 32 | tmprundir=$tmpdir/$foldername 33 | 34 | if [[ $optsteps == 0 ]]; then 35 | rundir=$tmpdir/$foldername/single 36 | cd $rundir 37 | elif [[ $optsteps -gt 0 ]]; then 38 | rundir=$tmpdir/$foldername/optimization 39 | optname=$rundir/opt_step_$optstep 40 | cd $optname 41 | fi 42 | 43 | # ANALYSIS and OPTIMIZATION 44 | python3 $analysis_program 45 | # optimization and creation of new pool based on optimization results 46 | cd $rundir 47 | 48 | if [[ $optsteps -gt 0 ]]; then 49 | if [[ $optstep -lt $optsteps ]]; then 50 | create_opt_pool.py --input_file $input_file --opt_step $optstep --prev_directory $optname #> out_opt\_$optstep 51 | next_opt_step=$(($optstep+1)) 52 | remove_duplicates.py --step $optstep 53 | stopos -p $pool add param_set\_$next_opt_step 54 | next_opt_dir=$rundir/opt_step\_$next_opt_step 55 | cp param_set\_$next_opt_step $next_opt_dir 56 | mv duplicates.csv $next_opt_dir 57 | fi 58 | fi 59 | 60 | # ARCHIVING 61 | # copy results when optimization is finished 62 | if [[ $optstep == $optsteps ]]; then 63 | echo "Simulation finished, copying results back" 64 | cp -r $tmprundir $output/ 65 | rm -r $tmpdir 66 | stopos purge -p $pool 67 | mv $output/running_directory_$foldername $output/$foldername/running_directory 68 | mv $output/jobs_ids_$foldername $output/$foldername/jobs_ids 69 | echo "Files cleaned" 70 | fi 71 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/output/QToken_2021-09-29_09.50/optimization/src/analysis.job: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | #SBATCH --nodes=1 3 | #SBATCH --time=00:05:00 4 | 5 | module purge 6 | module load 2019 7 | module load Stopos/0.93-GCC-7.3.0-2.30 8 | 9 | echo "analysis" 10 | 11 | venvdir="$(awk '/^venvdir:/{print $2; exit}' < $input_file)" 12 | condaenv="$(awk '/^condaenv:/{print $2}'< $input_file)" 13 | analysis_program="$(awk '/analysis_program/{print $2}' < $input_file)" 14 | if [ ! -z $venvdir ]; then 15 | source $venvdir/activate 16 | elif [ ! -z $condaenv ]; then 17 | module load Miniconda3 18 | source /sw/arch/RedHatEnterpriseServer7/EB_production/2020/software/Miniconda3/4.7.12.1/etc/profile.d/conda.sh 19 | conda activate $condaenv 20 | fi 21 | 22 | array_jobids=$(echo $sjobid | tr ":" " ") 23 | for word in $array_jobids 24 | do 25 | echo $word 26 | sacct -j $word --format=User,JobID,Jobname,partition,state,time,start,end,elapsed,MaxRss,MaxVMSize,nnodes,ncpus,nodelist >> stopos_job_stats 27 | done 28 | 29 | export PATH=$PATH:$sstoposdir/smartstopos/pools/ 30 | export PATH=$PATH:$sstoposdir/smartstopos/duplicates/ 31 | 32 | tmprundir=$tmpdir/$foldername 33 | 34 | if [[ $optsteps == 0 ]]; then 35 | rundir=$tmpdir/$foldername/single 36 | cd $rundir 37 | elif [[ $optsteps -gt 0 ]]; then 38 | rundir=$tmpdir/$foldername/optimization 39 | optname=$rundir/opt_step_$optstep 40 | cd $optname 41 | fi 42 | 43 | # ANALYSIS and OPTIMIZATION 44 | python3 $analysis_program 45 | # optimization and creation of new pool based on optimization results 46 | cd $rundir 47 | 48 | if [[ $optsteps -gt 0 ]]; then 49 | if [[ $optstep -lt $optsteps ]]; then 50 | create_opt_pool.py --input_file $input_file --opt_step $optstep --prev_directory $optname #> out_opt\_$optstep 51 | next_opt_step=$(($optstep+1)) 52 | remove_duplicates.py --step $optstep 53 | stopos -p $pool add param_set\_$next_opt_step 54 | next_opt_dir=$rundir/opt_step\_$next_opt_step 55 | cp param_set\_$next_opt_step $next_opt_dir 56 | mv duplicates.csv $next_opt_dir 57 | fi 58 | fi 59 | 60 | # ARCHIVING 61 | # copy results when optimization is finished 62 | if [[ $optstep == $optsteps ]]; then 63 | echo "Simulation finished, copying results back" 64 | cp -r $tmprundir $output/ 65 | rm -r $tmpdir 66 | stopos purge -p $pool 67 | mv $output/running_directory_$foldername $output/$foldername/running_directory 68 | mv $output/jobs_ids_$foldername $output/$foldername/jobs_ids 69 | echo "Files cleaned" 70 | fi 71 | -------------------------------------------------------------------------------- /QToken/README.md: -------------------------------------------------------------------------------- 1 | # Quantum Token Protocol 2 | 3 | ## Description 4 | The protocol provides a way for issuing an unforgeable token which can only be verified by the issuer or other authorized party. 5 | Reference: [Quantum Token from Quantum Protocol Zoo](https://wiki.veriqloud.fr/index.php?title=Quantum_Token) 6 | 7 | ## How to use 8 | Protocol configurations are writen only in *QToken_run.py* file. Users could define the return value from any protocol attribute at the end of *run_QToken_sim()* function. 9 | Users should not bother modifying the party files (QToken_Alice.py, QToken_Bob.py ), but only to check what attributes to be extracted later in *QToken_run.py*. 10 | quantumToken_plot.py file in *script/* is used to plot statistics by calling *run_QToken_sim()* recursively. 11 | 12 | ## Status 13 | - 18/08/2021 Fixed minor import issues. 14 | - 05/05/2021 Imported from the old repository. Need further refine. 15 | - 20/01/2023 Refined and added scripts. 16 | - 10/10/2023 Refined README. 17 | 18 | ## Protocol parameters 19 | 20 | - num_bits : Number of qubits, higher value means higher security but higher cost in terms of qubits management. 21 | - fiberLenth : [km] Fiber length between two Nodes, long fiber cause more noise. 22 | - depolar_rate: [Hz]/[prob] Parameter of deplar noise model, this will be a probability if timeIND is true. 23 | - timeIND : Time independency. If ture, depolar_rate will be a probability. Otherwise in Hz. 24 | - threshold : The threshold that token issuer sets. Value can only be 0 to 1. Higher value means lower tolerancy and higher security, but less verifying successful rate. 25 | - waitTime : [sec] The time between node A receiving the qubits and sending challange request. 26 | - Cmes : Customized challange request message, can be any classical message like 10101. Doesn't affect the protocl much. 27 | 28 | 29 | ## Steps 30 | 1. (preparation stage) Node B prepares N pairs of qubits, each pair consists of at least one state from two different non-orthogonal sets of basis, in our case: stamdard and Hadamard basis. And record the states. 31 | 2. (preparation stage) Node B send all the qubits(the token) to node A. 32 | 3. Node A wait for T seconds. 33 | 4. Node A send a challange request to node B to verify the token. (initialize the verification process) 34 | 5. (verification stage) Node B replies a challange for Node A to solve. 35 | 6. (verification stage) Node A measures its qubits according to the challange. 36 | 7. (verification stage) Node A send the measurement result to node B. 37 | 8. (verification stage) Node B send the approval or deny. 38 | -------------------------------------------------------------------------------- /smart_stopos_runscripts/src/run_qtoken.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | from argparse import ArgumentParser 4 | 5 | from netsquid.components.models.qerrormodels import T1T2NoiseModel 6 | import math 7 | 8 | import os 9 | import sys 10 | scriptpath = str(os.path.dirname(os.path.abspath(__file__))) + "/../../QToken/" 11 | sys.path.append(scriptpath) 12 | 13 | from QToken_run import run_QToken_sim 14 | 15 | 16 | def myStepFunction(x): 17 | if x > 0: 18 | return x 19 | else: 20 | return 0 21 | 22 | def myCostFunction(t1,t2,p1,p2,Srate,T=0,SrateMin=0.875,Tmin=10**9,w1=1,w2=0,w3=1,sf=myStepFunction 23 | ,t1b=0.9091 ,t2b=0.8305,p1b=0.95,p2b=0.995): 24 | tmp1=w1*sf(SrateMin-Srate) 25 | tmp2=w2*sf(Tmin-T) 26 | C=1/math.log(t1,t1b)+1/math.log(t2,t2b) #+1/(1+math.log(p1,p1b))+1/(1+math.log(p2,p2b)) 27 | tmp3=w3*C 28 | 29 | return tmp1+tmp2+tmp3 30 | 31 | # The arguments T1 T2 are mandatory to run this script, 32 | # their values are limited to 0 ~ 1.0, and T1>T2. 33 | if __name__ == "__main__": 34 | parser = ArgumentParser() 35 | parser.add_argument('--T1', type=float, 36 | help="Quantum memory relaxation time (ns),00.875: 52 | print("O Srate ","==========================",res,"==========================================") 53 | 54 | else: 55 | print("X Srate ","==========================",res,"==========================================") 56 | ''' 57 | 58 | cost = myCostFunction(t1=args.T1,t2=args.T2,p1=0.95,p2=0.995,Srate=sum(res)/len(res)) #(1/(1-args.T1))-1 59 | 60 | df = pd.DataFrame(columns=["cost", "T1", "T2"]) #, "res" 61 | df.loc[0] = [cost, args.T1, args.T2] #, res 62 | csv_filename = args.filebasename + '.csv' 63 | df.to_csv(csv_filename, index=False, header=False) 64 | -------------------------------------------------------------------------------- /QuantumTeleportation/QT_receiver.py: -------------------------------------------------------------------------------- 1 | from netsquid.protocols import NodeProtocol 2 | from netsquid.components.qprogram import QuantumProgram 3 | 4 | #from netsquid.qubits.qformalism import * 5 | from netsquid.qubits.qstate import QState 6 | from netsquid.qubits import set_qstate_formalism, QFormalism 7 | from netsquid.components.instructions import INSTR_X,INSTR_Z 8 | 9 | 10 | import sys 11 | scriptpath = "../lib/" 12 | sys.path.append(scriptpath) 13 | from functions import ProgramFail 14 | 15 | 16 | class TP_ReceiverAdjust(QuantumProgram): 17 | 18 | def __init__(self,bellState,adjBase): 19 | super().__init__() 20 | self.bellState=bellState 21 | self.adjBase=adjBase 22 | 23 | 24 | def program(self): 25 | 26 | if self.bellState == 1: 27 | if self.adjBase[0]==1: 28 | self.apply(INSTR_Z, 0) 29 | 30 | if self.adjBase[1]==1: 31 | self.apply(INSTR_X, 0) 32 | 33 | elif self.bellState == 3: 34 | if self.adjBase[0]==1: 35 | self.apply(INSTR_Z, 0) 36 | 37 | if self.adjBase[1]==0: 38 | self.apply(INSTR_X, 0) 39 | 40 | 41 | else: 42 | print("R undefined case in TP_ReceiverAdjust") 43 | 44 | yield self.run(parallel=False) 45 | 46 | 47 | 48 | 49 | 50 | class QuantumTeleportationReceiver(NodeProtocol): 51 | 52 | def __init__(self,node,processor,EPR_2,portNames=["portC_Receiver"],bellState=1,delay=0): 53 | super().__init__() 54 | self.node=node 55 | self.processor=processor 56 | self.bellState=bellState 57 | 58 | self.resultQubit=EPR_2 59 | self.portNameCR1=portNames[0] 60 | self.receivedQubit=None 61 | self.processor.put(self.resultQubit) 62 | self.delay=delay 63 | 64 | set_qstate_formalism(QFormalism.DM) 65 | 66 | def run(self): 67 | 68 | port=self.node.ports[self.portNameCR1] 69 | yield self.await_port_input(port) 70 | res=port.rx_input().items 71 | #print("R get results:", res) 72 | 73 | 74 | # wait for delay ns 75 | if self.delay>0: 76 | yield self.await_timer(duration=self.delay) 77 | 78 | 79 | # edit EPR2 according to res 80 | myTP_ReceiverAdjust=TP_ReceiverAdjust(self.bellState,res) 81 | self.processor.execute_program(myTP_ReceiverAdjust,qubit_mapping=[0]) 82 | #self.processor.set_program_done_callback(self.show_state,once=True) # see qstate 83 | self.processor.set_program_fail_callback(ProgramFail,info=self.processor.name,once=True) 84 | yield self.await_program(processor=self.processor) 85 | 86 | self.receivedQubit=self.processor.peek(0)[0] 87 | 88 | 89 | 90 | def show_state(self): 91 | set_qstate_formalism(QFormalism.DM) 92 | tmp=self.processor.pop(0)[0] 93 | print("R final state:",tmp.qstate.dm) --------------------------------------------------------------------------------