intel-qs/unit_test/include
giangiac 4f5065394f
Feature/qubit ordering (#24)
Add the possibility of reordering the qubits at the level of the data storage.

Consider that we have N qubits distributed among 2^P processes.
Previously:
* the first M=N-P qubits were local
* the last P qubits were global
Now we can choose the qubit order for storage and therefore select any M qubits to be local.
This possibility helps reducing the simulation time by avoiding MPI communication overhead.

Implementation:
* Add distributed implementation of (symmetric) SWAP-like gates.
* Extend class Permutation.
* Add documentation inside qureg.hpp about storage conventions.
* 'qubit' indicates program qubits, 'position' indicates data qubits
* GetGlobalAmplitude(index) returns the amplitude corresponding to the global index in input, considering that such index is expressed in terms of program qubits while the actual state is stored according to the data qubit order.
* Add QubitRegister functions to permute qubits. For example PermuteQubits(), PermuteLocalQubits(), ...
* Add unit tests covering the class Permutation class and novel QubitRegister methods.
2020-08-04 12:10:04 -07:00
..
apply_1q_gate_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
apply_swap_gate_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
chunking_communication_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
compiler_flags_test.hpp Moved files from directories qureg and util to include and src 2020-03-24 13:14:34 -07:00
conversion_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
expectation_values_test.hpp Moved files from directories qureg and util to include and src 2020-03-24 13:14:34 -07:00
gate_counter_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
measure_test.hpp Moved files from directories qureg and util to include and src 2020-03-24 13:14:34 -07:00
multiple_states_test.hpp Fix bug in chunking code for distributed controlled gates 2020-05-05 11:21:17 -07:00
noisy_simulation_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
one_qubit_register_test.hpp Moved files from directories qureg and util to include and src 2020-03-24 13:14:34 -07:00
permutation_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
qaoa_features_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
qureg_permute_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
random_number_generator_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
single_qubit_gates_test.hpp Moved files from directories qureg and util to include and src 2020-03-24 13:14:34 -07:00
state_initialization_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00
tinymatrix_test.hpp Moved files from directories qureg and util to include and src 2020-03-24 13:14:34 -07:00
two_qubit_register_test.hpp Moved files from directories qureg and util to include and src 2020-03-24 13:14:34 -07:00
utility_methods_test.hpp Feature/qubit ordering (#24) 2020-08-04 12:10:04 -07:00