Welcome to QCEC’s documentation!¶
QCEC is a tool for quantum circuit equivalence checking developed as part of the Munich Quantum Toolkit (MQT) by the Chair for Design Automation at the Technical University of Munich. It builds upon MQT Core, which forms the backbone of the MQT.
We recommend you to start with the installation instructions. Then proceed to the quickstart guide and read the reference documentation. If you are interested in the theory behind QCEC, have a look at the publications in the publication list.
We appreciate any feedback and contributions to the project. If you want to contribute, you can find more information in the Contribution guide. If you are having trouble with the installation or the usage of QCEC, please let us know at our Support page.
User Guide
Developers
API Reference
- Library
- Verify
- Verify Compilation
- Equivalence Checking Manager
EquivalenceCheckingManager- Constructing an instance
- Configuration after instantiation
EquivalenceCheckingManager.set_parallel()EquivalenceCheckingManager.set_nthreads()EquivalenceCheckingManager.set_timeout()EquivalenceCheckingManager.set_construction_checker()EquivalenceCheckingManager.set_simulation_checker()EquivalenceCheckingManager.set_alternating_checker()EquivalenceCheckingManager.set_zx_checker()EquivalenceCheckingManager.set_tolerance()EquivalenceCheckingManager.fuse_single_qubit_gates()EquivalenceCheckingManager.reconstruct_swaps()EquivalenceCheckingManager.reorder_operations()EquivalenceCheckingManager.set_application_scheme()EquivalenceCheckingManager.set_construction_application_scheme()EquivalenceCheckingManager.set_simulation_application_scheme()EquivalenceCheckingManager.set_alternating_application_scheme()EquivalenceCheckingManager.set_gate_cost_profile()EquivalenceCheckingManager.set_construction_gate_cost_profile()EquivalenceCheckingManager.set_simulation_gate_cost_profile()EquivalenceCheckingManager.set_alternating_gate_cost_profile()EquivalenceCheckingManager.set_trace_threshold()EquivalenceCheckingManager.set_fidelity_threshold()EquivalenceCheckingManager.set_max_sims()EquivalenceCheckingManager.set_state_type()EquivalenceCheckingManager.set_seed()EquivalenceCheckingManager.store_cex_input()EquivalenceCheckingManager.store_cex_output()- Running the equivalence check
- Obtaining the results
- Configuration
Configuration- Execution
Configuration.Execution
Configuration.Execution.nthreadsConfiguration.Execution.numerical_toleranceConfiguration.Execution.parallelConfiguration.Execution.run_alternating_checkerConfiguration.Execution.run_construction_checkerConfiguration.Execution.run_simulation_checkerConfiguration.Execution.run_zx_checkerConfiguration.Execution.timeout- Timeout Handling
- Optimizations
Configuration.Optimizations
Configuration.Optimizations.backpropagate_output_permutationConfiguration.Optimizations.elide_permutationsConfiguration.Optimizations.fuse_single_qubit_gatesConfiguration.Optimizations.reconstruct_swapsConfiguration.Optimizations.remove_diagonal_gates_before_measureConfiguration.Optimizations.reorder_operationsConfiguration.Optimizations.transform_dynamic_circuit- Application
- Functionality
- Simulation
- Parameterized
ConfigurationOptions
ConfigurationOptions.additional_instantiationsConfigurationOptions.alternating_schemeConfigurationOptions.backpropagate_output_permutationConfigurationOptions.check_partial_equivalenceConfigurationOptions.construction_schemeConfigurationOptions.elide_permutationsConfigurationOptions.fidelity_thresholdConfigurationOptions.fuse_single_qubit_gatesConfigurationOptions.max_simsConfigurationOptions.nthreadsConfigurationOptions.numerical_toleranceConfigurationOptions.parallelConfigurationOptions.parameterized_toleranceConfigurationOptions.profileConfigurationOptions.reconstruct_swapsConfigurationOptions.remove_diagonal_gates_before_measureConfigurationOptions.reorder_operationsConfigurationOptions.run_alternating_checkerConfigurationOptions.run_construction_checkerConfigurationOptions.run_simulation_checkerConfigurationOptions.run_zx_checkerConfigurationOptions.seedConfigurationOptions.simulation_schemeConfigurationOptions.state_typeConfigurationOptions.store_cex_inputConfigurationOptions.store_cex_outputConfigurationOptions.timeoutConfigurationOptions.trace_thresholdConfigurationOptions.transform_dynamic_circuitaugment_config_from_kwargs()- Application Scheme
- State Types for Simulation
- Notions of Equivalence
EquivalenceCriterion
EquivalenceCriterion.equivalentEquivalenceCriterion.equivalent_up_to_global_phaseEquivalenceCriterion.equivalent_up_to_phaseEquivalenceCriterion.nameEquivalenceCriterion.no_informationEquivalenceCriterion.not_equivalentEquivalenceCriterion.probably_equivalentEquivalenceCriterion.probably_not_equivalentEquivalenceCriterion.value- Results