mqt-core 3.0.2__tar.gz → 3.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mqt-core might be problematic. Click here for more details.
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.gitignore +5 -2
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.license-tools-config.json +3 -3
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.pre-commit-config.yaml +18 -11
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.readthedocs.yaml +10 -7
- mqt_core-3.1.0/CHANGELOG.md +207 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/CMakeLists.txt +29 -9
- {mqt_core-3.0.2 → mqt_core-3.1.0}/PKG-INFO +46 -21
- {mqt_core-3.0.2 → mqt_core-3.1.0}/README.md +45 -20
- {mqt_core-3.0.2 → mqt_core-3.1.0}/UPGRADING.md +20 -2
- mqt_core-3.1.0/bindings/dd/CMakeLists.txt +32 -0
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/dd/register_dd.cpp +12 -5
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/dd/register_dd_package.cpp +35 -12
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/dd/register_matrix_dds.cpp +13 -2
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/dd/register_vector_dds.cpp +13 -2
- mqt_core-3.1.0/bindings/ir/CMakeLists.txt +34 -0
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/operations/register_classic_controlled_operation.cpp +13 -1
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/operations/register_compound_operation.cpp +17 -3
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/operations/register_control.cpp +14 -3
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/operations/register_non_unitary_operation.cpp +12 -1
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/operations/register_operation.cpp +12 -1
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/operations/register_optype.cpp +12 -1
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/operations/register_standard_operation.cpp +12 -1
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/operations/register_symbolic_operation.cpp +12 -1
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/register_ir.cpp +7 -3
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/register_operations.cpp +9 -1
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/register_permutation.cpp +17 -3
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/register_quantum_computation.cpp +14 -3
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/register_registers.cpp +17 -6
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/register_symbolic.cpp +9 -1
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/symbolic/register_expression.cpp +17 -5
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/symbolic/register_term.cpp +14 -3
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/ir/symbolic/register_variable.cpp +16 -5
- mqt_core-3.1.0/cmake/AddMQTCoreLibrary.cmake +37 -0
- mqt_core-3.1.0/cmake/AddMQTPythonBinding.cmake +52 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/CompilerOptions.cmake +6 -1
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/ExternalDependencies.cmake +2 -2
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/PackageAddTest.cmake +4 -4
- mqt_core-3.0.2/mlir/CMakeLists.txt → mqt_core-3.1.0/cmake/SetupMLIR.cmake +10 -16
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/mqt-core-config.cmake.in +1 -0
- mqt_core-3.1.0/include/mqt-core/dd/Approximation.hpp +45 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/Complex.hpp +6 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/ComplexNumbers.hpp +0 -18
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/ComputeTable.hpp +4 -1
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/DDDefinitions.hpp +0 -7
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/Edge.hpp +16 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/Export.hpp +1 -2
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/Node.hpp +26 -49
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/Operations.hpp +27 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/Package.hpp +138 -120
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/RealNumber.hpp +49 -66
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/RealNumberUniqueTable.hpp +14 -25
- mqt_core-3.1.0/include/mqt-core/dd/StateGeneration.hpp +143 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/UnaryComputeTable.hpp +6 -4
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/UniqueTable.hpp +13 -39
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/statistics/PackageStatistics.hpp +8 -7
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/statistics/UniqueTableStatistics.hpp +0 -10
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/QuantumComputation.hpp +3 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/CompoundOperation.hpp +2 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/Operation.hpp +2 -2
- mqt_core-3.0.2/src/mqt/core/plugins/__init__.py → mqt_core-3.1.0/mlir/CMakeLists.txt +9 -7
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/include/mlir/Dialect/CMakeLists.txt +1 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/Common/Compat.h +41 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/Common/IR/CommonTraits.h +157 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/Common/IR/CommonTraits.td +52 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/Common/IR/StdOps.td.inc +332 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTDyn/IR/CMakeLists.txt +16 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTDyn/IR/MQTDynDialect.h +45 -0
- mqt_core-3.0.2/mlir/include/mlir/Dialect/MQTOpt/IR/MQTOptInterfaces.td → mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTDyn/IR/MQTDynInterfaces.td +23 -41
- mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTDyn/IR/MQTDynOps.td +201 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTDyn/Transforms/CMakeLists.txt +12 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTDyn/Transforms/Passes.h +36 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTDyn/Transforms/Passes.td +24 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTOpt/CMakeLists.txt +10 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/include/mlir/Dialect/MQTOpt/IR/CMakeLists.txt +4 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/include/mlir/Dialect/MQTOpt/IR/MQTOptDialect.h +1 -1
- mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTOpt/IR/MQTOptInterfaces.td +176 -0
- mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTOpt/IR/MQTOptOps.td +247 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/include/mlir/Dialect/MQTOpt/Transforms/Passes.h +1 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/include/mlir/Dialect/MQTOpt/Transforms/Passes.td +10 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/tools/quantum-opt/CMakeLists.txt +2 -1
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/tools/quantum-opt/quantum-opt.cpp +4 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/noxfile.py +3 -4
- {mqt_core-3.0.2 → mqt_core-3.1.0}/pyproject.toml +47 -27
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/_version.py +2 -2
- mqt_core-3.1.0/python/mqt/core/plugins/__init__.py +9 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/plugins/qiskit/qiskit_to_mqt.py +6 -0
- mqt_core-3.1.0/sitecustomize.py +23 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/CMakeLists.txt +14 -20
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/algorithms/CMakeLists.txt +2 -5
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/circuit_optimizer/CMakeLists.txt +2 -5
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/datastructures/CMakeLists.txt +2 -5
- mqt_core-3.1.0/src/dd/Approximation.cpp +245 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/CMakeLists.txt +2 -5
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/Complex.cpp +10 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/ComplexNumbers.cpp +0 -10
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/Edge.cpp +22 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/Operations.cpp +29 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/Package.cpp +31 -214
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/RealNumber.cpp +45 -45
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/RealNumberUniqueTable.cpp +37 -37
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/Simulation.cpp +19 -30
- mqt_core-3.1.0/src/dd/StateGeneration.cpp +363 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/UniqueTable.cpp +15 -34
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/statistics/PackageStatistics.cpp +33 -16
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/statistics/UniqueTableStatistics.cpp +1 -12
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/CMakeLists.txt +2 -5
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/operations/CompoundOperation.cpp +4 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/operations/StandardOperation.cpp +4 -4
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/operations/SymbolicOperation.cpp +4 -4
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/na/CMakeLists.txt +2 -5
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/qasm3/CMakeLists.txt +2 -5
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/zx/CMakeLists.txt +2 -5
- mqt_core-3.1.0/uv.lock +3580 -0
- mqt_core-3.0.2/CHANGELOG.md +0 -88
- mqt_core-3.0.2/include/mqt-core/python/pybind11.hpp +0 -22
- mqt_core-3.0.2/mlir/include/mlir/Dialect/MQTOpt/IR/MQTOptOps.td +0 -686
- mqt_core-3.0.2/mlir/include/mlir/Dialect/MQTOpt/IR/MQTOptTraits.h +0 -80
- mqt_core-3.0.2/src/python/dd/CMakeLists.txt +0 -39
- mqt_core-3.0.2/src/python/ir/CMakeLists.txt +0 -41
- mqt_core-3.0.2/uv.lock +0 -3370
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.clang-format +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.clang-tidy +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.cmake-format.yaml +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.editorconfig +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.git_archival.txt +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.gitattributes +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/.python_version +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/CITATION.cff +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/LICENSE.md +0 -0
- {mqt_core-3.0.2/src/python → mqt_core-3.1.0/bindings}/CMakeLists.txt +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/Cache.cmake +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/CompilerWarnings.cmake +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/FindGMP.cmake +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/GetVersion.cmake +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/PreventInSourceBuilds.cmake +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/Sanitizers.cmake +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/StandardProjectSettings.cmake +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/cmake/cmake_uninstall.cmake.in +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/algorithms/BernsteinVazirani.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/algorithms/GHZState.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/algorithms/Grover.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/algorithms/QFT.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/algorithms/QPE.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/algorithms/RandomCliffordCircuit.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/algorithms/StatePreparation.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/algorithms/WState.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/circuit_optimizer/CircuitOptimizer.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/datastructures/DirectedAcyclicGraph.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/datastructures/DirectedGraph.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/datastructures/DisjointSet.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/datastructures/Layer.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/datastructures/SymmetricMatrix.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/datastructures/UndirectedGraph.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/CachedEdge.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/ComplexValue.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/DDpackageConfig.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/DensityNoiseTable.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/FunctionalityConstruction.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/GateMatrixDefinitions.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/LinkedListBase.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/MemoryManager.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/NoiseFunctionality.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/Package_fwd.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/Simulation.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/StochasticNoiseOperationTable.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/statistics/MemoryManagerStatistics.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/statistics/Statistics.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/dd/statistics/TableStatistics.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/Definitions.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/Permutation.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/Register.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/AodOperation.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/ClassicControlledOperation.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/Control.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/Expression.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/NonUnitaryOperation.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/OpType.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/OpType.inc +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/StandardOperation.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/ir/operations/SymbolicOperation.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/NAComputation.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/entities/Atom.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/entities/Location.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/entities/Zone.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/GlobalCZOp.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/GlobalOp.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/GlobalRYOp.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/LoadOp.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/LocalOp.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/LocalRZOp.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/LocalUOp.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/MoveOp.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/Op.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/ShuttlingOp.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/na/operations/StoreOp.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/Exception.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/Gate.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/Importer.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/InstVisitor.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/NestedEnvironment.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/Parser.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/Scanner.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/Statement.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/Statement_fwd.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/StdGates.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/Token.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/Types.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/Types_fwd.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/passes/CompilerPass.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/passes/ConstEvalPass.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/qasm3/passes/TypeCheckPass.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/zx/FunctionalityConstruction.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/zx/Rational.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/zx/Rules.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/zx/Simplify.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/zx/Utils.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/zx/ZXDefinitions.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/include/mqt-core/zx/ZXDiagram.hpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/.gitignore +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/include/CMakeLists.txt +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/include/mlir/CMakeLists.txt +0 -0
- {mqt_core-3.0.2/mlir/include/mlir/Dialect/MQTOpt → mqt_core-3.1.0/mlir/include/mlir/Dialect/MQTDyn}/CMakeLists.txt +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/include/mlir/Dialect/MQTOpt/Transforms/CMakeLists.txt +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/mlir/tools/CMakeLists.txt +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/__init__.py +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/__main__.py +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/_commands.py +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/_compat/__init__.py +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/_compat/typing.py +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/_version.pyi +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/dd.pyi +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/dd_evaluation.py +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/ir/__init__.pyi +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/ir/operations.pyi +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/ir/registers.pyi +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/ir/symbolic.pyi +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/plugins/qiskit/__init__.py +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/plugins/qiskit/mqt_to_qiskit.py +0 -0
- {mqt_core-3.0.2/src → mqt_core-3.1.0/python}/mqt/core/py.typed +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/algorithms/BernsteinVazirani.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/algorithms/GHZState.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/algorithms/Grover.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/algorithms/QFT.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/algorithms/QPE.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/algorithms/RandomCliffordCircuit.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/algorithms/StatePreparation.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/algorithms/WState.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/circuit_optimizer/CircuitOptimizer.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/datastructures/Layer.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/CachedEdge.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/ComplexValue.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/Export.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/FunctionalityConstruction.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/GateMatrixDefinitions.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/MemoryManager.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/Node.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/NoiseFunctionality.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/statistics/MemoryManagerStatistics.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/statistics/Statistics.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/dd/statistics/TableStatistics.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/Permutation.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/QuantumComputation.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/operations/AodOperation.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/operations/ClassicControlledOperation.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/operations/Expression.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/operations/NonUnitaryOperation.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/operations/OpType.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/ir/operations/Operation.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/na/NAComputation.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/na/entities/Zone.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/na/operations/GlobalOp.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/na/operations/LoadOp.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/na/operations/LocalOp.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/na/operations/MoveOp.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/na/operations/StoreOp.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/qasm3/Importer.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/qasm3/Parser.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/qasm3/Scanner.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/qasm3/Statement.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/qasm3/Token.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/qasm3/Types.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/qasm3/passes/ConstEvalPass.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/qasm3/passes/TypeCheckPass.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/zx/FunctionalityConstruction.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/zx/Rational.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/zx/Rules.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/zx/Simplify.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/zx/Utils.cpp +0 -0
- {mqt_core-3.0.2 → mqt_core-3.1.0}/src/zx/ZXDiagram.cpp +0 -0
|
@@ -131,14 +131,13 @@ dmypy.json
|
|
|
131
131
|
cython_debug/
|
|
132
132
|
|
|
133
133
|
# setuptools_scm
|
|
134
|
-
|
|
134
|
+
python/**/_version.py
|
|
135
135
|
|
|
136
136
|
# SKBuild cache dir
|
|
137
137
|
_skbuild/
|
|
138
138
|
|
|
139
139
|
# Any build dirs in the tests
|
|
140
140
|
test/**/build/
|
|
141
|
-
/src/mqt/core/_version.py
|
|
142
141
|
|
|
143
142
|
# Common editor files
|
|
144
143
|
*~
|
|
@@ -174,3 +173,7 @@ out/build
|
|
|
174
173
|
|
|
175
174
|
node_modules/
|
|
176
175
|
wheelhouse/
|
|
176
|
+
|
|
177
|
+
# mlir
|
|
178
|
+
|
|
179
|
+
**/.lit
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
".pyi": "DOCSTRING_STYLE",
|
|
12
12
|
".in": "POUND_STYLE",
|
|
13
13
|
".mlir": "SLASH_STYLE",
|
|
14
|
-
".td": "SLASH_STYLE"
|
|
14
|
+
".td": "SLASH_STYLE",
|
|
15
|
+
".yaml": "POUND_STYLE",
|
|
16
|
+
".toml": "POUND_STYLE"
|
|
15
17
|
},
|
|
16
18
|
"exclude": [
|
|
17
19
|
"^\\.[^/]+",
|
|
@@ -27,8 +29,6 @@
|
|
|
27
29
|
".*\\.qc",
|
|
28
30
|
".*\\.real",
|
|
29
31
|
".*\\.tex",
|
|
30
|
-
".*\\.toml",
|
|
31
|
-
".*\\.yaml",
|
|
32
32
|
"uv\\.lock",
|
|
33
33
|
"py\\.typed",
|
|
34
34
|
".*build.*"
|
|
@@ -14,6 +14,14 @@ ci:
|
|
|
14
14
|
skip: [mypy]
|
|
15
15
|
|
|
16
16
|
repos:
|
|
17
|
+
# Check for merge conflicts
|
|
18
|
+
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
19
|
+
rev: v5.0.0
|
|
20
|
+
hooks:
|
|
21
|
+
- id: check-merge-conflict
|
|
22
|
+
args: ["--assume-in-merge"]
|
|
23
|
+
fail_fast: true
|
|
24
|
+
|
|
17
25
|
# Standard hooks
|
|
18
26
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
19
27
|
rev: v5.0.0
|
|
@@ -21,7 +29,6 @@ repos:
|
|
|
21
29
|
- id: check-added-large-files
|
|
22
30
|
- id: check-case-conflict
|
|
23
31
|
- id: check-docstring-first
|
|
24
|
-
- id: check-merge-conflict
|
|
25
32
|
- id: check-symlinks
|
|
26
33
|
- id: check-toml
|
|
27
34
|
- id: check-yaml
|
|
@@ -59,7 +66,7 @@ repos:
|
|
|
59
66
|
|
|
60
67
|
# Python linting using ruff
|
|
61
68
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
62
|
-
rev: v0.
|
|
69
|
+
rev: v0.12.2
|
|
63
70
|
hooks:
|
|
64
71
|
- id: ruff
|
|
65
72
|
args: ["--fix", "--show-fixes"]
|
|
@@ -67,10 +74,10 @@ repos:
|
|
|
67
74
|
|
|
68
75
|
# Static type checking using mypy
|
|
69
76
|
- repo: https://github.com/pre-commit/mirrors-mypy
|
|
70
|
-
rev: v1.
|
|
77
|
+
rev: v1.16.1
|
|
71
78
|
hooks:
|
|
72
79
|
- id: mypy
|
|
73
|
-
files: ^(
|
|
80
|
+
files: ^(python/mqt|test/python|noxfile.py)
|
|
74
81
|
args: []
|
|
75
82
|
additional_dependencies:
|
|
76
83
|
- nox
|
|
@@ -92,7 +99,7 @@ repos:
|
|
|
92
99
|
|
|
93
100
|
# Clang-format the C++ part of the code base automatically
|
|
94
101
|
- repo: https://github.com/pre-commit/mirrors-clang-format
|
|
95
|
-
rev: v20.1.
|
|
102
|
+
rev: v20.1.7
|
|
96
103
|
hooks:
|
|
97
104
|
- id: clang-format
|
|
98
105
|
types_or: [c++, c, cuda]
|
|
@@ -108,14 +115,14 @@ repos:
|
|
|
108
115
|
|
|
109
116
|
# Format configuration files with prettier
|
|
110
117
|
- repo: https://github.com/rbubley/mirrors-prettier
|
|
111
|
-
rev: v3.
|
|
118
|
+
rev: v3.6.2
|
|
112
119
|
hooks:
|
|
113
120
|
- id: prettier
|
|
114
121
|
types_or: [yaml, markdown, html, css, scss, javascript, json]
|
|
115
122
|
|
|
116
123
|
# Check for spelling
|
|
117
124
|
- repo: https://github.com/crate-ci/typos
|
|
118
|
-
rev: v1.
|
|
125
|
+
rev: v1.34.0
|
|
119
126
|
hooks:
|
|
120
127
|
- id: typos
|
|
121
128
|
|
|
@@ -125,19 +132,19 @@ repos:
|
|
|
125
132
|
- id: disallow-caps
|
|
126
133
|
name: Disallow improper capitalization
|
|
127
134
|
language: pygrep
|
|
128
|
-
entry: PyBind|Numpy|Cmake|CCache|Github|PyTest|Mqt|Tum
|
|
135
|
+
entry: PyBind|Numpy|Cmake|CCache|Github|PyTest|Mqt|Tum|MQTopt|MQTdyn
|
|
129
136
|
exclude: .pre-commit-config.yaml
|
|
130
137
|
|
|
131
138
|
# Check best practices for scientific Python code
|
|
132
139
|
- repo: https://github.com/scientific-python/cookie
|
|
133
|
-
rev: 2025.
|
|
140
|
+
rev: 2025.05.02
|
|
134
141
|
hooks:
|
|
135
142
|
- id: sp-repo-review
|
|
136
143
|
additional_dependencies: ["repo-review[cli]"]
|
|
137
144
|
|
|
138
145
|
# Check JSON schemata
|
|
139
146
|
- repo: https://github.com/python-jsonschema/check-jsonschema
|
|
140
|
-
rev: 0.
|
|
147
|
+
rev: 0.33.2
|
|
141
148
|
hooks:
|
|
142
149
|
- id: check-dependabot
|
|
143
150
|
- id: check-github-workflows
|
|
@@ -145,7 +152,7 @@ repos:
|
|
|
145
152
|
|
|
146
153
|
# Check the pyproject.toml file
|
|
147
154
|
- repo: https://github.com/henryiii/validate-pyproject-schema-store
|
|
148
|
-
rev: 2025.
|
|
155
|
+
rev: 2025.06.23
|
|
149
156
|
hooks:
|
|
150
157
|
- id: validate-pyproject
|
|
151
158
|
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
version: 2
|
|
2
2
|
|
|
3
3
|
formats:
|
|
4
|
-
- pdf
|
|
5
4
|
- htmlzip
|
|
5
|
+
# - pdf
|
|
6
|
+
|
|
7
|
+
sphinx:
|
|
8
|
+
configuration: docs/conf.py
|
|
6
9
|
|
|
7
10
|
build:
|
|
8
11
|
os: ubuntu-24.04
|
|
@@ -17,7 +20,7 @@ build:
|
|
|
17
20
|
- (git --no-pager log --pretty="tformat:%s -- %b" -1 | grep -viq "skip ci") || exit 183
|
|
18
21
|
# Skip docs build if there are no changes related to docs
|
|
19
22
|
- |
|
|
20
|
-
if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main --
|
|
23
|
+
if [ "$READTHEDOCS_VERSION_TYPE" = "external" ] && git diff --quiet origin/main -- bindings/ include/ docs/ python/ .github/contributing* .github/support* .readthedocs.yaml;
|
|
21
24
|
then
|
|
22
25
|
exit 183;
|
|
23
26
|
fi
|
|
@@ -35,8 +38,8 @@ build:
|
|
|
35
38
|
- uv run --frozen --no-dev --group docs -m sphinx -T -b dirhtml -d docs/_build/doctrees -D language=en docs docs/_build/dirhtml
|
|
36
39
|
- mkdir -p $READTHEDOCS_OUTPUT/htmlzip
|
|
37
40
|
- zip -r $READTHEDOCS_OUTPUT/htmlzip/html.zip docs/_build/dirhtml/*
|
|
38
|
-
pdf:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
# pdf:
|
|
42
|
+
# - uv run --frozen --no-dev --group docs -m sphinx -T -b latex -d docs/_build/doctrees -D language=en docs docs/_build/latex
|
|
43
|
+
# - cd docs/_build/latex && latexmk -pdf -f -dvi- -ps- -interaction=nonstopmode -jobname=$READTHEDOCS_PROJECT
|
|
44
|
+
# - mkdir -p $READTHEDOCS_OUTPUT/pdf
|
|
45
|
+
# - cp docs/_build/latex/$READTHEDOCS_PROJECT.pdf $READTHEDOCS_OUTPUT/pdf/$READTHEDOCS_PROJECT.pdf
|
|
@@ -0,0 +1,207 @@
|
|
|
1
|
+
<!-- Entries in each category are sorted by merge time, with the latest PRs appearing first. -->
|
|
2
|
+
|
|
3
|
+
# Changelog
|
|
4
|
+
|
|
5
|
+
All notable changes to this project will be documented in this file.
|
|
6
|
+
|
|
7
|
+
The format is based on a mixture of [Keep a Changelog] and [Common Changelog].
|
|
8
|
+
This project adheres to [Semantic Versioning], with the exception that minor releases may include breaking changes.
|
|
9
|
+
|
|
10
|
+
## [Unreleased]
|
|
11
|
+
|
|
12
|
+
## [3.1.0]
|
|
13
|
+
|
|
14
|
+
_If you are upgrading: please see [`UPGRADING.md`](UPGRADING.md#310)._
|
|
15
|
+
|
|
16
|
+
### Added
|
|
17
|
+
|
|
18
|
+
- ✨ Add MLIR pass for merging rotation gates ([#1019]) ([**@denialhaag**])
|
|
19
|
+
- ✨ Add functions to generate random vector DDs ([#975]) ([**@MatthiasReumann**])
|
|
20
|
+
- ✨ Add function to approximate decision diagrams ([#908]) ([**@MatthiasReumann**])
|
|
21
|
+
- 📦 Add Windows ARM64 wheels ([#926]) ([**@burgholzer**])
|
|
22
|
+
- 📝 Add documentation page for MLIR ([#931]) ([**@ystade**])
|
|
23
|
+
- ✨ Initial implementation of the mqtdyn Dialect ([#900]) ([**@DRovara**], [**@ystade**])
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- 🐛 Fix bug in MLIR roundtrip passes caused by accessing an invalidated iterator after erasure in a loop ([#932]) ([**@flowerthrower**])
|
|
28
|
+
- 🐛 Add missing support for `sxdg` gates in Qiskit circuit import ([#930]) ([**@burgholzer**])
|
|
29
|
+
- 🐛 Fix bug related to initialization of operations with duplicate operands ([#964]) ([**@ystade**])
|
|
30
|
+
- 🐛 Open issue for Qiskit upstream test only when the test is actually failing not when it was cancelled ([#973]) ([**@ystade**])
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
|
|
34
|
+
- ⬆️ Bump shared library ABI version from `3.0` to `3.1`.
|
|
35
|
+
- ♻️ Switch from reference counting to mark-and-sweep garbage collection in decision diagram package ([#1020]) ([**@MatthiasReumann**], [**burgholzer**], [**q-inho**])
|
|
36
|
+
- ♻️ Move the C++ code for the Python bindings to the top-level `bindings` directory ([#982]) ([**@denialhaag**])
|
|
37
|
+
- ♻️ Move all Python code (no tests) to the top-level `python` directory ([#982]) ([**@denialhaag**])
|
|
38
|
+
- ⚡ Improve performance of getNqubits for StandardOperations ([#959]) ([**@ystade**])
|
|
39
|
+
- ♻️ Move Make-State Functionality To StateGeneration ([#984]) ([**@MatthiasReumann**])
|
|
40
|
+
- ♻️ Outsource definition of standard operations from MLIR dialects to reduce redundancy ([#933]) ([**@ystade**])
|
|
41
|
+
- ♻️ Unify operands and results in MLIR dialects ([#931]) ([**@ystade**])
|
|
42
|
+
- ⏪️ Restore support for (MLIR and) LLVM v19 ([#934]) ([**@flowerthrower**], [**@ystade**])
|
|
43
|
+
- ⬆️ Update nlohmann_json to `v3.12.0` ([#921]) ([**@burgholzer**])
|
|
44
|
+
|
|
45
|
+
## [3.0.2] - 2025-04-07
|
|
46
|
+
|
|
47
|
+
### Added
|
|
48
|
+
|
|
49
|
+
- 📝 Add JOSS journal reference and citation information ([#913]) ([**@burgholzer**])
|
|
50
|
+
- 📝 Add new links to Python package metadata ([#911]) ([**@burgholzer**])
|
|
51
|
+
|
|
52
|
+
### Fixed
|
|
53
|
+
|
|
54
|
+
- 📝 Fix old links in Python package metadata ([#911]) ([**@burgholzer**])
|
|
55
|
+
|
|
56
|
+
## [3.0.1] - 2025-04-07
|
|
57
|
+
|
|
58
|
+
### Fixed
|
|
59
|
+
|
|
60
|
+
- 🐛 Fix doxygen build on RtD to include C++ API docs ([#912]) ([**@burgholzer**])
|
|
61
|
+
|
|
62
|
+
## [3.0.0] - 2025-04-06
|
|
63
|
+
|
|
64
|
+
_If you are upgrading: please see [`UPGRADING.md`](UPGRADING.md#300)._
|
|
65
|
+
|
|
66
|
+
### Added
|
|
67
|
+
|
|
68
|
+
- ✨ Ship shared C++ libraries with `mqt-core` Python package ([#662]) ([**@burgholzer**])
|
|
69
|
+
- ✨ Add Python bindings for the DD package ([#838]) ([**@burgholzer**])
|
|
70
|
+
- ✨ Add direct MQT `QuantumComputation` to Qiskit `QuantumCircuit` export ([#859]) ([**@burgholzer**])
|
|
71
|
+
- ✨ Support for Qiskit 2.0+ ([#860]) ([**@burgholzer**])
|
|
72
|
+
- ✨ Add initial infrastructure for MLIR within the MQT ([#878], [#879], [#892], [#893], [#895]) ([**@burgholzer**], [**@ystade**], [**@DRovara**], [**@flowerthrower**], [**@BertiFlorea**])
|
|
73
|
+
- ✨ Add State Preparation Algorithm ([#543]) ([**@M-J-Hochreiter**])
|
|
74
|
+
- 🚸 Add support for indexed identifiers to OpenQASM 3 parser ([#832]) ([**@burgholzer**])
|
|
75
|
+
- 🚸 Allow indexed registers as operation arguments ([#839]) ([**@burgholzer**])
|
|
76
|
+
- 📝 Add documentation for the DD package ([#831]) ([**@burgholzer**])
|
|
77
|
+
- 📝 Add documentation for the ZX package ([#817]) ([**@pehamTom**])
|
|
78
|
+
- 📝 Add C++ API docs setup ([#817]) ([**@pehamTom**], [**@burgholzer**])
|
|
79
|
+
|
|
80
|
+
### Changed
|
|
81
|
+
|
|
82
|
+
- **Breaking**: 🚚 MQT Core has moved to the [munich-quantum-toolkit] GitHub organization
|
|
83
|
+
- **Breaking**: ✨ Adopt [PEP 735] dependency groups ([#762]) ([**@burgholzer**])
|
|
84
|
+
- **Breaking**: ♻️ Encapsulate the OpenQASM parser in its own library ([#822]) ([**@burgholzer**])
|
|
85
|
+
- **Breaking**: ♻️ Replace `Config` template from DD package with constructor argument ([#886]) ([**@burgholzer**])
|
|
86
|
+
- **Breaking**: ♻️ Remove template parameters from `MemoryManager` and adjacent classes ([#866]) ([**@rotmanjanez**])
|
|
87
|
+
- **Breaking**: ♻️ Refactor algorithms to use factory functions instead of inheritance ([**@a9b7e70**]) ([**@burgholzer**])
|
|
88
|
+
- **Breaking**: ♻️ Change pointer parameters to references in DD package ([#798]) ([**@burgholzer**])
|
|
89
|
+
- **Breaking**: ♻️ Change registers from typedef to actual type ([#807]) ([**@burgholzer**])
|
|
90
|
+
- **Breaking**: ♻️ Refactor `NAComputation` class hierarchy ([#846], [#877]) ([**@ystade**])
|
|
91
|
+
- **Breaking**: ⬆️ Bump minimum required CMake version to `3.24.0` ([#879]) ([**@burgholzer**])
|
|
92
|
+
- **Breaking**: ⬆️ Bump minimum required `uv` version to `0.5.20` ([#802]) ([**@burgholzer**])
|
|
93
|
+
- 📝 Rework existing project documentation ([#789], [#842]) ([**@burgholzer**])
|
|
94
|
+
- 📄 Use [PEP 639] license expressions ([#847]) ([**@burgholzer**])
|
|
95
|
+
|
|
96
|
+
### Removed
|
|
97
|
+
|
|
98
|
+
- **Breaking**: 🔥 Remove the `Teleportation` gate from the IR ([#882]) ([**@burgholzer**])
|
|
99
|
+
- **Breaking**: 🔥 Remove parsers for `.real`, `.qc`, `.tfc`, and `GRCS` files ([#822]) ([**@burgholzer**])
|
|
100
|
+
- **Breaking**: 🔥 Remove tensor dump functionality ([#798]) ([**@burgholzer**])
|
|
101
|
+
- **Breaking**: 🔥 Remove `extract_probability_vector` functionality ([#883]) ([**@burgholzer**])
|
|
102
|
+
|
|
103
|
+
### Fixed
|
|
104
|
+
|
|
105
|
+
- 🐛 Fix Qiskit layout import and handling ([#849], [#858]) ([**@burgholzer**])
|
|
106
|
+
- 🐛 Properly handle timing literals in QASM parser ([#724]) ([**@burgholzer**])
|
|
107
|
+
- 🐛 Fix stripping of idle qubits ([#763]) ([**@burgholzer**])
|
|
108
|
+
- 🐛 Fix permutation handling in OpenQASM dump ([#810]) ([**@burgholzer**])
|
|
109
|
+
- 🐛 Fix out-of-bounds error in ZX `EdgeIterator` ([#758]) ([**@burgholzer**])
|
|
110
|
+
- 🐛 Fix endianness in DCX and XX_minus_YY gate matrix definition ([#741]) ([**@burgholzer**])
|
|
111
|
+
- 🐛 Fix needless dummy register in empty circuit construction ([#758]) ([**@burgholzer**])
|
|
112
|
+
|
|
113
|
+
## [2.7.0] - 2024-10-08
|
|
114
|
+
|
|
115
|
+
_📚 Refer to the [GitHub Release Notes](https://github.com/munich-quantum-toolkit/core/releases) for previous changelogs._
|
|
116
|
+
|
|
117
|
+
<!-- Version links -->
|
|
118
|
+
|
|
119
|
+
[unreleased]: https://github.com/munich-quantum-toolkit/core/compare/v3.1.0...HEAD
|
|
120
|
+
[3.1.0]: https://github.com/munich-quantum-toolkit/core/compare/v3.0.2...v3.1.0
|
|
121
|
+
[3.0.2]: https://github.com/munich-quantum-toolkit/core/compare/v3.0.1...v3.0.2
|
|
122
|
+
[3.0.1]: https://github.com/munich-quantum-toolkit/core/compare/v3.0.0...v3.0.1
|
|
123
|
+
[3.0.0]: https://github.com/munich-quantum-toolkit/core/compare/v2.7.0...v3.0.0
|
|
124
|
+
[2.7.0]: https://github.com/munich-quantum-toolkit/core/releases/tag/v2.7.0
|
|
125
|
+
|
|
126
|
+
<!-- PR links -->
|
|
127
|
+
|
|
128
|
+
[#1020]: https://github.com/munich-quantum-toolkit/core/pull/1020
|
|
129
|
+
[#1019]: https://github.com/munich-quantum-toolkit/core/pull/1019
|
|
130
|
+
[#984]: https://github.com/munich-quantum-toolkit/core/pull/984
|
|
131
|
+
[#982]: https://github.com/munich-quantum-toolkit/core/pull/982
|
|
132
|
+
[#975]: https://github.com/munich-quantum-toolkit/core/pull/975
|
|
133
|
+
[#973]: https://github.com/munich-quantum-toolkit/core/pull/973
|
|
134
|
+
[#964]: https://github.com/munich-quantum-toolkit/core/pull/964
|
|
135
|
+
[#959]: https://github.com/munich-quantum-toolkit/core/pull/959
|
|
136
|
+
[#934]: https://github.com/munich-quantum-toolkit/core/pull/934
|
|
137
|
+
[#933]: https://github.com/munich-quantum-toolkit/core/pull/933
|
|
138
|
+
[#932]: https://github.com/munich-quantum-toolkit/core/pull/932
|
|
139
|
+
[#931]: https://github.com/munich-quantum-toolkit/core/pull/931
|
|
140
|
+
[#930]: https://github.com/munich-quantum-toolkit/core/pull/930
|
|
141
|
+
[#926]: https://github.com/munich-quantum-toolkit/core/pull/926
|
|
142
|
+
[#921]: https://github.com/munich-quantum-toolkit/core/pull/921
|
|
143
|
+
[#913]: https://github.com/munich-quantum-toolkit/core/pull/913
|
|
144
|
+
[#912]: https://github.com/munich-quantum-toolkit/core/pull/912
|
|
145
|
+
[#911]: https://github.com/munich-quantum-toolkit/core/pull/911
|
|
146
|
+
[#908]: https://github.com/munich-quantum-toolkit/core/pull/908
|
|
147
|
+
[#900]: https://github.com/munich-quantum-toolkit/core/pull/900
|
|
148
|
+
[#895]: https://github.com/munich-quantum-toolkit/core/pull/895
|
|
149
|
+
[#893]: https://github.com/munich-quantum-toolkit/core/pull/893
|
|
150
|
+
[#892]: https://github.com/munich-quantum-toolkit/core/pull/892
|
|
151
|
+
[#886]: https://github.com/munich-quantum-toolkit/core/pull/886
|
|
152
|
+
[#883]: https://github.com/munich-quantum-toolkit/core/pull/883
|
|
153
|
+
[#882]: https://github.com/munich-quantum-toolkit/core/pull/882
|
|
154
|
+
[#879]: https://github.com/munich-quantum-toolkit/core/pull/879
|
|
155
|
+
[#878]: https://github.com/munich-quantum-toolkit/core/pull/878
|
|
156
|
+
[#877]: https://github.com/munich-quantum-toolkit/core/pull/877
|
|
157
|
+
[#866]: https://github.com/munich-quantum-toolkit/core/pull/866
|
|
158
|
+
[#860]: https://github.com/munich-quantum-toolkit/core/pull/860
|
|
159
|
+
[#859]: https://github.com/munich-quantum-toolkit/core/pull/859
|
|
160
|
+
[#858]: https://github.com/munich-quantum-toolkit/core/pull/858
|
|
161
|
+
[#849]: https://github.com/munich-quantum-toolkit/core/pull/849
|
|
162
|
+
[#847]: https://github.com/munich-quantum-toolkit/core/pull/847
|
|
163
|
+
[#846]: https://github.com/munich-quantum-toolkit/core/pull/846
|
|
164
|
+
[#842]: https://github.com/munich-quantum-toolkit/core/pull/842
|
|
165
|
+
[#839]: https://github.com/munich-quantum-toolkit/core/pull/839
|
|
166
|
+
[#838]: https://github.com/munich-quantum-toolkit/core/pull/838
|
|
167
|
+
[#832]: https://github.com/munich-quantum-toolkit/core/pull/832
|
|
168
|
+
[#831]: https://github.com/munich-quantum-toolkit/core/pull/831
|
|
169
|
+
[#822]: https://github.com/munich-quantum-toolkit/core/pull/822
|
|
170
|
+
[#817]: https://github.com/munich-quantum-toolkit/core/pull/817
|
|
171
|
+
[#810]: https://github.com/munich-quantum-toolkit/core/pull/810
|
|
172
|
+
[#807]: https://github.com/munich-quantum-toolkit/core/pull/807
|
|
173
|
+
[#802]: https://github.com/munich-quantum-toolkit/core/pull/802
|
|
174
|
+
[#798]: https://github.com/munich-quantum-toolkit/core/pull/798
|
|
175
|
+
[#789]: https://github.com/munich-quantum-toolkit/core/pull/789
|
|
176
|
+
[#763]: https://github.com/munich-quantum-toolkit/core/pull/763
|
|
177
|
+
[#762]: https://github.com/munich-quantum-toolkit/core/pull/762
|
|
178
|
+
[#758]: https://github.com/munich-quantum-toolkit/core/pull/758
|
|
179
|
+
[#741]: https://github.com/munich-quantum-toolkit/core/pull/741
|
|
180
|
+
[#724]: https://github.com/munich-quantum-toolkit/core/pull/724
|
|
181
|
+
[#662]: https://github.com/munich-quantum-toolkit/core/pull/662
|
|
182
|
+
[#543]: https://github.com/munich-quantum-toolkit/core/pull/543
|
|
183
|
+
[**@a9b7e70**]: https://github.com/munich-quantum-toolkit/core/pull/798/commits/a9b7e70aaeb532fe8e1e31a7decca86d81eb523f
|
|
184
|
+
|
|
185
|
+
<!-- Contributor -->
|
|
186
|
+
|
|
187
|
+
[**@burgholzer**]: https://github.com/burgholzer
|
|
188
|
+
[**@ystade**]: https://github.com/ystade
|
|
189
|
+
[**@DRovara**]: https://github.com/DRovara
|
|
190
|
+
[**@flowerthrower**]: https://github.com/flowerthrower
|
|
191
|
+
[**@BertiFlorea**]: https://github.com/BertiFlorea
|
|
192
|
+
[**@M-J-Hochreiter**]: https://github.com/M-J-Hochreiter
|
|
193
|
+
[**@rotmanjanez**]: https://github.com/rotmanjanez
|
|
194
|
+
[**@pehamTom**]: https://github.com/pehamTom
|
|
195
|
+
[**@MatthiasReumann**]: https://github.com/MatthiasReumann
|
|
196
|
+
[**@denialhaag**]: https://github.com/denialhaag
|
|
197
|
+
[**q-inho**]: https://github.com/q-inho
|
|
198
|
+
|
|
199
|
+
<!-- General links -->
|
|
200
|
+
|
|
201
|
+
[Keep a Changelog]: https://keepachangelog.com/en/1.1.0/
|
|
202
|
+
[Common Changelog]: https://common-changelog.org
|
|
203
|
+
[Semantic Versioning]: https://semver.org/spec/v2.0.0.html
|
|
204
|
+
[GitHub Release Notes]: https://github.com/munich-quantum-toolkit/core/releases
|
|
205
|
+
[munich-quantum-toolkit]: https://github.com/munich-quantum-toolkit
|
|
206
|
+
[PEP 639]: https://peps.python.org/pep-0639/
|
|
207
|
+
[PEP 735]: https://peps.python.org/pep-0735/
|
|
@@ -17,10 +17,12 @@ project(
|
|
|
17
17
|
# Add path for custom modules
|
|
18
18
|
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
|
|
19
19
|
|
|
20
|
-
include(
|
|
21
|
-
include(
|
|
22
|
-
include(
|
|
23
|
-
include(
|
|
20
|
+
include(AddMQTPythonBinding)
|
|
21
|
+
include(StandardProjectSettings)
|
|
22
|
+
include(PreventInSourceBuilds)
|
|
23
|
+
include(PackageAddTest)
|
|
24
|
+
include(Cache)
|
|
25
|
+
include(AddMQTCoreLibrary)
|
|
24
26
|
|
|
25
27
|
option(BUILD_MQT_CORE_BINDINGS "Build the MQT Core Python bindings" OFF)
|
|
26
28
|
if(BUILD_MQT_CORE_BINDINGS)
|
|
@@ -45,10 +47,7 @@ if(BUILD_MQT_CORE_BINDINGS)
|
|
|
45
47
|
endif()
|
|
46
48
|
|
|
47
49
|
# top-level call to find Python
|
|
48
|
-
find_package(
|
|
49
|
-
Python 3.9 REQUIRED
|
|
50
|
-
COMPONENTS Interpreter Development.Module
|
|
51
|
-
OPTIONAL_COMPONENTS Development.SABIModule)
|
|
50
|
+
find_package(Python 3.9 REQUIRED COMPONENTS Interpreter Development.Module)
|
|
52
51
|
endif()
|
|
53
52
|
|
|
54
53
|
# check if this is the master project or used via add_subdirectory
|
|
@@ -61,9 +60,11 @@ endif()
|
|
|
61
60
|
option(MQT_CORE_INSTALL "Generate installation instructions for MQT Core"
|
|
62
61
|
${MQT_CORE_MASTER_PROJECT})
|
|
63
62
|
option(BUILD_MQT_CORE_TESTS "Also build tests for the MQT Core project" ${MQT_CORE_MASTER_PROJECT})
|
|
63
|
+
option(BUILD_MQT_CORE_SHARED_LIBS "Build MQT Core libraries as shared libraries"
|
|
64
|
+
${BUILD_SHARED_LIBS})
|
|
64
65
|
|
|
65
66
|
# try to determine the project version
|
|
66
|
-
include(
|
|
67
|
+
include(GetVersion)
|
|
67
68
|
get_mqt_core_version()
|
|
68
69
|
|
|
69
70
|
project(
|
|
@@ -77,9 +78,27 @@ include(cmake/ExternalDependencies.cmake)
|
|
|
77
78
|
# set the include directory for the build tree
|
|
78
79
|
set(MQT_CORE_INCLUDE_BUILD_DIR "${CMAKE_CURRENT_SOURCE_DIR}/include/mqt-core")
|
|
79
80
|
|
|
81
|
+
if(MQT_CORE_INSTALL)
|
|
82
|
+
if(APPLE)
|
|
83
|
+
set(BASEPOINT @loader_path)
|
|
84
|
+
else()
|
|
85
|
+
set(BASEPOINT $ORIGIN)
|
|
86
|
+
endif()
|
|
87
|
+
set(CMAKE_INSTALL_RPATH ${BASEPOINT} ${BASEPOINT}/${CMAKE_INSTALL_LIBDIR})
|
|
88
|
+
set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
|
89
|
+
set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
|
|
90
|
+
endif()
|
|
91
|
+
|
|
92
|
+
set(MQT_CORE_TARGET_NAME "mqt-core")
|
|
93
|
+
|
|
80
94
|
# add main library code
|
|
81
95
|
add_subdirectory(src)
|
|
82
96
|
|
|
97
|
+
# add bindings code if enabled
|
|
98
|
+
if(BUILD_MQT_CORE_BINDINGS)
|
|
99
|
+
add_subdirectory(bindings)
|
|
100
|
+
endif()
|
|
101
|
+
|
|
83
102
|
# add test code
|
|
84
103
|
if(BUILD_MQT_CORE_TESTS)
|
|
85
104
|
enable_testing()
|
|
@@ -94,6 +113,7 @@ endif()
|
|
|
94
113
|
|
|
95
114
|
option(BUILD_MQT_CORE_MLIR "Build the MLIR submodule of the MQT Core project" OFF)
|
|
96
115
|
if(BUILD_MQT_CORE_MLIR)
|
|
116
|
+
include(SetupMLIR)
|
|
97
117
|
add_subdirectory(mlir)
|
|
98
118
|
endif()
|
|
99
119
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: mqt-core
|
|
3
|
-
Version: 3.0
|
|
3
|
+
Version: 3.1.0
|
|
4
4
|
Summary: The Backbone of the Munich Quantum Toolkit
|
|
5
5
|
Keywords: MQT,quantum-computing,design-automation,decision-diagrams,zx-calculus
|
|
6
6
|
Author-Email: Lukas Burgholzer <burgholzer@me.com>
|
|
@@ -47,16 +47,15 @@ Description-Content-Type: text/markdown
|
|
|
47
47
|
<p align="center">
|
|
48
48
|
<a href="https://mqt.readthedocs.io">
|
|
49
49
|
<picture>
|
|
50
|
-
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-
|
|
51
|
-
<img src="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-
|
|
50
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/logo-mqt-dark.svg" width="60%">
|
|
51
|
+
<img src="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/logo-mqt-light.svg" width="60%" alt="MQT Logo">
|
|
52
52
|
</picture>
|
|
53
53
|
</a>
|
|
54
54
|
</p>
|
|
55
55
|
|
|
56
56
|
# MQT Core - The Backbone of the Munich Quantum Toolkit (MQT)
|
|
57
57
|
|
|
58
|
-
MQT Core is an open-source C++17 and Python library for quantum computing that forms the backbone of the quantum software tools developed as part of the [_Munich Quantum Toolkit (MQT)_](https://mqt.readthedocs.io)
|
|
59
|
-
To this end, it consists of multiple components that are used throughout the MQT, including a fully fledged intermediate representation (IR) for quantum computations, a state-of-the-art decision diagram (DD) package for quantum computing, and a dedicated ZX-diagram package for working with the ZX-calculus.
|
|
58
|
+
MQT Core is an open-source C++17 and Python library for quantum computing that forms the backbone of the quantum software tools developed as part of the [_Munich Quantum Toolkit (MQT)_](https://mqt.readthedocs.io).
|
|
60
59
|
|
|
61
60
|
<p align="center">
|
|
62
61
|
<a href="https://mqt.readthedocs.io/projects/core">
|
|
@@ -64,25 +63,34 @@ To this end, it consists of multiple components that are used throughout the MQT
|
|
|
64
63
|
</a>
|
|
65
64
|
</p>
|
|
66
65
|
|
|
67
|
-
|
|
66
|
+
## Key Features
|
|
68
67
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
author = {Lukas Burgholzer and Yannick Stade and Tom Peham and Robert Wille},
|
|
73
|
-
year = {2025},
|
|
74
|
-
journal = {Journal of Open Source Software},
|
|
75
|
-
publisher = {The Open Journal},
|
|
76
|
-
volume = {10},
|
|
77
|
-
number = {108},
|
|
78
|
-
pages = {7478},
|
|
79
|
-
doi = {10.21105/joss.07478},
|
|
80
|
-
url = {https://doi.org/10.21105/joss.07478},
|
|
81
|
-
}
|
|
82
|
-
```
|
|
68
|
+
- Fully fledged intermediate representation (IR) for quantum computations.
|
|
69
|
+
- A state-of-the-art decision diagram (DD) package for quantum computing.
|
|
70
|
+
- A dedicated ZX-diagram package for working with the ZX-calculus.
|
|
83
71
|
|
|
84
72
|
If you have any questions, feel free to create a [discussion](https://github.com/munich-quantum-toolkit/core/discussions) or an [issue](https://github.com/munich-quantum-toolkit/core/issues) on [GitHub](https://github.com/munich-quantum-toolkit/core).
|
|
85
73
|
|
|
74
|
+
## Contributors and Supporters
|
|
75
|
+
|
|
76
|
+
The _[Munich Quantum Toolkit (MQT)](https://mqt.readthedocs.io)_ is developed by the [Chair for Design Automation](https://www.cda.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/) and supported by the [Munich Quantum Software Company (MQSC)](https://munichquantum.software).
|
|
77
|
+
Among others, it is part of the [Munich Quantum Software Stack (MQSS)](https://www.munich-quantum-valley.de/research/research-areas/mqss) ecosystem, which is being developed as part of the [Munich Quantum Valley (MQV)](https://www.munich-quantum-valley.de) initiative.
|
|
78
|
+
|
|
79
|
+
<p align="center">
|
|
80
|
+
<picture>
|
|
81
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-logo-banner-dark.svg" width="90%">
|
|
82
|
+
<img src="https://raw.githubusercontent.com/munich-quantum-toolkit/.github/refs/heads/main/docs/_static/mqt-logo-banner-light.svg" width="90%" alt="MQT Partner Logos">
|
|
83
|
+
</picture>
|
|
84
|
+
</p>
|
|
85
|
+
|
|
86
|
+
Thank you to all the contributors who have helped make MQT Core a reality!
|
|
87
|
+
|
|
88
|
+
<p align="center">
|
|
89
|
+
<a href="https://github.com/munich-quantum-toolkit/core/graphs/contributors">
|
|
90
|
+
<img src="https://contrib.rocks/image?repo=munich-quantum-toolkit/core" />
|
|
91
|
+
</a>
|
|
92
|
+
</p>
|
|
93
|
+
|
|
86
94
|
## Getting Started
|
|
87
95
|
|
|
88
96
|
`mqt.core` is available via [PyPI](https://pypi.org/project/mqt.core/) for all major operating systems and supports Python 3.9 to 3.13.
|
|
@@ -124,7 +132,24 @@ It is recommended (although not required) to have [GraphViz](https://www.graphvi
|
|
|
124
132
|
|
|
125
133
|
If you want to use the ZX library, it is recommended (although not strictly necessary) to have [GMP](https://gmplib.org/) installed in your system.
|
|
126
134
|
|
|
127
|
-
|
|
135
|
+
## Cite This
|
|
136
|
+
|
|
137
|
+
If you want to cite MQT Core, please use the following BibTeX entry:
|
|
138
|
+
|
|
139
|
+
```bibtex
|
|
140
|
+
@article{burgholzer2025MQTCore,
|
|
141
|
+
title = {{{MQT Core}}: {{The}} Backbone of the {{Munich Quantum Toolkit (MQT)}}},
|
|
142
|
+
author = {Lukas Burgholzer and Yannick Stade and Tom Peham and Robert Wille},
|
|
143
|
+
year = {2025},
|
|
144
|
+
journal = {Journal of Open Source Software},
|
|
145
|
+
publisher = {The Open Journal},
|
|
146
|
+
volume = {10},
|
|
147
|
+
number = {108},
|
|
148
|
+
pages = {7478},
|
|
149
|
+
doi = {10.21105/joss.07478},
|
|
150
|
+
url = {https://doi.org/10.21105/joss.07478},
|
|
151
|
+
}
|
|
152
|
+
```
|
|
128
153
|
|
|
129
154
|
---
|
|
130
155
|
|